
"""simple docstring"""







from ...configuration_utils import PretrainedConfig
from ...utils import logging
from ...utils.backbone_utils import BackboneConfigMixin, get_aligned_output_features_output_indices


lowerCamelCase__   					=		logging.get_logger(__name__)

lowerCamelCase__   					=		{
    """google/bit-50""": """https://huggingface.co/google/bit-50/resolve/main/config.json""",
}




class  A__       (	_lowerCamelCase       ,     _lowerCamelCase):
		A_						:       Tuple				   =	'bit'
		A_						:       List[Any]				   =	['preactivation', 'bottleneck']
		A_						:       int				   =	['SAME', 'VALID']

		def __init__(      self       ,		_SCREAMING_SNAKE_CASE=3       ,		_SCREAMING_SNAKE_CASE=64       ,		_SCREAMING_SNAKE_CASE=[2_56, 5_12, 10_24, 20_48]       ,		_SCREAMING_SNAKE_CASE=[3, 4, 6, 3]       ,		_SCREAMING_SNAKE_CASE="preactivation"       ,		_SCREAMING_SNAKE_CASE="relu"       ,		_SCREAMING_SNAKE_CASE=None       ,		_SCREAMING_SNAKE_CASE=32       ,		_SCREAMING_SNAKE_CASE=0.0       ,		_SCREAMING_SNAKE_CASE=False       ,		_SCREAMING_SNAKE_CASE=32       ,		_SCREAMING_SNAKE_CASE=1       ,		_SCREAMING_SNAKE_CASE=None       ,		_SCREAMING_SNAKE_CASE=None       ,		**_SCREAMING_SNAKE_CASE       ,		):
			super().__init__(**__lowerCAmelCase )
			if layer_type not in self.layer_types:
				raise ValueError(f"layer_type={layer_type} is not one of {','.join(self.layer_types )}" )
			if global_padding is not None:
				if global_padding.upper() in self.supported_padding:
					__lowerCAmelCase			:						Dict									=      global_padding.upper()
				else:
					raise ValueError(f"Padding strategy {global_padding} not supported" )
			__lowerCAmelCase			:						Optional[Any]									=      num_channels
			__lowerCAmelCase			:						Optional[int]									=      embedding_size
			__lowerCAmelCase			:						Any									=      hidden_sizes
			__lowerCAmelCase			:						int									=      depths
			__lowerCAmelCase			:						Optional[int]									=      layer_type
			__lowerCAmelCase			:						Union[str, Any]									=      hidden_act
			__lowerCAmelCase			:						Any									=      global_padding
			__lowerCAmelCase			:						Optional[Any]									=      num_groups
			__lowerCAmelCase			:						Dict									=      drop_path_rate
			__lowerCAmelCase			:						int									=      embedding_dynamic_padding
			__lowerCAmelCase			:						Tuple									=      output_stride
			__lowerCAmelCase			:						List[str]									=      width_factor

			__lowerCAmelCase			:						Tuple									=      ['stem'] + [f"stage{idx}" for idx in range(1       ,		len(__lowerCAmelCase ) + 1 )]
			__lowerCAmelCase			,   __lowerCAmelCase			:						Any									=      get_aligned_output_features_output_indices(
			    out_features=__lowerCAmelCase       ,		out_indices=__lowerCAmelCase       ,		stage_names=self.stage_names )
"""simple docstring"""






from __future__ import annotations


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


      if not nums:
            return 0
      lowercase														=	nums[0]
      lowercase														=	0
      for num in nums[1:]:
            lowercase							,							lowercase														=	(
                max_excluding + num,
                max(lowerCAmelCase__					,		lowerCAmelCase__		),
            )
      return max(lowerCAmelCase__					,		lowerCAmelCase__		)


if __name__ == "__main__":
       import doctest

       doctest.testmod()



