




'''simple docstring'''





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


__UpperCAmelCase       =		logging.get_logger(__name__)

__UpperCAmelCase       =		{
    "microsoft/markuplm-base": "https://huggingface.co/microsoft/markuplm-base/resolve/main/config.json",
    "microsoft/markuplm-large": "https://huggingface.co/microsoft/markuplm-large/resolve/main/config.json",
}
class 		SCREAMING_SNAKE_CASE			(     _a							):




				'''simple docstring'''





				__UpperCamelCase     				=   '''markuplm'''







				def __init__(   self  ,						SCREAMING_SNAKE_CASE__=3_05_22  ,						SCREAMING_SNAKE_CASE__=7_68  ,						SCREAMING_SNAKE_CASE__=12  ,						SCREAMING_SNAKE_CASE__=12  ,						SCREAMING_SNAKE_CASE__=30_72  ,						SCREAMING_SNAKE_CASE__="gelu"  ,						SCREAMING_SNAKE_CASE__=0.1  ,						SCREAMING_SNAKE_CASE__=0.1  ,						SCREAMING_SNAKE_CASE__=5_12  ,						SCREAMING_SNAKE_CASE__=2  ,						SCREAMING_SNAKE_CASE__=0.02  ,						SCREAMING_SNAKE_CASE__=1E-12  ,						SCREAMING_SNAKE_CASE__=0  ,						SCREAMING_SNAKE_CASE__=0  ,						SCREAMING_SNAKE_CASE__=2  ,						SCREAMING_SNAKE_CASE__=2_56  ,						SCREAMING_SNAKE_CASE__=10_24  ,						SCREAMING_SNAKE_CASE__=2_16  ,						SCREAMING_SNAKE_CASE__=10_01  ,						SCREAMING_SNAKE_CASE__=32  ,						SCREAMING_SNAKE_CASE__=50  ,						SCREAMING_SNAKE_CASE__="absolute"  ,						SCREAMING_SNAKE_CASE__=True  ,						SCREAMING_SNAKE_CASE__=None  ,						**SCREAMING_SNAKE_CASE__  ,						):
							'''simple docstring'''







							super().__init__(
							    pad_token_id=SCREAMING_SNAKE_CASE__  ,						bos_token_id=SCREAMING_SNAKE_CASE__  ,						eos_token_id=SCREAMING_SNAKE_CASE__  ,						**SCREAMING_SNAKE_CASE__  ,						)
							snake_case:       int        =       vocab_size
							snake_case:       int        =       hidden_size
							snake_case:       List[str]        =       num_hidden_layers
							snake_case:       Union[str, Any]        =       num_attention_heads
							snake_case:       Dict        =       hidden_act
							snake_case:       int        =       intermediate_size
							snake_case:       str        =       hidden_dropout_prob
							snake_case:       str        =       attention_probs_dropout_prob
							snake_case:       List[Any]        =       max_position_embeddings
							snake_case:       List[Any]        =       type_vocab_size
							snake_case:       Optional[Any]        =       initializer_range
							snake_case:       Optional[int]        =       layer_norm_eps
							snake_case:       List[Any]        =       position_embedding_type
							snake_case:       List[Any]        =       use_cache
							snake_case:       Dict        =       classifier_dropout
							# additional properties
							snake_case:       Dict        =       max_depth
							snake_case:       Optional[int]        =       max_xpath_tag_unit_embeddings
							snake_case:       Dict        =       max_xpath_subs_unit_embeddings
							snake_case:       int        =       tag_pad_id
							snake_case:       str        =       subs_pad_id
							snake_case:       str        =       xpath_unit_hidden_size







def        _snake_case   (_snake_case				:       list      ,    _snake_case				:       int      ,    _snake_case				:       int = 0      ,    _snake_case				:       int = 0)					->	int:
   _lowercase              =right or len(_snake_case) - 1
   if left > right:
      return -1
   elif list_data[left] == key:
      return left
   elif list_data[right] == key:
      return right
   else:
      return search(_snake_case      ,    _snake_case      ,    left + 1      ,    right - 1)


if __name__ == "__main__":
    import doctest

    doctest.testmod()


