-keepattributes Signature

-dontwarn javax.annotation.**
-dontwarn com.google.android.gms.**
-dontwarn com.bumptech.**
-dontwarn com.caverock.androidsvg.**
-dontwarn com.crashlytics.android.answers.shim.**
-dontwarn com.android.installreferrer.api.**
-dontwarn com.google.firebase.appindexing.**
-dontwarn android.databinding.**

-keep class kotlinx.android.** { *; }
-keep class kotlinx.android.parcel.Parcelize
-keep class com.theentertainerme.getaways.models.** { *; }
-keep class android.databinding.** { *; }
-keep class com.theentertainerme.getaways.GetAways
-keep class com.theentertainerme.getaways.LauncherActivity
-keep class com.theentertainerme.getaways.GetAwaysConfigs
-keep class com.j256.ormlite.** { *; }
-keep public class com.google.firebase.iid.FirebaseInstanceId {
    public *;
}
-keep class com.google.android.gms.** { *; }
-keep class com.google.** { *; }
-keep class com.google.firebase.** { *; }
-keep class com.google.android.** { *; }
-keep class sun.misc.Unsafe { *; }
-keep class android.** { *; }
-keep class com.facebook.** { *; }
-keep class com.android.** { *; }
-keep class com.caverock.androidsvg.** { *; }
-keepattributes EnclosingMethod
-keepattributes InnerClasses
-keep class * extends android.webkit.WebChromeClient { *; }
-keepnames class com.google.android.gms.common.GoogleApiAvailability
-keep class com.google.android.gms.ads.identifier.** { *; }
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}
-dontwarn com.sothree.**
-keep class com.sothree.**
-keep interface com.sothree.**
-keep class com.crashlytics.** { *; }
-keep class com.google.firebase.*.* { *; }
-keep public class com.crashlytics.android.CrashlyticsInitProvider
-assumenosideeffects class android.util.Log {
    public static boolean isLoggable(java.lang.String, int);
    public static int v(...);
    public static int i(...);
    public static int w(...);
    public static int d(...);
    public static int e(...);
    public static int wtf(...);
}

-assumenosideeffects class com.android.volley.VolleyLog {
    public static void v(...);
    public static void d(...);
    public static void i(...);
    public static void w(...);
    public static void v(...);
}
# Save the obfuscation mapping to a file, so we can de-obfuscate any stack
# traces later on. Keep a fixed source file attribute and all line number
# tables to get line numbers in the stack traces.
# You can comment this out if you're not interested in stack traces.

-printmapping out.map
-keepparameternames
-renamesourcefileattribute SourceFile
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod

# Preserve all annotations.

-keepattributes *Annotation*

# Preserve all public classes, and their public and protected fields and
# methods.

-keep public class * {
    public protected *;
}

# Preserve all .class method names.

-keepclassmembernames class * {
    java.lang.Class class$(java.lang.String);
    java.lang.Class class$(java.lang.String, boolean);
}

# Preserve all native method names and the names of their classes.

-keepclasseswithmembernames class * {
    native <methods>;
}

# Preserve the special static methods that are required in all enumeration
# classes.

-keepclassmembers class * extends java.lang.Enum {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# Explicitly preserve all serialization members. The Serializable interface
# is only a marker interface, so it wouldn't save them.
# You can comment this out if your library doesn't use serialization.
# If your code contains serializable classes that have to be backward
# compatible, please refer to the manual.

-keepclassmembers class * implements java.io.Serializable {
    static final long serialVersionUID;
    static final java.io.ObjectStreamField[] serialPersistentFields;
    private void writeObject(java.io.ObjectOutputStream);
    private void readObject(java.io.ObjectInputStream);
    java.lang.Object writeReplace();
    java.lang.Object readResolve();
}

# Your library may contain more items that need to be preserved;
# typically classes that are dynamically created using Class.forName:

# -keep public class mypackage.MyClass
# -keep public interface mypackage.MyInterface
# -keep public class * implements mypackage.MyInterface
