from __future__ import annotations



def   __A		(			_A							,				_A							,				_A							,				):



 """simple docstring"""


 if (electron_conc, hole_conc, intrinsic_conc).count(0					) != 1:
  raise ValueError("You cannot supply more or less than 2 values"					)
 elif electron_conc < 0:
  raise ValueError("Electron concentration cannot be negative in a semiconductor"					)
 elif hole_conc < 0:
  raise ValueError("Hole concentration cannot be negative in a semiconductor"					)
 elif intrinsic_conc < 0:
  raise ValueError(
      "Intrinsic concentration cannot be negative in a semiconductor"					)
 elif electron_conc == 0:
  return (
      "electron_conc",
      intrinsic_conc**2 / hole_conc,
  )
 elif hole_conc == 0:
  return (
      "hole_conc",
      intrinsic_conc**2 / electron_conc,
  )
 elif intrinsic_conc == 0:
  return (
      "intrinsic_conc",
      (electron_conc * hole_conc) ** 0.5,
  )
 else:
  return (-1, -1)


if __name__ == "__main__":
  import doctest

  doctest.testmod()



from collections import OrderedDict
from typing import Mapping

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


SCREAMING_SNAKE_CASE :	Dict							     =		logging.get_logger(__name__)

SCREAMING_SNAKE_CASE :	List[str]							     =		{
    """facebook/xlm-roberta-xl""": """https://huggingface.co/facebook/xlm-roberta-xl/resolve/main/config.json""",
    """facebook/xlm-roberta-xxl""": """https://huggingface.co/facebook/xlm-roberta-xxl/resolve/main/config.json""",
    # See all XLM-RoBERTa-XL models at https://huggingface.co/models?filter=xlm-roberta-xl
}
class    A_ (       a_ ):
  _SCREAMING_SNAKE_CASE    				=			"""xlm-roberta-xl"""

  def __init__(		self :      str     ,							__SCREAMING_SNAKE_CASE :      int=25_08_80     ,							__SCREAMING_SNAKE_CASE :      Dict=25_60     ,							__SCREAMING_SNAKE_CASE :      List[str]=36     ,							__SCREAMING_SNAKE_CASE :      int=32     ,							__SCREAMING_SNAKE_CASE :      int=1_02_40     ,							__SCREAMING_SNAKE_CASE :      Optional[int]="gelu"     ,							__SCREAMING_SNAKE_CASE :      int=0.1     ,							__SCREAMING_SNAKE_CASE :      Union[str, Any]=0.1     ,							__SCREAMING_SNAKE_CASE :      int=5_14     ,							__SCREAMING_SNAKE_CASE :      List[Any]=1     ,							__SCREAMING_SNAKE_CASE :      Any=0.02     ,							__SCREAMING_SNAKE_CASE :      Optional[int]=1E-05     ,							__SCREAMING_SNAKE_CASE :      str=1     ,							__SCREAMING_SNAKE_CASE :      Optional[Any]=0     ,							__SCREAMING_SNAKE_CASE :      Optional[Any]=2     ,							__SCREAMING_SNAKE_CASE :      Optional[int]="absolute"     ,							__SCREAMING_SNAKE_CASE :      str=True     ,							__SCREAMING_SNAKE_CASE :      str=None     ,							**__SCREAMING_SNAKE_CASE :      str     ,							):
   super().__init__(pad_token_id=__SCREAMING_SNAKE_CASE     ,							bos_token_id=__SCREAMING_SNAKE_CASE     ,							eos_token_id=__SCREAMING_SNAKE_CASE     ,							**__SCREAMING_SNAKE_CASE       )
   __a       =  vocab_size
   __a       =  hidden_size
   __a       =  num_hidden_layers
   __a       =  num_attention_heads
   __a       =  hidden_act
   __a       =  intermediate_size
   __a       =  hidden_dropout_prob
   __a       =  attention_probs_dropout_prob
   __a       =  max_position_embeddings
   __a       =  type_vocab_size
   __a       =  initializer_range
   __a       =  layer_norm_eps
   __a       =  position_embedding_type
   __a       =  use_cache
   __a       =  classifier_dropout
class    A_ (       a_ ):

  @property
  def 		_UpperCAmelCase   (		self :      List[str]       ):
   if self.task == "multiple-choice":
    __a       =  {0: "batch", 1: "choice", 2: "sequence"}
   else:
    __a       =  {0: "batch", 1: "sequence"}
   return OrderedDict(
       [
           ("input_ids", dynamic_axis),
           ("attention_mask", dynamic_axis),
       ]       )


