package public interface A { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @kotlin.jvm.JvmDefault public open fun test(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface B : A { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public open class Bar : Foo2 { public constructor Bar() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ fun test(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public open class Bar2 : Bar { public constructor Bar2() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ fun test(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface C : B { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @kotlin.jvm.JvmDefault public open override /*1*/ fun test(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public open class Foo : B { public constructor Foo() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ fun test(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public open class Foo2 : B { public constructor Foo2() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int @kotlin.jvm.JvmDefault public open override /*1*/ /*fake_override*/ fun test(): kotlin.Unit public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public final class ManySupers : Foo2, B { public constructor ManySupers() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int @kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } public final class ManySupers2 : Foo2, C { public constructor ManySupers2() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int @kotlin.jvm.JvmDefault public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String } public final class ManySupers3 : Bar2, C { public constructor ManySupers3() public open override /*2*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public final fun foo(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*2*/ /*fake_override*/ fun test(): kotlin.Unit public open override /*2*/ /*fake_override*/ fun toString(): kotlin.String }