package app;

@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
/**
 * public final annotation class app/Anno : kotlin/Annotation {
 *
 *   // signature: <init>(ZBISJCFDLjava/lang/String;)V
 *   public constructor(a1: kotlin/Boolean, a2: kotlin/Byte, a3: kotlin/Int, a4: kotlin/Short, a5: kotlin/Long, a6: kotlin/Char, a7: kotlin/Float, a8: kotlin/Double, a9: kotlin/String)
 *
 *   // getter: a1()Z
 *   public final val a1: kotlin/Boolean
 *     public final get
 *
 *   // getter: a2()B
 *   public final val a2: kotlin/Byte
 *     public final get
 *
 *   // getter: a3()I
 *   public final val a3: kotlin/Int
 *     public final get
 *
 *   // getter: a4()S
 *   public final val a4: kotlin/Short
 *     public final get
 *
 *   // getter: a5()J
 *   public final val a5: kotlin/Long
 *     public final get
 *
 *   // getter: a6()C
 *   public final val a6: kotlin/Char
 *     public final get
 *
 *   // getter: a7()F
 *   public final val a7: kotlin/Float
 *     public final get
 *
 *   // getter: a8()D
 *   public final val a8: kotlin/Double
 *     public final get
 *
 *   // getter: a9()Ljava/lang/String;
 *   public final val a9: kotlin/String
 *     public final get
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract @interface Anno {

    public abstract boolean a1();

    public abstract byte a2();

    public abstract int a3();

    public abstract short a4();

    public abstract long a5();

    public abstract char a6();

    public abstract float a7();

    public abstract double a8();

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

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

package app;

public class B {

    public static class id {
        public static final int textView = 200;
    }
    public static final boolean a1 = false;
    public static final byte a2 = 1;
    public static final int a3 = 2;
    public static final short a4 = 3;
    public static final long a5 = 4L;
    public static final char a6 = '5';
    public static final float a7 = 6.0F;
    public static final double a8 = 7.0;
    public static final String a9 = "A";
}

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

package app;

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

    public abstract int id();
}

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

package app;

@kotlin.annotation.Target(allowedTargets = {kotlin.annotation.AnnotationTarget.FIELD})
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
@java.lang.annotation.Target(value = {java.lang.annotation.ElementType.FIELD})
/**
 * public final annotation class app/BindField : kotlin/Annotation {
 *
 *   // signature: <init>(I)V
 *   public constructor(id: kotlin/Int)
 *
 *   // getter: id()I
 *   public final val id: kotlin/Int
 *     public final get
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract @interface BindField {

    public abstract int id();
}

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

package app;

/**
 * public final object app/JJ : kotlin/Any {
 *
 *   // signature: <init>()V
 *   private constructor()
 *
 *   // signature: c()Ljava/lang/String;
 *   public final fun c(): kotlin/String
 *
 *   // field: b:Ljava/lang/String;
 *   // getter: getB()Ljava/lang/String;
 *   public final val b: kotlin/String
 *     public final get
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class JJ {
    @org.jetbrains.annotations.NotNull()
    private static final java.lang.String b = null;
    @org.jetbrains.annotations.NotNull()
    public static final app.JJ INSTANCE = null;

    private JJ() {
        super();
    }

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

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

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

package app;

@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
/**
 * public final annotation class app/MultiValue : kotlin/Annotation {
 *
 *   // signature: <init>([I)V
 *   public constructor(ids: kotlin/IntArray)
 *
 *   // getter: ids()[I
 *   public final val ids: kotlin/IntArray
 *     public final get
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract @interface MultiValue {

    public abstract int[] ids();
}

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

package app;

@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
/**
 * public final annotation class app/MultiValueByte : kotlin/Annotation {
 *
 *   // signature: <init>([B)V
 *   public constructor(ids: kotlin/ByteArray)
 *
 *   // getter: ids()[B
 *   public final val ids: kotlin/ByteArray
 *     public final get
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public abstract @interface MultiValueByte {

    public abstract byte[] ids();
}

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

package app;

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

    public abstract java.lang.String[] ids();
}

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

package app;

/**
 * public final class app/MyActivity : kotlin/Any {
 *
 *   // signature: <init>(II)V
 *   public constructor(param1: kotlin/Int (* = ... *), param2: kotlin/Int (* = ... *))
 *
 *   // signature: foo()V
 *   public final fun foo(): kotlin/Unit
 *
 *   // signature: foo2()V
 *   public final fun foo2(): kotlin/Unit
 *
 *   // signature: foo3()V
 *   public final fun foo3(): kotlin/Unit
 *
 *   // signature: foo4()V
 *   public final fun foo4(): kotlin/Unit
 *
 *   // signature: foo5()V
 *   public final fun foo5(): kotlin/Unit
 *
 *   // signature: multi0()V
 *   public final fun multi0(): kotlin/Unit
 *
 *   // signature: multi1()V
 *   public final fun multi1(): kotlin/Unit
 *
 *   // signature: multi2()V
 *   public final fun multi2(): kotlin/Unit
 *
 *   // signature: multi3()V
 *   public final fun multi3(): kotlin/Unit
 *
 *   // signature: multi4()V
 *   public final fun multi4(): kotlin/Unit
 *
 *   // signature: multi5()V
 *   public final fun multi5(): kotlin/Unit
 *
 *   // signature: multiJava1()V
 *   public final fun multiJava1(): kotlin/Unit
 *
 *   // signature: multiJava2()V
 *   public final fun multiJava2(): kotlin/Unit
 *
 *   // signature: plainIntConstant()V
 *   public final fun plainIntConstant(): kotlin/Unit
 *
 *   // field: a:I
 *   // getter: getA()I
 *   // synthetic method for annotations: getA$annotations()V
 *   public final val a: kotlin/Int
 *     public final get
 *
 *   // field: b:I
 *   // getter: getB()I
 *   // synthetic method for annotations: getB$annotations()V
 *   public final val b: kotlin/Int
 *     public final get
 *
 *   // field: c:I
 *   // getter: getC()I
 *   // synthetic method for annotations: getC$annotations()V
 *   public final val c: kotlin/Int
 *     public final get
 *
 *   // field: d:I
 *   // getter: getD()I
 *   // synthetic method for annotations: getD$annotations()V
 *   public final val d: kotlin/Int
 *     public final get
 *
 *   // field: e:I
 *   // getter: getE()I
 *   // synthetic method for annotations: getE$annotations()V
 *   public final val e: kotlin/Int
 *     public final get
 *
 *   // field: f:I
 *   // getter: getF()I
 *   // synthetic method for annotations: getF$annotations()V
 *   public final val f: kotlin/Int
 *     public final get
 *
 *   // field: param1:I
 *   // getter: getParam1()I
 *   public final val param1: kotlin/Int
 *     public final get
 *
 *   // field: param2:I
 *   // getter: getParam2()I
 *   // setter: setParam2(I)V
 *   public final var param2: kotlin/Int
 *     public final get
 *     public final set
 *
 *   // field: propB:I
 *   // getter: getPropB()I
 *   public final val propB: kotlin/Int
 *     public final get
 *
 *   // field: propC:I
 *   // getter: getPropC()I
 *   // setter: setPropC(I)V
 *   public final var propC: kotlin/Int
 *     public final get
 *     public final set
 *
 *   // field: propF:I
 *   // getter: getPropF()I
 *   public final val propF: kotlin/Int
 *     public final get
 *
 *   // field: propA:I
 *   public final const val propA: kotlin/Int (* = ... *)
 *     public final get
 *
 *   // field: propD:I
 *   public final val propD: kotlin/Int
 *     public final get
 *
 *   // field: propE:I
 *   public final var propE: kotlin/Int
 *     public final get
 *     public final set
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class MyActivity {
    private final int param1 = 0;
    private int param2;
    @BindField(id = lib.R.id.textView)
    private final int a = 0;
    @BindField(id = lib.R.id.textView)
    private final int b = 0;
    @BindField(id = app.R.layout.mainActivity)
    private final int c = 0;
    @BindField(id = app.R.layout.mainActivity)
    private final int d = 0;
    @BindField(id = app.R2.layout.mainActivity)
    private final int e = 0;
    @BindField(id = app.B.id.textView)
    private final int f = 0;
    public final int propA = app.B.id.textView;
    private final int propB = app.B.id.textView;
    private int propC = app.B.id.textView;
    @kotlin.jvm.JvmField()
    public final int propD = app.B.id.textView;
    @kotlin.jvm.JvmField()
    public int propE = app.B.id.textView;
    private final int propF = 0;

    public MyActivity(int param1, int param2) {
        super();
    }

    public final int getParam1() {
        return 0;
    }

    public final int getParam2() {
        return 0;
    }

    public final void setParam2(int p0) {
    }

    public final int getA() {
        return 0;
    }

    @Bind(id = lib.R.id.textView)
    @java.lang.Deprecated()
    public static void getA$annotations() {
    }

    public final int getB() {
        return 0;
    }

    @Bind(id = lib.R.id.textView)
    @java.lang.Deprecated()
    public static void getB$annotations() {
    }

    public final int getC() {
        return 0;
    }

    @Bind(id = app.R.layout.mainActivity)
    @java.lang.Deprecated()
    public static void getC$annotations() {
    }

    public final int getD() {
        return 0;
    }

    @Bind(id = app.R.layout.mainActivity)
    @java.lang.Deprecated()
    public static void getD$annotations() {
    }

    public final int getE() {
        return 0;
    }

    @Bind(id = app.R2.layout.mainActivity)
    @Anno(a1 = app.B.a1, a2 = app.B.a2, a3 = app.B.a3, a4 = app.B.a4, a5 = app.B.a5, a6 = app.B.a6, a7 = app.B.a7, a8 = app.B.a8, a9 = "A")
    @java.lang.Deprecated()
    public static void getE$annotations() {
    }

    public final int getF() {
        return 0;
    }

    @Bind(id = app.B.id.textView)
    @java.lang.Deprecated()
    public static void getF$annotations() {
    }

    @Bind(id = lib.R.id.textView)
    public final void foo() {
    }

    @Bind(id = lib.R.id.textView)
    public final void foo2() {
    }

    @Bind(id = app.R.layout.mainActivity)
    public final void foo3() {
    }

    @Bind(id = app.R.layout.mainActivity)
    public final void foo4() {
    }

    @Bind(id = app.R2.layout.mainActivity)
    @Anno(a1 = app.B.a1, a2 = app.B.a2, a3 = app.B.a3, a4 = app.B.a4, a5 = app.B.a5, a6 = app.B.a6, a7 = app.B.a7, a8 = app.B.a8, a9 = "A")
    public final void foo5() {
    }

    @Bind(id = app.B.id.textView)
    public final void plainIntConstant() {
    }

    @MultiValue(ids = {})
    public final void multi0() {
    }

    @MultiValue(ids = {app.B.id.textView})
    public final void multi1() {
    }

    @MultiValue(ids = {app.B.id.textView, app.B.a3})
    public final void multi2() {
    }

    @MultiValue(ids = {app.B.id.textView, app.B.a3})
    public final void multi3() {
    }

    @MultiValueString(ids = {"A"})
    public final void multi4() {
    }

    @MultiValueByte(ids = {app.B.a2})
    public final void multi5() {
    }

    @lib.OnClick(value = {app.B.id.textView})
    public final void multiJava1() {
    }

    @lib.OnClick(value = {app.B.id.textView, app.R.layout.mainActivity})
    public final void multiJava2() {
    }

    public final int getPropB() {
        return 0;
    }

    public final int getPropC() {
        return 0;
    }

    public final void setPropC(int p0) {
    }

    public final int getPropF() {
        return 0;
    }

    public MyActivity() {
        super();
    }
}

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

package app;

public class R {

    public static class layout {
        public static final int mainActivity = 100;
    }
}

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

package app;

public class R2 {

    public static class layout {
        public static final int mainActivity = 100;
    }
}

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

package lib;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface OnClick {

    int[] value() default {};
}

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

package lib;

public class R {

    public static class id {
        public static final int textView = 100;
    }
}
