






'''simple docstring'''







from typing import TYPE_CHECKING

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


_A	:			List[str]         ={
    'configuration_xlm': ['XLM_PRETRAINED_CONFIG_ARCHIVE_MAP', 'XLMConfig', 'XLMOnnxConfig'],
    'tokenization_xlm': ['XLMTokenizer'],
}

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_A	:			str         =[
			    'XLM_PRETRAINED_MODEL_ARCHIVE_LIST',
			    'XLMForMultipleChoice',
			    'XLMForQuestionAnswering',
			    'XLMForQuestionAnsweringSimple',
			    'XLMForSequenceClassification',
			    'XLMForTokenClassification',
			    'XLMModel',
			    'XLMPreTrainedModel',
			    'XLMWithLMHeadModel',
			]

try:
			if not is_tf_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			_A	:			Dict         =[
			    'TF_XLM_PRETRAINED_MODEL_ARCHIVE_LIST',
			    'TFXLMForMultipleChoice',
			    'TFXLMForQuestionAnsweringSimple',
			    'TFXLMForSequenceClassification',
			    'TFXLMForTokenClassification',
			    'TFXLMMainLayer',
			    'TFXLMModel',
			    'TFXLMPreTrainedModel',
			    'TFXLMWithLMHeadModel',
			]


if TYPE_CHECKING:
			from .configuration_xlm import XLM_PRETRAINED_CONFIG_ARCHIVE_MAP, XLMConfig, XLMOnnxConfig
			from .tokenization_xlm import XLMTokenizer

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_xlm import (
						    XLM_PRETRAINED_MODEL_ARCHIVE_LIST,
						    XLMForMultipleChoice,
						    XLMForQuestionAnswering,
						    XLMForQuestionAnsweringSimple,
						    XLMForSequenceClassification,
						    XLMForTokenClassification,
						    XLMModel,
						    XLMPreTrainedModel,
						    XLMWithLMHeadModel,
						)

			try:
						if not is_tf_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_tf_xlm import (
						    TF_XLM_PRETRAINED_MODEL_ARCHIVE_LIST,
						    TFXLMForMultipleChoice,
						    TFXLMForQuestionAnsweringSimple,
						    TFXLMForSequenceClassification,
						    TFXLMForTokenClassification,
						    TFXLMMainLayer,
						    TFXLMModel,
						    TFXLMPreTrainedModel,
						    TFXLMWithLMHeadModel,
						)

else:
			import sys

			_A	:			Any         =_LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)



# this script reports modified .py files under the desired list of top-level sub-dirs passed as a list of arguments, e.g.:
#   python ./utils/get_modified_files.py utils src tests examples
#
# it uses git to find the forking point and which files were modified - i.e. files not under git won't be considered
# since the output of this script is fed into Makefile commands it doesn't print a newline after the results

import re
import subprocess
import sys


__lowerCAmelCase			:     int           =   subprocess.check_output('git merge-base main HEAD'.split()).decode('utf-8')
__lowerCAmelCase			:     Any           =   (
    subprocess.check_output(F'''git diff --diff-filter=d --name-only {fork_point_sha}'''.split()).decode('utf-8').split()
)

__lowerCAmelCase			:     str           =   '|'.join(sys.argv[1:])
__lowerCAmelCase			:     Tuple           =   re.compile(RF'''^({joined_dirs}).*?\.py$''')

__lowerCAmelCase			:     Union[str, Any]           =   [x for x in modified_files if regex.match(x)]
print(' '.join(relevant_modified_files), end='')

