-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.* {
    *;
}

-keep class com.android.installreferrer.api.* {
    *;
}

-keep class kotlin.KotlinVersion {
    *;
}

# 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.PreloadInfoContentProvider

-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 class com.yandex.metrica.DeferredDeeplinkParametersListener** {
    *;
}

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

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

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

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

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

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

-keep public enum com.yandex.metrica.profile.GenderAttribute$Gender {
    *;
}

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

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

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

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

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

-keep public interface com.yandex.metrica.p$Ucc {
    *;
}

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

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

-keep class com.yandex.metrica.uiaccessor.FragmentLifecycleCallback {
    public <methods>;
}

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

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

-keepattributes *Annotation*
