# --function-definition-extra-indent = False
# --other-line-continuation-extra-indent = True
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'
                )
