-keep public class com.begenuin.core.** {
    public *;
    protected *;
}

-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions

-keep class com.google.android.gms.location.** { *; }

# 2. Prevent R8 from renaming the callback methods in your SDK
# This ensures that when GPS calls onLocationResult, it can find the method
-keepclassmembers class * extends com.google.android.gms.location.LocationCallback {
    public void onLocationResult(com.google.android.gms.location.LocationResult);
    public void onLocationAvailability(com.google.android.gms.location.LocationAvailability);
}

# 4. If you use Reflection to find specific classes in the host app
-keepattributes Signature, InnerClasses, EnclosingMethod

-dontwarn com.sun.org.apache.xml.internal.utils.PrefixResolver
-dontwarn com.sun.org.apache.xpath.internal.XPath
-dontwarn com.sun.org.apache.xpath.internal.XPathContext
-dontwarn com.sun.org.apache.xpath.internal.objects.XBoolean
-dontwarn com.sun.org.apache.xpath.internal.objects.XNodeSet
-dontwarn com.sun.org.apache.xpath.internal.objects.XNull
-dontwarn com.sun.org.apache.xpath.internal.objects.XNumber
-dontwarn com.sun.org.apache.xpath.internal.objects.XObject
-dontwarn com.sun.org.apache.xpath.internal.objects.XString
-dontwarn java.rmi.Remote
-dontwarn java.rmi.RemoteException
-dontwarn java.rmi.server.RemoteObject
-dontwarn java.rmi.server.UnicastRemoteObject
-dontwarn org.apache.xml.utils.PrefixResolver
-dontwarn org.apache.xpath.XPath
-dontwarn org.apache.xpath.XPathContext
-dontwarn org.apache.xpath.objects.XBoolean
-dontwarn org.apache.xpath.objects.XNodeSet
-dontwarn org.apache.xpath.objects.XNull
-dontwarn org.apache.xpath.objects.XNumber
-dontwarn org.apache.xpath.objects.XObject
-dontwarn org.apache.xpath.objects.XString
-dontwarn org.jaxen.BaseXPath
-dontwarn org.jaxen.FunctionContext
-dontwarn org.jaxen.JaxenException
-dontwarn org.jaxen.NamespaceContext
-dontwarn org.jaxen.Navigator
-dontwarn org.jaxen.VariableContext
-dontwarn org.jaxen.XPathFunctionContext
-dontwarn org.jaxen.dom.DocumentNavigator
-dontwarn org.w3c.dom.traversal.NodeIterator

# ---------------------------------------------------------------------------
# Pangle (ByteDance) SDK
# The SDK locates its own resources by name, so the tt_* resource families must
# survive obfuscation. v5.1.0.0+ supports the fuzzy matching used below.
# ---------------------------------------------------------------------------
-keep class com.bytedance.sdk.** { *; }
-keep class com.bykv.** { *; }
-keep class com.pangle.** { *; }
-dontwarn com.bytedance.sdk.**
-dontwarn com.pangle.**

-keep class **.R$* {
    public static final int tt_*;
}
