


'''simple docstring'''

from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_sentencepiece_available, is_tokenizers_available


lowercase__					  =		{}

try:
   if not is_sentencepiece_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase__					  =		["BarthezTokenizer"]

try:
   if not is_tokenizers_available():
      raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
   pass
else:
   lowercase__					  =		["BarthezTokenizerFast"]


if TYPE_CHECKING:
   try:
      if not is_sentencepiece_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_barthez import BarthezTokenizer

   try:
      if not is_tokenizers_available():
         raise OptionalDependencyNotAvailable()
   except OptionalDependencyNotAvailable:
      pass
   else:
      from .tokenization_barthez_fast import BarthezTokenizerFast

else:
   import sys

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





'''simple docstring'''

def __UpperCamelCase (      __lowerCamelCase		:			int					)   ->  int:







     '''simple docstring'''






     if not isinstance(__lowerCamelCase   ,	__lowerCamelCase					) or number < 0:
          raise ValueError("Input must be a non-negative integer"					)

     _a            =		number & ~(number - 1)
     _a            =		0
     while intermediate:
          intermediate >>= 1
          index += 1
     return index - 1


if __name__ == "__main__":
   import doctest

   doctest.testmod(verbose=True)

