





from collections import OrderedDict
from typing import Mapping

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


_lowerCAmelCase							:					List[str]		    =		logging.get_logger(__name__)

_lowerCAmelCase							:					Optional[int]		    =		{
    '''facebook/xmod-base''': '''https://huggingface.co/facebook/xmod-base/resolve/main/config.json''',
    '''facebook/xmod-large-prenorm''': '''https://huggingface.co/facebook/xmod-large-prenorm/resolve/main/config.json''',
    '''facebook/xmod-base-13-125k''': '''https://huggingface.co/facebook/xmod-base-13-125k/resolve/main/config.json''',
    '''facebook/xmod-base-30-125k''': '''https://huggingface.co/facebook/xmod-base-30-125k/resolve/main/config.json''',
    '''facebook/xmod-base-30-195k''': '''https://huggingface.co/facebook/xmod-base-30-195k/resolve/main/config.json''',
    '''facebook/xmod-base-60-125k''': '''https://huggingface.co/facebook/xmod-base-60-125k/resolve/main/config.json''',
    '''facebook/xmod-base-60-265k''': '''https://huggingface.co/facebook/xmod-base-60-265k/resolve/main/config.json''',
    '''facebook/xmod-base-75-125k''': '''https://huggingface.co/facebook/xmod-base-75-125k/resolve/main/config.json''',
    '''facebook/xmod-base-75-269k''': '''https://huggingface.co/facebook/xmod-base-75-269k/resolve/main/config.json''',
}


class     __magic_name__     (							__SCREAMING_SNAKE_CASE							):





     """simple docstring"""



     __UpperCamelCase    			=   'xmod'



     def __init__(							self				:str	,					snake_case				:Any=30_522	,					snake_case				:int=768	,					snake_case				:List[Any]=12	,					snake_case				:Tuple=12	,					snake_case				:List[Any]=3_072	,					snake_case				:Optional[Any]="gelu"	,					snake_case				:Optional[Any]=0.1	,					snake_case				:List[Any]=0.1	,					snake_case				:Union[str, Any]=512	,					snake_case				:Dict=2	,					snake_case				:Optional[Any]=0.02	,					snake_case				:List[Any]=1e-12	,					snake_case				:Optional[int]=1	,					snake_case				:List[str]=0	,					snake_case				:List[Any]=2	,					snake_case				:int="absolute"	,					snake_case				:Optional[Any]=True	,					snake_case				:Union[str, Any]=None	,					snake_case				:Dict=False	,					snake_case				:str=2	,					snake_case				:Optional[int]=False	,					snake_case				:Any=True	,					snake_case				:List[Any]=True	,					snake_case				:Union[str, Any]=("en_XX",)	,					snake_case				:Optional[Any]=None	,					**snake_case				:List[Any]	,					):





        '''simple docstring'''




        super().__init__(pad_token_id=_a	,					bos_token_id=_a	,					eos_token_id=_a	,					**_a     )

        A_    : Dict								=	vocab_size
        A_    : int								=	hidden_size
        A_    : str								=	num_hidden_layers
        A_    : Union[str, Any]								=	num_attention_heads
        A_    : Optional[int]								=	hidden_act
        A_    : Union[str, Any]								=	intermediate_size
        A_    : int								=	hidden_dropout_prob
        A_    : str								=	attention_probs_dropout_prob
        A_    : Union[str, Any]								=	max_position_embeddings
        A_    : int								=	type_vocab_size
        A_    : str								=	initializer_range
        A_    : str								=	layer_norm_eps
        A_    : str								=	position_embedding_type
        A_    : List[str]								=	use_cache
        A_    : Dict								=	classifier_dropout
        A_    : Optional[Any]								=	pre_norm
        A_    : Optional[int]								=	adapter_reduction_factor
        A_    : Optional[Any]								=	adapter_layer_norm
        A_    : Tuple								=	adapter_reuse_layer_norm
        A_    : Optional[Any]								=	ln_before_adapter
        A_    : Optional[int]								=	list(_a     )
        A_    : Union[str, Any]								=	default_language




class     __magic_name__     (							__SCREAMING_SNAKE_CASE							):





     """simple docstring"""



     @property
     def   SCREAMING_SNAKE_CASE						(							self				:List[Any]     ):





        '''simple docstring'''




        if self.task == "multiple-choice":
           A_    : Union[str, Any]								=	{0: "batch", 1: "choice", 2: "sequence"}
        else:
           A_    : int								=	{0: "batch", 1: "sequence"}
        return OrderedDict(
            [
                ("input_ids", dynamic_axis),
                ("attention_mask", dynamic_axis),
            ]     )




"""simple docstring"""




lowercase_			     =  [4, 1, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
lowercase_			     =  [3, 7, 7, 4, 2, 6, 4, 1, 5, 3, 7, 5]
lowercase_			     =  {
    0: "Sunday",
    1: "Monday",
    2: "Tuesday",
    3: "Wednesday",
    4: "Thursday",
    5: "Friday",
    6: "Saturday",
}

def        lowercase							(		lowerCAmelCase__ :     int    ,					lowerCAmelCase__ :     int    ,					lowerCAmelCase__ :     int			) ->      str:
		assert len(str(lowerCAmelCase__			)			) > 2, "year should be in YYYY format"
		assert 1 <= month <= 12, "month should be between 1 to 12"
		assert 1 <= day <= 31, "day should be between 1 to 31"

		# Doomsday algorithm:
		__a           =			year // 100
		__a           =			(5 * (century % 4) + 2) % 7
		__a           =			year % 100
		__a           =			centurian % 12
		__a           =			(
		    (centurian // 12) + centurian_m + (centurian_m // 4) + century_anchor
		) % 7
		__a           =			(
		    DOOMSDAY_NOT_LEAP[month - 1]
		    if (year % 4 != 0) or (centurian == 0 and (year % 400) == 0)
		    else DOOMSDAY_LEAP[month - 1]
		)
		__a           =			(dooms_day + day - day_anchor) % 7
		return WEEK_DAY_NAMES[week_day]


if __name__ == "__main__":
				import doctest

				doctest.testmod()






