/**
 * public final annotation class Anno1 : kotlin/Annotation {
 *
 *   // signature: <init>(Ljava/lang/String;)V
 *   public constructor(value: kotlin/String)
 *
 *   // getter: value()Ljava/lang/String;
 *   public final val value: kotlin/String
 *     public final get
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
public abstract @interface Anno1 {

    public abstract java.lang.String value();
}


////////////////////

/**
 * public final enum class Enum1 : kotlin/Enum<Enum1> {
 *
 *   // signature: <init>(Ljava/lang/String;I)V
 *   private constructor()
 *
 *   BLACK,
 *
 *   WHITE,
 *
 *   // module name: main
 *
 *   // has Enum.entries
 * }
 */
@kotlin.Metadata()
public enum Enum1 {
    BLACK,
    WHITE;


    Enum1() {
    }

    @org.jetbrains.annotations.NotNull()
    public static kotlin.enums.EnumEntries<Enum1> getEntries() {
        return null;
    }
}


////////////////////

/**
 * public final enum class Enum2 : kotlin/Enum<Enum2> {
 *
 *   // signature: <init>(Ljava/lang/String;ILjava/lang/String;I)V
 *   private constructor(col: kotlin/String, col2: kotlin/Int)
 *
 *   // signature: color()Ljava/lang/String;
 *   public final fun color(): kotlin/String
 *
 *   // signature: privateEnumFun()V
 *   private final fun privateEnumFun(): kotlin/Unit
 *
 *   // signature: publicEnumFun()V
 *   public final fun publicEnumFun(): kotlin/Unit
 *
 *   // field: col:Ljava/lang/String;
 *   // getter: getCol()Ljava/lang/String;
 *   public final val col: kotlin/String
 *     public final get
 *
 *   // field: col2:I
 *   // getter: getCol2()I
 *   public final val col2: kotlin/Int
 *     public final get
 *
 *   RED,
 *
 *   WHITE,
 *
 *   // module name: main
 *
 *   // has Enum.entries
 * }
 */
@kotlin.Metadata()
public enum Enum2 {
    RED,
    WHITE;

    @org.jetbrains.annotations.NotNull()
    private final java.lang.String col = null;

    private final int col2 = 0;

    Enum2(@Anno1(value = "first") java.lang.String col, @Anno1(value = "second") int col2) {
    }

    @org.jetbrains.annotations.NotNull()
    public final java.lang.String getCol() {
        return null;
    }

    public final int getCol2() {
        return 0;
    }

    @org.jetbrains.annotations.NotNull()
    public final java.lang.String color() {
        return null;
    }

    private final void privateEnumFun() {
    }

    public final void publicEnumFun() {
    }

    @org.jetbrains.annotations.NotNull()
    public static kotlin.enums.EnumEntries<Enum2> getEntries() {
        return null;
    }
}


////////////////////

/**
 * public abstract interface I : kotlin/Any {
 *
 *   // nested class: Nested
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract interface I {
    /**
     * public final enum class I.Nested : kotlin/Enum<I.Nested> {
     *
     *   // signature: <init>(Ljava/lang/String;I)V
     *   private constructor()
     *
     *   WHITE,
     *
     *   // module name: main
     *
     *   // has Enum.entries
     * }
     */
    @kotlin.Metadata()
    public static enum Nested {
        WHITE;


        Nested() {
        }

        @org.jetbrains.annotations.NotNull()
        public static kotlin.enums.EnumEntries<I.Nested> getEntries() {
            return null;
        }
    }
}


////////////////////

/**
 * public final enum class Nested1 : kotlin/Enum<Nested1> {
 *
 *   // signature: <init>(Ljava/lang/String;I)V
 *   private constructor()
 *
 *   WHITE,
 *
 *   // module name: main
 *
 *   // has Enum.entries
 * }
 */
@kotlin.Metadata()
public enum Nested1 {
    WHITE;


    Nested1() {
    }

    @org.jetbrains.annotations.NotNull()
    public static kotlin.enums.EnumEntries<Nested1> getEntries() {
        return null;
    }
}
