


"""simple docstring"""


import doctest
import sys
import warnings
from os.path import abspath, dirname, join

import _pytest

from transformers.testing_utils import HfDoctestModule, HfDocTestParser


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
a_       							=					abspath(join(dirname(__file__), "src"))
sys.path.insert(1, git_repo_path)

# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action="ignore", category=FutureWarning)






def      a__ (				__lowercase   )	->	str:
				config.addinivalue_line(
				    "markers"     ,			"is_pt_tf_cross_test: mark test to run only when PT and TF interactions are tested"   )
				config.addinivalue_line(
				    "markers"     ,			"is_pt_flax_cross_test: mark test to run only when PT and FLAX interactions are tested"   )
				config.addinivalue_line("markers"     ,			"is_pipeline_test: mark test to run only when pipelines are tested"   )
				config.addinivalue_line("markers"     ,			"is_staging_test: mark test to run only in the staging environment"   )
				config.addinivalue_line("markers"     ,			"accelerate_tests: mark test that require accelerate"   )
				config.addinivalue_line("markers"     ,			"tool_tests: mark the tool tests that are run on their specific schedule"   )






def      a__ (				__lowercase   )	->	List[Any]:
				from transformers.testing_utils import pytest_addoption_shared

				pytest_addoption_shared(__lowerCAmelCase   )






def      a__ (				__lowercase   )	->	Tuple:
				from transformers.testing_utils import pytest_terminal_summary_main

				_A					  =			terminalreporter.config.getoption("--make-reports"   )
				if make_reports:
								pytest_terminal_summary_main(__lowerCAmelCase     ,			id=__lowerCAmelCase   )






def      a__ (				__lowercase     ,			__lowercase   )	->	int:
				# If no tests are collected, pytest exists with code 5, which makes the CI fail.
				if exitstatus == 5:
								_A					  =			0


# Doctest custom flag to ignore output.
a_       							=					doctest.register_optionflag("IGNORE_RESULT")

a_       							=					doctest.OutputChecker
class snake_case      (  UpperCamelCase_):







		def  a_ (					self      :       str    ,   a__      :       Tuple    ,   a__      :       int    ,   a__      :       Any		)       ->						Optional[Any]:





						'''simple docstring'''







						if IGNORE_RESULT & optionflags:
										return True
						return OutputChecker.check_output(self    ,   _a    ,   _a    ,   _a		)





a_       							=					CustomOutputChecker
a_       							=					HfDoctestModule




a_       							=					HfDocTestParser



"""simple docstring"""


def      a__ (				__lowercase     ,			__lowercase   )	->	int:
				while a != 0:
								_A  ,		_A					  =			b % a, a
				return b






def      a__ (				__lowercase     ,			__lowercase   )	->	int:
				if gcd(__lowercase     ,			__lowercase   ) != 1:
								_A					  =			f"""mod inverse of {a!r} and {m!r} does not exist"""
								raise ValueError(__lowercase   )
				_A  ,		_A  ,		_A					  =			1, 0, a
				_A  ,		_A  ,		_A					  =			0, 1, m
				while va != 0:
								_A					  =			ua // va
								_A  ,		_A  ,		_A  ,		_A  ,		_A  ,		_A					  =			(ua - q * va), (ua - q * va), (ua - q * va), va, va, va
				return ua % m