



"""simple docstring"""
def  lowerCamelCase_						(UpperCamelCase__		:		bytes							):
    return "".join([hex(UpperCamelCase__							)[2:].zfill(2							).upper() for byte in list(UpperCamelCase__							)]							)





def  lowerCamelCase_						(UpperCamelCase__		:		str							):
    # Check data validity, following RFC3548
    # https://www.ietf.org/rfc/rfc3548.txt
    if (len(UpperCamelCase__							) % 2) != 0:
        raise ValueError(
            '''Base16 encoded data is invalid:
Data does not have an even number of hex digits.'''							)
    # Check the character set - the standard base16 alphabet
    # is uppercase according to RFC3548 section 6
    if not set(UpperCamelCase__							) <= set('''0123456789ABCDEF'''							):
        raise ValueError(
            '''Base16 encoded data is invalid:
Data is not uppercase hex or it contains invalid characters.'''							)
    # For every two hexadecimal digits (= a byte), turn it into an integer.
    # Then, string the result together into bytes, and return it.
    return bytes(int(data[i] + data[i + 1]     ,       16							) for i in range(0     ,       len(UpperCamelCase__							)     ,       2							)							)


if __name__ == "__main__":
  import doctest

  doctest.testmod()







"""simple docstring"""
from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_flax_available,
    is_tf_available,
    is_tokenizers_available,
    is_torch_available,
)


_lowerCAmelCase    :List[Any]     =					{'configuration_opt': ['OPT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'OPTConfig']}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCAmelCase    :Any     =					[
      'OPT_PRETRAINED_MODEL_ARCHIVE_LIST',
      'OPTForCausalLM',
      'OPTModel',
      'OPTPreTrainedModel',
      'OPTForSequenceClassification',
      'OPTForQuestionAnswering',
  ]

try:
  if not is_tf_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCAmelCase    :Optional[int]     =					['TFOPTForCausalLM', 'TFOPTModel', 'TFOPTPreTrainedModel']

try:
  if not is_flax_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  _lowerCAmelCase    :Any     =					[
      'FlaxOPTForCausalLM',
      'FlaxOPTModel',
      'FlaxOPTPreTrainedModel',
  ]


if TYPE_CHECKING:
  from .configuration_opt import OPT_PRETRAINED_CONFIG_ARCHIVE_MAP, OPTConfig

  try:
    if not is_torch_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_opt import (
        OPT_PRETRAINED_MODEL_ARCHIVE_LIST,
        OPTForCausalLM,
        OPTForQuestionAnswering,
        OPTForSequenceClassification,
        OPTModel,
        OPTPreTrainedModel,
    )

  try:
    if not is_tf_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_tf_opt import TFOPTForCausalLM, TFOPTModel, TFOPTPreTrainedModel

  try:
    if not is_flax_available():
      raise OptionalDependencyNotAvailable()
  except OptionalDependencyNotAvailable:
    pass
  else:
    from .modeling_flax_opt import FlaxOPTForCausalLM, FlaxOPTModel, FlaxOPTPreTrainedModel

else:
  import sys

  _lowerCAmelCase    :int     =					_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)


