package

@kotlin.OptIn(markerClass = {kotlin.experimental.ExperimentalTypeInference::class}) public fun </*0*/ R> build(/*0*/ @kotlin.BuilderInference block: TestInterface<R>.() -> kotlin.Unit): R
@kotlin.OptIn(markerClass = {kotlin.experimental.ExperimentalTypeInference::class}) public fun </*0*/ R> build2(/*0*/ @kotlin.BuilderInference block: TestInterface<R>.() -> kotlin.Unit): R
public fun </*0*/ K> capture(/*0*/ x: Inv<K>): K
public fun </*0*/ K> captureIn(/*0*/ x: Inv<out K>): K
public fun </*0*/ K> captureOut(/*0*/ x: Inv<out K>): K
public fun main(): kotlin.Unit

public final class Inv</*0*/ T> {
    public constructor Inv</*0*/ 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 interface TestInterface</*0*/ R> {
    public abstract fun emit(/*0*/ r: R): kotlin.Unit
    public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
    public abstract fun get(): R
    public abstract fun getIn(): Inv<in R>
    public abstract fun getInv(): Inv<R>
    public abstract fun getOut(): Inv<out R>
    public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
