# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in C:\Android\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}
-keep class com.android.**{ *; }

-keep interface com.android.**{ *; }

-dontwarn com.android.**

-keep class com.google.**{ *; }

-keep interface com.google.**{ *; }

-dontwarn com.google.**

-keep class org.apache.**{ *; }

-keep interface org.apache.**{ *; }

-dontwarn org.apache.**

-keep class com.github.**{ *; }

-keep interface com.github.**{ *; }

-dontwarn com.github.**

-keep class com.org.jetbrains.**{ *; }

-keep interface com.org.jetbrains.**{ *; }

-dontwarn com.org.jetbrains.**

-keep class com.squareup.**{ *; }

-keep interface com.squareup.**{ *; }

-dontwarn com.squareup.**

-keep class android.arch.**{ *; }

-keep interface android.arch.**{ *; }

-dontwarn android.arch.**

-dontwarn android.test.**

-dontwarn javax.annotation.**

-dontwarn org.conscrypt.**

-dontwarn java.lang.**

-keep class com.crashlytics.** { *; }

-dontwarn com.crashlytics.**

-keepattributes *Annotation*

-keepattributes SourceFile,LineNumberTable

-keep public class * extends java.lang.Exception

-printmapping mapping.txt

-dontwarn kotlin.**
-dontwarn kotlin.reflect.jvm.internal.**
-keep class kotlin.reflect.jvm.internal.** { *; }

-keep class kotlin.Metadata { *; }
-keepclassmembers public class com.mypackage.** {
    public synthetic <methods>;
}
-keepclassmembers class kotlin.Metadata {
    public <methods>;
}

-keepclassmembers class **$WhenMappings {
    <fields>;
}

-keep class kotlin.** { *; }
-keep class kotlin.Metadata { *; }
-dontwarn kotlin.**
-keepclassmembers class **$WhenMappings {
    <fields>;
}
-keepclassmembers class kotlin.Metadata {
    public <methods>;
}
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
    static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
}

-keep class kotlin.reflect.jvm.internal.impl.builtins.BuiltInsLoaderImpl

-keep class com.lemonhc.mplus.classes.** { *; }

##---------------Begin: proguard configuration for Gson  ----------
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature

# For using GSON @Expose annotation
-keepattributes *Annotation*

# Gson specific classes
-dontwarn sun.misc.**
-keep class com.google.gson.** { *; }

# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

##---------------End: proguard configuration for Gson  ----------

-keep class com.lemonhc.mplus.mcare_plus.activity.webView.** { *; }

-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
-keepclassmembernames class kotlinx.** {
    volatile <fields>;
}