"""simple docstring"""






def     UpperCAmelCase__ (       lowerCAmelCase__  :Optional[int]	)				->					Optional[Any]:
      '''simple docstring'''


      if not numbers:
            return 0

      if not isinstance(lowerCAmelCase_      ,	(list, tuple)	) or not all(
          isinstance(lowerCAmelCase_      ,	lowerCAmelCase_	) for number in numbers	):
            raise ValueError("""numbers must be an iterable of integers"""	)

      lowercase														=			numbers[0]

      for i in range(1      ,	len(lowerCAmelCase_	)	):
            # update the maximum and minimum subarray products
            lowercase														=			numbers[i]
            if number < 0:
                  lowercase														=			min_till_now, max_till_now
            lowercase														=			max(lowerCAmelCase_      ,	max_till_now * number	)
            lowercase														=			min(lowerCAmelCase_      ,	min_till_now * number	)

            # update the maximum product found till now
            lowercase														=			max(lowerCAmelCase_      ,	lowerCAmelCase_	)

      return max_prod







"""simple docstring"""






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


__lowerCAmelCase					: Any        =logging.get_logger(__name__)

__lowerCAmelCase					: Union[str, Any]        ={
    """facebook/timesformer""": """https://huggingface.co/facebook/timesformer/resolve/main/config.json""",
}





class 				_A		( lowerCAmelCase			):
      snake_case__    :     Optional[Any]													=			'timesformer'

      def __init__(		self	, __lowerCAmelCase=224	, __lowerCAmelCase=16	, __lowerCAmelCase=3	, __lowerCAmelCase=8	, __lowerCAmelCase=768	, __lowerCAmelCase=12	, __lowerCAmelCase=12	, __lowerCAmelCase=3072	, __lowerCAmelCase="gelu"	, __lowerCAmelCase=0.0	, __lowerCAmelCase=0.0	, __lowerCAmelCase=0.0_2	, __lowerCAmelCase=1E-6	, __lowerCAmelCase=True	, __lowerCAmelCase="divided_space_time"	, __lowerCAmelCase=0	, **__lowerCAmelCase	, ):







            """simple docstring"""



            super().__init__(**__lowerCAmelCase		)

            lowercase														=			image_size
            lowercase														=			patch_size
            lowercase														=			num_channels
            lowercase														=			num_frames

            lowercase														=			hidden_size
            lowercase														=			num_hidden_layers
            lowercase														=			num_attention_heads
            lowercase														=			intermediate_size
            lowercase														=			hidden_act
            lowercase														=			hidden_dropout_prob
            lowercase														=			attention_probs_dropout_prob
            lowercase														=			initializer_range
            lowercase														=			layer_norm_eps
            lowercase														=			qkv_bias

            lowercase														=			attention_type
            lowercase														=			drop_path_rate



