

import re







def 	lowerCamelCase__			(   __A						:Optional[Any]		):


							"""simple docstring"""




							def docstring_decorator(__A						:Any		):
														__snake_case					  =       fn.__doc__
														__snake_case					  =       func_doc.split("""\n"""		)
														__snake_case					  =       0
														while i < len(__A		) and re.search(r"""^\s*Examples?:\s*$"""  ,lines[i]		) is None:
																					i += 1
														if i < len(__A		):
																					__snake_case					  =       example_docstring
																					__snake_case					  =       """\n""".join(__A		)
														else:
																					raise ValueError(
																					    F'The function {fn} should have an empty \'Examples:\' in its docstring as placeholder, '
																					    F'current docstring is:\n{func_doc}'		)
														__snake_case					  =       func_doc
														return fn

							return docstring_decorator




from typing import TYPE_CHECKING

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


UpperCamelCase__		   =    {
    '''configuration_splinter''': ['''SPLINTER_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''SplinterConfig'''],
    '''tokenization_splinter''': ['''SplinterTokenizer'''],
}

try:
    if not is_tokenizers_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    UpperCamelCase__		   =    ['''SplinterTokenizerFast''']

try:
    if not is_torch_available():
        raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
    pass
else:
    UpperCamelCase__		   =    [
        '''SPLINTER_PRETRAINED_MODEL_ARCHIVE_LIST''',
        '''SplinterForQuestionAnswering''',
        '''SplinterForPreTraining''',
        '''SplinterLayer''',
        '''SplinterModel''',
        '''SplinterPreTrainedModel''',
    ]


if TYPE_CHECKING:
    from .configuration_splinter import SPLINTER_PRETRAINED_CONFIG_ARCHIVE_MAP, SplinterConfig
    from .tokenization_splinter import SplinterTokenizer

    try:
        if not is_tokenizers_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .tokenization_splinter_fast import SplinterTokenizerFast

    try:
        if not is_torch_available():
            raise OptionalDependencyNotAvailable()
    except OptionalDependencyNotAvailable:
        pass
    else:
        from .modeling_splinter import (
            SPLINTER_PRETRAINED_MODEL_ARCHIVE_LIST,
            SplinterForPreTraining,
            SplinterForQuestionAnswering,
            SplinterLayer,
            SplinterModel,
            SplinterPreTrainedModel,
        )


else:
    import sys

    UpperCamelCase__		   =    _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)

