package

@X(y = Y) public fun foo1(): kotlin.Unit
@X public fun foo2(): kotlin.Unit
@W public fun foo30(): kotlin.Unit
@W public fun foo31(): kotlin.Unit
@W(value = {}) public fun foo40(): kotlin.Unit
@W(value = {}) public fun foo41(): kotlin.Unit
@W public fun foo50(): kotlin.Unit

public final annotation class W : kotlin.Annotation {
    public constructor W(/*0*/ value: kotlin.Array<Y>)
    public final val value: kotlin.Array<Y>
    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 X : kotlin.Annotation {
    public constructor X(/*0*/ value: Y, /*1*/ y: Y)
    public final val value: Y
    public final val y: Y
    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 Y : kotlin.Annotation {
    public constructor Y()
    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
}

@kotlin.annotation.Target(allowedTargets = {AnnotationTarget.EXPRESSION}) @kotlin.annotation.Retention(value = AnnotationRetention.SOURCE) public final annotation class Z : kotlin.Annotation {
    public constructor Z()
    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
}

