# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/app/intermediates/aapt_proguard_file/novaRelease/processNovaReleaseResources/aapt_rules.txt
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
-keep class androidx.profileinstaller.ProfileInstallReceiver { <init>(); }
-keep class androidx.startup.InitializationProvider { <init>(); }
-keep class cn.thinkingdata.analytics.utils.broadcast.TDReceiver { <init>(); }
-keep class com.android.billingclient.api.ProxyBillingActivity { <init>(); }
-keep class com.android.billingclient.api.ProxyBillingActivityV2 { <init>(); }
-keep class com.google.android.datatransport.runtime.backends.TransportBackendDiscovery { <init>(); }
-keep class com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver { <init>(); }
-keep class com.google.android.datatransport.runtime.scheduling.jobscheduling.JobInfoSchedulerService { <init>(); }
-keep class com.google.android.gms.auth.api.signin.RevocationBoundService { <init>(); }
-keep class com.google.android.gms.auth.api.signin.internal.SignInHubActivity { <init>(); }
-keep class com.google.android.gms.common.api.GoogleApiActivity { <init>(); }
-keep class com.google.android.gms.measurement.AppMeasurementJobService { <init>(); }
-keep class com.google.android.gms.measurement.AppMeasurementReceiver { <init>(); }
-keep class com.google.android.gms.measurement.AppMeasurementService { <init>(); }
-keep class com.google.android.gms.metadata.ModuleDependencies { <init>(); }
-keep class com.google.android.play.core.common.PlayCoreDialogWrapperActivity { <init>(); }
-keep class com.google.firebase.components.ComponentDiscoveryService { <init>(); }
-keep class com.google.firebase.iid.FirebaseInstanceIdReceiver { <init>(); }
-keep class com.google.firebase.messaging.FirebaseMessagingService { <init>(); }
-keep class com.google.firebase.provider.FirebaseInitProvider { <init>(); }
-keep class com.google.firebase.sessions.SessionLifecycleService { <init>(); }
-keep class com.luck.picture.lib.basic.PictureFileProvider { <init>(); }
-keep class com.luck.picture.lib.basic.PictureSelectorSupporterActivity { <init>(); }
-keep class com.luck.picture.lib.basic.PictureSelectorTransparentActivity { <init>(); }
-keep class com.luck.picture.lib.service.ForegroundService { <init>(); }
-keep class com.nova.plugin.default_plugin.KeepAliveService { <init>(); }
-keep class com.olaola.social_channels.SocialChannelsShareProvider { <init>(); }
-keep class com.re.novalive.android.MainActivity { <init>(); }
-keep class com.re.novalive.android.MainApplication { <init>(); }
-keep class im.zego.internal.screencapture.ZegoScreenCaptureManager$ZegoScreenCaptureAssistantActivity { <init>(); }
-keep class im.zego.internal.screencapture.ZegoScreenCaptureService { <init>(); }
-keep class io.branch.receivers.SharingBroadcastReceiver { <init>(); }
-keep class io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingBackgroundService { <init>(); }
-keep class io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingInitProvider { <init>(); }
-keep class io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingReceiver { <init>(); }
-keep class io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingService { <init>(); }
-keep class io.flutter.plugins.imagepicker.ImagePickerFileProvider { <init>(); }
-keep class io.flutter.plugins.urllauncher.WebViewActivity { <init>(); }
-keep class android.widget.Space { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.app.AlertController$RecycleListView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.view.menu.ActionMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.view.menu.ExpandedMenuView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.view.menu.ListMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionBarContainer { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionBarContextView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionBarOverlayLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActionMenuView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ActivityChooserView$InnerLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.AlertDialogLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ButtonBarLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ContentFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.DialogTitle { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.FitWindowsFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.FitWindowsLinearLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.SearchView$SearchAutoComplete { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.SwitchCompat { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.Toolbar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.appcompat.widget.ViewStubCompat { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.browser.browseractions.BrowserActionsFallbackMenuView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.constraintlayout.widget.ConstraintLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.core.widget.NestedScrollView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.preference.UnPressableLinearLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.preference.internal.PreferenceImageView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.recyclerview.widget.RecyclerView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.magical.MagicalView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.photoview.PhotoView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.BottomNavBar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.CompleteSelectView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.MarqueeTextView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.MediumBoldTextView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.PreviewBottomNavBar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.PreviewTitleBar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.RecyclerPreloadView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.RoundCornerRelativeLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.SquareRelativeLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.luck.picture.lib.widget.TitleBar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class io.branch.referral.validators.IntegrationValidatorDialogRowItem { <init>(android.content.Context, android.util.AttributeSet); }

-keep class io.branch.referral.validators.LinkingValidatorDialogRowItem { <init>(android.content.Context, android.util.AttributeSet); }


# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/app/intermediates/aapt_proguard_file/novaRelease/processNovaReleaseResources/aapt_rules.txt
# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/app/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.11.1
# This is a configuration file for ProGuard.
# http://proguard.sourceforge.net/index.html#manual/usage.html
#
# Starting with version 2.2 of the Android plugin for Gradle, this file is distributed together with
# the plugin and unpacked at build-time. The files in $ANDROID_HOME are no longer maintained and
# will be ignored by new version of the Android plugin for Gradle.

# Optimizations: If you don't want to optimize, use the proguard-android.txt configuration file
# instead of this one, which turns off the optimization flags.
-allowaccessmodification

# Preserve some attributes that may be required for reflection.
-keepattributes AnnotationDefault,
                EnclosingMethod,
                InnerClasses,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations,
                Signature

-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService
-keep public class com.google.android.vending.licensing.ILicensingService
-dontnote com.android.vending.licensing.ILicensingService
-dontnote com.google.vending.licensing.ILicensingService
-dontnote com.google.android.vending.licensing.ILicensingService

# For native methods, see https://www.guardsquare.com/manual/configuration/examples#native
-keepclasseswithmembernames,includedescriptorclasses class * {
    native <methods>;
}

# Keep setters in Views so that animations can still work.
-keepclassmembers public class * extends android.view.View {
    void set*(***);
    *** get*();
}

# We want to keep methods in Activity that could be used in the XML attribute onClick.
-keepclassmembers class * extends android.app.Activity {
    public void *(android.view.View);
}

# For enumeration classes, see https://www.guardsquare.com/manual/configuration/examples#enumerations
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keepclassmembers class * implements android.os.Parcelable {
    public static final ** CREATOR;
}

# Preserve annotated Javascript interface methods.
-keepclassmembers class * {
    @android.webkit.JavascriptInterface <methods>;
}

# The support libraries contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontnote android.support.**
-dontnote androidx.**
-dontwarn android.support.**
-dontwarn androidx.**

# Understand the @Keep support annotation.
-keep class android.support.annotation.Keep

-keep @android.support.annotation.Keep class * {*;}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @android.support.annotation.Keep <init>(...);
}

# These classes are duplicated between android.jar and org.apache.http.legacy.jar.
-dontnote org.apache.http.**
-dontnote android.net.http.**

# These classes are duplicated between android.jar and core-lambda-stubs.jar.
-dontnote java.lang.invoke.**

# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/app/intermediates/default_proguard_files/global/proguard-android-optimize.txt-8.11.1
# The proguard configuration file for the following section is /Users/a1/_flutter/flutter_stable_3.44.9_pc-flutter_stable_3.44.9_pc-x64/packages/flutter_tools/gradle/flutter_proguard_rules.pro
# Build the ephemeral app in a module project.
# Prevents: Warning: library class <plugin-package> depends on program class io.flutter.plugin.**
# This is due to plugins (libraries) depending on the embedding (the program jar)
-dontwarn io.flutter.plugin.**

# The android.** package is provided by the OS at runtime.
-dontwarn android.**

# In some cases, R8 is incorrectly stripping plugin classes. Keep
# all implementations of FlutterPlugin until we can determine
# why this is the case.
# See https://github.com/flutter/flutter/issues/154580.
-if class * implements io.flutter.embedding.engine.plugins.FlutterPlugin
-keep,allowshrinking,allowobfuscation class <1>

# End of content from /Users/a1/_flutter/flutter_stable_3.44.9_pc-flutter_stable_3.44.9_pc-x64/packages/flutter_tools/gradle/flutter_proguard_rules.pro
# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/android/app/proguard-rules.pro
# for flutter
#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.**  { *; }
-keep class io.flutter.util.**  { *; }
-keep class io.flutter.view.**  { *; }
-keep class io.flutter.**  { *; }
-keep class io.flutter.plugins.**  { *; }
-keep class * extends android.app.Activity { public *; protected *;}
-dontwarn io.flutter.embedding.**
-dontwarn io.flutter.**

#sqflite
-keep class com.tekartik.sqflite.** { *; }

# for umeng analytics
-keep class com.umeng.commonsdk.** {*;}

# for bugly
#-dontwarn com.tencent.bugly.**
#-keep public class com.tencent.bugly.**{*;}

# for huawei push
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.hianalytics.android.**{*;}


# OPPO push SDK
-keep public class * extends android.app.Service

-keep class **.zego.**{*;}

# RongCloud SDK
-keepattributes Exceptions,InnerClasses
-keepattributes Signature
-dontnote com.google.android.gms.gcm.**

-dontwarn com.google.android.gms.**
-dontwarn com.google.android.play.core.**


#-ignorewarnings

# FCM推送
-keep public class com.google.firebase.* {*;}

# Agora声网SDK
-keep class io.agora.**{*;}

# for kotlin
-keepnames class kotlinx.coroutines.** {*;} # 不加这一行就会报错
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
-keepnames class kotlinx.coroutines.android.AndroidExceptionPreHandler {}
-keepnames class kotlinx.coroutines.android.AndroidDispatcherFactory {}

-keepclassmembernames class kotlinx.** {
    volatile <fields>;
}

# for okhttp begin
#-keepnames class com.jarvan.** {*;}
-dontwarn com.squareup.okhttp.**
-keep class com.squareup.okhttp.**{*;}

# okhttp
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**

# okio
-keep class sun.misc.Unsafe { *; }
-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-keep class okio.**{*;}
-dontwarn okio.**

# SSLSocketFactory
-keepclassmembers class * implements javax.net.ssl.SSLSocketFactory {
    private final javax.net.ssl.SSLSocketFactory delegate;
}
# for okhttp end


# for 微信分享/QQ分享
-keep class com.tencent.** {*;}
-dontwarn com.tencent.**

# for androidx
-keep class com.google.android.material.** {*;}
-keep class androidx.** {*;}
-keep public class * extends androidx.**
-keep interface androidx.** {*;}
-dontwarn com.google.android.material.**
-dontnote com.google.android.material.**
-dontwarn androidx.**

# 阿里云号码认证服务
-keep class cn.com.chinatelecom.gateway.lib.** {*;}
-keep class com.unicom.xiaowo.login.** {*;}
-keep class com.cmic.sso.sdk.** {*;}
-keep class com.mobile.auth.gatewayauth.** {*;}
-keep class android.support.v4.** { *;}
-keep class org.json.**{*;}
-keep class com.alibaba.fastjson.** {*;}

# 闪验sdk
-dontwarn com.cmic.sso.sdk.**
-dontwarn com.sdk.**
-keep class com.cmic.sso.sdk.**{*;}
-keep class com.sdk.** { *;}
-keep class cn.com.chinatelecom.account.api.**{*;}

 #阿里云实人认证
-keep class com.taobao.securityjni.**{*;}
-keep class com.taobao.wireless.security.**{*;}
-keep class com.ut.secbody.**{*;}
-keep class com.taobao.dp.**{*;}
-keep class com.alibaba.wireless.security.**{*;}
-keep class com.alibaba.security.rp.**{*;}
-keep class com.alibaba.security.cloud.**{*;}
-keep class com.alibaba.security.realidentity.**{*;}
-keep class com.alibaba.security.biometrics.**{*;}
-keep class com.alibaba.sdk.android.**{*;}
-keep class android.taobao.windvane.**{*;}

# 移动安全联盟
-keep class com.bun.**{*;}
-keep class com.netease.**{*;}
-keep class com.asus.msa.**{*;}
-keep class com.huawei.hms.ads.**{*;}
-keep class com.samsung.android.deviceidservice.**{*;}
-keep class com.zui.**{*;}
-keep class XI.**{*;}

# https://github.com/juicycleff/flutter-unity-view-widget
-keep class com.xraph.plugins.** {*;}

# 极光
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
-keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }

# unity
-keep class bitter.jnibridge.* { *; }
-keep class com.unity3d.player.* { *; }
-keep interface com.unity3d.player.IUnityPlayerLifecycleEvents { *; }
-keep class org.fmod.* { *; }
-keep class sg.lcb.unity.* { *; }
-keep class com.google.androidgamesdk.ChoreographerCallback { *; }
-keep class com.google.androidgamesdk.SwappyDisplayManager { *; }
-ignorewarnings

# 自研rtc
-keep class org.banban.rtc.** {*;}
-keep class org.webrtc.** {*;}
-keep class com.ola.beauty.base.** {*;}

# image_picker_custom
-keep class com.luck.picture.lib.** { *; }
-keep class com.luck.lib.camerax.** { *; }
-dontwarn com.yalantis.ucrop**
-keep class com.yalantis.ucrop** { *; }
-keep interface com.yalantis.ucrop** { *; }

# 腾讯mars-xlog
-keep class com.tencent.mars.** {
  public protected private *;
}
# elv-xlog
-keep class com.elvishew.xlog.** { *; }

# 保持被 @WireField 注解的类和成员不被混淆
-keep class * {
    @com.squareup.wire.WireField <fields>;
}

# 保持 WireField 注解自身不被混淆
-keep class com.squareup.wire.WireField {
    *;
}
###########
# 保持所有Wire生成的类不被混淆
-keep class **$$Wire {
    *;
}
# 如果使用了反射，保持构造器不被混淆
-keepclassmembers class * {
    <init>(...);
}

# glide
-keep class com.bumptech.glide.** { *; }


-keep class com.salton123.log.** { *; }
# 保持 XLog 的继承关系不被混淆
-keep class com.salton123.log.XLog.** { *; }
-keep class sg.partying.lcb.live.viewmodel.** { *; }
-keep class com.salton123.framework.** { *; }
-keep class com.salton123.live.** { *; }
-keep class sg.olaparty.network.** { *; }
-keep class sg.olaparty.gift.core.** { *; }
-keep class com.salton123.common.** { *; }
-keep class com.salton123.protocols.** { *; }
-keep class com.salton123.profile.** { *; }
-keep class com.salton123.soulove.** { *; }
-keep class sg.partying.lcb.live.webview.** { *; }
-keep class sg.partying.lcb.live.download.** { *; }
-keep class sg.partying.lcb.live.** { *; }
-keep class com.flyjingfish.highlightviewlib.** { *; }
-keep class com.salton123.lib.ninepatch.WebpAnimationDrawableV1 { *; }
-keep public class * extends android.view.View { ####
    *** get*();
    void set*(***);
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
-keep class **.R$* { *; }
-keep class * implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
}
-keepnames class * implements java.io.Serializable
-keepclassmembers class * implements java.io.Serializable {

    static final long serialVersionUID;

    private static final java.io.ObjectStreamField[] serialPersistentFields;

    !static !transient <fields>;

    !private <fields>;

    !private <methods>;

    private void writeObject(java.io.ObjectOutputStream);

    private void readObject(java.io.ObjectInputStream);

    java.lang.Object writeReplace();

    java.lang.Object readResolve();
}
-keep public class * extends android.widget.BaseAdapter { *; }
-keep public class * extends android.app.Fragment

-keep public class * extends android.app.Activity

-keep public class * extends android.app.Application

-keep public class * extends android.app.Service

-keep public class * extends android.content.BroadcastReceiver

-keep public class * extends android.content.ContentProvider

-keep public class * extends android.app.backup.BackupAgentHelper

-keep public class * extends android.preference.Preference
-keep public class com.google.vending.licensing.ILicensingService

-keep public class com.android.vending.licensing.ILicensingService
-dontwarn android.support.**

-keep public class * extends android.support.v4.**

-keep public class * extends android.support.v7.**

-keep public class * extends android.support.annotation.**
-keepclasseswithmembernames class * {
    native <methods>;
}
-keep public class * extends android.view.View {

    *** get*();

    void set*(***);

    public <init>(android.content.Context);

    public <init>(android.content.Context, android.util.AttributeSet);

    public <init>(android.content.Context, android.util.AttributeSet, int);

}
-keepclasseswithmembers class * {

    public <init>(android.content.Context, android.util.AttributeSet);

    public <init>(android.content.Context, android.util.AttributeSet, int);

}
-keepclassmembers class * extends android.app.Activity {

    public void *(android.view.View);

}

-keep class * implements android.os.Parcelable {

    public static final android.os.Parcelable$Creator *;

}

-keep public class * extends android.widget.CusorAdapter{ *; }
-keep class com.google.gson.** { *; }


# 防止枚举类被混淆，如果你的数据模型用到了枚举类型
-keepclassmembers enum * { *; }
-keep class com.aopa.quiche** { *; }
-keep class sg.olaparty.network.DomainProvider {
    *;
}
-keep public class com.alibaba.android.arouter.routes.**{*;}
-keep public class com.alibaba.android.arouter.facade.**{*;}
-keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}

# 如果使用了 byType 的方式获取 Service，需添加下面规则，保护接口
-keep interface * implements com.alibaba.android.arouter.facade.template.IProvider

# 如果使用了 单类注入，即不定义接口实现 IProvider，需添加下面规则，保护实现
-keep class * implements com.alibaba.android.arouter.facade.template.IProvider

# 保留使用Parcelize的类及其字段
-keep class kotlinx.parcelize.** { *; }
-keep interface kotlinx.parcelize.** { *; }
-keepclassmembers class ** implements android.os.Parcelable {

}

-keep class com.just.agentweb.** {
    *;
}
-dontwarn com.just.agentweb.**

# Keep native library loading related classes
-keep class dev.google.cronet.CronetPlugin {
    native <methods>;
    void loadNativeLibrary();
}

# Keep all Cronet related classes
-keep class org.chromium.** { *; }
-keep class impl.org.chromium.** { *; }
-keep class org.chromium.net.** { *; }
-keepclassmembers class org.chromium.net.** { *; }
-keep class com.google.net.cronet.** { *; }
-keepclassmembers class com.google.net.cronet.** { *; }

# Keep JNI related annotations and classes
-keepclasseswithmembers class * {
    @org.chromium.base.annotations.JNINamespace *;
    @org.chromium.base.annotations.CalledByNative *;
}







# Keep any classes referenced from JNI
-keep class * {
    @org.chromium.base.annotations.AccessedByNative *;
}

###火山美颜SDK
-keep class com.effectsar.labcv.effectsdk.** {*;}
-keep class com.bef.effectsdk.** {*;}
-keep class com.effectsar.labcv.licenselibrary.** {*;}
-keep class com.amazing.** {*;}
# Keep cronet sdk classes referenced from JNI
-keep class sg.partying.cronet.sdk.* {
    *;
}

# 保留 java.util.logging 相关类
-keep class java.util.logging.** { *; }

-keep class * extends android.app.Service
-dontwarn com.google.android.gms.auth.api.credentials.Credential$Builder
-dontwarn com.google.android.gms.auth.api.credentials.Credential
-dontwarn com.google.android.gms.auth.api.credentials.CredentialPickerConfig$Builder
-dontwarn com.google.android.gms.auth.api.credentials.CredentialPickerConfig
-dontwarn com.google.android.gms.auth.api.credentials.CredentialRequest$Builder
-dontwarn com.google.android.gms.auth.api.credentials.CredentialRequest
-dontwarn com.google.android.gms.auth.api.credentials.CredentialRequestResponse
-dontwarn com.google.android.gms.auth.api.credentials.Credentials
-dontwarn com.google.android.gms.auth.api.credentials.CredentialsClient
-dontwarn com.google.android.gms.auth.api.credentials.HintRequest$Builder
-dontwarn com.google.android.gms.auth.api.credentials.HintRequest
-dontwarn com.google.android.play.core.splitcompat.SplitCompatApplication
-dontwarn com.google.android.play.core.splitinstall.SplitInstallException
-dontwarn com.google.android.play.core.splitinstall.SplitInstallManager
-dontwarn com.google.android.play.core.splitinstall.SplitInstallManagerFactory
-dontwarn com.google.android.play.core.splitinstall.SplitInstallRequest$Builder
-dontwarn com.google.android.play.core.splitinstall.SplitInstallRequest
-dontwarn com.google.android.play.core.splitinstall.SplitInstallSessionState
-dontwarn com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener
-dontwarn com.google.android.play.core.tasks.OnFailureListener
-dontwarn com.google.android.play.core.tasks.OnSuccessListener
-dontwarn com.google.android.play.core.tasks.Task

# Proguard config for apps that depend on cronet_impl_common_java.jar.

# Used through reflection by the API code to figure out the version of the impl
# code it's talking to.
-keep public class org.chromium.net.impl.ImplVersion {
  public *;
}

-dontwarn com.google.errorprone.annotations.DoNotMock

# -------- Config Path: base/android/proguard/shared_with_cronet.flags --------
# Keep all CREATOR fields within Parcelable that are kept.
-keepclassmembers class !cr_allowunused,org.chromium.** implements android.os.Parcelable {
  public static *** CREATOR;
}

# Don't obfuscate Parcelables as they might be marshalled outside Chrome.
# If we annotated all Parcelables that get put into Bundles other than
# for saveInstanceState (e.g. PendingIntents), then we could actually keep the
# names of just those ones. For now, we'll just keep them all.
-keepnames,allowaccessmodification class !cr_allowunused,org.chromium.** implements android.os.Parcelable {}

# Keep all enum values and valueOf methods. See
# http://proguard.sourceforge.net/index.html#manual/examples.html
# for the reason for this. Also, see http://crbug.com/248037.
-keepclassmembers enum !cr_allowunused,org.chromium.** {
    public static **[] values();
}

# Required to remove fields until b/274802355 is resolved.
-assumevalues class !cr_allowunused,** {
  final org.chromium.base.ThreadUtils$ThreadChecker * return _NONNULL_;
}
# -------- Config Path: build/android/chromium_annotations.flags --------
# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Contains flags related to annotations in //build/android that can be safely
# shared with Cronet, and thus would be appropriate for third-party apps to
# include.

# Keep all annotation related attributes that can affect runtime
-keepattributes RuntimeVisible*Annotations
-keepattributes AnnotationDefault

# Keeps for class level annotations.
-keep,allowaccessmodification @org.chromium.build.annotations.UsedByReflection class ** {}

# Keeps for method level annotations.
-keepclasseswithmembers,allowaccessmodification class ** {
  @org.chromium.build.annotations.UsedByReflection <methods>;
}
-keepclasseswithmembers,allowaccessmodification class ** {
  @org.chromium.build.annotations.UsedByReflection <fields>;
}

# Never inline classes, methods, or fields with this annotation, but allow
# shrinking and obfuscation.
# Relevant to fields when they are needed to store strong references to objects
# that are held as weak references by native code.
-if @org.chromium.build.annotations.DoNotInline class * {
    *** *(...);
}
-keep,allowobfuscation,allowaccessmodification class <1> {
    *** <2>(...);
}
-keepclassmembers,allowobfuscation,allowaccessmodification class * {
   @org.chromium.build.annotations.DoNotInline <methods>;
}
-keepclassmembers,allowobfuscation,allowaccessmodification class * {
   @org.chromium.build.annotations.DoNotInline <fields>;
}

-alwaysinline class * {
    @org.chromium.build.annotations.AlwaysInline *;
}

# Keep all logs (Log.VERBOSE = 2). R8 does not allow setting to 0.
-maximumremovedandroidloglevel 1 class ** {
   @org.chromium.build.annotations.DoNotStripLogs <methods>;
}
-maximumremovedandroidloglevel 1 @org.chromium.build.annotations.DoNotStripLogs class ** {
   <methods>;
}

# Never merge classes horizontally or vertically with this annotation.
# Relevant to classes being used as a key in maps or sets.
-keep,allowaccessmodification,allowobfuscation,allowshrinking @org.chromium.build.annotations.DoNotClassMerge class *

# Mark members annotated with IdentifierNameString as identifier name strings
-identifiernamestring class * {
    @org.chromium.build.annotations.IdentifierNameString *;
}

# Mark fields with this to help R8 figure out that they cannot be null.
# Use assumevalues in addition to assumenosideeffects block because Google3 proguard cannot parse
# assumenosideeffects blocks which overwrite return value.
-assumevalues class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** *(...) return _NONNULL_;
}
-assumenosideeffects class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** *(...);
}
-assumevalues class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** * return _NONNULL_;
}
-assumenosideeffects class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** *;
}
# -------- Config Path: components/cronet/android/cronet_impl_common_proguard.cfg --------
# Proguard config for apps that depend on cronet_impl_common_java.jar.

# Used through reflection by the API code to figure out the version of the impl
# code it's talking to.
-keep public class org.chromium.net.impl.ImplVersion {
  public *;
}

-dontwarn com.google.errorprone.annotations.DoNotMock
# -------- Config Path: components/cronet/android/cronet_impl_native_proguard.cfg --------
# Proguard config for apps that depend on cronet_impl_native_java.jar.

# This constructor is called using the reflection from Cronet API (cronet_api.jar).
-keep class org.chromium.net.impl.NativeCronetProvider {
    public <init>(android.content.Context);
}

# While Chrome doesn't need to keep these with their version of R8, some cronet
# users may be on other optimizers which still require the annotation to be
# kept in order for the keep rules to work.
-keep @interface org.chromium.build.annotations.DoNotInline
-keep @interface org.chromium.build.annotations.UsedByReflection
-keep @interface org.chromium.build.annotations.IdentifierNameString
# ** prefixed since JNI Zero classes included in cronet are jarjared to prevent
# clashes with the real JNI Zero. See https://crbug.com/353534209
-keep @interface **org.jni_zero.AccessedByNative
-keep @interface **org.jni_zero.CalledByNative
-keep @interface **org.jni_zero.CalledByNativeUnchecked

# Suppress unnecessary warnings.
-dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver
-dontnote org.chromium.net.AndroidKeyStore
# Needs 'boolean onSearchRequested(android.view.SearchEvent)' (API level 23).
-dontwarn org.chromium.base.WindowCallbackWrapper

# Generated for chrome apk and not included into cronet.
-dontwarn org.chromium.base.library_loader.LibraryLoader
-dontwarn org.chromium.base.SysUtils
-dontwarn org.chromium.build.NativeLibraries

# Objects of this type are passed around by native code, but the class
# is never used directly by native code. Since the class is not loaded, it does
# not need to be preserved as an entry point.
-dontnote org.chromium.net.UrlRequest$ResponseHeadersMap
# https://android.googlesource.com/platform/sdk/+/marshmallow-mr1-release/files/proguard-android.txt#54
-dontwarn android.support.**

# Skip protobuf runtime check for isOnAndroidDevice().
# A nice-to-have optimization shamelessly stolen from //third_party/protobuf/java/lite/proguard.pgcfg.
-assumevalues class com.google.protobuf.Android {
    static boolean ASSUME_ANDROID return true;
}

# See crbug.com/1440987. We must keep every native that we are manually
# registering. If Cronet bumps its min-sdk past 21, we may be able to move to
# automatic JNI registration.
# ** prefixed since JNI Zero classes included in cronet are jarjared to prevent
# clashes with the real JNI Zero. See https://crbug.com/353534209
-keepclasseswithmembers,includedescriptorclasses,allowaccessmodification class org.chromium.**,**J.N {
  native <methods>;
}

# Protobuf builder uses reflection so make sure ProGuard leaves it alone. See
# https://crbug.com/1395764.
# Note that we can't simply use the rule from
# //third_party/protobuf/java/lite/proguard.pgcfg, because some users who
# consume our ProGuard rules do not want all their protos to be kept. Instead,
# use a more specific rule that covers Chromium protos only.
-keepclassmembers class org.chromium.** extends com.google.protobuf.GeneratedMessageLite {
  <fields>;
}

# Part of the Android System SDK; false positive when pointing ProGuard to the
# public SDK.
-dontwarn android.os.SystemProperties
# -------- Config Path: components/cronet/android/cronet_shared_proguard.cfg --------
# Proguard config for apps that depend on cronet_shared_java.jar (which should
# be all apps that depend on any part of Cronet)

# Part of the Android System SDK, so ProGuard won't be able to resolve it if
# running against the standard SDK.
-dontwarn android.util.StatsEvent
-dontwarn android.util.StatsEvent$*
# There is also an undefined reference to android.util.StatsLog.write(), which
# R8 appears to be fine with but other processors (e.g. internal Google
# ProGuard) may not be. See b/315269496.
-dontwarn android.util.StatsLog
# -------- Config Path: third_party/androidx/androidx_annotations.flags --------
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

-keep @androidx.annotation.Keep class *
-keepclasseswithmembers,allowaccessmodification class * {
  @androidx.annotation.Keep <fields>;
}
-keepclasseswithmembers,allowaccessmodification class * {
  @androidx.annotation.Keep <methods>;
}
# -------- Config Path: third_party/jni_zero/proguard.flags --------
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Keeps for method level annotations.
-keepclasseswithmembers,allowaccessmodification class ** {
  @**org.jni_zero.AccessedByNative <fields>;
}
-keepclasseswithmembers,includedescriptorclasses,allowaccessmodification,allowoptimization class ** {
  @**org.jni_zero.CalledByNative <methods>;
}
-keepclasseswithmembers,includedescriptorclasses,allowaccessmodification,allowoptimization class ** {
  @**org.jni_zero.CalledByNativeUnchecked <methods>;
}

# Allow unused native methods to be removed, but prevent renaming on those that
# are kept.
# TODO(crbug.com/315973491): Restrict the broad scope of this rule.
-keepclasseswithmembernames,includedescriptorclasses,allowaccessmodification class ** {
  native <methods>;
}

# Used when multiplexing. We don't package our own @UsedByReflection, so using this instead.
-keepclasseswithmembers class !cr_allowunused,**J.N {
  public long *_HASH;
}

# Proguard config for apps that depend on cronet_impl_platform_java.jar.

# This constructor is called using the reflection from Cronet API (cronet_api.jar).
-keep class org.chromium.net.impl.JavaCronetProvider {
    public <init>(android.content.Context);
}

# Proguard config for apps that depend on cronet_shared_java.jar (which should
# be all apps that depend on any part of Cronet)

# Part of the Android System SDK, so ProGuard won't be able to resolve it if
# running against the standard SDK.
-dontwarn android.util.StatsEvent
-dontwarn android.util.StatsEvent$*
# There is also an undefined reference to android.util.StatsLog.write(), which
# R8 appears to be fine with but other processors (e.g. internal Google
# ProGuard) may not be. See b/315269496.
-dontwarn android.util.StatsLog

# Proguard config for apps that depend on httpengine_native_provider_java.jar.

# This constructor is called using the reflection from Cronet API (cronet_api.jar).
-keep class org.chromium.net.impl.HttpEngineNativeProvider {
    public <init>(android.content.Context);
}

-keep class com.example.native_bridge.** {
    <fields>;
    <methods>;
}

# 保留 Kotlin Companion 内部类
-keepclassmembers class *$Companion {
    public *;
}

# 保留所有 @JvmStatic 方法（Companion 转成 Java 静态时）
-keepclassmembers class * {
    @kotlin.jvm.JvmStatic *;
}

# 防止 Kotlin 内部反射崩溃
-keep class kotlin.Metadata { *; }

# cronet http 插件相关
-keep class io.flutter.plugins.cronet_http.** { *; }
-keep class io.flutter.plugins.cronet_http.UrlRequestCallbackProxy { *; }
-keep interface io.flutter.plugins.cronet_http.UrlRequestCallbackProxy$UrlRequestCallbackInterface { *; }
-keep class java.net.URL { *; }
-keep class java.util.concurrent.Executors { *; }
-keep class org.chromium.net.** { *; }
-keep interface org.chromium.net.*
# 保留 JNI 桥接类和方法
-keep class com.github.dart_lang.jni.** { *; }
# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/android/app/proguard-rules.pro
# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/cronet_http/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
-keep class io.flutter.plugins.cronet_http.** { *; }
-keep class java.net.URL { *; }
-keep class java.util.concurrent.Executors { *; }
-keep class org.chromium.net.** { *; }

# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/cronet_http/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/flutter_plugin_android_lifecycle/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The point of this package is to specify that a dependent plugin intends to
# use the AndroidX lifecycle classes. Make sure no R8 heuristics shrink classes
# brought in by the embedding's pom.
#
# This isn't strictly needed since by definition, plugins using Android
# lifecycles should implement DefaultLifecycleObserver and therefore keep it
# from being shrunk. But there seems to be an R8 bug so this needs to stay
# https://issuetracker.google.com/issues/142778206.
-keep class androidx.lifecycle.DefaultLifecycleObserver

# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/flutter_plugin_android_lifecycle/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/flutter_xlog/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# 腾讯mars-xlog
-keep class com.tencent.mars.** {
  public protected private *;
}
# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/flutter_xlog/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/jni_flutter/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
-keep class com.github.dart_lang.jni_flutter.** { *; }

# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/jni_flutter/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/jni/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
-keep class com.github.dart_lang.jni.** { *; }

# End of content from /Users/a1/Downloads/actions-runner_regreat/_work/re_great/re_great/build/jni/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/05774bc81643302542d516bc985ea211/transformed/preference-1.2.1/proguard.txt
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Preference objects are inflated via reflection
-keep public class androidx.preference.Preference {
    public <init>(android.content.Context, android.util.AttributeSet);
}
-keep public class * extends androidx.preference.Preference {
    public <init>(android.content.Context, android.util.AttributeSet);
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/05774bc81643302542d516bc985ea211/transformed/preference-1.2.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/5d1e4e0e45d5fda6182b34eff241857d/transformed/recyclerview-1.2.1/proguard.txt
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# When layoutManager xml attribute is used, RecyclerView inflates
#LayoutManagers' constructors using reflection.
-keep public class * extends androidx.recyclerview.widget.RecyclerView$LayoutManager {
    public <init>(android.content.Context, android.util.AttributeSet, int, int);
    public <init>();
}

-keepclassmembers class androidx.recyclerview.widget.RecyclerView {
    public void suppressLayout(boolean);
    public boolean isLayoutSuppressed();
}
# End of content from /Users/a1/.gradle/caches/8.14/transforms/5d1e4e0e45d5fda6182b34eff241857d/transformed/recyclerview-1.2.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/592f794188ba9b1f45c22e17b9a3aece/transformed/jetified-library-5.21.2/proguard.txt
# Remove references to Huawei's OAID (Google's advertising id equivalent) if the dependency is not available in your project.
-dontwarn com.huawei.hms.ads.**

-dontwarn com.miui.referrer.**
-dontwarn com.samsung.android.sdk.sinstallreferrer.**

-dontwarn com.google.android.gms.**

-dontwarn com.android.billingclient.**

# End of content from /Users/a1/.gradle/caches/8.14/transforms/592f794188ba9b1f45c22e17b9a3aece/transformed/jetified-library-5.21.2/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/51866b2dd93d50458713f2993ba8e5ac/transformed/jetified-cronet-embedded-143.7445.0/proguard.txt
# -------- Config Path: base/android/proguard/shared_with_cronet.flags --------
# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Contains flags that we want to apply not only to Chromium APKs, but also to
# third-party apps that bundle the Cronet library.

# WARNING: rules in this file are applied to entire third-party APKs, not just
# Chromium code. They MUST be scoped appropriately to avoid side effects on app
# code that we do not own.

# Keep all CREATOR fields within Parcelable that are kept.
-keepclassmembers class !cr_allowunused,org.chromium.** implements android.os.Parcelable {
  public static *** CREATOR;
}

# Don't obfuscate Parcelables as they might be marshalled outside Chrome.
# If we annotated all Parcelables that get put into Bundles other than
# for saveInstanceState (e.g. PendingIntents), then we could actually keep the
# names of just those ones. For now, we'll just keep them all.
-keepnames,allowaccessmodification class !cr_allowunused,org.chromium.** implements android.os.Parcelable {}

# Keep all enum values and valueOf methods. See
# http://proguard.sourceforge.net/index.html#manual/examples.html
# for the reason for this. Also, see http://crbug.com/248037.
-keepclassmembers enum !cr_allowunused,org.chromium.** {
    public static **[] values();
}

# Required to remove fields until b/274802355 is resolved.
-assumevalues class !cr_allowunused,** {
  final org.chromium.base.ThreadUtils$ThreadChecker * return _NONNULL_;
}
# -------- Config Path: build/android/chromium_annotations.flags --------
# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Contains flags related to annotations in //build/android that can be safely
# shared with Cronet, and thus would be appropriate for third-party apps to
# include.

# Keep all annotation related attributes that can affect runtime
-keepattributes RuntimeVisible*Annotations
-keepattributes AnnotationDefault

# Keeps for class level annotations.
-keep,allowaccessmodification @org.chromium.build.annotations.UsedByReflection class ** {}

# Keeps for method level annotations.
-keepclasseswithmembers,allowaccessmodification class ** {
  @org.chromium.build.annotations.UsedByReflection <methods>;
}
-keepclasseswithmembers,allowaccessmodification class ** {
  @org.chromium.build.annotations.UsedByReflection <fields>;
}

# Never inline classes, methods, or fields with this annotation, but allow
# shrinking and obfuscation.
# Relevant to fields when they are needed to store strong references to objects
# that are held as weak references by native code.
-if @org.chromium.build.annotations.DoNotInline class * {
    *** *(...);
}
-keep,allowobfuscation,allowaccessmodification class <1> {
    *** <2>(...);
}
-keepclassmembers,allowobfuscation,allowaccessmodification class * {
   @org.chromium.build.annotations.DoNotInline <methods>;
}
-keepclassmembers,allowobfuscation,allowaccessmodification class * {
   @org.chromium.build.annotations.DoNotInline <fields>;
}

-alwaysinline class * {
    @org.chromium.build.annotations.AlwaysInline *;
}

# Keep all logs (Log.VERBOSE = 2). R8 does not allow setting to 0.
-maximumremovedandroidloglevel 1 class ** {
   @org.chromium.build.annotations.DoNotStripLogs <methods>;
}
-maximumremovedandroidloglevel 1 @org.chromium.build.annotations.DoNotStripLogs class ** {
   <methods>;
}

# Never merge classes horizontally or vertically with this annotation.
# Relevant to classes being used as a key in maps or sets.
-keep,allowaccessmodification,allowobfuscation,allowshrinking @org.chromium.build.annotations.DoNotClassMerge class *

# Mark members annotated with IdentifierNameString as identifier name strings
-identifiernamestring class * {
    @org.chromium.build.annotations.IdentifierNameString *;
}

# Mark fields with this to help R8 figure out that they cannot be null.
# Use assumevalues in addition to assumenosideeffects block because Google3 proguard cannot parse
# assumenosideeffects blocks which overwrite return value.
-assumevalues class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** *(...) return _NONNULL_;
}
-assumenosideeffects class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** *(...);
}
-assumevalues class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** * return _NONNULL_;
}
-assumenosideeffects class ** {
  @org.chromium.build.annotations.OptimizeAsNonNull *** *;
}
# -------- Config Path: components/cronet/android/cronet_impl_common_proguard.cfg --------
# Proguard config for apps that depend on cronet_impl_common_java.jar.

# Used through reflection by the API code to figure out the version of the impl
# code it's talking to.
-keep public class org.chromium.net.impl.ImplVersion {
  public *;
}

-dontwarn com.google.errorprone.annotations.DoNotMock
# -------- Config Path: components/cronet/android/cronet_impl_native_proguard.cfg --------
# Proguard config for apps that depend on cronet_impl_native_java.jar.

# This constructor is called using the reflection from Cronet API (cronet_api.jar).
-keep class org.chromium.net.impl.NativeCronetProvider {
    public <init>(android.content.Context);
}

# While Chrome doesn't need to keep these with their version of R8, some cronet
# users may be on other optimizers which still require the annotation to be
# kept in order for the keep rules to work.
-keep @interface org.chromium.build.annotations.DoNotInline
-keep @interface org.chromium.build.annotations.UsedByReflection
-keep @interface org.chromium.build.annotations.IdentifierNameString
# ** prefixed since JNI Zero classes included in cronet are jarjared to prevent
# clashes with the real JNI Zero. See https://crbug.com/353534209
-keep @interface **org.jni_zero.AccessedByNative
-keep @interface **org.jni_zero.CalledByNative
-keep @interface **org.jni_zero.CalledByNativeUnchecked

# Suppress unnecessary warnings.
-dontnote org.chromium.net.ProxyChangeListener$ProxyReceiver
-dontnote org.chromium.net.AndroidKeyStore
# Needs 'boolean onSearchRequested(android.view.SearchEvent)' (API level 23).
-dontwarn org.chromium.base.WindowCallbackWrapper

# Generated for chrome apk and not included into cronet.
-dontwarn org.chromium.base.library_loader.LibraryLoader
-dontwarn org.chromium.base.SysUtils
-dontwarn org.chromium.build.NativeLibraries

# Objects of this type are passed around by native code, but the class
# is never used directly by native code. Since the class is not loaded, it does
# not need to be preserved as an entry point.
-dontnote org.chromium.net.UrlRequest$ResponseHeadersMap
# https://android.googlesource.com/platform/sdk/+/marshmallow-mr1-release/files/proguard-android.txt#54
-dontwarn android.support.**

# Skip protobuf runtime check for isOnAndroidDevice().
# A nice-to-have optimization shamelessly stolen from //third_party/protobuf/java/lite/proguard.pgcfg.
-assumevalues class com.google.protobuf.Android {
    static boolean ASSUME_ANDROID return true;
}

# See crbug.com/1440987. We must keep every native that we are manually
# registering. If Cronet bumps its min-sdk past 21, we may be able to move to
# automatic JNI registration.
# ** prefixed since JNI Zero classes included in cronet are jarjared to prevent
# clashes with the real JNI Zero. See https://crbug.com/353534209
-keepclasseswithmembers,includedescriptorclasses,allowaccessmodification class org.chromium.**,**J.N {
  native <methods>;
}

# Protobuf builder uses reflection so make sure ProGuard leaves it alone. See
# https://crbug.com/1395764.
# Note that we can't simply use the rule from
# //third_party/protobuf/java/lite/proguard.pgcfg, because some users who
# consume our ProGuard rules do not want all their protos to be kept. Instead,
# use a more specific rule that covers Chromium protos only.
-keepclassmembers class org.chromium.** extends com.google.protobuf.GeneratedMessageLite {
  <fields>;
}

# Part of the Android System SDK; false positive when pointing ProGuard to the
# public SDK.
-dontwarn android.os.SystemProperties
# -------- Config Path: components/cronet/android/cronet_shared_proguard.cfg --------
# Proguard config for apps that depend on cronet_shared_java.jar (which should
# be all apps that depend on any part of Cronet)

# Part of the Android System SDK, so ProGuard won't be able to resolve it if
# running against the standard SDK.
-dontwarn android.util.StatsEvent
-dontwarn android.util.StatsEvent$*
# There is also an undefined reference to android.util.StatsLog.write(), which
# R8 appears to be fine with but other processors (e.g. internal Google
# ProGuard) may not be. See b/315269496.
-dontwarn android.util.StatsLog

# These annotations are only used by the jni_zero code generator, and are not
# needed at runtime. There are cases where we can end up shipping classes that
# have @CalledByNative methods, but we don't ship jni_zero because there is no
# native code; for example, CronetMetrics when called by the Java/fallback
# Cronet impl (as opposed to the native impl). See also
# https://crbug.com/445372626.
#
# The `internal.` prefix is due to renaming rules - see repackage_jars in
# BUILD.gn.
-dontwarn internal.org.jni_zero.CalledByNative
-dontwarn internal.org.jni_zero.JNINamespace
# -------- Config Path: third_party/androidx/androidx_annotations.flags --------
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

-keep @androidx.annotation.Keep class *
-keepclasseswithmembers,allowaccessmodification class * {
  @androidx.annotation.Keep <fields>;
}
-keepclasseswithmembers,allowaccessmodification class * {
  @androidx.annotation.Keep <methods>;
}
# -------- Config Path: third_party/jni_zero/proguard.flags --------
# Copyright 2023 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Keeps for method level annotations.
-keepclasseswithmembers,allowaccessmodification class ** {
  @**org.jni_zero.AccessedByNative <fields>;
}
-keepclasseswithmembers,includedescriptorclasses,allowaccessmodification,allowoptimization class ** {
  @**org.jni_zero.CalledByNative <methods>;
}
-keepclasseswithmembers,includedescriptorclasses,allowaccessmodification,allowoptimization class ** {
  @**org.jni_zero.CalledByNativeUnchecked <methods>;
}

# Allow unused native methods to be removed, but prevent renaming on those that
# are kept.
# TODO(crbug.com/315973491): Restrict the broad scope of this rule.
-keepclasseswithmembernames,includedescriptorclasses,allowaccessmodification class ** {
  native <methods>;
}

# Used when multiplexing. We don't package our own @UsedByReflection, so using this instead.
-keepclasseswithmembers class !cr_allowunused,**J.N {
  public long *_HASH;
}
# -------- Config Path: obj/third_party/androidx/androidx_annotation_annotation_experimental_java/proguard.txt --------
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/51866b2dd93d50458713f2993ba8e5ac/transformed/jetified-cronet-embedded-143.7445.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/371c2de4dae5bc34ee3d97eeb7bcdb70/transformed/jetified-flutter_sound_core-9.30.0/proguard.txt

# End of content from /Users/a1/.gradle/caches/8.14/transforms/371c2de4dae5bc34ee3d97eeb7bcdb70/transformed/jetified-flutter_sound_core-9.30.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/c5425bedb8a8f9675566019cdd54a368/transformed/media-1.4.1/proguard.txt
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Prevent Parcelable objects from being removed or renamed.
-keep class android.support.v4.media.** implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
}

# Prevent Parcelable objects from being removed or renamed.
-keep class androidx.media.** implements android.os.Parcelable {
    public static final android.os.Parcelable$Creator *;
}
# End of content from /Users/a1/.gradle/caches/8.14/transforms/c5425bedb8a8f9675566019cdd54a368/transformed/media-1.4.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/42205481a2f1c40ac757ae99d55efb58/transformed/jetified-exoplayer-core-2.17.1/proguard.txt
# Proguard rules specific to the core module.

# Constructors accessed via reflection in DefaultRenderersFactory
-dontnote com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
  <init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
}
-dontnote com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.av1.Libgav1VideoRenderer {
  <init>(long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
}
-dontnote com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
  <init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
}
-dontnote com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
  <init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
}
-dontnote com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
  <init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioSink);
}

# Constructors accessed via reflection in DefaultDownloaderFactory
-dontnote com.google.android.exoplayer2.source.dash.offline.DashDownloader
-keepclassmembers class com.google.android.exoplayer2.source.dash.offline.DashDownloader {
  <init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}
-dontnote com.google.android.exoplayer2.source.hls.offline.HlsDownloader
-keepclassmembers class com.google.android.exoplayer2.source.hls.offline.HlsDownloader {
  <init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}
-dontnote com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader
-keepclassmembers class com.google.android.exoplayer2.source.smoothstreaming.offline.SsDownloader {
  <init>(com.google.android.exoplayer2.MediaItem, com.google.android.exoplayer2.upstream.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}

# Constructors accessed via reflection in DefaultMediaSourceFactory
-dontnote com.google.android.exoplayer2.source.dash.DashMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.dash.DashMediaSource$Factory {
  <init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
}
-dontnote com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory {
  <init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
}
-dontnote com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource$Factory {
  <init>(com.google.android.exoplayer2.upstream.DataSource$Factory);
}
-dontnote com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory
-keepclasseswithmembers class com.google.android.exoplayer2.source.rtsp.RtspMediaSource$Factory {
  <init>();
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/42205481a2f1c40ac757ae99d55efb58/transformed/jetified-exoplayer-core-2.17.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/ed5e3a5bcf9c3f81c4339031b39a53aa/transformed/appcompat-1.7.0/proguard.txt
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl* {
  <methods>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/ed5e3a5bcf9c3f81c4339031b39a53aa/transformed/appcompat-1.7.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/2299246330c83163a96c06f10cab1c57/transformed/browser-1.9.0/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/2299246330c83163a96c06f10cab1c57/transformed/browser-1.9.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/cb4fe5b497d024711980909ac6e01407/transformed/webkit-1.15.0/proguard.txt
# Copyright 2018 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# We need to avoid obfuscating the support library boundary interface because
# this API is shared with the Android Support Library.
# Note that we only 'keep' the package org.chromium.support_lib_boundary itself,
# any sub-packages of that package can still be obfuscated.
-keep public class org.chromium.support_lib_boundary.* { public *; }

# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Prevent WebViewClientCompat from being renamed, since chromium depends on this name.
-keepnames public class androidx.webkit.WebViewClientCompat

# Prevent ProcessGlobalConfig and member sProcessGlobalConfig from being renamed, since chromium
# depends on this name.
-keepnames public class androidx.webkit.ProcessGlobalConfig {
    private static final *** sProcessGlobalConfig;
}

-keepclassmembers class androidx.webkit.internal.PageImpl {
    private final org.chromium.support_lib_boundary.WebViewPageBoundaryInterface mPageBoundaryInterface;
}
# End of content from /Users/a1/.gradle/caches/8.14/transforms/cb4fe5b497d024711980909ac6e01407/transformed/webkit-1.15.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/f7e62b79342b07e97de3625a1b5f1564/transformed/jetified-play-services-measurement-23.2.0/proguard.txt
# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.measurement.zzadu {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/f7e62b79342b07e97de3625a1b5f1564/transformed/jetified-play-services-measurement-23.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/5c740509ab6cf0d484d838a14c848f08/transformed/jetified-play-services-measurement-api-23.2.0/proguard.txt
# Can be removed once we pull in a dependency on firebase-common that includes
# https://github.com/firebase/firebase-android-sdk/pull/1472/commits/856f1ca1151cdd88679bbc778892f23dfa34fc06#diff-a2ed34b5a38b4c6c686b09e54865eb48
-dontwarn com.google.auto.value.AutoValue
-dontwarn com.google.auto.value.AutoValue$Builder

# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.measurement.zzadu {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/5c740509ab6cf0d484d838a14c848f08/transformed/jetified-play-services-measurement-api-23.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/0c7ae1d4041363dbd9d4492f19580931/transformed/jetified-play-services-measurement-sdk-23.2.0/proguard.txt
# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.measurement.zzadu {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/0c7ae1d4041363dbd9d4492f19580931/transformed/jetified-play-services-measurement-sdk-23.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/bdbf4ed48c5c3c1564bec80ce67270f5/transformed/jetified-play-services-measurement-impl-23.2.0/proguard.txt
-dontwarn dalvik.system.VMStack
-dontwarn com.google.common.annotations.GoogleInternal

# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.measurement.zzadu {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/bdbf4ed48c5c3c1564bec80ce67270f5/transformed/jetified-play-services-measurement-impl-23.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/603e0514eb5ebd6270a804fb3bd0f5d5/transformed/jetified-billing-8.0.0/proguard.txt
# Keep the AIDL interface
-keep class com.android.vending.billing.** { *; }
-keep class com.google.android.apps.play.billingtestcompanion.aidl.** { *; }

-dontwarn javax.annotation.**
-dontwarn org.checkerframework.**
-dontwarn com.google.android.apps.common.proguard.UsedByReflection

-keepnames class com.android.billingclient.api.ProxyBillingActivity
-keepnames class com.android.billingclient.api.ProxyBillingActivityV2

# Avoids Proguard warning at build time due to Protobuf use of sun.misc.Unsafe
# and libcore.io.Memory which are available at runtime.
-dontwarn libcore.io.Memory
-dontwarn sun.misc.Unsafe


# For Phenotype
# An unused P/H transitive dependency: com.google.android.libraries.phenotype.registration.PhenotypeResourceReader is stripped out from all Granular normal deps and "can't find reference..." DepsVersionCompat test warning
# is suppressed by ProGuard -dontwarn config.
-dontwarn com.google.android.libraries.phenotype.registration.PhenotypeResourceReader
-dontwarn com.google.android.apps.common.proguard.SideEffectFree

# Uses reflection to determine if these classes are present and has a graceful
# fallback if they aren't. The test failure it fixes appears to be caused by flogger.
-dontwarn dalvik.system.VMStack
-dontwarn com.google.common.flogger.backend.google.GooglePlatform
-dontwarn com.google.common.flogger.backend.system.DefaultPlatform
# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.play_billing.zzfi {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/603e0514eb5ebd6270a804fb3bd0f5d5/transformed/jetified-billing-8.0.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/3eda5504e9df9db1c972260bab91b443/transformed/jetified-play-services-auth-base-18.0.10/proguard.txt
# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.auth.zzev {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/3eda5504e9df9db1c972260bab91b443/transformed/jetified-play-services-auth-base-18.0.10/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/0f44ef507c56d61d8bc44b7da58e2fe5/transformed/jetified-play-services-fido-20.0.1/proguard.txt
# Methods enable and disable in this class are complained as unresolved
# references, but they are system APIs and are not used by Fido client apps.
-dontwarn android.nfc.NfcAdapter

# End of content from /Users/a1/.gradle/caches/8.14/transforms/0f44ef507c56d61d8bc44b7da58e2fe5/transformed/jetified-play-services-fido-20.0.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/abb9c49db6e9f40f488cadbd1d675141/transformed/jetified-play-services-base-18.9.0/proguard.txt
# b/35135904 Ensure that proguard will not strip the mResultGuardian.
-keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult {
  com.google.android.gms.common.api.internal.BasePendingResult$ReleasableResultGuardian mResultGuardian;
}



# End of content from /Users/a1/.gradle/caches/8.14/transforms/abb9c49db6e9f40f488cadbd1d675141/transformed/jetified-play-services-base-18.9.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/848b8dd03ffd02ece8af7035a2135a56/transformed/jetified-firebase-common-22.2.0/proguard.txt
-dontwarn com.google.firebase.platforminfo.KotlinDetector
-dontwarn com.google.auto.value.AutoValue
-dontwarn com.google.auto.value.AutoValue$Builder

# End of content from /Users/a1/.gradle/caches/8.14/transforms/848b8dd03ffd02ece8af7035a2135a56/transformed/jetified-firebase-common-22.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/acfc13f7842eace9be517a08b0d34af9/transformed/jetified-glide-4.16.0/proguard.txt
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
 <init>(...);
}
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}
-keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
  *** rewind();
}

# Uncomment for DexGuard only
#-keepresourcexmlelements manifest/application/meta-data@value=GlideModule

# End of content from /Users/a1/.gradle/caches/8.14/transforms/acfc13f7842eace9be517a08b0d34af9/transformed/jetified-glide-4.16.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/c73614b4f2934c55d0992c3d12c0a77a/transformed/fragment-1.8.3/proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# The default FragmentFactory creates Fragment instances using reflection
-if public class ** extends androidx.fragment.app.Fragment
-keepclasseswithmembers,allowobfuscation public class <1> {
    public <init>();
}

# FragmentTransition will reflectively lookup:
# androidx.transition.FragmentTransitionSupport
# We should ensure that we keep the constructor if the code using this is alive
-if class androidx.fragment.app.FragmentTransition {
   private static androidx.fragment.app.FragmentTransitionImpl resolveSupportImpl();
}
-keep class androidx.transition.FragmentTransitionSupport {
    public <init>();
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/c73614b4f2934c55d0992c3d12c0a77a/transformed/fragment-1.8.3/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/af72c3d08f3b308a271f9fa2466f3fa4/transformed/jetified-activity-ktx-1.12.4/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/af72c3d08f3b308a271f9fa2466f3fa4/transformed/jetified-activity-ktx-1.12.4/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/dbdd76c2774711bb91ad303348c1c249/transformed/jetified-activity-1.12.4/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/dbdd76c2774711bb91ad303348c1c249/transformed/jetified-activity-1.12.4/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/2f7153ecaa144c433db553a1d9ee80c0/transformed/jetified-window-1.2.0/proguard.txt
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# A rule that will keep classes that implement SidecarInterface$SidecarCallback if Sidecar seems
# be used. See b/157286362 and b/165268619 for details.
# TODO(b/208543178) investigate how to pass header jar to R8 so we don't need this rule
-if class androidx.window.layout.adapter.sidecar.SidecarCompat {
  public *** setExtensionCallback(androidx.window.layout.adapter.sidecar.ExtensionInterfaceCompat$ExtensionCallbackInterface);
}
-keep class androidx.window.layout.adapter.sidecar.SidecarCompat$TranslatingCallback,
 androidx.window.layout.adapter.sidecar.DistinctElementSidecarCallback {
  public *** onDeviceStateChanged(androidx.window.sidecar.SidecarDeviceState);
  public *** onWindowLayoutChanged(android.os.IBinder, androidx.window.sidecar.SidecarWindowLayoutInfo);
}
# Required for window area API reflection guard
-keep interface androidx.window.area.reflectionguard.* {*;}
# End of content from /Users/a1/.gradle/caches/8.14/transforms/2f7153ecaa144c433db553a1d9ee80c0/transformed/jetified-window-1.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/8e9ed9d1071dbfac964999a7c80b48d7/transformed/jetified-datastore-preferences-core-release/proguard.txt
-keepclassmembers class * extends androidx.datastore.preferences.protobuf.GeneratedMessageLite {
    <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/8e9ed9d1071dbfac964999a7c80b48d7/transformed/jetified-datastore-preferences-core-release/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/cf2f26b8892150aeb43153475a1b6128/transformed/jetified-navigationevent/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/cf2f26b8892150aeb43153475a1b6128/transformed/jetified-navigationevent/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/0659fa210e9f495937734d493b8b8618/transformed/jetified-lifecycle-viewmodel-savedstate-release/proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
    <init>(androidx.lifecycle.SavedStateHandle);
}

-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
    <init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/0659fa210e9f495937734d493b8b8618/transformed/jetified-lifecycle-viewmodel-savedstate-release/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/64a5fbdda3d18f1a30ebe32ea6515900/transformed/jetified-lifecycle-viewmodel-release/proguard.txt
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
    <init>();
}

-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
    <init>(android.app.Application);
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/64a5fbdda3d18f1a30ebe32ea6515900/transformed/jetified-lifecycle-viewmodel-release/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/9b22e47cab1f8bb3d82bff9d9cf9c1d6/transformed/jetified-savedstate-ktx-1.3.1/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/9b22e47cab1f8bb3d82bff9d9cf9c1d6/transformed/jetified-savedstate-ktx-1.3.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/e5190494d3a6a2d60f6520fa851e1efe/transformed/jetified-savedstate-release/proguard.txt
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated {
    <init>();
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/e5190494d3a6a2d60f6520fa851e1efe/transformed/jetified-savedstate-release/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/2c3bf4dab04bbf8b6af09ecc5c944b8e/transformed/lifecycle-livedata-core-2.9.2/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/2c3bf4dab04bbf8b6af09ecc5c944b8e/transformed/lifecycle-livedata-core-2.9.2/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/7c9c977f5b3900638a4be33544dd14cd/transformed/jetified-lifecycle-process-2.9.2/proguard.txt
# this rule is need to work properly when app is compiled with api 28, see b/142778206
-keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; }
# End of content from /Users/a1/.gradle/caches/8.14/transforms/7c9c977f5b3900638a4be33544dd14cd/transformed/jetified-lifecycle-process-2.9.2/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/d617c1cad2755f16c8da5c1247ea1023/transformed/jetified-lifecycle-viewmodel-ktx-2.9.2/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/d617c1cad2755f16c8da5c1247ea1023/transformed/jetified-lifecycle-viewmodel-ktx-2.9.2/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/a74d7cf6603c0d9675299004e169b18a/transformed/jetified-lifecycle-livedata-core-ktx-2.9.2/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/a74d7cf6603c0d9675299004e169b18a/transformed/jetified-lifecycle-livedata-core-ktx-2.9.2/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/987e73c39c665d09befea07891d778e8/transformed/rules/lib/META-INF/proguard/androidx-lifecycle-lifecycle-common-java8.pro
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/987e73c39c665d09befea07891d778e8/transformed/rules/lib/META-INF/proguard/androidx-lifecycle-lifecycle-common-java8.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/d7dbc3109517d173e5cf95381c2b0dc6/transformed/jetified-lifecycle-runtime-release/proguard.txt
-keepattributes AnnotationDefault,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations

-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
    <fields>;
}

-keep class * implements androidx.lifecycle.GeneratedAdapter {
    <init>(...);
}

-keepclassmembers class ** {
    @androidx.lifecycle.OnLifecycleEvent *;
}

# The deprecated `android.app.Fragment` creates `Fragment` instances using reflection.
# See: b/338958225, b/341537875
-keepclasseswithmembers,allowobfuscation public class androidx.lifecycle.ReportFragment {
    public <init>();
}

# this rule is need to work properly when app is compiled with api 28, see b/142778206
# Also this rule prevents registerIn from being inlined.
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }

# End of content from /Users/a1/.gradle/caches/8.14/transforms/d7dbc3109517d173e5cf95381c2b0dc6/transformed/jetified-lifecycle-runtime-release/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/38b354b8ebef741741748640aef81106/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
# Allow R8 to optimize away the FastServiceLoader.
# Together with ServiceLoader optimization in R8
# this results in direct instantiation when loading Dispatchers.Main
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatcherLoader {
    boolean FAST_SERVICE_LOADER_ENABLED return false;
}

-assumenosideeffects class kotlinx.coroutines.internal.FastServiceLoaderKt {
    boolean ANDROID_DETECTED return true;
}

# Disable support for "Missing Main Dispatcher", since we always have Android main dispatcher
-assumenosideeffects class kotlinx.coroutines.internal.MainDispatchersKt {
    boolean SUPPORT_MISSING return false;
}

# Statically turn off all debugging facilities and assertions
-assumenosideeffects class kotlinx.coroutines.DebugKt {
    boolean getASSERTIONS_ENABLED() return false;
    boolean getDEBUG() return false;
    boolean getRECOVER_STACK_TRACES() return false;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/38b354b8ebef741741748640aef81106/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/3ce61487b6d343fe6c3361f69a834341/transformed/rules/lib/META-INF/com.android.tools/r8/coroutines.pro
# When editing this file, update the following files as well:
# - META-INF/proguard/coroutines.pro
# - META-INF/com.android.tools/proguard/coroutines.pro

# Most of volatile fields are updated with AFU and should not be mangled
-keepclassmembers class kotlinx.coroutines.** {
    volatile <fields>;
}

# Same story for the standard library's SafeContinuation that also uses AtomicReferenceFieldUpdater
-keepclassmembers class kotlin.coroutines.SafeContinuation {
    volatile <fields>;
}

# These classes are only required by kotlinx.coroutines.debug.AgentPremain, which is only loaded when
# kotlinx-coroutines-core is used as a Java agent, so these are not needed in contexts where ProGuard is used.
-dontwarn java.lang.instrument.ClassFileTransformer
-dontwarn sun.misc.SignalHandler
-dontwarn java.lang.instrument.Instrumentation
-dontwarn sun.misc.Signal

# Only used in `kotlinx.coroutines.internal.ExceptionsConstructor`.
# The case when it is not available is hidden in a `try`-`catch`, as well as a check for Android.
-dontwarn java.lang.ClassValue

# An annotation used for build tooling, won't be directly accessed.
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
# End of content from /Users/a1/.gradle/caches/8.14/transforms/3ce61487b6d343fe6c3361f69a834341/transformed/rules/lib/META-INF/com.android.tools/r8/coroutines.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/791f908c08d9618a79cb640e37584899/transformed/jetified-play-services-tasks-18.4.0/proguard.txt


# End of content from /Users/a1/.gradle/caches/8.14/transforms/791f908c08d9618a79cb640e37584899/transformed/jetified-play-services-tasks-18.4.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/6fb3d9bec64f454d8d611a17b2a01d6e/transformed/jetified-play-services-measurement-sdk-api-23.2.0/proguard.txt
# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.measurement.zzadu {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/6fb3d9bec64f454d8d611a17b2a01d6e/transformed/jetified-play-services-measurement-sdk-api-23.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/c39ed31eb3d54851dcac0571dd7e6752/transformed/jetified-play-services-measurement-base-23.2.0/proguard.txt
# We keep all fields for every generated proto file as the runtime uses
# reflection over them that ProGuard cannot detect. Without this keep
# rule, fields may be removed that would cause runtime failures.
-keepclassmembers class * extends com.google.android.gms.internal.measurement.zzadu {
  <fields>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/c39ed31eb3d54851dcac0571dd7e6752/transformed/jetified-play-services-measurement-base-23.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/d6f5cbf320420536612885ac4cdc1955/transformed/jetified-play-services-basement-18.9.0/proguard.txt
# Needed when building against pre-Marshmallow SDK.
-dontwarn android.security.NetworkSecurityPolicy

# Needed when building against Marshmallow SDK.
-dontwarn android.app.Notification

# Protobuf has references not on the Android boot classpath
-dontwarn sun.misc.Unsafe
-dontwarn libcore.io.Memory

# Annotations used during internal SDK shrinking.
-dontwarn com.google.android.apps.common.proguard.**

# Annotations referenced by the SDK but whose definitions are contained in
# non-required dependencies.
-dontwarn javax.annotation.**
-dontwarn org.checkerframework.**
-dontwarn com.google.errorprone.annotations.**
-dontwarn org.jspecify.annotations.NullMarked

# Annotations no longer exist. Suppression prevents ProGuard failures in
# SDKs which depend on earlier versions of play-services-basement.
-dontwarn com.google.android.gms.common.util.VisibleForTesting

# Proguard flags for consumers of the Google Play services SDK
# https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project

# Keep SafeParcelable NULL value, needed for reflection by DowngradeableSafeParcel
-keepclassmembers public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

# Needed for Parcelable/SafeParcelable classes & their creators to not get renamed, as they are
# found via reflection.
-keep class com.google.android.gms.common.internal.ReflectedParcelable
-keepnames class * implements com.google.android.gms.common.internal.ReflectedParcelable
-keepclassmembers class * implements android.os.Parcelable {
  public static final *** CREATOR;
}

# Keep the classes/members we need for client functionality.
-keep @interface android.support.annotation.Keep
-keep @androidx.annotation.Keep class *
-keepclasseswithmembers class * {
  @androidx.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
  @androidx.annotation.Keep <methods>;
}

# Keep androidX equivalent of above android.support to allow Jetification.
-keep @interface androidx.annotation.Keep
-keep @androidx.annotation.Keep class *
-keepclasseswithmembers class * {
  @androidx.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
  @androidx.annotation.Keep <methods>;
}

# Keep the names of classes/members we need for client functionality.
-keep @interface com.google.android.gms.common.annotation.KeepName
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
  @com.google.android.gms.common.annotation.KeepName *;
}

# Keep Dynamite API entry points
-keep @interface com.google.android.gms.common.util.DynamiteApi
-keep @com.google.android.gms.common.util.DynamiteApi public class * {
  public <fields>;
  public <methods>;
}



# End of content from /Users/a1/.gradle/caches/8.14/transforms/d6f5cbf320420536612885ac4cdc1955/transformed/jetified-play-services-basement-18.9.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/f125fc2595abdd947f621dfc226185b9/transformed/jetified-core-ktx-1.18.0/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/f125fc2595abdd947f621dfc226185b9/transformed/jetified-core-ktx-1.18.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/e5e6844e567cc20c25b5ec293fc12419/transformed/vectordrawable-animated-1.1.0/proguard.txt
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# keep setters in VectorDrawables so that animations can still work.
-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* {
   void set*(***);
   *** get*();
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/e5e6844e567cc20c25b5ec293fc12419/transformed/vectordrawable-animated-1.1.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/e87f511e180c66fe3d479cf028934445/transformed/transition-1.4.1/proguard.txt
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Keep a field in transition that is used to keep a reference to weakly-referenced object
-keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter {
  androidx.transition.ChangeBounds$ViewBounds mViewBounds;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/e87f511e180c66fe3d479cf028934445/transformed/transition-1.4.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/12c91f6f6dfeb5236b14cc85aced68da/transformed/core-1.18.0/proguard.txt
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
  <methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
  <methods>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/12c91f6f6dfeb5236b14cc85aced68da/transformed/core-1.18.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/6427528bf4d191b467df4699af257c16/transformed/jetified-transport-backend-cct-3.3.0/proguard.txt
-dontwarn com.google.auto.value.AutoValue
-dontwarn com.google.auto.value.AutoValue$Builder

# End of content from /Users/a1/.gradle/caches/8.14/transforms/6427528bf4d191b467df4699af257c16/transformed/jetified-transport-backend-cct-3.3.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/77aadc325adb090196298c0be7ef6d2d/transformed/jetified-egloo-0.6.1/proguard.txt
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /Users/yuya.tanaka/devel/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 *;
#}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/77aadc325adb090196298c0be7ef6d2d/transformed/jetified-egloo-0.6.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/935d8d908995b1cf4f44e81c291f536c/transformed/rules/lib/META-INF/proguard/okio.pro
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*

# End of content from /Users/a1/.gradle/caches/8.14/transforms/935d8d908995b1cf4f44e81c291f536c/transformed/rules/lib/META-INF/proguard/okio.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/de5c2d306b2677f150dfb4e71b87a312/transformed/jetified-core-viewtree-1.0.0/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/de5c2d306b2677f150dfb4e71b87a312/transformed/jetified-core-viewtree-1.0.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/345cfb1832ca693f33da49ee37250935/transformed/exifinterface-1.4.2/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/345cfb1832ca693f33da49ee37250935/transformed/exifinterface-1.4.2/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/0d3261da8b0b0926aa349aba295ce3e2/transformed/jetified-firebase-components-19.0.0/proguard.txt
-dontwarn com.google.firebase.components.Component$Instantiation
-dontwarn com.google.firebase.components.Component$ComponentType

-keep class * implements com.google.firebase.components.ComponentRegistrar { void <init>(); }
-keep,allowshrinking interface com.google.firebase.components.ComponentRegistrar

# End of content from /Users/a1/.gradle/caches/8.14/transforms/0d3261da8b0b0926aa349aba295ce3e2/transformed/jetified-firebase-components-19.0.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/ac0dbfba0a5cda094e79e2b4582a8108/transformed/jetified-startup-runtime-1.1.1/proguard.txt
# It's important that we preserve initializer names, given they are used in the AndroidManifest.xml.
-keepnames class * extends androidx.startup.Initializer

# These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated,
# and are a part of the primary dex file. This is because they are discovered and instantiated
# during application startup.
-keep class * extends androidx.startup.Initializer {
    # Keep the public no-argument constructor while allowing other methods to be optimized.
    <init>();
}

-assumenosideeffects class androidx.startup.StartupLogger { public static <methods>; }

# End of content from /Users/a1/.gradle/caches/8.14/transforms/ac0dbfba0a5cda094e79e2b4582a8108/transformed/jetified-startup-runtime-1.1.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/ffb888b438512d6ae8d3ba9913c8978c/transformed/versionedparcelable-1.1.1/proguard.txt
-keep class * implements androidx.versionedparcelable.VersionedParcelable
-keep public class android.support.**Parcelizer { *; }
-keep public class androidx.**Parcelizer { *; }
-keep public class androidx.versionedparcelable.ParcelImpl

# End of content from /Users/a1/.gradle/caches/8.14/transforms/ffb888b438512d6ae8d3ba9913c8978c/transformed/versionedparcelable-1.1.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/1d6867f3077f0dbda23b6abcbfb6ef1a/transformed/jetified-transport-api-3.2.0/proguard.txt
-dontwarn com.google.auto.value.AutoValue
-dontwarn com.google.auto.value.AutoValue$Builder

# End of content from /Users/a1/.gradle/caches/8.14/transforms/1d6867f3077f0dbda23b6abcbfb6ef1a/transformed/jetified-transport-api-3.2.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/b46a3472b1c20c4bf4e28fa3baf7018c/transformed/jetified-exoplayer-datasource-2.17.1/proguard.txt
# Proguard rules specific to the DataSource module.

# Constant folding for resource integers may mean that a resource passed to this method appears to be unused. Keep the method to prevent this from happening.
-keepclassmembers class com.google.android.exoplayer2.upstream.RawResourceDataSource {
  public static android.net.Uri buildRawResourceUri(int);
}

# Constructors accessed via reflection in DefaultDataSource
-dontnote com.google.android.exoplayer2.ext.rtmp.RtmpDataSource
-keepclassmembers class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource {
  <init>();
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/b46a3472b1c20c4bf4e28fa3baf7018c/transformed/jetified-exoplayer-datasource-2.17.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/d9f4cf9b65854abdbbb6a94a5296edf2/transformed/jetified-exoplayer-extractor-2.17.1/proguard.txt
# Proguard rules specific to the extractor module.

# Methods accessed via reflection in DefaultExtractorsFactory
-dontnote com.google.android.exoplayer2.ext.flac.FlacExtractor
-keepclassmembers class com.google.android.exoplayer2.ext.flac.FlacExtractor {
  <init>(int);
}
-dontnote com.google.android.exoplayer2.ext.flac.FlacLibrary
-keepclassmembers class com.google.android.exoplayer2.ext.flac.FlacLibrary {
  public static boolean isAvailable();
}

# Don't warn about checkerframework and Kotlin annotations
-dontwarn org.checkerframework.**
-dontwarn kotlin.annotations.jvm.**
-dontwarn javax.annotation.**

# End of content from /Users/a1/.gradle/caches/8.14/transforms/d9f4cf9b65854abdbbb6a94a5296edf2/transformed/jetified-exoplayer-extractor-2.17.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/05dbfd031b8cb40e87be7d347686b23e/transformed/jetified-exoplayer-common-2.17.1/proguard.txt
# Proguard rules specific to the common module.

# Don't warn about checkerframework and Kotlin annotations
-dontwarn org.checkerframework.**
-dontwarn kotlin.annotations.jvm.**
-dontwarn javax.annotation.**

# From https://github.com/google/guava/wiki/UsingProGuardWithGuava
-dontwarn java.lang.ClassValue
-dontwarn java.lang.SafeVarargs
-dontwarn javax.lang.model.element.Modifier
-dontwarn sun.misc.Unsafe

# Don't warn about Guava's compile-only dependencies.
# These lines are needed for ProGuard but not R8.
-dontwarn com.google.errorprone.annotations.**
-dontwarn com.google.j2objc.annotations.**
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement

# Workaround for https://issuetracker.google.com/issues/112297269
# This is needed for ProGuard but not R8.
-keepclassmembernames class com.google.common.base.Function { *; }

# End of content from /Users/a1/.gradle/caches/8.14/transforms/05dbfd031b8cb40e87be7d347686b23e/transformed/jetified-exoplayer-common-2.17.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/7af4dc19bf1686736003e93f45e2e5ce/transformed/jetified-core-1.0.0/proguard.txt
# Copyright (C) 2022 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# These interfaces must be kept for the client library to invoke methods in extensions.
-keep interface androidx.window.extensions.core.util.function.Consumer {
  public void accept(***);
}
-keep interface androidx.window.extensions.core.util.function.Predicate {
  public boolean test(***);
}
-keep interface androidx.window.extensions.core.util.function.Function {
  public *** apply(***);
}
# End of content from /Users/a1/.gradle/caches/8.14/transforms/7af4dc19bf1686736003e93f45e2e5ce/transformed/jetified-core-1.0.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/ad8235ac4839cc6635c74850f2a385d9/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
-keep,allowobfuscation @interface androidx.annotation.Keep
-keep @androidx.annotation.Keep class * {*;}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
    @androidx.annotation.Keep <init>(...);
}

-keepclassmembers,allowobfuscation class * {
  @androidx.annotation.DoNotInline <methods>;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/ad8235ac4839cc6635c74850f2a385d9/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/8258d4051fb5f7a99faa969687775f67/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-common.pro
# Keep `Companion` object fields of serializable classes.
# This avoids serializer lookup through `getDeclaredClasses` as done for named companion objects.
-if @kotlinx.serialization.Serializable class **
-keepclassmembers class <1> {
    static <1>$Companion Companion;
}

# Keep `serializer()` on companion objects (both default and named) of serializable classes.
-if @kotlinx.serialization.Serializable class ** {
    static **$* *;
}
-keepclassmembers class <2>$<3> {
    kotlinx.serialization.KSerializer serializer(...);
}

# Keep `INSTANCE.serializer()` of serializable objects.
-if @kotlinx.serialization.Serializable class ** {
    public static ** INSTANCE;
}
-keepclassmembers class <1> {
    public static <1> INSTANCE;
    kotlinx.serialization.KSerializer serializer(...);
}

# @Serializable and @Polymorphic are used at runtime for polymorphic serialization.
-keepattributes RuntimeVisibleAnnotations,AnnotationDefault

# Don't print notes about potential mistakes or omissions in the configuration for kotlinx-serialization classes
# See also https://github.com/Kotlin/kotlinx.serialization/issues/1900
-dontnote kotlinx.serialization.**

# Serialization core uses `java.lang.ClassValue` for caching inside these specified classes.
# If there is no `java.lang.ClassValue` (for example, in Android), then R8/ProGuard will print a warning.
# However, since in this case they will not be used, we can disable these warnings
-dontwarn kotlinx.serialization.internal.ClassValueReferences

# disable optimisation for descriptor field because in some versions of ProGuard, optimization generates incorrect bytecode that causes a verification error
# see https://github.com/Kotlin/kotlinx.serialization/issues/2719
-keepclassmembers public class **$$serializer {
    private ** descriptor;
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/8258d4051fb5f7a99faa969687775f67/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-common.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/8258d4051fb5f7a99faa969687775f67/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-r8.pro
# Rule to save runtime annotations on serializable class.
# If the R8 full mode is used, annotations are removed from classes-files.
#
# For the annotation serializer, it is necessary to read the `Serializable` annotation inside the serializer<T>() function - if it is present,
# then `SealedClassSerializer` is used, if absent, then `PolymorphicSerializer'.
#
# When using R8 full mode, all interfaces will be serialized using `PolymorphicSerializer`.
#
# see https://github.com/Kotlin/kotlinx.serialization/issues/2050

 -if @kotlinx.serialization.Serializable class **
 -keep, allowshrinking, allowoptimization, allowobfuscation, allowaccessmodification class <1>

# End of content from /Users/a1/.gradle/caches/8.14/transforms/8258d4051fb5f7a99faa969687775f67/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-r8.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/54c249866619f25ff8ff237233f920af/transformed/jetified-runtime-annotation/proguard.txt
# Intentionally empty proguard rules to indicate this library is safe to shrink

# End of content from /Users/a1/.gradle/caches/8.14/transforms/54c249866619f25ff8ff237233f920af/transformed/jetified-runtime-annotation/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/9a90e0f105594b9bce07c3db0683410e/transformed/jetified-Android_CN_OAID-4.2.17/proguard.txt
# 本库模块专用的混淆规则（注：“repeackage”拼写是历史遗留问题）
-keep class repeackage.com.uodis.opendevice.aidl.** { *; }
-keep interface repeackage.com.uodis.opendevice.aidl.** { *; }
-keep class repeackage.com.asus.msa.SupplementaryDID.** { *; }
-keep interface repeackage.com.asus.msa.SupplementaryDID.** { *; }
-keep class repeackage.com.bun.lib.** { *; }
-keep interface repeackage.com.bun.lib.** { *; }
-keep class repeackage.com.heytap.openid.** { *; }
-keep interface repeackage.com.heytap.openid.** { *; }
-keep class repeackage.com.samsung.android.deviceidservice.** { *; }
-keep interface repeackage.com.samsung.android.deviceidservice.** { *; }
-keep class repeackage.com.zui.deviceidservice.** { *; }
-keep interface repeackage.com.zui.deviceidservice.** { *; }
-keep class repeackage.com.coolpad.deviceidsupport.** { *; }
-keep interface repeackage.com.coolpad.deviceidsupport.** { *; }
-keep class repeackage.com.android.creator.** { *; }
-keep interface repeackage.com.android.creator.** { *; }
-keep class repeackage.com.google.android.gms.ads.identifier.internal.** { *; }
-keep interface repeackage.com.google.android.gms.ads.identifier.internal.* { *; }
-keep class repeackage.com.oplus.stdid.** {*; }
-keep interface repeackage.com.oplus.stdid.** {*; }
-keep class com.huawei.hms.ads.** {*; }
-keep interface com.huawei.hms.ads.** {*; }
-keep class com.hihonor.ads.** {*; }
-keep interface com.hihonor.ads.** {*; }
-keep class repeackage.com.qiku.id.** { *; }
-keep interface repeackage.com.qiku.id.** { *; }
# End of content from /Users/a1/.gradle/caches/8.14/transforms/9a90e0f105594b9bce07c3db0683410e/transformed/jetified-Android_CN_OAID-4.2.17/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/0f2b5987c637c5a18c59608a77995a44/transformed/rules/lib/META-INF/proguard/gson.pro
### Gson ProGuard and R8 rules which are relevant for all users
### This file is automatically recognized by ProGuard and R8, see https://developer.android.com/build/shrink-code#configuration-files
###
### IMPORTANT:
### - These rules are additive; don't include anything here which is not specific to Gson (such as completely
###   disabling obfuscation for all classes); the user would be unable to disable that then
### - These rules are not complete; users will most likely have to add additional rules for their specific
###   classes, for example to disable obfuscation for certain fields or to keep no-args constructors
###

# Keep generic signatures; needed for correct type resolution
-keepattributes Signature

# Keep Gson annotations
# Note: Cannot perform finer selection here to only cover Gson annotations, see also https://stackoverflow.com/q/47515093
-keepattributes RuntimeVisibleAnnotations,AnnotationDefault

### The following rules are needed for R8 in "full mode" which only adheres to `-keepattribtues` if
### the corresponding class or field is matches by a `-keep` rule as well, see
### https://r8.googlesource.com/r8/+/refs/heads/main/compatibility-faq.md#r8-full-mode

# Keep class TypeToken (respectively its generic signature) if present
-if class com.google.gson.reflect.TypeToken
-keep,allowobfuscation class com.google.gson.reflect.TypeToken

# Keep any (anonymous) classes extending TypeToken
-keep,allowobfuscation class * extends com.google.gson.reflect.TypeToken

# Keep classes with @JsonAdapter annotation
-keep,allowobfuscation,allowoptimization @com.google.gson.annotations.JsonAdapter class *

# Keep fields with any other Gson annotation
# Also allow obfuscation, assuming that users will additionally use @SerializedName or
# other means to preserve the field names
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.Expose <fields>;
  @com.google.gson.annotations.JsonAdapter <fields>;
  @com.google.gson.annotations.Since <fields>;
  @com.google.gson.annotations.Until <fields>;
}

# Keep no-args constructor of classes which can be used with @JsonAdapter
# By default their no-args constructor is invoked to create an adapter instance
-keepclassmembers class * extends com.google.gson.TypeAdapter {
  <init>();
}
-keepclassmembers class * implements com.google.gson.TypeAdapterFactory {
  <init>();
}
-keepclassmembers class * implements com.google.gson.JsonSerializer {
  <init>();
}
-keepclassmembers class * implements com.google.gson.JsonDeserializer {
  <init>();
}

# Keep fields annotated with @SerializedName for classes which are referenced.
# If classes with fields annotated with @SerializedName have a no-args
# constructor keep that as well. Based on
# https://issuetracker.google.com/issues/150189783#comment11.
# See also https://github.com/google/gson/pull/2420#discussion_r1241813541
# for a more detailed explanation.
-if class *
-keepclasseswithmembers,allowobfuscation class <1> {
  @com.google.gson.annotations.SerializedName <fields>;
}
-if class * {
  @com.google.gson.annotations.SerializedName <fields>;
}
-keepclassmembers,allowobfuscation,allowoptimization class <1> {
  <init>();
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/0f2b5987c637c5a18c59608a77995a44/transformed/rules/lib/META-INF/proguard/gson.pro
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/a5005eb74bacbc3b03ad6f9a8eabac17/transformed/jetified-ThinkingAnalyticsSDK-3.0.0.1/proguard.txt
# aop
-keep class cn.thinkingdata.analytics.aop.** { *; }

-keep class cn.thinkingdata.analytics.encrypt.TDSecreteKey { *; }

-keep public interface cn.thinkingdata.analytics.ScreenAutoTracker { *; }
-keep public interface cn.thinkingdata.analytics.crash.CrashLogListener { *; }
-keep public class cn.thinkingdata.analytics.TDConfig { *; }
-keep public class cn.thinkingdata.analytics.utils.TASensitiveInfo { *; }
-keep public class cn.thinkingdata.analytics.TDConfig$TDMode { *; }
-keep public class cn.thinkingdata.analytics.TDConfig$ModeEnum { *; }
-keep public class cn.thinkingdata.analytics.TDConfig$NetworkType { *; }

-keep public class cn.thinkingdata.analytics.TDFirstEvent { *; }
-keep public class cn.thinkingdata.analytics.TDOverWritableEvent { *; }
-keep public class cn.thinkingdata.analytics.TDUpdatableEvent { *; }
-keep public class cn.thinkingdata.analytics.TDEventModel { *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsEvent { *; }
-keep public class cn.thinkingdata.analytics.BuildConfig { *; }
-keep class cn.thinkingdata.analytics.model.** { *; }

-keep public class cn.thinkingdata.analytics.TDWebAppInterface { *; }

-keep public class cn.thinkingdata.analytics.ThinkingAdapterViewItemTrackProperties { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataAutoTrackAppViewScreenUrl { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataFragmentTitle { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppClick { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppViewScreen { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataIgnoreTrackAppViewScreenAndAppClick { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataIgnoreTrackOnClick { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataTrackEvent { *; }
-keep public class cn.thinkingdata.analytics.ThinkingDataTrackViewOnClick { *; }
-keep public class cn.thinkingdata.analytics.ThinkingExpandableListViewItemTrackProperties { *; }

-keep public class cn.thinkingdata.analytics.ThinkingDataRuntimeBridge { *; }

-keep public class cn.thinkingdata.analytics.TDPresetProperties { *; }

-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsSDK { *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsSDK$ThinkingdataNetworkType { *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsSDK$DynamicSuperPropertiesTracker{ *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsSDK$TATrackStatus{ *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventType{ *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsSDK$AutoTrackEventListener{ *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalyticsPlugin { *; }
-keep class cn.thinkingdata.module.routes.** { *; }

-keep public class cn.thinkingdata.analytics.TDAnalytics { *; }
-keep public class cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventType { *; }
-keep public class cn.thinkingdata.analytics.TDAnalytics$TDAutoTrackEventHandler { *; }
-keep public class cn.thinkingdata.analytics.TDAnalytics$TDNetworkType { *; }
-keep public class cn.thinkingdata.analytics.TDAnalytics$TDTrackStatus { *; }
-keep public class cn.thinkingdata.analytics.TDAnalytics$TDDynamicSuperPropertiesHandler { *; }
-keep public class cn.thinkingdata.analytics.TDAnalyticsAPI { *; }

#Unity
-keep public class cn.thinkingdata.analytics.ThinkingAnalytics { *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalytics$DynamicSuperPropertiesTrackerListener { *; }
-keep public class cn.thinkingdata.analytics.ThinkingAnalytics$AutoTrackEventTrackerListener { *; }

-keep class cn.thinkingdata.analytics.R$* {
    <fields>;
}
-keep public class * extends android.content.ContentProvider
-keepnames class * extends android.view.View

-dontwarn org.json.**
-keep class org.json.**{*;}


# AlertDialog
-keep class android.app.AlertDialog {*;}
-keep class androidx.appcompat.app.AlertDialog {*;}
-keep class androidx.appcompat.app.AlertDialog {*;}
-keep class * extends androidx.appcompat.app.AlertDialog {*;}
-keep class * extends androidx.appcompat.app.AlertDialog {*;}
-keep class * extends android.app.AlertDialog {*;}

# Fragment
-keep class android.app.Fragment {*;}
-keep class androidx.fragment.app.Fragment {*;}
-keep class androidx.fragment.app.Fragment {*;}
-keepclassmembers class * extends androidx.fragment.app.Fragment {
    public void setUserVisibleHint(boolean);
    public void onViewCreated(android.view.View, android.os.Bundle);
    public void onHiddenChanged(boolean);
    public void onResume();
}
-keepclassmembers class * extends android.app.Fragment {
    public void setUserVisibleHint(boolean);
    public void onViewCreated(android.view.View, android.os.Bundle);
    public void onHiddenChanged(boolean);
    public void onResume();
}
-keepclassmembers class * extends androidx.fragment.app.Fragment {
    public void setUserVisibleHint(boolean);
    public void onViewCreated(android.view.View, android.os.Bundle);
    public void onHiddenChanged(boolean);
    public void onResume();
}


# TabLayout
-keep class com.google.android.material.tabs.TabLayout$Tab {*;}
-keep class com.google.android.material.tabs.TabLayout$Tab {*;}
-keep class * extends com.google.android.material.tabs.TabLayout$Tab {*;}
-keep class * extends com.google.android.material.tabs.TabLayout$Tab {*;}

# ViewPager
-keep class androidx.viewpager.widget.ViewPager {*;}
-keep class androidx.viewpager.widget.PagerAdapter {*;}
-keep class androidx.viewpager.widget.ViewPager {*;}
-keep class androidx.viewpager.widget.PagerAdapter {*;}
-keep class * extends androidx.viewpager.widget.ViewPager {*;}
-keep class * extends androidx.viewpager.widget.PagerAdapter {*;}
-keep class * extends androidx.viewpager.widget.ViewPager {*;}
-keep class * extends androidx.viewpager.widget.PagerAdapter {*;}

# SwitchCompat
-keep class androidx.appcompat.widget.SwitchCompat {*;}
-keep class androidx.appcompat.widget.SwitchCompat {*;}
-keep class * extends androidx.appcompat.widget.SwitchCompat {*;}
-keep class * extends androidx.appcompat.widget.SwitchCompat {*;}

# ContextCompat
-keep class androidx.core.content.ContextCompat {*;}
-keep class androidx.core.content.ContextCompat {*;}
-keep class * extends androidx.core.content.ContextCompat {*;}
-keep class * extends androidx.core.content.ContextCompat {*;}

# AppCompatActivity
-keep class androidx.appcompat.app.AppCompatActivity {
    public androidx.appcompat.app.ActionBar getSupportActionBar();
}
-keep class androidx.appcompat.app.AppCompatActivity {
    public androidx.appcompat.app.ActionBar getSupportActionBar();
}
-keep class * extends androidx.appcompat.app.AppCompatActivity {
    public androidx.appcompat.app.ActionBar getSupportActionBar();
}
-keep class * extends androidx.appcompat.app.AppCompatActivity {
    public androidx.appcompat.app.ActionBar getSupportActionBar();
}

#ActionBar
-keep class androidx.appcompat.app.ActionBar {*;}
-keep class androidx.appcompat.app.ActionBar {*;}
-keep class * extends androidx.appcompat.app.ActionBar {*;}
-keep class * extends androidx.appcompat.app.ActionBar {*;}
# End of content from /Users/a1/.gradle/caches/8.14/transforms/a5005eb74bacbc3b03ad6f9a8eabac17/transformed/jetified-ThinkingAnalyticsSDK-3.0.0.1/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/95323bd9a5d3835840531aae46fc0d44/transformed/jetified-httpengine-native-provider-143.7445.0/proguard.txt
# Proguard config for apps that depend on httpengine_native_provider_java.jar.

# This constructor is called using the reflection from Cronet API (cronet_api.jar).
-keep class org.chromium.net.impl.HttpEngineNativeProvider {
    public <init>(android.content.Context);
}

# End of content from /Users/a1/.gradle/caches/8.14/transforms/95323bd9a5d3835840531aae46fc0d44/transformed/jetified-httpengine-native-provider-143.7445.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/44e6492e46a5f89fb47f1a5a82c142f4/transformed/jetified-cronet-common-143.7445.0/proguard.txt
# Proguard config for apps that depend on cronet_impl_common_java.jar.

# Used through reflection by the API code to figure out the version of the impl
# code it's talking to.
-keep public class org.chromium.net.impl.ImplVersion {
  public *;
}

-dontwarn com.google.errorprone.annotations.DoNotMock

# End of content from /Users/a1/.gradle/caches/8.14/transforms/44e6492e46a5f89fb47f1a5a82c142f4/transformed/jetified-cronet-common-143.7445.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/f76e8076074b98b67e2acfe42dc173b1/transformed/jetified-cronet-shared-143.7445.0/proguard.txt
# Proguard config for apps that depend on cronet_shared_java.jar (which should
# be all apps that depend on any part of Cronet)

# Part of the Android System SDK, so ProGuard won't be able to resolve it if
# running against the standard SDK.
-dontwarn android.util.StatsEvent
-dontwarn android.util.StatsEvent$*
# There is also an undefined reference to android.util.StatsLog.write(), which
# R8 appears to be fine with but other processors (e.g. internal Google
# ProGuard) may not be. See b/315269496.
-dontwarn android.util.StatsLog

# These annotations are only used by the jni_zero code generator, and are not
# needed at runtime. There are cases where we can end up shipping classes that
# have @CalledByNative methods, but we don't ship jni_zero because there is no
# native code; for example, CronetMetrics when called by the Java/fallback
# Cronet impl (as opposed to the native impl). See also
# https://crbug.com/445372626.
#
# The `internal.` prefix is due to renaming rules - see repackage_jars in
# BUILD.gn.
-dontwarn internal.org.jni_zero.CalledByNative
-dontwarn internal.org.jni_zero.JNINamespace

# End of content from /Users/a1/.gradle/caches/8.14/transforms/f76e8076074b98b67e2acfe42dc173b1/transformed/jetified-cronet-shared-143.7445.0/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/897d2897295944d8265c8948506dab88/transformed/jetified-ads-identifier-3.4.62.300/proguard.txt
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# 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 *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-keepnames class * implements android.os.Parcelable
-keepclassmembers class * implements android.os.Parcelable {
    public final static *** CREATOR;
}
# End of content from /Users/a1/.gradle/caches/8.14/transforms/897d2897295944d8265c8948506dab88/transformed/jetified-ads-identifier-3.4.62.300/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/6b045b5888dfd022453a7c4cf1f5fe48/transformed/jetified-ads-identifier-1.0.2.301/proguard.txt

# End of content from /Users/a1/.gradle/caches/8.14/transforms/6b045b5888dfd022453a7c4cf1f5fe48/transformed/jetified-ads-identifier-1.0.2.301/proguard.txt
# The proguard configuration file for the following section is /Users/a1/.gradle/caches/8.14/transforms/d147a435fdde77382d7bf63e7902f390/transformed/jetified-TDCore-1.0.0/proguard.txt
#core
-dontwarn cn.thinkingdata.core.**
-keep class cn.thinkingdata.core.** { *; }
# End of content from /Users/a1/.gradle/caches/8.14/transforms/d147a435fdde77382d7bf63e7902f390/transformed/jetified-TDCore-1.0.0/proguard.txt
# The proguard configuration file for the following section is <unknown>

# End of content from <unknown>