package

public fun </*0*/ K> foo0(/*0*/ x: K?, /*1*/ y: Bar<K>): kotlin.Unit
public fun </*0*/ K> foo1(/*0*/ x: K?, /*1*/ y: Foo<Bar<K>>): kotlin.Unit
public fun </*0*/ T : J, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S, /*4*/ J : L, /*5*/ L> foo10(/*0*/ x: L?, /*1*/ y: Foo<Bar<T>>, /*2*/ z: Bar<M>): kotlin.Unit
public fun </*0*/ T : J, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S, /*4*/ J : L, /*5*/ L> foo11(/*0*/ x: M?, /*1*/ y: Foo<Bar<T>>, /*2*/ z: Bar<L>): kotlin.Unit
public fun </*0*/ K : kotlin.Any> foo12(/*0*/ x: K?, /*1*/ y: Bar<K>): kotlin.Unit
public fun </*0*/ K : kotlin.Comparable<K>> foo14(/*0*/ x: K?, /*1*/ y: Bar<K>): kotlin.Unit where K : kotlin.CharSequence
public fun </*0*/ K : T?, /*1*/ T> foo15(/*0*/ x: T, /*1*/ y: Bar<K>): kotlin.Unit
public fun </*0*/ K : T?, /*1*/ T> foo16(/*0*/ x: K, /*1*/ y: Bar<T>): kotlin.Unit
public fun </*0*/ K, /*1*/ T : K> foo2(/*0*/ x: K?, /*1*/ y: Foo<Bar<T>>): kotlin.Unit
public fun </*0*/ K> foo21(/*0*/ x: K?, /*1*/ y: Foo<Foo<OutBar<K>>>): kotlin.Unit
public fun </*0*/ K> foo22(/*0*/ x: K?, /*1*/ y: Foo<Foo<InBar<K>>>): kotlin.Unit
public fun </*0*/ K> foo23(/*0*/ x: K?, /*1*/ y: Foo<Foo<Bar<out K>>>): kotlin.Unit
public fun </*0*/ K> foo24(/*0*/ x: K?, /*1*/ y: Foo<Foo<Bar<in K>>>): kotlin.Unit
public fun </*0*/ T, /*1*/ K : T> foo3(/*0*/ x: K?, /*1*/ y: Foo<Bar<T>>): kotlin.Unit
public fun </*0*/ K> foo4(/*0*/ x: K?, /*1*/ y: Foo<Bar<out K>>): kotlin.Unit
public fun </*0*/ K> foo5(/*0*/ x: K?, /*1*/ y: Bar<in K>): kotlin.Unit
public fun </*0*/ K> foo6(/*0*/ x: K?, /*1*/ y: OutBar<K>): kotlin.Unit
public fun </*0*/ K> foo7(/*0*/ x: K?, /*1*/ y: InBar<K>): kotlin.Unit
public fun </*0*/ T, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S> foo8(/*0*/ x: T?, /*1*/ y: Foo<Bar<M>>): kotlin.Unit
public fun </*0*/ T, /*1*/ K : T, /*2*/ S : K, /*3*/ M : S> foo9(/*0*/ x: M?, /*1*/ y: Foo<Bar<T>>): kotlin.Unit
public fun </*0*/ L> main(/*0*/ x: L?, /*1*/ y: L): kotlin.Unit
public fun </*0*/ K : T?, /*1*/ T> Bar<K>.foo18(/*0*/ x: T): kotlin.Unit

public final class Bar</*0*/ S> {
    public constructor Bar</*0*/ S>()
    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*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class Foo</*0*/ T> {
    public constructor Foo</*0*/ T>(/*0*/ x: T)
    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*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class Foo13</*0*/ T> {
    public constructor Foo13</*0*/ T>(/*0*/ x: T)
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public final fun </*0*/ K : T> foo1(/*0*/ x: T?, /*1*/ y: Bar<K>): kotlin.Unit
    public final fun </*0*/ K : T> foo2(/*0*/ x: K?, /*1*/ y: Bar<T>): kotlin.Unit
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class InBar</*0*/ in S> {
    public constructor InBar</*0*/ in S>()
    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*/ /*fake_override*/ fun toString(): kotlin.String
}

public final class OutBar</*0*/ out S> {
    public constructor OutBar</*0*/ out S>()
    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*/ /*fake_override*/ fun toString(): kotlin.String
}
