



# Copyright 2023 The HuggingFace Inc. team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import re

from ..utils import cached_file


# docstyle-ignore
_lowercase     							=						'\nHuman: <<task>>\n\nAssistant: '


_lowercase     							=						'huggingface-tools/default-prompts'
_lowercase     							=						{'chat': 'chat_prompt_template.txt', 'run': 'run_prompt_template.txt'}






def      _A				(UpperCamelCase		:      Optional[Any]      ,			UpperCamelCase		:      str      ,			UpperCamelCase		:      Union[str, Any]="run" )  ->List[str]:



			'''simple docstring'''







			if prompt_or_repo_id is None:
						lowerCamelCase__ :      Union[str, Any]								=		DEFAULT_PROMPTS_REPO

			# prompt is considered a repo ID when it does not contain any kind of space
			if re.search("""\\s"""      ,			UpperCamelCase ) is not None:
						return prompt_or_repo_id

			lowerCamelCase__ :      Tuple								=		cached_file(
			    UpperCamelCase      ,			PROMPT_FILES[mode]      ,			repo_type="""dataset"""      ,			user_agent={"""agent""": agent_name} )
			with open(UpperCamelCase      ,			"""r"""      ,			encoding="""utf-8""" ) as f:
						return f.read()








def      _A				(UpperCamelCase		:      int      ,			UpperCamelCase		:      int )  ->int:



			'''simple docstring'''







			while b:
						lowerCamelCase__							,lowerCamelCase__ :      int								=		b, a % b
			return a






def      _A				(UpperCamelCase		:      int      ,			UpperCamelCase		:      int )  ->int:



			'''simple docstring'''







			return a if b == 0 else euclidean_gcd_recursive(UpperCamelCase      ,			a % b )






def      _A				()  ->str:



			'''simple docstring'''







			print(f"euclidean_gcd(3, 5) = {euclidean_gcd(3      ,			5 )}" )
			print(f"euclidean_gcd(5, 3) = {euclidean_gcd(5      ,			3 )}" )
			print(f"euclidean_gcd(1, 3) = {euclidean_gcd(1      ,			3 )}" )
			print(f"euclidean_gcd(3, 6) = {euclidean_gcd(3      ,			6 )}" )
			print(f"euclidean_gcd(6, 3) = {euclidean_gcd(6      ,			3 )}" )

			print(f"euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3      ,			5 )}" )
			print(f"euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5      ,			3 )}" )
			print(f"euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1      ,			3 )}" )
			print(f"euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3      ,			6 )}" )
			print(f"euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6      ,			3 )}" )


if __name__ == "__main__":
				main()



