"""simple docstring"""


from math import asin, atan, cos, radians, sin, sqrt, tan

lowerCAmelCase_:					int     =					6_3_7_8_1_3_7.0
lowerCAmelCase_:					Optional[Any]     =					6_3_5_6_7_5_2.3_1_4_2_4_5
lowerCAmelCase_:					List[Any]     =					6_3_7_8_1_3_7







def 					__a   (		A    ,				A    ,				A    ,				A      ):






     '''simple docstring'''



     lowercase__				 =							(AXIS_A - AXIS_B) / AXIS_A
     lowercase__				 =							atan((1 - flattening) * tan(radians(A      )      )      )
     lowercase__				 =							atan((1 - flattening) * tan(radians(A      )      )      )
     lowercase__				 =							radians(A      )
     lowercase__				 =							radians(A      )
     # Equation
     lowercase__				 =							sin((phi_a - phi_a) / 2      )
     lowercase__				 =							sin((lambda_a - lambda_a) / 2      )
     # Square both values
     sin_sq_phi *= sin_sq_phi
     sin_sq_lambda *= sin_sq_lambda
     lowercase__				 =							sqrt(sin_sq_phi + (cos(A      ) * cos(A      ) * sin_sq_lambda)      )
     return 2 * RADIUS * asin(A      )


if __name__ == "__main__":
 import doctest

 doctest.testmod()





"""simple docstring"""


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


lowerCAmelCase_:					List[Any]     =					logging.get_logger(__name__)

lowerCAmelCase_:					int     =					{
    "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    a__    (   _a	):
   snake_case_							=      "markuplm"


   def __init__(     self,				_UpperCAmelCase=3_0522,				_UpperCAmelCase=768,				_UpperCAmelCase=12,				_UpperCAmelCase=12,				_UpperCAmelCase=3072,				_UpperCAmelCase="gelu",				_UpperCAmelCase=0.1,				_UpperCAmelCase=0.1,				_UpperCAmelCase=512,				_UpperCAmelCase=2,				_UpperCAmelCase=0.02,				_UpperCAmelCase=1E-12,				_UpperCAmelCase=0,				_UpperCAmelCase=0,				_UpperCAmelCase=2,				_UpperCAmelCase=256,				_UpperCAmelCase=1024,				_UpperCAmelCase=216,				_UpperCAmelCase=1001,				_UpperCAmelCase=32,				_UpperCAmelCase=50,				_UpperCAmelCase="absolute",				_UpperCAmelCase=True,				_UpperCAmelCase=None,				**_UpperCAmelCase,				):
        '''simple docstring'''



        super().__init__(
            pad_token_id=_UpperCAmelCase,				bos_token_id=_UpperCAmelCase,				eos_token_id=_UpperCAmelCase,				**_UpperCAmelCase,				)
        lowercase__				 =							vocab_size
        lowercase__				 =							hidden_size
        lowercase__				 =							num_hidden_layers
        lowercase__				 =							num_attention_heads
        lowercase__				 =							hidden_act
        lowercase__				 =							intermediate_size
        lowercase__				 =							hidden_dropout_prob
        lowercase__				 =							attention_probs_dropout_prob
        lowercase__				 =							max_position_embeddings
        lowercase__				 =							type_vocab_size
        lowercase__				 =							initializer_range
        lowercase__				 =							layer_norm_eps
        lowercase__				 =							position_embedding_type
        lowercase__				 =							use_cache
        lowercase__				 =							classifier_dropout
        # additional properties
        lowercase__				 =							max_depth
        lowercase__				 =							max_xpath_tag_unit_embeddings
        lowercase__				 =							max_xpath_subs_unit_embeddings
        lowercase__				 =							tag_pad_id
        lowercase__				 =							subs_pad_id
        lowercase__				 =							xpath_unit_hidden_size




