


from __future__ import annotations

import math

lowerCAmelCase			=				'2020.9.26'
lowerCAmelCase			=				'xcodz-dot, cclaus, dhruvmanila'
def      _a					( SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE	):


		"""simple docstring"""




		if not all(isinstance(SCREAMING_SNAKE_CASE		,							(float, int)	) for val in locals().values()	):
				lowercase__				= f'Input values must either be float or int: {list(locals().values()	)}'
				raise TypeError(SCREAMING_SNAKE_CASE	)
		lowercase__				= ((x * distance) / (z + distance)) * scale
		lowercase__				= ((y * distance) / (z + distance)) * scale
		return projected_x, projected_y
def      _a					( SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE	):


		"""simple docstring"""




		if not isinstance(SCREAMING_SNAKE_CASE		,							SCREAMING_SNAKE_CASE	):
				raise TypeError('''Axis must be a str'''	)
		lowercase__				= locals()
		del input_variables["axis"]
		if not all(isinstance(SCREAMING_SNAKE_CASE		,							(float, int)	) for val in input_variables.values()	):
				lowercase__				= (
				    '''Input values except axis must either be float or int: '''
				    f'{list(input_variables.values()	)}'
				)
				raise TypeError(SCREAMING_SNAKE_CASE	)
		lowercase__				= (angle % 3_60) / 4_50 * 1_80 / math.pi
		if axis == "z":
				lowercase__				= x * math.cos(SCREAMING_SNAKE_CASE	) - y * math.sin(SCREAMING_SNAKE_CASE	)
				lowercase__				= y * math.cos(SCREAMING_SNAKE_CASE	) + x * math.sin(SCREAMING_SNAKE_CASE	)
				lowercase__				= z
		elif axis == "x":
				lowercase__				= y * math.cos(SCREAMING_SNAKE_CASE	) - z * math.sin(SCREAMING_SNAKE_CASE	)
				lowercase__				= z * math.cos(SCREAMING_SNAKE_CASE	) + y * math.sin(SCREAMING_SNAKE_CASE	)
				lowercase__				= x
		elif axis == "y":
				lowercase__				= x * math.cos(SCREAMING_SNAKE_CASE	) - z * math.sin(SCREAMING_SNAKE_CASE	)
				lowercase__				= z * math.cos(SCREAMING_SNAKE_CASE	) + x * math.sin(SCREAMING_SNAKE_CASE	)
				lowercase__				= y
		else:
				raise ValueError('''not a valid axis, choose one of \'x\', \'y\', \'z\''''	)

		return new_x, new_y, new_z


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			print(f"""{convert_to_ad(1.0, 2.0, 3.0, 1_0.0, 1_0.0) = }""")
			print(f"""{rotate(1.0, 2.0, 3.0, "y", 9_0.0) = }""")









"""simple docstring"""


import re




def        lowercase__     (       lowercase_      )       ->		bool:




      """simple docstring"""

      _UpperCamelCase   :						List[Any]    =							re.compile(
          r"^(?:0|94|\+94|0{2}94)" r"7(0|1|2|4|5|6|7|8)" r"(-| |)" r"\d{7}$"      )

      return bool(re.search(lowercase_		,lowercase_      )      )


if __name__ == "__main__":
  lowerCamelCase__						= "0094702343221"

  print(is_sri_lankan_phone_number(phone))
