// -- Module: <m1-common> --
package

public final expect annotation class Foo1 : kotlin.Annotation {
    public constructor Foo1()
    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 expect annotation class Foo2 : kotlin.Annotation {
    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
    public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}

public final expect annotation class Foo3 : kotlin.Annotation {
    public constructor Foo3()
    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 expect annotation class Foo4 : kotlin.Annotation {
    public constructor Foo4()
    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
}


// -- Module: <m2-jvm> --
package

public final annotation class Bar1 : kotlin.Annotation {
    public constructor Bar1(/*0*/ value: kotlin.String = ...)
    public final val value: kotlin.String
    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 annotation class Bar2 : kotlin.Annotation {
    public constructor Bar2(/*0*/ value: kotlin.String = ..., /*1*/ path: kotlin.String)
    public final val path: kotlin.String
    public final val value: kotlin.String
    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 actual annotation class Foo2 : kotlin.Annotation {
    public constructor Foo2(/*0*/ p: kotlin.String = ...)
    public final val p: kotlin.String
    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 actual annotation class Foo3 : kotlin.Annotation {
    public constructor Foo3(/*0*/ a: kotlin.String = ..., /*1*/ b: kotlin.String = ...)
    public final val a: kotlin.String
    public final val b: kotlin.String
    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 typealias Foo1 = Bar1
public typealias Foo4 = Bar2
