'''simple docstring'''




import copy

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


_UpperCamelCase				:		Dict       			=		logging.get_logger(__name__)

class   _lowercase(     _lowerCamelCase				):



   """simple docstring"""





   __lowerCamelCase    =  '''hybrid-clip'''
   __lowerCamelCase    =  True





   def __init__(							self:    str			,a:    Optional[Any]=512			,**a:    Dict	):
    super().__init__(**a	)

    if "text_config" not in kwargs:
     raise ValueError('`text_config` can not be `None`.'	)

    if "vision_config" not in kwargs:
     raise ValueError('`vision_config` can not be `None`.'	)

    __UpperCAmelCase         =					kwargs.pop('text_config'	)
    __UpperCAmelCase         =					kwargs.pop('vision_config'	)

    __UpperCAmelCase         =					text_config.pop('model_type'	)
    __UpperCAmelCase         =					vision_config.pop('model_type'	)

    from transformers import AutoConfig

    __UpperCAmelCase         =					AutoConfig.for_model(a			,**a	)

    if vision_model_type == "clip":
     __UpperCAmelCase         =					AutoConfig.for_model(a			,**a	).vision_config
    elif vision_model_type == "clip_vision_model":
     from transformers import CLIPVisionConfig

     __UpperCAmelCase         =					CLIPVisionConfig(**a	)
    else:
     __UpperCAmelCase         =					AutoConfig.for_model(a			,**a	)

    __UpperCAmelCase         =					projection_dim
    __UpperCAmelCase         =					1.0





   @classmethod
   def 			snake_case	(							cls:    Optional[int]			,a:    PretrainedConfig			,a:    PretrainedConfig			,**a:    Tuple	):
    return cls(text_config=text_config.to_dict()			,vision_config=vision_config.to_dict()			,**a	)





   def 			snake_case	(							self:    Optional[int]	):
    __UpperCAmelCase         =					copy.deepcopy(self.__dict__	)
    __UpperCAmelCase         =					self.text_config.to_dict()
    __UpperCAmelCase         =					self.vision_config.to_dict()
    __UpperCAmelCase         =					self.__class__.model_type
    return output




'''simple docstring'''




def 						__snake_case (       lowerCAmelCase       :     list			):

 for insert_index, insert_value in enumerate(collection[1:]			):
  __UpperCAmelCase         =					insert_index
  while insert_index >= 0 and insert_value < collection[insert_index]:
   __UpperCAmelCase         =					collection[insert_index]
   insert_index -= 1
  if insert_index != temp_index:
   __UpperCAmelCase         =					insert_value
 return collection


if __name__ == "__main__":
     from doctest import testmod

     testmod()

     _UpperCamelCase				:		List[Any]       			=		input('Enter numbers separated by a comma:\n').strip()
     _UpperCamelCase				:		List[Any]       			=		[int(item) for item in user_input.split(',')]
     print(f"{insertion_sort(unsorted) = }")



