# --function-definition-extra-indent = False
# --other-line-continuation-extra-indent = False
def function(
	arg1_with_very_long_name: int,
	arg2_with_very_long_name: float,
	arg3_with_very_long_name: list,
	):
	print('Hello world')


def func2(
	arg1_with_very_long_name: int,
	arg2_with_very_long_name: float,
	arg3_with_very_long_name: list,
	) -> None:
	print('Hello world')


def func3(a, b, c, d, e) -> int:
	return 2


def outer(
	arg1_with_very_long_name: int,
	*,
	arg2_with_very_long_name: float,
	arg3_with_very_long_name: list,
	) -> int:
	def middle(
		arg1_with_very_long_name: int,
		arg2_with_very_long_name: float,
		arg3_with_very_long_name: list,
		*args,
		):
		def inner(
			arg1_with_very_long_name: int,
			arg2_with_very_long_name: float,
			arg3_with_very_long_name: list,
			*args,
			**kwargs,
			):
			return 1

		print('middle layer')
		return 2

	return 3


class A:
	def __init__(
		self,
		arg1_with_very_long_name: int,
		arg2_with_very_long_name: float,
		*,
		arg3_with_very_long_name: list,
		) -> None:
		print('hello world')

	def outer(
		self,
		arg1_with_very_long_name: int,
		*,
		arg2_with_very_long_name: float,
		arg3_with_very_long_name: list,
		) -> int:
		def middle(
			arg1_with_very_long_name: int,
			arg2_with_very_long_name: float,
			arg3_with_very_long_name: list,
			*args,
			):
			def inner(
				arg1_with_very_long_name: int,
				arg2_with_very_long_name: float,
				arg3_with_very_long_name: list,
				*args,
				**kwargs,
				):
				class B:
					def __init__(
						self,
						arg1_with_very_long_name: int,
						arg2_with_very_long_name: float,
						arg3_with_very_long_name: list,
						*args,
						**kwargs,
						):
						print('initialized')

				return 1

			print('middle layer')
			return 2

		return 3


aa = [
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	]


bb = func1(
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	)


cc = {
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	value_with_very_very_very_very_very_very_long_name,
	123123123123123123123123123123123123123123123123123,
	'value_with_very_very_very_very_very_very_long_name',
	}


if (
	value_with_very_very_very_very_very_very_long_name
	and value_with_very_very_very_very_very_very_long_name
	and value_with_very_very_very_very_very_very_long_name
	and value_with_very_very_very_very_very_very_long_name
	and value_with_very_very_very_very_very_very_long_name
	and value_with_very_very_very_very_very_very_long_name
	and value_with_very_very_very_very_very_very_long_name
	):
	print(123)


some_val_with_very_long_name = (
	'very very very long string' + 'this is an even longer string'
	)
