package test

public/*package*/ interface G0 {
}

public/*package*/ interface G1</*0*/ T : kotlin.Any!> {
}

public/*package*/ interface G2</*0*/ A : kotlin.Any!, /*1*/ B : kotlin.Any!> {
}

public/*package*/ interface ReturnType {
    public abstract fun f0(): test.G1<@org.jetbrains.annotations.NotNull test.G0>!
    public abstract fun f1(): test.G1<test.G1<test.G1<test.G1<@org.jetbrains.annotations.NotNull test.G0>!>!>!>!
    public abstract fun f11(): test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<in @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<in @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, in @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
    public abstract fun f13(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)
    public abstract fun f14(): kotlin.IntArray!
    @org.jetbrains.annotations.NotNull public abstract fun f15(): kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!
    @org.jetbrains.annotations.NotNull public abstract fun f16(): kotlin.IntArray!
    @org.jetbrains.annotations.NotNull public abstract fun f17(): (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
    public abstract fun f19(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Int!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Int!>!>)
    public abstract fun f2(): test.G1<@org.jetbrains.annotations.NotNull kotlin.String>!
    public abstract fun f20(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
    @org.jetbrains.annotations.NotNull public abstract fun f22(): (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.IntArray!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.IntArray!>!>)>)
    @org.jetbrains.annotations.NotNull public abstract fun f23(): (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>)>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>)>!>)
    public abstract fun f25(): kotlin.Array<(out) kotlin.IntArray!>!
    public abstract fun f26(): kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Any!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Any!>)>!
    @org.jetbrains.annotations.NotNull public abstract fun f27(): kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>!>!>!>!
    public abstract fun f28(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!
    public abstract fun f29(): test.G2<kotlin.Int!, kotlin.IntArray!>!
    public abstract fun f3(): test.G2<@org.jetbrains.annotations.NotNull kotlin.String, test.G2<@org.jetbrains.annotations.NotNull kotlin.Int, test.G2<@org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, @org.jetbrains.annotations.NotNull kotlin.Int>, @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
    public abstract fun f30(): test.G1<kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!
    public abstract fun f31(): test.G1<test.G1<kotlin.IntArray!>!>!
    public abstract fun f32(): test.G1<test.G2<test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<kotlin.IntArray!>!>!>!
    public abstract fun f33(): test.G1<kotlin.IntArray!>!
    public abstract fun f34(): test.G1<kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!>!
    public abstract fun f36(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>)>!
    public abstract fun f37(): test.G1<test.G1<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!>!
    public abstract fun f38(): test.G1<test.G2<test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!>!>!
    public abstract fun f39(): test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>!
    public abstract fun f40(): test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!
    public abstract fun f41(): test.G2<out kotlin.Int!, in kotlin.IntArray!>!
    public abstract fun f42(): test.G1<in kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!
    public abstract fun f43(): test.G1<in test.G1<in kotlin.IntArray!>!>!
    public abstract fun f44(): test.G1<out test.G2<test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
    public abstract fun f46(): test.G1<in kotlin.IntArray!>!
    public abstract fun f47(): test.G1<out kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Int!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Int!>)>!>!
    public abstract fun f49(): test.G1<in kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!>!>!>!
    public abstract fun f5(): test.G1<test.G1<test.G1<test.G1<out @org.jetbrains.annotations.NotNull test.G0>!>!>!>!
    public abstract fun f50(): test.G1<in test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!>!
    public abstract fun f51(): test.G1<out test.G2<test.G1<in kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!>!>!, test.G1<out (@org.jetbrains.annotations.NotNull kotlin.Array<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>..@org.jetbrains.annotations.NotNull kotlin.Array<out (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>)>!>!>!
    public abstract fun f53(): test.G1<in (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!
    public abstract fun f6(): test.G1<out @org.jetbrains.annotations.NotNull kotlin.String>!
    public abstract fun f7(): test.G2<out @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, out @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
    public abstract fun f8(): test.G1<in @org.jetbrains.annotations.NotNull test.G0>!
    public abstract fun f9(): test.G1<test.G1<test.G1<test.G1<in @org.jetbrains.annotations.NotNull test.G0>!>!>!>!

    public open class ReturnType2 {
        public constructor ReturnType2()
        public/*package*/ final var f10: test.G1<in @org.jetbrains.annotations.NotNull kotlin.String>!
        public/*package*/ final var f12: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
        @org.jetbrains.annotations.NotNull public/*package*/ final var f181: kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!
        @org.jetbrains.annotations.NotNull public/*package*/ final var f182: (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)
        public/*package*/ final var f183: test.G1<@org.jetbrains.annotations.NotNull kotlin.Int>!
        @org.jetbrains.annotations.NotNull public/*package*/ final var f21: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
        @org.jetbrains.annotations.NotNull public/*package*/ final var f24: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
        public/*package*/ final var f35: test.G2<kotlin.Int!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!
        public/*package*/ final var f4: test.G1<out @org.jetbrains.annotations.NotNull test.G0>!
        public/*package*/ final var f45: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
        public/*package*/ final var f48: test.G2<out kotlin.Int!, in kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!
        public/*package*/ final var f52: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>)>!, test.G1<out kotlin.Array<(out) kotlin.IntArray!>!>!>!>!
    }

    // Static members
    public final val f10: test.G1<in @org.jetbrains.annotations.NotNull kotlin.String>!
    public final val f12: test.G2<in @org.jetbrains.annotations.NotNull kotlin.String, test.G2<out @org.jetbrains.annotations.NotNull kotlin.Int, test.G2<out @org.jetbrains.annotations.NotNull test.G2<kotlin.Int!, in @org.jetbrains.annotations.NotNull kotlin.Int>, out @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
    @org.jetbrains.annotations.NotNull public final val f161: kotlin.IntArray!
    @org.jetbrains.annotations.NotNull public final val f18: kotlin.IntArray!
    @org.jetbrains.annotations.NotNull public final val f21: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>!
    @org.jetbrains.annotations.NotNull public final val f24: (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)
    @org.jetbrains.annotations.NotNull public final val f271: kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) kotlin.Array<(out) (@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Any>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Any>)>!>!>!>!
    public final val f35: test.G2<kotlin.Int!, (@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.IntArray!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.IntArray!>)>!
    public final val f4: test.G1<out @org.jetbrains.annotations.NotNull test.G0>!
    public final val f45: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<@org.jetbrains.annotations.NotNull kotlin.Int>..@org.jetbrains.annotations.NotNull kotlin.Array<out @org.jetbrains.annotations.NotNull kotlin.Int>)>!, test.G1<out kotlin.IntArray!>!>!>!
    public final val f48: test.G2<out kotlin.Int!, in kotlin.Array<(out) kotlin.Array<(out) kotlin.IntArray!>!>!>!
    public final val f52: test.G1<out test.G2<in test.G1<(@org.jetbrains.annotations.NotNull kotlin.Array<kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>..@org.jetbrains.annotations.NotNull kotlin.Array<out kotlin.Array<(out) kotlin.Array<(out) @org.jetbrains.annotations.NotNull kotlin.Int>!>!>)>!, test.G1<out kotlin.Array<(out) kotlin.IntArray!>!>!>!>!
}
