



from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


_lowercase    	=		{
    "configuration_upernet": ["UperNetConfig"],
}

try:
   if not is_torch_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   _lowercase    	=		[
       "UperNetForSemanticSegmentation",
       "UperNetPreTrainedModel",
   ]


if TYPE_CHECKING:
   from .configuration_upernet import UperNetConfig

   try:
      if not is_torch_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .modeling_upernet import UperNetForSemanticSegmentation, UperNetPreTrainedModel


else:
   import sys

   _lowercase    	=		_LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)





import re



def 		lowerCAmelCase__     (       UpperCamelCase_					:							str						)->	str:

    if len(re.findall('''[ATCG]'''			,							UpperCamelCase_						)						) != len(UpperCamelCase_						):
        raise ValueError('''Invalid Strand'''						)

    return dna.translate(dna.maketrans('''ATCG'''			,							'''TAGC'''						)						)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
