



import json
import os
import shutil
import tempfile
import unittest

import numpy as np
import pytest

from transformers import BertTokenizer, BertTokenizerFast
from transformers.models.bert.tokenization_bert import VOCAB_FILES_NAMES
from transformers.testing_utils import require_vision
from transformers.utils import FEATURE_EXTRACTOR_NAME, is_vision_available


if is_vision_available():
	from PIL import Image

	from transformers import ChineseCLIPImageProcessor, ChineseCLIPProcessor





@require_vision
class 					__lowerCAmelCase (     unittest.TestCase       ):




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    tempfile.mkdtemp()

									_lowerCAmelCase						=    [
									    """[UNK]""",
									    """[CLS]""",
									    """[SEP]""",
									    """[PAD]""",
									    """[MASK]""",
									    """的""",
									    """价""",
									    """格""",
									    """是""",
									    """15""",
									    """便""",
									    """alex""",
									    """##andra""",
									    """，""",
									    """。""",
									    """-""",
									    """t""",
									    """shirt""",
									]
									_lowerCAmelCase						=    os.path.join(self.tmpdirname						,				VOCAB_FILES_NAMES["""vocab_file"""]		)
									with open(self.vocab_file						,				"""w"""						,				encoding="""utf-8"""		) as vocab_writer:
														vocab_writer.write("""""".join([x + """\n""" for x in vocab_tokens]		)		)

									_lowerCAmelCase						=    {
									    """do_resize""": True,
									    """size""": {"""height""": 224, """width""": 224},
									    """do_center_crop""": True,
									    """crop_size""": {"""height""": 18, """width""": 18},
									    """do_normalize""": True,
									    """image_mean""": [0.4814_5466, 0.457_8275, 0.4082_1073],
									    """image_std""": [0.2686_2954, 0.2613_0258, 0.2757_7711],
									    """do_convert_rgb""": True,
									}
									_lowerCAmelCase						=    os.path.join(self.tmpdirname						,				lowercase_		)
									with open(self.image_processor_file						,				"""w"""						,				encoding="""utf-8"""		) as fp:
														json.dump(lowercase_						,				lowercase_		)




				def 							snake_case   (							self						,				**_snake_case		):



									"""simple docstring"""





									return BertTokenizer.from_pretrained(self.tmpdirname						,				**lowercase_		)




				def 							snake_case   (							self						,				**_snake_case		):



									"""simple docstring"""





									return BertTokenizerFast.from_pretrained(self.tmpdirname						,				**lowercase_		)




				def 							snake_case   (							self						,				**_snake_case		):



									"""simple docstring"""





									return ChineseCLIPImageProcessor.from_pretrained(self.tmpdirname						,				**lowercase_		)




				def 							snake_case   (							self		):



									"""simple docstring"""





									shutil.rmtree(self.tmpdirname		)




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    [np.random.randint(255						,				size=(3, 30, 400)						,				dtype=np.uinta		)]

									_lowerCAmelCase						=    [Image.fromarray(np.moveaxis(lowercase_						,				0						,				-1		)		) for x in image_inputs]

									return image_inputs




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    self.get_tokenizer()
									_lowerCAmelCase						=    self.get_rust_tokenizer()
									_lowerCAmelCase						=    self.get_image_processor()

									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=lowercase_						,				image_processor=lowercase_		)
									processor_slow.save_pretrained(self.tmpdirname		)
									_lowerCAmelCase						=    ChineseCLIPProcessor.from_pretrained(self.tmpdirname						,				use_fast=lowercase_		)

									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=lowercase_						,				image_processor=lowercase_		)
									processor_fast.save_pretrained(self.tmpdirname		)
									_lowerCAmelCase						=    ChineseCLIPProcessor.from_pretrained(self.tmpdirname		)

									self.assertEqual(processor_slow.tokenizer.get_vocab()						,				tokenizer_slow.get_vocab()		)
									self.assertEqual(processor_fast.tokenizer.get_vocab()						,				tokenizer_fast.get_vocab()		)
									self.assertEqual(tokenizer_slow.get_vocab()						,				tokenizer_fast.get_vocab()		)
									self.assertIsInstance(processor_slow.tokenizer						,				lowercase_		)
									self.assertIsInstance(processor_fast.tokenizer						,				lowercase_		)

									self.assertEqual(processor_slow.image_processor.to_json_string()						,				image_processor.to_json_string()		)
									self.assertEqual(processor_fast.image_processor.to_json_string()						,				image_processor.to_json_string()		)
									self.assertIsInstance(processor_slow.image_processor						,				lowercase_		)
									self.assertIsInstance(processor_fast.image_processor						,				lowercase_		)




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=self.get_tokenizer()						,				image_processor=self.get_image_processor()		)
									processor.save_pretrained(self.tmpdirname		)

									_lowerCAmelCase						=    self.get_tokenizer(cls_token="""(CLS)"""						,				sep_token="""(SEP)"""		)
									_lowerCAmelCase						=    self.get_image_processor(do_normalize=lowercase_		)

									_lowerCAmelCase						=    ChineseCLIPProcessor.from_pretrained(
									    self.tmpdirname						,				cls_token="""(CLS)"""						,				sep_token="""(SEP)"""						,				do_normalize=lowercase_		)

									self.assertEqual(processor.tokenizer.get_vocab()						,				tokenizer_add_kwargs.get_vocab()		)
									self.assertIsInstance(processor.tokenizer						,				lowercase_		)

									self.assertEqual(processor.image_processor.to_json_string()						,				image_processor_add_kwargs.to_json_string()		)
									self.assertIsInstance(processor.image_processor						,				lowercase_		)




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    self.get_image_processor()
									_lowerCAmelCase						=    self.get_tokenizer()

									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=lowercase_						,				image_processor=lowercase_		)

									_lowerCAmelCase						=    self.prepare_image_inputs()

									_lowerCAmelCase						=    image_processor(lowercase_						,				return_tensors="""np"""		)
									_lowerCAmelCase						=    processor(images=lowercase_						,				return_tensors="""np"""		)

									for key in input_feat_extract.keys():
														self.assertAlmostEqual(input_feat_extract[key].sum()						,				input_processor[key].sum()						,				delta=1e-2		)




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    self.get_image_processor()
									_lowerCAmelCase						=    self.get_tokenizer()

									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=lowercase_						,				image_processor=lowercase_		)

									_lowerCAmelCase						=    """Alexandra，T-shirt的价格是15便士。"""

									_lowerCAmelCase						=    processor(text=lowercase_		)

									_lowerCAmelCase						=    tokenizer(lowercase_		)

									for key in encoded_tok.keys():
														self.assertListEqual(encoded_tok[key]						,				encoded_processor[key]		)




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    self.get_image_processor()
									_lowerCAmelCase						=    self.get_tokenizer()

									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=lowercase_						,				image_processor=lowercase_		)

									_lowerCAmelCase						=    """Alexandra，T-shirt的价格是15便士。"""
									_lowerCAmelCase						=    self.prepare_image_inputs()

									_lowerCAmelCase						=    processor(text=lowercase_						,				images=lowercase_		)

									self.assertListEqual(list(inputs.keys()		)						,				["""input_ids""", """token_type_ids""", """attention_mask""", """pixel_values"""]		)

									# test if it raises when no input is passed
									with pytest.raises(lowercase_		):
														processor()




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    self.get_image_processor()
									_lowerCAmelCase						=    self.get_tokenizer()

									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=lowercase_						,				image_processor=lowercase_		)

									_lowerCAmelCase						=    [[1, 4, 5, 8, 1, 0, 8], [3, 4, 3, 1, 1, 8, 9]]

									_lowerCAmelCase						=    processor.batch_decode(lowercase_		)
									_lowerCAmelCase						=    tokenizer.batch_decode(lowercase_		)

									self.assertListEqual(lowercase_						,				lowercase_		)




				def 							snake_case   (							self		):



									"""simple docstring"""





									_lowerCAmelCase						=    self.get_image_processor()
									_lowerCAmelCase						=    self.get_tokenizer()

									_lowerCAmelCase						=    ChineseCLIPProcessor(tokenizer=lowercase_						,				image_processor=lowercase_		)

									_lowerCAmelCase						=    """Alexandra，T-shirt的价格是15便士。"""
									_lowerCAmelCase						=    self.prepare_image_inputs()

									_lowerCAmelCase						=    processor(text=lowercase_						,				images=lowercase_		)

									self.assertListEqual(list(inputs.keys()		)						,				processor.model_input_names		)






from ..utils import DummyObject, requires_backends







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[str]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	int    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[str]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )





def 			UpperCAmelCase__				(			*_A      : Optional[Any]	,      **_A      : Optional[Any]							):





  '''simple docstring'''







  requires_backends(_A	,      ['''torch''']							)




def 			UpperCAmelCase__				(			*_A      : Union[str, Any]	,      **_A      : List[Any]							):





  '''simple docstring'''







  requires_backends(_A	,      ['''torch''']							)




def 			UpperCAmelCase__				(			*_A      : Union[str, Any]	,      **_A      : Tuple							):





  '''simple docstring'''







  requires_backends(_A	,      ['''torch''']							)




def 			UpperCAmelCase__				(			*_A      : List[str]	,      **_A      : List[str]							):





  '''simple docstring'''







  requires_backends(_A	,      ['''torch''']							)




def 			UpperCAmelCase__				(			*_A      : Dict	,      **_A      : Dict							):





  '''simple docstring'''







  requires_backends(_A	,      ['''torch''']							)




def 			UpperCAmelCase__				(			*_A      : List[str]	,      **_A      : str							):





  '''simple docstring'''







  requires_backends(_A	,      ['''torch''']							)




def 			UpperCAmelCase__				(			*_A      : Optional[int]	,      **_A      : Dict							):





  '''simple docstring'''







  requires_backends(_A	,      ['''torch''']							)







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Union[str, Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	str    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Tuple    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Tuple    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[str]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Any    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[str]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	str    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	int    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Optional[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Optional[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Optional[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	str    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Union[str, Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	int    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Optional[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Union[str, Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Union[str, Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Tuple    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	int    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	str    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Optional[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	str    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    List[str]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	List[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Union[str, Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Dict    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Any    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Dict:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	int    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Union[str, Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    int:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Optional[Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Any:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Optional[int]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Union[str, Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[Any]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	Union[str, Any]    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Optional[int]:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    List[Any]:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )







class 						__magic_name__			(							metaclass=lowerCamelCase__							):

   '''simple docstring'''




   lowerCamelCase__ :	int    =   ['torch']



   def __init__(				self,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(self,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    Tuple:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )



   @classmethod
   def  _UpperCAmelCase (				cls,    *lowercase_,    **lowercase_       )							->    str:






     """simple docstring"""






     requires_backends(cls,    ['''torch''']       )
