




"""simple docstring"""

from collections import OrderedDict
from typing import Mapping

from packaging import version

from ...configuration_utils import PretrainedConfig
from ...onnx import OnnxConfig
from ...utils import logging


a							      =     logging.get_logger(__name__)

a							      =     {
    '''google/vit-base-patch16-224''': '''https://huggingface.co/vit-base-patch16-224/resolve/main/config.json''',
    # See all ViT models at https://huggingface.co/models?filter=vit
}





class 							lowercase_			(	__lowerCAmelCase				):



 '''simple docstring'''
 UpperCAmelCase       :	str     =      '''vit'''

 def __init__(					self			:			Dict       ,				_UpperCAmelCase			:			Dict=768       ,				_UpperCAmelCase			:			List[str]=12       ,				_UpperCAmelCase			:			Tuple=12       ,				_UpperCAmelCase			:			Optional[Any]=3_072       ,				_UpperCAmelCase			:			List[Any]="gelu"       ,				_UpperCAmelCase			:			List[str]=0.0       ,				_UpperCAmelCase			:			str=0.0       ,				_UpperCAmelCase			:			Any=0.02       ,				_UpperCAmelCase			:			List[Any]=1E-1_2       ,				_UpperCAmelCase			:			Union[str, Any]=224       ,				_UpperCAmelCase			:			Union[str, Any]=16       ,				_UpperCAmelCase			:			List[Any]=3       ,				_UpperCAmelCase			:			str=True       ,				_UpperCAmelCase			:			Tuple=16       ,				**_UpperCAmelCase			:			List[Any]       ,				):
       super().__init__(**_UpperCAmelCase						)

       _A     =  hidden_size
       _A     =  num_hidden_layers
       _A     =  num_attention_heads
       _A     =  intermediate_size
       _A     =  hidden_act
       _A     =  hidden_dropout_prob
       _A     =  attention_probs_dropout_prob
       _A     =  initializer_range
       _A     =  layer_norm_eps
       _A     =  image_size
       _A     =  patch_size
       _A     =  num_channels
       _A     =  qkv_bias
       _A     =  encoder_stride





class 							lowercase_			(	__lowerCAmelCase				):



 '''simple docstring'''
 UpperCAmelCase       :	Dict     =      version.parse('''1.11'''				)

 @property
 def      lowerCAmelCase_				(					self			:			int						):
       return OrderedDict(
           [
               ('pixel_values', {0: 'batch', 1: 'num_channels', 2: 'height', 3: 'width'}),
           ]						)



 @property
 def      lowerCAmelCase_				(					self			:			int						):
       return 1E-4







"""simple docstring"""

import math
from datetime import datetime, timedelta






def 		_snake_case	(   _snake_case				:   int				)       ->   datetime:






      '''simple docstring'''


      _A     =  year % 19
      _A     =  year % 4
      _A     =  year % 7
      _A     =  math.floor(year / 1_00				)
      _A     =  math.floor((13 + 8 * leap_day_inhibits) / 25				)
      _A     =  leap_day_inhibits / 4
      _A     =  (
          15 - lunar_orbit_correction + leap_day_inhibits - leap_day_reinstall_number
      ) % 30
      _A     =  (4 + leap_day_inhibits - leap_day_reinstall_number) % 7

      # days to be added to March 21
      _A     =  (19 * metonic_cycle + secular_moon_shift) % 30

      # PHM -> Paschal Full Moon
      _A     =  (
          2 * julian_leap_year
          + 4 * non_leap_year
          + 6 * days_to_add
          + century_starting_point
      ) % 7

      if days_to_add == 29 and days_from_phm_to_sunday == 6:
            return datetime(_snake_case							,    4							,    19				)
      elif days_to_add == 28 and days_from_phm_to_sunday == 6:
            return datetime(_snake_case							,    4							,    18				)
      else:
            return datetime(_snake_case							,    3							,    22				) + timedelta(
                days=int(days_to_add + days_from_phm_to_sunday				)				)


if __name__ == "__main__":
       for year in (1_994, 2_000, 2_010, 2_021, 2_023):
              a							      =     '''will be''' if year > datetime.now().year else '''was'''
              print(F'''Easter in {year} {tense} {gauss_easter(year)}''')

