-dontwarn com.yandex.metrica.**
-keeppackagenames com.yandex.metrica*

-keep class com.yandex.metrica.impl.ob.** { *; }
-dontwarn com.yandex.metrica.impl.ob.**
-keep class com.yandex.metrica.impl.ac.** { *; }
-dontwarn com.yandex.metrica.impl.ac.**
-keep class com.android.installreferrer.api.* { *; }
-dontwarn com.android.installreferrer.api.*
-keep class com.google.protobuf.nano.ym.* {
    *;
}

# Important Yandex Metrica classes
-keep class com.yandex.metrica.CounterConfiguration
-keep public class com.yandex.metrica.MetricaService
-keep public interface com.yandex.metrica.IMetricaService
-keep public class com.yandex.metrica.MetricaEventHandler

-keep public class com.yandex.metrica.ConfigurationService {
    public <methods>;
    public <init>();
}

-keep public class com.yandex.metrica.ConfigurationJobService {
    public <methods>;
    public <init>();
}

# Yandex Metrica API
-keep public class com.yandex.metrica.YandexMetrica {
	public <methods>;
}

-keep public class com.yandex.metrica.YandexMetricaDefaultValues* {
    public static final *;
}

-keep public interface com.yandex.metrica.IReporter {
    public <methods>;
}

-keep public interface com.yandex.metrica.DeferredDeeplinkParametersListener {
    public <methods>;
}

-keep public class com.yandex.metrica.AppMetricaDeviceIDListener** {
    *;
}

-keep enum com.yandex.metrica.DeferredDeeplinkParametersListener$Error {
    *;
}

-keep public class com.yandex.metrica.IIdentifierCallback** {
    *;
}

-keep public class com.yandex.metrica.IParamsCallback** {
    *;
}

-keep public class com.yandex.metrica.YandexMetricaConfig* {
    public <methods>;
    public <fields>;
}

-keep public class com.yandex.metrica.ReporterConfig* {
    public <methods>;
    public <fields>;
}

# Bridge
-keep class com.yandex.metrica.p {
    <methods>;
}

-keep class com.yandex.metrica.h {
    <methods>;
}

-keep public class com.yandex.metrica.impl.interact.* {
    public *;
}

-keepclasseswithmembernames class com.yandex.metrica.impl.ac.NativeCrashesHelper {
    native <methods>;
}

-keepattributes *Annotation*