

"""simple docstring"""





from collections import OrderedDict
from typing import Mapping

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


_a					 =				logging.get_logger(__name__)

_a					 =				{
    'nghuyong/ernie-1.0-base-zh': 'https://huggingface.co/nghuyong/ernie-1.0-base-zh/resolve/main/config.json',
    'nghuyong/ernie-2.0-base-en': 'https://huggingface.co/nghuyong/ernie-2.0-base-en/resolve/main/config.json',
    'nghuyong/ernie-2.0-large-en': 'https://huggingface.co/nghuyong/ernie-2.0-large-en/resolve/main/config.json',
    'nghuyong/ernie-3.0-base-zh': 'https://huggingface.co/nghuyong/ernie-3.0-base-zh/resolve/main/config.json',
    'nghuyong/ernie-3.0-medium-zh': 'https://huggingface.co/nghuyong/ernie-3.0-medium-zh/resolve/main/config.json',
    'nghuyong/ernie-3.0-mini-zh': 'https://huggingface.co/nghuyong/ernie-3.0-mini-zh/resolve/main/config.json',
    'nghuyong/ernie-3.0-micro-zh': 'https://huggingface.co/nghuyong/ernie-3.0-micro-zh/resolve/main/config.json',
    'nghuyong/ernie-3.0-nano-zh': 'https://huggingface.co/nghuyong/ernie-3.0-nano-zh/resolve/main/config.json',
    'nghuyong/ernie-gram-zh': 'https://huggingface.co/nghuyong/ernie-gram-zh/resolve/main/config.json',
    'nghuyong/ernie-health-zh': 'https://huggingface.co/nghuyong/ernie-health-zh/resolve/main/config.json',
}




class    _lowerCAmelCase    (      lowercase  ):







 """simple docstring"""







 __UpperCAmelCase      :   Optional[int]  						=      "ernie"


 def __init__(     self				:     int,   UpperCAmelCase__				:     List[Any]=3_0_5_2_2,   UpperCAmelCase__				:     List[Any]=7_6_8,   UpperCAmelCase__				:     Optional[Any]=1_2,   UpperCAmelCase__				:     Tuple=1_2,   UpperCAmelCase__				:     Optional[Any]=3_0_7_2,   UpperCAmelCase__				:     List[str]="gelu",   UpperCAmelCase__				:     List[str]=0.1,   UpperCAmelCase__				:     int=0.1,   UpperCAmelCase__				:     Optional[int]=5_1_2,   UpperCAmelCase__				:     List[str]=2,   UpperCAmelCase__				:     List[Any]=3,   UpperCAmelCase__				:     Union[str, Any]=False,   UpperCAmelCase__				:     Any=0.02,   UpperCAmelCase__				:     List[Any]=1E-12,   UpperCAmelCase__				:     Union[str, Any]=0,   UpperCAmelCase__				:     List[Any]="absolute",   UpperCAmelCase__				:     Any=True,   UpperCAmelCase__				:     Tuple=None,   **UpperCAmelCase__				:     int,   ):
    super().__init__(pad_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								=		task_type_vocab_size
    __lowercase								=		use_task_id
    __lowercase								=		initializer_range
    __lowercase								=		layer_norm_eps
    __lowercase								=		position_embedding_type
    __lowercase								=		use_cache
    __lowercase								=		classifier_dropout







class    _lowerCAmelCase    (      lowercase  ):







 """simple docstring"""







 @property
 def    _lowercase					(     self				:     Tuple      ):
    if self.task == "multiple-choice":
       __lowercase								=		{0: "batch", 1: "choice", 2: "sequence"}
    else:
       __lowercase								=		{0: "batch", 1: "sequence"}
    return OrderedDict(
        [
            ("input_ids", dynamic_axis),
            ("attention_mask", dynamic_axis),
            ("token_type_ids", dynamic_axis),
            ("task_type_ids", dynamic_axis),
        ]      )







"""simple docstring"""





import math
from decimal import Decimal, getcontext




def     _A    (    UpperCamelCase_	:			int = 4000000)      ->		int:
   '''simple docstring'''


   try:
      __lowercase								=		int(UpperCamelCase_)
   except (TypeError, ValueError):
      raise TypeError("Parameter n must be int or castable to int.")
   if n <= 0:
      raise ValueError("Parameter n must be greater than or equal to one.")
   __lowercase								=		100
   __lowercase								=		(Decimal(5) ** Decimal(0.5) + 1) / Decimal(2)

   __lowercase								=		(math.floor(math.log(n * (phi + 2),     UpperCamelCase_) - 1) // 3) * 3 + 2
   __lowercase								=		Decimal(round(phi ** Decimal(index + 1))) / (phi + 2)
   __lowercase								=		num // 2
   return int(UpperCamelCase_)


if __name__ == "__main__":
   print(F"{solution() = }")




