Skip to content

Remove duplicated constraints before solving and deduplicate fast_container_type items #19409

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

sterliakov
Copy link
Collaborator

@sterliakov sterliakov commented Jul 8, 2025

Vastly improves #14718. Some type joins are really heavy - especially joins between overloads. This does not fully remove the problem, a collection of different pairwise equivalent overloads differing only in their names is still slow to check, but at least we will not join every such monster callable with itself multiple times.

@sterliakov sterliakov force-pushed the feature/st-deduplicate-join-list branch from dd642dd to 2f2c391 Compare July 8, 2025 23:18

This comment has been minimized.

This comment has been minimized.

@sterliakov
Copy link
Collaborator Author

Okay, this is nice - colour change is a true positive, and zulip change is good (preserves TypedDict name instead of falling back to manually constructing one).

colour is indeed passing np.ndarray to LineCollection that needs a Sequence, and numpy arrays are unfortunately not sequences. I did not investigate why this error was not reported earlier (but probably should).

@sterliakov sterliakov marked this pull request as ready for review July 10, 2025 11:11
@sterliakov sterliakov marked this pull request as draft July 10, 2025 11:42
@sterliakov
Copy link
Collaborator Author

OK, from what I see there are no significant perf regressions, no bad primer changes, and selfcheck benchmark is zero/slightly immproved: sterliakov/mypy-issues#111

@sterliakov sterliakov marked this pull request as ready for review July 10, 2025 12:40

This comment has been minimized.

@JukkaL
Copy link
Collaborator

JukkaL commented Jul 10, 2025

What's the performance improvement when type checking e.g. the original example from #14718?

@sterliakov
Copy link
Collaborator Author

sterliakov commented Jul 10, 2025

@JukkaL Repeatedly joining generic overloaded callables was a perf killer there, so avoiding at least self-joins helps massively - by orders of magnitude.

Runs below were both pre-warmed and use cache fully.

Now:

$ time mypy -c 'import numpy as np; reveal_type([np.sum, np.sum, np.sum, np.sum, np.sum, np.sum])'
<string>:1: note: Revealed type is "builtins.list[Overload(def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`-1]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None, dtype: numpy.dtype[_SCT`-1] | type[_SCT`-1] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`-1]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`-1] | type[_SCT`-1] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`-1]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None, dtype: numpy.dtype[_SCT`-1] | type[_SCT`-1] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`-1]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`-1]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`-1] | type[_SCT`-1] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`-1]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`-1]], def (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, dtype: numpy.dtype[Any] | None | type[Any] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[Any]] | builtins.str | tuple[Any, builtins.int] | tuple[Any, typing.SupportsIndex | typing.Sequence[typing.SupportsIndex]] | builtins.list[Any] | TypedDict('numpy._typing._dtype_like._DTypeDict', {'names': typing.Sequence[builtins.str], 'formats': typing.Sequence[Any], 'offsets'?: typing.Sequence[builtins.int], 'titles'?: typing.Sequence[Any], 'itemsize'?: builtins.int, 'aligned'?: builtins.bool}) | tuple[Any, Any] =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> Any, def [_ArrayT <: numpy.ndarray[Any, Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None, dtype: numpy.dtype[Any] | None | type[Any] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[Any]] | builtins.str | tuple[Any, builtins.int] | tuple[Any, typing.SupportsIndex | typing.Sequence[typing.SupportsIndex]] | builtins.list[Any] | TypedDict('numpy._typing._dtype_like._DTypeDict', {'names': typing.Sequence[builtins.str], 'formats': typing.Sequence[Any], 'offsets'?: typing.Sequence[builtins.int], 'titles'?: typing.Sequence[Any], 'itemsize'?: builtins.int, 'aligned'?: builtins.bool}) | tuple[Any, Any], out: _ArrayT`-1, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _ArrayT`-1, def [_ArrayT <: numpy.ndarray[Any, Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, dtype: numpy.dtype[Any] | None | type[Any] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[Any]] | builtins.str | tuple[Any, builtins.int] | tuple[Any, typing.SupportsIndex | typing.Sequence[typing.SupportsIndex]] | builtins.list[Any] | TypedDict('numpy._typing._dtype_like._DTypeDict', {'names': typing.Sequence[builtins.str], 'formats': typing.Sequence[Any], 'offsets'?: typing.Sequence[builtins.int], 'titles'?: typing.Sequence[Any], 'itemsize'?: builtins.int, 'aligned'?: builtins.bool}) | tuple[Any, Any] =, *, out: _ArrayT`-1, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _ArrayT`-1)]"
Success: no issues found in 1 source file

real    0m1.996s
user    0m1.869s
sys     0m0.093s

Current master:

time mypy -c 'import numpy as np; reveal_type([np.sum, np.sum, np.sum, np.sum, np.sum, np.sum])'
<string>:1: note: Revealed type is "builtins.list[Overload(def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`310]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`310]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`310, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`311]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`311]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`311, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`312]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`312]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`312, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`313]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`313]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`313, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`314]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`314]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`314, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`315]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`315]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`315, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`316]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`316]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`316, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`317]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`317]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`317, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`318]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`318]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`318, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`319]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`319]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`319, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`320]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`320]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`320, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`321]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`321]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`321, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`322]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`322]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`322, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`323]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`323]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`323, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`324]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`324]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`324, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`327]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`327]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`327, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`328]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`328]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`328 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`328]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`329]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`329]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`329 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`329]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`330]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`330]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`330 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`330]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`331]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`331]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`331 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`331]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`332]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`332]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`332 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`332]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`333]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`333]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`333 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`333]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`334]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`334]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`334 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`334]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`335]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`335]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`335 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`335]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`336]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`336]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`336 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`336]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`337]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`337]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`337 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`337]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`338]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`338]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`338 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`338]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`339]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`339]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`339 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`339]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`340]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`340]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`340 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`340]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`341]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`341]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`341 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`341]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`342]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`342]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`342 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`342]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`345]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`345]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`345 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`345]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None, dtype: numpy.dtype[_SCT`346] | type[_SCT`346] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`346]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`346, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`347] | type[_SCT`347] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`347]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`347, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`348] | type[_SCT`348] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`348]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`348, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`349] | type[_SCT`349] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`349]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`349, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`350] | type[_SCT`350] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`350]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`350, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`351] | type[_SCT`351] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`351]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`351, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`352] | type[_SCT`352] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`352]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`352, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`353] | type[_SCT`353] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`353]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`353, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`354] | type[_SCT`354] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`354]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`354, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`355] | type[_SCT`355] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`355]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`355, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`356] | type[_SCT`356] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`356]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`356, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`357] | type[_SCT`357] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`357]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`357, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`358] | type[_SCT`358] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`358]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`358, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`359] | type[_SCT`359] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`359]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`359, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`360] | type[_SCT`360] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`360]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`360, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`361] | type[_SCT`361] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`361]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`361, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`364] | type[_SCT`364] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`364]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`364, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None, dtype: numpy.dtype[_SCT`365] | type[_SCT`365] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`365]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`365 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`365]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`366] | type[_SCT`366] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`366]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`366 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`366]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`367] | type[_SCT`367] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`367]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`367 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`367]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`368] | type[_SCT`368] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`368]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`368 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`368]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`369] | type[_SCT`369] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`369]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`369 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`369]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`370] | type[_SCT`370] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`370]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`370 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`370]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`371] | type[_SCT`371] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`371]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`371 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`371]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`372] | type[_SCT`372] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`372]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`372 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`372]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`373] | type[_SCT`373] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`373]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`373 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`373]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`374] | type[_SCT`374] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`374]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`374 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`374]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`375] | type[_SCT`375] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`375]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`375 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`375]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`376] | type[_SCT`376] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`376]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`376 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`376]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`377] | type[_SCT`377] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`377]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`377 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`377]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`378] | type[_SCT`378] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`378]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`378 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`378]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`379] | type[_SCT`379] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`379]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`379 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`379]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`380] | type[_SCT`380] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`380]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`380 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`380]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`383] | type[_SCT`383] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`383]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`383 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`383]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`266]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`266]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`266, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`267]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`267]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`267, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`268]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`268]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`268, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`269]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`269]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`269, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`270]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`270]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`270, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`271]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`271]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`271, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`272]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`272]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`272, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`275]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`275]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`275, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`276]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`276]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`276 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`276]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`277]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`277]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`277 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`277]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`278]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`278]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`278 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`278]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`279]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`279]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`279 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`279]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`280]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`280]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`280 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`280]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`281]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`281]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`281 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`281]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`282]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`282]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`282 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`282]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`285]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`285]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`285 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`285]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`287] | type[_SCT`287] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`287]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`287, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`288] | type[_SCT`288] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`288]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`288, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`289] | type[_SCT`289] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`289]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`289, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`290] | type[_SCT`290] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`290]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`290, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`291] | type[_SCT`291] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`291]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`291, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`292] | type[_SCT`292] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`292]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`292, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`293] | type[_SCT`293] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`293]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`293, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`296] | type[_SCT`296] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`296]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`296, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`298] | type[_SCT`298] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`298]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`298 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`298]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`299] | type[_SCT`299] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`299]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`299 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`299]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`300] | type[_SCT`300] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`300]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`300 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`300]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`301] | type[_SCT`301] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`301]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`301 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`301]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`302] | type[_SCT`302] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`302]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`302 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`302]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`303] | type[_SCT`303] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`303]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`303 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`303]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`304] | type[_SCT`304] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`304]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`304 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`304]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`307] | type[_SCT`307] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`307]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`307 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`307]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`238]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`238]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`238, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`239]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`239]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`239, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`240]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`240]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`240, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`243]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`243]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`243, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`244]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`244]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`244 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`244]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`245]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`245]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`245 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`245]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`246]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`246]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`246 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`246]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`249]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`249]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`249 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`249]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`251] | type[_SCT`251] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`251]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`251, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`252] | type[_SCT`252] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`252]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`252, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`253] | type[_SCT`253] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`253]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`253, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`256] | type[_SCT`256] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`256]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`256, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`258] | type[_SCT`258] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`258]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`258 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`258]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`259] | type[_SCT`259] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`259]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`259 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`259]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`260] | type[_SCT`260] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`260]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`260 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`260]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`263] | type[_SCT`263] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`263]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`263 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`263]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`218]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`218]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`218, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`221]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`221]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`221, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`222]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`222]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`222 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`222]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`225]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`225]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`225 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`225]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`227] | type[_SCT`227] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`227]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`227, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`230] | type[_SCT`230] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`230]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`230, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`232] | type[_SCT`232] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`232]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`232 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`232]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`235] | type[_SCT`235] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`235]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`235 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`235]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`196]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`196]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`196, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`199]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`199]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`199 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`199]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`205] | type[_SCT`205] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`205]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`205, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`211] | type[_SCT`211] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`211]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`211 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`211]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]]], axis: None =, dtype: None =, out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[_SCT`-1]]], axis: None =, dtype: None =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`-1]], def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: None =, *, dtype: numpy.dtype[_SCT`-1] | type[_SCT`-1] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`-1]], out: None =, keepdims: Literal[False] =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1, def [_SCT <: numpy.generic[Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, *, dtype: numpy.dtype[_SCT`-1] | type[_SCT`-1] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[_SCT`-1]], out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _SCT`-1 | numpy.ndarray[builtins.tuple[builtins.int, ...], numpy.dtype[_SCT`-1]], def (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, dtype: numpy.dtype[Any] | None | type[Any] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[Any]] | builtins.str | tuple[Any, builtins.int] | tuple[Any, typing.SupportsIndex | typing.Sequence[typing.SupportsIndex]] | builtins.list[Any] | TypedDict('numpy._typing._dtype_like._DTypeDict', {'names': typing.Sequence[builtins.str], 'formats': typing.Sequence[Any], 'offsets'?: typing.Sequence[builtins.int], 'titles'?: typing.Sequence[Any], 'itemsize'?: builtins.int, 'aligned'?: builtins.bool}) | tuple[Any, Any] =, out: None =, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> Any, def [_ArrayT <: numpy.ndarray[Any, Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None, dtype: numpy.dtype[Any] | None | type[Any] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[Any]] | builtins.str | tuple[Any, builtins.int] | tuple[Any, typing.SupportsIndex | typing.Sequence[typing.SupportsIndex]] | builtins.list[Any] | TypedDict('numpy._typing._dtype_like._DTypeDict', {'names': typing.Sequence[builtins.str], 'formats': typing.Sequence[Any], 'offsets'?: typing.Sequence[builtins.int], 'titles'?: typing.Sequence[Any], 'itemsize'?: builtins.int, 'aligned'?: builtins.bool}) | tuple[Any, Any], out: _ArrayT`384, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _ArrayT`384, def [_ArrayT <: numpy.ndarray[Any, Any]] (a: numpy._typing._array_like._Buffer | numpy._typing._array_like._SupportsArray[numpy.dtype[Any]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[Any]]] | builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes | numpy._typing._nested_sequence._NestedSequence[builtins.bool | builtins.int | builtins.float | builtins.complex | builtins.str | builtins.bytes], axis: typing.SupportsIndex | typing.Sequence[typing.SupportsIndex] | None =, dtype: numpy.dtype[Any] | None | type[Any] | numpy._typing._dtype_like._SupportsDType[numpy.dtype[Any]] | builtins.str | tuple[Any, builtins.int] | tuple[Any, typing.SupportsIndex | typing.Sequence[typing.SupportsIndex]] | builtins.list[Any] | TypedDict('numpy._typing._dtype_like._DTypeDict', {'names': typing.Sequence[builtins.str], 'formats': typing.Sequence[Any], 'offsets'?: typing.Sequence[builtins.int], 'titles'?: typing.Sequence[Any], 'itemsize'?: builtins.int, 'aligned'?: builtins.bool}) | tuple[Any, Any] =, *, out: _ArrayT`385, keepdims: builtins.bool =, initial: builtins.int | builtins.float | builtins.complex | numpy.number[Any, builtins.int | builtins.float | builtins.complex] | numpy.bool[builtins.bool] =, where: numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]] | numpy._typing._nested_sequence._NestedSequence[numpy._typing._array_like._SupportsArray[numpy.dtype[numpy.bool[builtins.bool]]]] | builtins.bool | numpy._typing._nested_sequence._NestedSequence[builtins.bool] =) -> _ArrayT`385)]"
Success: no issues found in 1 source file

real    1m31.193s
user    1m30.899s
sys     0m0.149s

Original example with a dictionary exhibits similar improvement.

@sterliakov sterliakov changed the title Ignore duplicates in join_type_list Remove duplicated constraints before solving and deduplicate fast_container_type items Jul 10, 2025
Copy link
Collaborator

@hauntsaninja hauntsaninja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice perf fix!

I'm a little concerned about the quadratic ops introduced. For the constraints one, we could at least microoptimise to avoid creating n lists by the slicing in the list comprehension.

Other things we could do: only deduplicate against first n deduplicated elements, do some cleverer deduplication like we do for unions (e.g. things that look more like sort | uniq)

if typ not in values:
values.append(typ)

if len(values) == 1 and not self.chk.current_node_deferred:
Copy link
Collaborator

@hauntsaninja hauntsaninja Jul 10, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

second half of clause is now always true. also dumb question: what is the "inference cycle" in the else branch?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

second half of clause is now always true

Huh, why? We had self.accept after previous check, it might have changed

what is the "inference cycle" in the else branch

Do you mean what happens when this method returns None? We run a full typecheck on container_type.__init__(*args), which is significantly slower than this happy path where all arguments are already "good enough".

@sterliakov
Copy link
Collaborator Author

@hauntsaninja

For the constraints one, we could at least microoptimise to avoid creating n lists by the slicing in the list comprehension.

Yes, that's a good idea. However, for short lists this might actually be slower than listcomp - does mypyc help enough with this? This will need some serious benchmarks close to real scenarios to find out what's worse - replacing listcomp with an append loop or checking potentially longer prefixes and allocating them. Using a helper that exits after i-th item might also be faster than slicing followed by than in check, but no guarantees either - for short lists I'd expect current solution to be the fastest due to function call overhead. We are looking for a solution that works well for both short and medium lists, containing zero to all duplicates. Hash would be best here, but there's nothing hashable, unfortunately.

@sterliakov
Copy link
Collaborator Author

Ough, scratch this. Looking at the implementation, I presumed that hash is not sufficiently good (equal types producing different hashes), but I was wrong. Using plain set is good enough for constraint deduplication: I just ran a whole test suite using

def _deduplicate_constraints(constraints: list[Constraint]) -> list[Constraint]:
    result = []
    for c in constraints:
        if c not in result:
            result.append(c)
    assert set(result) == set(constraints)
    return result

and got zero failures. Hash implementation is definitely good enough for quick&dirty constraint deduplication purposes - I replaced the quadratic check with standard O(n*log n) order-preserving solution. This keeps the performance benefit on the example.

Copy link
Contributor

Diff from mypy_primer, showing the effect of this PR on open source code:

colour (https://github.com/colour-science/colour)
+ colour/plotting/section.py:390: error: Argument 1 to "LineCollection" has incompatible type "ndarray[tuple[Any, ...], dtype[Any]]"; expected "Sequence[Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str]]"  [arg-type]

zulip (https://github.com/zulip/zulip)
- zerver/lib/subscription_info.py:919: error: Incompatible types in assignment (expression has type "TypedDict({'audible_notifications': bool | None, 'can_add_subscribers_group': int | UserGroupMembersDict, 'can_administer_channel_group': int | UserGroupMembersDict, 'can_move_messages_out_of_channel_group': int | UserGroupMembersDict, 'can_move_messages_within_channel_group': int | UserGroupMembersDict, 'can_send_message_group': int | UserGroupMembersDict, 'can_remove_subscribers_group': int | UserGroupMembersDict, 'can_resolve_topics_group': int | UserGroupMembersDict, 'can_subscribe_group': int | UserGroupMembersDict, 'color': str, 'creator_id': int | None, 'date_created': int, 'description': str, 'desktop_notifications': bool | None, 'email_notifications': bool | None, 'first_message_id': int | None, 'folder_id': int | None, 'is_recently_active': bool, 'history_public_to_subscribers': bool, 'in_home_view': bool, 'invite_only': bool, 'is_announcement_only': bool, 'is_archived': bool, 'is_muted': bool, 'is_web_public': bool, 'message_retention_days': int | None, 'name': str, 'pin_to_top': bool, 'push_notifications': bool | None, 'rendered_description': str, 'stream_id': int, 'stream_post_policy': int, 'stream_weekly_traffic': int | None, 'subscriber_count': int, 'subscribers'?: list[int], 'partial_subscribers'?: list[int], 'topics_policy': str, 'wildcard_mentions_notify': bool | None})", variable has type "dict[str, Any]")  [assignment]
+ zerver/lib/subscription_info.py:919: error: Incompatible types in assignment (expression has type "SubscriptionStreamDict", variable has type "dict[str, Any]")  [assignment]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants