
from typing import Optional, Tuple

import flax.linen as nn
import jax
import jax.numpy as jnp
from configuration_hybrid_clip import HybridCLIPConfig
from flax.core.frozen_dict import FrozenDict

from transformers import FLAX_MODEL_MAPPING, FlaxCLIPVisionModel
from transformers.modeling_flax_utils import FlaxPreTrainedModel
from transformers.models.clip.modeling_flax_clip import FlaxCLIPOutput
from transformers.utils import logging


_UpperCAmelCase    			=					logging.get_logger(__name__)

class 		__magic_name__				( nn.Module					):


  """simple docstring"""





  _UpperCamelCase						 = 42
  _UpperCamelCase						 = jnp.floataa


  def     _UpperCAmelCase  (					self		):
    _lowerCamelCase      =						self.config.text_config
    _lowerCamelCase      =						self.config.vision_config

    _lowerCamelCase      =						self.config.projection_dim
    _lowerCamelCase      =						text_config.hidden_size
    _lowerCamelCase      =						vision_config.hidden_size

    _lowerCamelCase      =						FLAX_MODEL_MAPPING[self.config.text_config.__class__].module_class
    _lowerCamelCase      =						FLAX_MODEL_MAPPING.get(self.config.vision_config.__class__	,		a__		).module_class

    _lowerCamelCase      =						text_module(a__	,		dtype=self.dtype		)
    _lowerCamelCase      =						vision_module(a__	,		dtype=self.dtype		)

    _lowerCamelCase      =						nn.Dense(
        self.projection_dim	,		dtype=self.dtype	,		kernel_init=jax.nn.initializers.normal(0.02		)	,		use_bias=a__	,		)
    _lowerCamelCase      =						nn.Dense(
        self.projection_dim	,		dtype=self.dtype	,		kernel_init=jax.nn.initializers.normal(0.02		)	,		use_bias=a__	,		)
    _lowerCamelCase      =						self.param('''logit_scale'''	,		jax.nn.initializers.ones	,		[]		)


  def __call__(					self	,		a__=None	,		a__=None	,		a__=None	,		a__=None	,		a__=None	,		a__ = True	,		a__=None	,		a__=None	,		a__=None	,		):
    _lowerCamelCase      =						return_dict if return_dict is not None else self.config.return_dict

    _lowerCamelCase      =						self.vision_model(
        pixel_values=a__	,		deterministic=a__	,		output_attentions=a__	,		output_hidden_states=a__	,		return_dict=a__	,		)

    _lowerCamelCase      =						self.text_model(
        input_ids=a__	,		attention_mask=a__	,		token_type_ids=a__	,		position_ids=a__	,		deterministic=a__	,		output_attentions=a__	,		output_hidden_states=a__	,		return_dict=a__	,		)

    _lowerCamelCase      =						vision_outputs[1]
    _lowerCamelCase      =						self.visual_projection(a__		)

    _lowerCamelCase      =						text_outputs[1]
    _lowerCamelCase      =						self.text_projection(a__		)

    # normalized features
    _lowerCamelCase      =						image_embeds / jnp.linalg.norm(a__	,		axis=-1	,		keepdims=a__		)
    _lowerCamelCase      =						text_embeds / jnp.linalg.norm(a__	,		axis=-1	,		keepdims=a__		)

    # cosine similarity as logits
    _lowerCamelCase      =						jnp.exp(self.logit_scale		)
    _lowerCamelCase      =						jnp.matmul(a__	,		image_embeds.T		) * logit_scale
    _lowerCamelCase      =						logits_per_text.T

    if not return_dict:
      return (logits_per_image, logits_per_text, text_embeds, image_embeds, text_outputs, vision_outputs)

    return FlaxCLIPOutput(
        logits_per_image=a__	,		logits_per_text=a__	,		text_embeds=a__	,		image_embeds=a__	,		text_model_output=a__	,		vision_model_output=a__	,		)







class 		__magic_name__				( lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = HybridCLIPConfig
  _UpperCamelCase						 = FlaxHybridCLIPModule


  def __init__(					self	,		a__	,		a__ = None	,		a__ = 0	,		a__ = jnp.floataa	,		**a__	,		):
    if input_shape is None:
      _lowerCamelCase      =						((1, 1), (1, config.vision_config.image_size, config.vision_config.image_size, 3))

    _lowerCamelCase      =						self.module_class(config=a__	,		dtype=a__	,		**a__		)
    super().__init__(a__	,		a__	,		input_shape=a__	,		seed=a__	,		dtype=a__		)


  def     _UpperCAmelCase  (					self	,		a__	,		a__	,		a__ = None		):
    # init input tensor
    _lowerCamelCase      =						jnp.zeros(input_shape[0]	,		dtype='''i4'''		)
    _lowerCamelCase      =						jnp.broadcast_to(jnp.arange(jnp.atleast_ad(a__		).shape[-1]		)	,		input_shape[0]		)
    _lowerCamelCase      =						jnp.ones_like(a__		)
    _lowerCamelCase      =						jnp.ones_like(a__		)

    _lowerCamelCase      =						jax.random.normal(a__	,		input_shape[1]		)

    _lowerCamelCase    ,    _lowerCamelCase      =						jax.random.split(a__		)
    _lowerCamelCase      =						{'''params''': params_rng, '''dropout''': dropout_rng}

    return self.module.init(a__	,		a__	,		a__	,		a__	,		a__	,		a__		)["params"]


  def __call__(					self	,		a__	,		a__	,		a__=None	,		a__=None	,		a__=None	,		a__ = None	,		a__ = None	,		a__ = False	,		a__ = None	,		a__ = None	,		a__ = None	,		):
    _lowerCamelCase      =						output_attentions if output_attentions is not None else self.config.output_attentions
    _lowerCamelCase      =						(
        output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states
    )
    _lowerCamelCase      =						return_dict if return_dict is not None else self.config.return_dict

    if position_ids is None:
      _lowerCamelCase      =						jnp.broadcast_to(jnp.arange(jnp.atleast_ad(a__		).shape[-1]		)	,		input_ids.shape		)

    if token_type_ids is None:
      _lowerCamelCase      =						jnp.zeros_like(a__		)

    if attention_mask is None:
      _lowerCamelCase      =						jnp.ones_like(a__		)

    # Handle any PRNG if needed
    _lowerCamelCase      =						{}
    if dropout_rng is not None:
      _lowerCamelCase      =						dropout_rng

    return self.module.apply(
        {'''params''': params or self.params}	,		jnp.array(a__	,		dtype='''i4'''		)	,		jnp.array(a__	,		dtype=jnp.floataa		)	,		jnp.array(a__	,		dtype='''i4'''		)	,		jnp.array(a__	,		dtype='''i4'''		)	,		jnp.array(a__	,		dtype='''i4'''		)	,		not train	,		a__	,		a__	,		a__	,		rngs=a__	,		)


  def     _UpperCAmelCase  (					self	,		a__	,		a__=None	,		a__=None	,		a__=None	,		a__ = None	,		a__ = None	,		a__=False	,		):
    if position_ids is None:
      _lowerCamelCase      =						jnp.broadcast_to(jnp.arange(jnp.atleast_ad(a__		).shape[-1]		)	,		input_ids.shape		)

    if token_type_ids is None:
      _lowerCamelCase      =						jnp.zeros_like(a__		)

    if attention_mask is None:
      _lowerCamelCase      =						jnp.ones_like(a__		)

    # Handle any PRNG if needed
    _lowerCamelCase      =						{}
    if dropout_rng is not None:
      _lowerCamelCase      =						dropout_rng

    def _get_features(a__	,		a__	,		a__	,		a__	,		a__	,		a__		):
      _lowerCamelCase      =						module.text_model(
          input_ids=a__	,		attention_mask=a__	,		position_ids=a__	,		token_type_ids=a__	,		deterministic=a__	,		)
      _lowerCamelCase      =						text_outputs[1]
      _lowerCamelCase      =						module.text_projection(a__		)
      return text_features

    return self.module.apply(
        {'''params''': params or self.params}	,		jnp.array(a__	,		dtype='''i4'''		)	,		jnp.array(a__	,		dtype='''i4'''		)	,		jnp.array(a__	,		dtype='''i4'''		)	,		jnp.array(a__	,		dtype='''i4'''		)	,		not train	,		method=_get_features	,		rngs=a__	,		)


  def     _UpperCAmelCase  (					self	,		a__	,		a__ = None	,		a__ = None	,		a__=False		):
    _lowerCamelCase      =						{}
    if dropout_rng is not None:
      _lowerCamelCase      =						dropout_rng

    def _get_features(a__	,		a__	,		a__		):
      _lowerCamelCase      =						module.vision_model(pixel_values=a__	,		deterministic=a__		)
      _lowerCamelCase      =						vision_outputs[1]  # pooled_output
      _lowerCamelCase      =						module.visual_projection(a__		)
      return image_features

    return self.module.apply(
        {'''params''': params or self.params}	,		jnp.array(a__	,		dtype=jnp.floataa		)	,		not train	,		method=_get_features	,		rngs=a__	,		)


  @classmethod
  def     _UpperCAmelCase  (					cls	,		a__ = None	,		a__ = None	,		*a__	,		**a__	,		):
    _lowerCamelCase      =						{
        argument[len('''text_'''		) :]: value for argument, value in kwargs.items() if argument.startswith('''text_'''		)
    }

    _lowerCamelCase      =						{
        argument[len('''vision_'''		) :]: value for argument, value in kwargs.items() if argument.startswith('''vision_'''		)
    }

    # remove text, vision kwargs from kwargs
    for key in kwargs_text.keys():
      del kwargs["text_" + key]
    for key in kwargs_vision.keys():
      del kwargs["vision_" + key]

    # Load and initialize the text and vision model
    _lowerCamelCase      =						kwargs_text.pop('''model'''	,		a__		)
    if text_model is None:
      assert (
          text_model_name_or_path is not None
      ), "If `model` is not defined as an argument, a `text_model_name_or_path` has to be defined"
      from transformers import FlaxAutoModel

      if "config" not in kwargs_text:
        from transformers import AutoConfig

        _lowerCamelCase      =						AutoConfig.from_pretrained(a__		)
        _lowerCamelCase      =						text_config

      _lowerCamelCase      =						FlaxAutoModel.from_pretrained(a__	,		*a__	,		**a__		)

    _lowerCamelCase      =						kwargs_vision.pop('''model'''	,		a__		)
    if vision_model is None:
      assert (
          vision_model_name_or_path is not None
      ), "If `model` is not defined as an argument, a `vision_model_name_or_path` has to be defined"
      from transformers import FlaxAutoModel

      if "config" not in kwargs_vision:
        from transformers import AutoConfig

        _lowerCamelCase      =						AutoConfig.from_pretrained(a__		)
        _lowerCamelCase      =						vision_config

      _lowerCamelCase      =						FlaxAutoModel.from_pretrained(a__	,		*a__	,		**a__		)

    # instantiate config with corresponding kwargs
    _lowerCamelCase      =						kwargs.pop('''dtype'''	,		jnp.floataa		)
    _lowerCamelCase      =						HybridCLIPConfig.from_text_vision_configs(text_model.config	,		vision_model.config	,		**a__		)

    # init model
    _lowerCamelCase      =						cls(a__	,		*a__	,		dtype=a__	,		**a__		)

    if vision_config.model_type == "clip":
      _lowerCamelCase      =						vision_model.params['''vision_model''']
      _lowerCamelCase      =						vision_model.params['''visual_projection''']['''kernel''']
    else:
      _lowerCamelCase      =						vision_model.params

    _lowerCamelCase      =						text_model.params

    return model






from ..utils import DummyObject, requires_backends

class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)







class 		__magic_name__				( metaclass=lowercase_					):


  """simple docstring"""





  _UpperCamelCase						 = ["vision"]


  def __init__(					self	,		*a__	,		**a__		):
    requires_backends(self	,		['''vision''']		)




