package

public val p1: Pair<kotlin.Int, kotlin.Int>
public val p2: Pair<kotlin.Int, kotlin.String>
public val test1: kotlin.Int
public val test2: kotlin.Int
public val test3: kotlin.Int
public val test4: kotlin.String

public final class C</*0*/ T> {
    public constructor C</*0*/ T>()
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public final fun first(/*0*/ p: C<T>.P2 /* = Pair<T, T> */): T
    public final fun </*0*/ T2> first2(/*0*/ p: C<T>.PT2<T2> /* = Pair<T, T2> */): T
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public final fun second(/*0*/ p: C<T>.P2 /* = Pair<T, T> */): T
    public final fun </*0*/ T2> second2(/*0*/ p: C<T>.PT2<T2> /* = Pair<T, T2> */): T2
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
    public typealias P2 /*captured type parameters: /*0*/ T*/ = Pair<T, T>
    public typealias PT2</*0*/ T2>  /*captured type parameters: /*1*/ T*/ = Pair<T, T2>
}

public final class Pair</*0*/ T1, /*1*/ T2> {
    public constructor Pair</*0*/ T1, /*1*/ T2>(/*0*/ x1: T1, /*1*/ x2: T2)
    public final val x1: T1
    public final val x2: T2
    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
}
