# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Release-VSO/app-android/build/intermediates/default_proguard_files/global/proguard-android.txt-8.5.2
# 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.

# Optimization is turned off by default. Dex does not like code run
# through the ProGuard optimize steps (and performs some
# of these optimizations on its own).
# Note that if you want to enable optimization, you cannot just
# include optimization flags in your own project configuration file;
# instead you will need to point to the
# "proguard-android-optimize.txt" file instead of this one from your
# project.properties file.
-dontoptimize

# 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 /home/jenkins/.jenkins/workspace/Release-VSO/app-android/build/intermediates/default_proguard_files/global/proguard-android.txt-8.5.2
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Release-VSO/app-android/proguard-rules.pro
-keep public class org.xmlpull.v1.*
-keep public interface org.xmlpull.v1.*

#Keep anything with the Serializable annotation. We are using Gson to avoid kotlinx serialization
# errors, but GSON requires classes to be exempted from obfuscation
-keep @kotlinx.serialization.Serializable class * {
    *;
}

# umDatabase entities
-keep public class com.ustadmobile.lib.db.entities.**{
       *;
}
-keep public class com.ustadmobile.core.db.**{
    public <init>(...);
}
-keep public class com.ustadmobile.core.controller.IndexLog{
       *;
}
-keep public class com.ustadmobile.core.controller.IndexLog$IndexEntry{
       *;
}

-keep public class com.toughra.ustadmobile.BuildConfig


-keep public class com.ustadmobile.core.contentformats.metadata.*{
    *;
}

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

# As per Android Gradle Plugin 8 (2/May/2023) - probably OKHTTP related
-dontwarn org.bouncycastle.jsse.BCSSLParameters
-dontwarn org.bouncycastle.jsse.BCSSLSocket
-dontwarn org.bouncycastle.jsse.provider.BouncyCastleJsseProvider
-dontwarn org.conscrypt.Conscrypt$Version
-dontwarn org.conscrypt.Conscrypt
-dontwarn org.conscrypt.ConscryptHostnameVerifier
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
-dontwarn org.openjsse.net.ssl.OpenJSSE
-dontwarn org.slf4j.impl.StaticLoggerBinder

# As per KodeIn DI docs:
# https://kosi-libs.org/kodein/7.19/framework/android.html#_proguard_configuration
-dontwarn java.lang.invoke.StringConcatFactory

-keep, allowobfuscation, allowoptimization class org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest

-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest


# Begin XXHash rules
# XXHash factories uses reflection
-keep class net.jpountz.xxhash.XXHash32JavaSafe {
    public <init>(...);
    public static ** INSTANCE;
}

-keep class net.jpountz.xxhash.XXHash32JavaSafe$Factory {
    public <init>(...);
    public static ** INSTANCE;
}

# XXHash : XXHashFactory uses reflection
-keep class net.jpountz.xxhash.XXHash64JavaSafe {
    public <init>(...);
    public static ** INSTANCE;
}

-keep class net.jpountz.xxhash.XXHash64JavaSafe$Factory {
    public <init>(...);
    public static ** INSTANCE;
}

-keep class net.jpountz.xxhash.StreamingXXHash32JavaSafe {
    public <init>(...);
    public static ** INSTANCE;
}

-keep class net.jpountz.xxhash.StreamingXXHash32JavaSafe$Factory {
    public <init>(...);
    public static ** INSTANCE;
}

# XXHash : XXHashFactory uses reflection
-keep class net.jpountz.xxhash.StreamingXXHash64JavaSafe {
    public <init>(...);
    public static ** INSTANCE;
}

-keep class net.jpountz.xxhash.StreamingXXHash64JavaSafe$Factory {
    public <init>(...);
    public static ** INSTANCE;
}

# End XXHash rules

# End of content from /home/jenkins/.jenkins/workspace/Release-VSO/app-android/proguard-rules.pro
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Release-VSO/sharedse/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
#
# BleProxyResponder requires reflection based access to the HTTPSession headers field so it can
# be serialized and sent over BLE.
#
-keepclassmembernames class fi.iki.elonen.NanoHTTPD$HTTPSession {
java.util.Map headers; 
}

-keep class com.ustadmobile.sharedse.network.ContainerDownloadManagerImpl$MutableLiveDataWithRef {
    ** reference;
}

# End of content from /home/jenkins/.jenkins/workspace/Release-VSO/sharedse/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Release-VSO/core/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt

#
# These classes are serialized using Gson, hence fields must not be obfuscated
-keep public class com.ustadmobile.core.contentformats.xapi.*{
    <fields>;
}

-keep public class com.ustadmobile.core.contentformats.metadata.*{
    *;
}

# LongWrapper is serialized and deserialized with Gson, but is not itself an entity so we need to
# explicitly exempt it from obfuscation
-keep public class com.ustadmobile.core.util.LongWrapper {
    *;
}

# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
# as per https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg
-keep class * extends com.google.gson.TypeAdapter
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer

#Keep anything with the Serializable annotation. We are using Gson to avoid kotlinx serialization
# errors, but GSON requires classes to be exempted from obfuscation
-keep @kotlinx.serialization.Serializable class * {
    *;
}

# End of content from /home/jenkins/.jenkins/workspace/Release-VSO/core/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/19aa6bcd7f850a86e22bcd6ae1686293/transformed/Pdf-Viewer-2.1.1/proguard.txt

# End of content from /home/jenkins/.gradle/caches/transforms-4/19aa6bcd7f850a86e22bcd6ae1686293/transformed/Pdf-Viewer-2.1.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/aa5341f97b587566c82e9f75ab1eaf24/transformed/navigation-common-2.7.7/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.

# NavArgsLazy creates NavArgs instances using reflection
-if public class ** implements androidx.navigation.NavArgs
-keepclassmembers public class <1> {
    ** fromBundle(android.os.Bundle);
}

# Retain the @Navigator.Name annotation on each subclass of Navigator.
# R8 full mode only retains annotations on items matched by a -keep rule,
# hence the extra -keep rule for the subclasses of Navigator.
#
# A -keep rule for the Navigator.Name annotation class is not required
# since the annotation is referenced from the code.
-keepattributes RuntimeVisibleAnnotations
-keep,allowobfuscation,allowshrinking class * extends androidx.navigation.Navigator

# End of content from /home/jenkins/.gradle/caches/transforms-4/aa5341f97b587566c82e9f75ab1eaf24/transformed/navigation-common-2.7.7/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/3deb9c04effd588b67f678f3e5c53506/transformed/navigation-ui-2.7.7/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.

# setProgress is called via an ObjectAnimator in AbstractAppBarOnDestinationChangedListener
-keepclassmembers class androidx.appcompat.graphics.drawable.DrawerArrowDrawable {
    void setProgress(float);
}

# End of content from /home/jenkins/.gradle/caches/transforms-4/3deb9c04effd588b67f678f3e5c53506/transformed/navigation-ui-2.7.7/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/3c692292f26a188670159d9d3051e931/transformed/compose-video-1.2.0a/proguard.txt

# End of content from /home/jenkins/.gradle/caches/transforms-4/3c692292f26a188670159d9d3051e931/transformed/compose-video-1.2.0a/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/65fd1860ebe4b43c439c42d0f496c32f/transformed/door-runtime-android-0.79.17/proguard.txt

#
-keep public class * extends com.ustadmobile.door.ext.DoorDatabaseMetadata {
    *;
}

# On databases that don't use replication, the DoorDatabaseWrapper constructor was removed
-keepclassmembers public class * extends com.ustadmobile.door.DoorDatabaseWrapper {
    public <init>(...);
}

# End of content from /home/jenkins/.gradle/caches/transforms-4/65fd1860ebe4b43c439c42d0f496c32f/transformed/door-runtime-android-0.79.17/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/3f837d6a031621d6372ba4113f0b3ff7/transformed/work-runtime-2.9.0/proguard.txt
-keep class * extends androidx.work.Worker
-keep class * extends androidx.work.InputMerger
# Keep all constructors on ListenableWorker, Worker
-keep public class * extends androidx.work.ListenableWorker {
    public <init>(...);
}
# We need to keep WorkerParameters for the ListenableWorker constructor
-keep class androidx.work.WorkerParameters

# End of content from /home/jenkins/.gradle/caches/transforms-4/3f837d6a031621d6372ba4113f0b3ff7/transformed/work-runtime-2.9.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/4ef50f8bf14aae4bef8cf9d5ddfc5e91/transformed/room-runtime-2.6.1/proguard.txt
-keep class * extends androidx.room.RoomDatabase
-dontwarn androidx.room.paging.**
-dontwarn androidx.lifecycle.LiveData

# End of content from /home/jenkins/.gradle/caches/transforms-4/4ef50f8bf14aae4bef8cf9d5ddfc5e91/transformed/room-runtime-2.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/4c0e80079fdc084949c7dc1cfb19dd42/transformed/nestedscrollwebview-0.1.6/proguard.txt

# End of content from /home/jenkins/.gradle/caches/transforms-4/4c0e80079fdc084949c7dc1cfb19dd42/transformed/nestedscrollwebview-0.1.6/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/b9b03c5b1bccc4a707af63f561a2f893/transformed/material-1.11.0/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.

# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>();
}

# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior
-keepattributes RuntimeVisible*Annotation*

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

# AppCompatViewInflater reads the viewInflaterClass theme attribute which then
# reflectively instantiates MaterialComponentsViewInflater using the no-argument
# constructor. We only need to keep this constructor and the class name if
# AppCompatViewInflater is also being kept.
-if class androidx.appcompat.app.AppCompatViewInflater
-keep class com.google.android.material.theme.MaterialComponentsViewInflater {
    <init>();
}


# End of content from /home/jenkins/.gradle/caches/transforms-4/b9b03c5b1bccc4a707af63f561a2f893/transformed/material-1.11.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/5431b76267f6a90391ad86be7e2056df/transformed/server-0.0.3/proguard.txt

# End of content from /home/jenkins/.gradle/caches/transforms-4/5431b76267f6a90391ad86be7e2056df/transformed/server-0.0.3/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/e4ad05b544aaea613bf7e2e3c56c72e7/transformed/core-0.0.3/proguard.txt

# End of content from /home/jenkins/.gradle/caches/transforms-4/e4ad05b544aaea613bf7e2e3c56c72e7/transformed/core-0.0.3/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/798df2e7dce9dc6641ed8a3867bface8/transformed/appcompat-1.6.1/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.

# aapt is not able to read app::actionViewClass and app:actionProviderClass to produce proguard
# keep rules. Add a commonly used SearchView to the keep list until b/109831488 is resolved.
-keep class androidx.appcompat.widget.SearchView { <init>(...); }

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

# End of content from /home/jenkins/.gradle/caches/transforms-4/798df2e7dce9dc6641ed8a3867bface8/transformed/appcompat-1.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/58bdc44571290a40af30b0faa4a0444a/transformed/media3-exoplayer-1.3.0/proguard.txt
# Proguard rules specific to the core module.

# Constructors accessed via reflection in DefaultRenderersFactory
-dontnote androidx.media3.decoder.vp9.LibvpxVideoRenderer
-keepclassmembers class androidx.media3.decoder.vp9.LibvpxVideoRenderer {
  <init>(long, android.os.Handler, androidx.media3.exoplayer.video.VideoRendererEventListener, int);
}
-dontnote androidx.media3.decoder.av1.Libgav1VideoRenderer
-keepclassmembers class androidx.media3.decoder.av1.Libgav1VideoRenderer {
  <init>(long, android.os.Handler, androidx.media3.exoplayer.video.VideoRendererEventListener, int);
}
-dontnote androidx.media3.decoder.ffmpeg.ExperimentalFfmpegVideoRenderer
-keepclassmembers class androidx.media3.decoder.ffmpeg.ExperimentalFfmpegVideoRenderer {
  <init>(long, android.os.Handler, androidx.media3.exoplayer.video.VideoRendererEventListener, int);
}
-dontnote androidx.media3.decoder.opus.LibopusAudioRenderer
-keepclassmembers class androidx.media3.decoder.opus.LibopusAudioRenderer {
  <init>(android.os.Handler, androidx.media3.exoplayer.audio.AudioRendererEventListener, androidx.media3.exoplayer.audio.AudioSink);
}
-dontnote androidx.media3.decoder.flac.LibflacAudioRenderer
-keepclassmembers class androidx.media3.decoder.flac.LibflacAudioRenderer {
  <init>(android.os.Handler, androidx.media3.exoplayer.audio.AudioRendererEventListener, androidx.media3.exoplayer.audio.AudioSink);
}
-dontnote androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer
-keepclassmembers class androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer {
  <init>(android.os.Handler, androidx.media3.exoplayer.audio.AudioRendererEventListener, androidx.media3.exoplayer.audio.AudioSink);
}
-dontnote androidx.media3.decoder.midi.MidiRenderer
-keepclassmembers class androidx.media3.decoder.midi.MidiRenderer {
  <init>(android.content.Context);
}

# Constructors accessed via reflection in DefaultDownloaderFactory
-dontnote androidx.media3.exoplayer.dash.offline.DashDownloader
-keepclassmembers class androidx.media3.exoplayer.dash.offline.DashDownloader {
  <init>(androidx.media3.common.MediaItem, androidx.media3.datasource.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}
-dontnote androidx.media3.exoplayer.hls.offline.HlsDownloader
-keepclassmembers class androidx.media3.exoplayer.hls.offline.HlsDownloader {
  <init>(androidx.media3.common.MediaItem, androidx.media3.datasource.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}
-dontnote androidx.media3.exoplayer.smoothstreaming.offline.SsDownloader
-keepclassmembers class androidx.media3.exoplayer.smoothstreaming.offline.SsDownloader {
  <init>(androidx.media3.common.MediaItem, androidx.media3.datasource.cache.CacheDataSource$Factory, java.util.concurrent.Executor);
}

# Constructors accessed via reflection in DefaultMediaSourceFactory
-dontnote androidx.media3.exoplayer.dash.DashMediaSource$Factory
-keepclasseswithmembers class androidx.media3.exoplayer.dash.DashMediaSource$Factory {
  <init>(androidx.media3.datasource.DataSource$Factory);
}
-dontnote androidx.media3.exoplayer.hls.HlsMediaSource$Factory
-keepclasseswithmembers class androidx.media3.exoplayer.hls.HlsMediaSource$Factory {
  <init>(androidx.media3.datasource.DataSource$Factory);
}
-dontnote androidx.media3.exoplayer.smoothstreaming.SsMediaSource$Factory
-keepclasseswithmembers class androidx.media3.exoplayer.smoothstreaming.SsMediaSource$Factory {
  <init>(androidx.media3.datasource.DataSource$Factory);
}
-dontnote androidx.media3.exoplayer.rtsp.RtspMediaSource$Factory
-keepclasseswithmembers class androidx.media3.exoplayer.rtsp.RtspMediaSource$Factory {
  <init>();
}

# Constructors and methods accessed via reflection in CompositingVideoSinkProvider
-dontnote androidx.media3.effect.PreviewingSingleInputVideoGraph$Factory
-keepclasseswithmembers class androidx.media3.effect.PreviewingSingleInputVideoGraph$Factory {
  <init>(androidx.media3.common.VideoFrameProcessor$Factory);
}
-dontnote androidx.media3.effect.DefaultVideoFrameProcessor$Factory$Builder
-keepclasseswithmembers class androidx.media3.effect.DefaultVideoFrameProcessor$Factory$Builder {
  build();
}

# End of content from /home/jenkins/.gradle/caches/transforms-4/58bdc44571290a40af30b0faa4a0444a/transformed/media3-exoplayer-1.3.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/eeca66cc58f4b0ff6db06081e7854b10/transformed/media3-datasource-okhttp-1.3.0/proguard.txt
# Proguard rules specific to the OkHttp extension.

# Options specified by https://github.com/square/okhttp/blob/master/README.md
-dontwarn okio.**
-dontwarn javax.annotation.**
-dontwarn org.conscrypt.**

# End of content from /home/jenkins/.gradle/caches/transforms-4/eeca66cc58f4b0ff6db06081e7854b10/transformed/media3-datasource-okhttp-1.3.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/aa0044e3f79f89d2b9a35787ce48160d/transformed/media3-datasource-1.3.0/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 androidx.media3.datasource.RawResourceDataSource {
  public static android.net.Uri buildRawResourceUri(int);
}

# Constructors accessed via reflection in DefaultDataSource
-dontnote androidx.media3.datasource.rtmp.RtmpDataSource
-keepclassmembers class androidx.media3.datasource.rtmp.RtmpDataSource {
  <init>();
}

# End of content from /home/jenkins/.gradle/caches/transforms-4/aa0044e3f79f89d2b9a35787ce48160d/transformed/media3-datasource-1.3.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/f984258b1d92299f94c432ede06ba6a6/transformed/media3-extractor-1.3.0/proguard.txt
# Proguard rules specific to the extractor module.

# Methods accessed via reflection in DefaultExtractorsFactory
-dontnote androidx.media3.decoder.flac.FlacExtractor
-keepclassmembers class androidx.media3.decoder.flac.FlacExtractor {
  <init>(int);
}
-dontnote androidx.media3.decoder.flac.FlacLibrary
-keepclassmembers class androidx.media3.decoder.flac.FlacLibrary {
  public static boolean isAvailable();
}
-dontnote androidx.media3.decoder.midi.MidiExtractor
-keepclassmembers class androidx.media3.decoder.midi.MidiExtractor {
  <init>();
}

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

# End of content from /home/jenkins/.gradle/caches/transforms-4/f984258b1d92299f94c432ede06ba6a6/transformed/media3-extractor-1.3.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/76f739f5d57a5d79b760ae524cf74e66/transformed/media3-common-1.3.0/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 /home/jenkins/.gradle/caches/transforms-4/76f739f5d57a5d79b760ae524cf74e66/transformed/media3-common-1.3.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/a9ab3a28a2370bc03e9c9d8ab017cd40/transformed/media3-ui-1.3.0/proguard.txt
# Proguard rules specific to the UI module.

# Constructor method accessed via reflection in PlayerView
-dontnote androidx.media3.exoplayer.video.spherical.SphericalGLSurfaceView
-keepclassmembers class androidx.media3.exoplayer.video.spherical.SphericalGLSurfaceView {
  <init>(android.content.Context);
}
-dontnote androidx.media3.exoplayer.video.VideoDecoderGLSurfaceView
-keepclassmembers class androidx.media3.exoplayer.video.VideoDecoderGLSurfaceView {
  <init>(android.content.Context);
}

# Constructor method accessed via reflection in TrackSelectionDialogBuilder
-dontnote androidx.appcompat.app.AlertDialog.Builder
-keepclassmembers class androidx.appcompat.app.AlertDialog$Builder {
  <init>(android.content.Context, int);
  public android.content.Context getContext();
  public androidx.appcompat.app.AlertDialog$Builder setTitle(java.lang.CharSequence);
  public androidx.appcompat.app.AlertDialog$Builder setView(android.view.View);
  public androidx.appcompat.app.AlertDialog$Builder setPositiveButton(int, android.content.DialogInterface$OnClickListener);
  public androidx.appcompat.app.AlertDialog$Builder setNegativeButton(int, android.content.DialogInterface$OnClickListener);
  public androidx.appcompat.app.AlertDialog create();
}
# Equivalent methods needed when the library is de-jetified.
-dontnote android.support.v7.app.AlertDialog.Builder
-keepclassmembers class android.support.v7.app.AlertDialog$Builder {
  <init>(android.content.Context, int);
  public android.content.Context getContext();
  public android.support.v7.app.AlertDialog$Builder setTitle(java.lang.CharSequence);
  public android.support.v7.app.AlertDialog$Builder setView(android.view.View);
  public android.support.v7.app.AlertDialog$Builder setPositiveButton(int, android.content.DialogInterface$OnClickListener);
  public android.support.v7.app.AlertDialog$Builder setNegativeButton(int, android.content.DialogInterface$OnClickListener);
  public android.support.v7.app.AlertDialog create();
}

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

# End of content from /home/jenkins/.gradle/caches/transforms-4/a9ab3a28a2370bc03e9c9d8ab017cd40/transformed/media3-ui-1.3.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/09d21b3c93d03aa8dc4822c8e16f63f4/transformed/recyclerview-1.3.2/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 /home/jenkins/.gradle/caches/transforms-4/09d21b3c93d03aa8dc4822c8e16f63f4/transformed/recyclerview-1.3.2/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/ced66b4b250357f8093ace91d441078b/transformed/fragment-1.6.2/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 /home/jenkins/.gradle/caches/transforms-4/ced66b4b250357f8093ace91d441078b/transformed/fragment-1.6.2/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/46796ddbd9c1d7ef8d1b32439e609458/transformed/savedstate-1.2.1/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 /home/jenkins/.gradle/caches/transforms-4/46796ddbd9c1d7ef8d1b32439e609458/transformed/savedstate-1.2.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/dcb878116d842056a983dc3adaf6deb3/transformed/lifecycle-viewmodel-savedstate-2.7.0/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 /home/jenkins/.gradle/caches/transforms-4/dcb878116d842056a983dc3adaf6deb3/transformed/lifecycle-viewmodel-savedstate-2.7.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/50ff2c467400784d4ae48bcfb0fd5c58/transformed/lifecycle-viewmodel-2.7.0/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 /home/jenkins/.gradle/caches/transforms-4/50ff2c467400784d4ae48bcfb0fd5c58/transformed/lifecycle-viewmodel-2.7.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/f5f03cfc693f4e37c81b33439c0636d0/transformed/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 /home/jenkins/.gradle/caches/transforms-4/f5f03cfc693f4e37c81b33439c0636d0/transformed/window-1.2.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/14562a9ce6a1416df48a782ff1fe83e6/transformed/coordinatorlayout-1.2.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.

# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>();
}

# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior and ViewPager's DecorView
-keepattributes AnnotationDefault,
                RuntimeVisibleAnnotations,
                RuntimeVisibleParameterAnnotations,
                RuntimeVisibleTypeAnnotations

# End of content from /home/jenkins/.gradle/caches/transforms-4/14562a9ce6a1416df48a782ff1fe83e6/transformed/coordinatorlayout-1.2.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/a5992e5a61f9d30db95e9f9f739cd94b/transformed/webkit-1.10.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;
}
# End of content from /home/jenkins/.gradle/caches/transforms-4/a5992e5a61f9d30db95e9f9f739cd94b/transformed/webkit-1.10.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/3dd8f615a8940eae3dbd6bb890cbcdff/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 /home/jenkins/.gradle/caches/transforms-4/3dd8f615a8940eae3dbd6bb890cbcdff/transformed/vectordrawable-animated-1.1.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/46f346ff5e4c8602f7fafe137720b304/transformed/zoomable-1.6.1/proguard.txt

# End of content from /home/jenkins/.gradle/caches/transforms-4/46f346ff5e4c8602f7fafe137720b304/transformed/zoomable-1.6.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/fc98c043aa72f5e3daf38221d0db24df/transformed/media-1.7.0/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 /home/jenkins/.gradle/caches/transforms-4/fc98c043aa72f5e3daf38221d0db24df/transformed/media-1.7.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/cdfca0c5c898985d2171fc5434ef2cf6/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 /home/jenkins/.gradle/caches/transforms-4/cdfca0c5c898985d2171fc5434ef2cf6/transformed/transition-1.4.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/c4e0833724d750ac9bb117d3c0d5bae7/transformed/core-1.13.1/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 /home/jenkins/.gradle/caches/transforms-4/c4e0833724d750ac9bb117d3c0d5bae7/transformed/core-1.13.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/83337e7b7ca898838721c0685b339dcc/transformed/lifecycle-runtime-2.7.0/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 *;
}

# 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 /home/jenkins/.gradle/caches/transforms-4/83337e7b7ca898838721c0685b339dcc/transformed/lifecycle-runtime-2.7.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/8132ef626920b0feb7139a1569dfdbfe/transformed/lifecycle-process-2.7.0/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 /home/jenkins/.gradle/caches/transforms-4/8132ef626920b0feb7139a1569dfdbfe/transformed/lifecycle-process-2.7.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/8522f531f45c5630b5334bdba64d10dc/transformed/ui-release/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.

# We supply these as stubs and are able to link to them at runtime
# because they are hidden public classes in Android. We don't want
# R8 to complain about them not being there during optimization.
-dontwarn android.view.RenderNode
-dontwarn android.view.DisplayListCanvas

-keepclassmembers class androidx.compose.ui.platform.ViewLayerContainer {
    protected void dispatchGetDisplayList();
}

-keepclassmembers class androidx.compose.ui.platform.AndroidComposeView {
    android.view.View findViewByAccessibilityIdTraversal(int);
}

# Users can create Modifier.Node instances that implement multiple Modifier.Node interfaces,
# so we cannot tell whether two modifier.node instances are of the same type without using
# reflection to determine the class type. See b/265188224 for more context.
-keep,allowshrinking class * extends androidx.compose.ui.node.ModifierNodeElement

# End of content from /home/jenkins/.gradle/caches/transforms-4/8522f531f45c5630b5334bdba64d10dc/transformed/ui-release/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Release-VSO/lib-ihttp-okhttp/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt

# End of content from /home/jenkins/.jenkins/workspace/Release-VSO/lib-ihttp-okhttp/build/intermediates/consumer_proguard_dir/release/exportReleaseConsumerProguardFiles/lib0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/56b18a37d012c5c207d085d17e0ea032/transformed/rules/lib/META-INF/proguard/ktor.pro
# Most of volatile fields are updated with AtomicFU and should not be mangled/removed
-keepclassmembers class io.ktor.** {
    volatile <fields>;
}

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

# client engines are loaded using ServiceLoader so we need to keep them
-keep class io.ktor.client.engine.** implements io.ktor.client.HttpClientEngineContainer


# End of content from /home/jenkins/.gradle/caches/transforms-4/56b18a37d012c5c207d085d17e0ea032/transformed/rules/lib/META-INF/proguard/ktor.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/98a5aff0cd2ea4f39a4cc08af70c80a5/transformed/datastore-preferences-1.0.0/proguard.txt
-keepclassmembers class * extends androidx.datastore.preferences.protobuf.GeneratedMessageLite {
    <fields>;
}
# End of content from /home/jenkins/.gradle/caches/transforms-4/98a5aff0cd2ea4f39a4cc08af70c80a5/transformed/datastore-preferences-1.0.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/fc282e5fc52f6a31008c135cc81bcfe8/transformed/runtime-release/proguard.txt
-assumenosideeffects public class androidx.compose.runtime.ComposerKt {
    void sourceInformation(androidx.compose.runtime.Composer,java.lang.String);
    void sourceInformationMarkerStart(androidx.compose.runtime.Composer,int,java.lang.String);
    void sourceInformationMarkerEnd(androidx.compose.runtime.Composer);
}

# Composer's class initializer doesn't do anything but create an EMPTY object. Marking the
# initializers as having no side effects can help encourage shrinkers to merge/devirtualize Composer
# with ComposerImpl.
-assumenosideeffects public class androidx.compose.runtime.Composer {
    void <clinit>();
}
-assumenosideeffects public class androidx.compose.runtime.ComposerImpl {
    void <clinit>();
}
# End of content from /home/jenkins/.gradle/caches/transforms-4/fc282e5fc52f6a31008c135cc81bcfe8/transformed/runtime-release/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/8b9320145b225497ec72fa82668ebcfe/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 /home/jenkins/.gradle/caches/transforms-4/8b9320145b225497ec72fa82668ebcfe/transformed/rules/lib/META-INF/com.android.tools/r8/coroutines.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/b6a2543407f2f7202016e63f3776049d/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 /home/jenkins/.gradle/caches/transforms-4/b6a2543407f2f7202016e63f3776049d/transformed/rules/lib/META-INF/com.android.tools/r8-from-1.6.0/coroutines.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/30ef5cb9597d96f95e8bd9b4274b0f0e/transformed/picasso-2.8/proguard.txt
### OKHTTP

# Platform calls Class.forName on types which do not exist on Android to determine platform.
-dontnote okhttp3.internal.Platform


### OKIO

# java.nio.file.* usage which cannot be used at runtime. Animal sniffer annotation.
-dontwarn okio.Okio
# JDK 7-only method which is @hide on Android. Animal sniffer annotation.
-dontwarn okio.DeflaterSink

# End of content from /home/jenkins/.gradle/caches/transforms-4/30ef5cb9597d96f95e8bd9b4274b0f0e/transformed/picasso-2.8/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/c712bfb1a3eace4270e5f975c2159bc9/transformed/rules/lib/META-INF/proguard/okhttp3.pro
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**

# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase

# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*

# OkHttp platform used only on JVM and when Conscrypt and other security providers are available.
-dontwarn okhttp3.internal.platform.**
-dontwarn org.conscrypt.**
-dontwarn org.bouncycastle.**
-dontwarn org.openjsse.**

# End of content from /home/jenkins/.gradle/caches/transforms-4/c712bfb1a3eace4270e5f975c2159bc9/transformed/rules/lib/META-INF/proguard/okhttp3.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/1619ab884712391e6ca5969e12b17625/transformed/acra-core-5.11.3/proguard.txt
# Restore some Source file names and restore approximate line numbers in the stack traces,
# otherwise the stack traces are pretty useless
-keepattributes SourceFile,LineNumberTable

# ACRA loads Plugins using reflection
-keep class * implements org.acra.plugins.Plugin {*;}

# ACRA uses enum fields in json
-keep enum org.acra.** {*;}

# autodsl accesses constructors using reflection
-keepclassmembers class * implements org.acra.config.Configuration { <init>(...); }

# ACRA creates a proxy for this interface
-keep interface org.acra.ErrorReporter

-dontwarn android.support.**

-dontwarn com.faendir.kotlin.autodsl.DslInspect
-dontwarn com.faendir.kotlin.autodsl.DslMandatory
-dontwarn com.google.auto.service.AutoService
# End of content from /home/jenkins/.gradle/caches/transforms-4/1619ab884712391e6ca5969e12b17625/transformed/acra-core-5.11.3/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/e5c85d08696a6362d42ddd42480dca39/transformed/rules/lib/META-INF/com.android.tools/r8/xmlutil-r8-workaround.pro
# Needed to work around a bug in r8 where a switch over these values triggers an r8 bug.
#noinspection ShrinkerUnresolvedReference
-keep enum nl.adaptivity.xmlutil.EventType { *;}

# End of content from /home/jenkins/.gradle/caches/transforms-4/e5c85d08696a6362d42ddd42480dca39/transformed/rules/lib/META-INF/com.android.tools/r8/xmlutil-r8-workaround.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/8915375540da60645f98c24a128d3f8d/transformed/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 /home/jenkins/.gradle/caches/transforms-4/8915375540da60645f98c24a128d3f8d/transformed/startup-runtime-1.1.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/4576da60e0eeebe1e555bae6052fc68b/transformed/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 /home/jenkins/.gradle/caches/transforms-4/4576da60e0eeebe1e555bae6052fc68b/transformed/core-1.0.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/f6c6cd79a743282fa28eb2be31d4f3a1/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 /home/jenkins/.gradle/caches/transforms-4/f6c6cd79a743282fa28eb2be31d4f3a1/transformed/versionedparcelable-1.1.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/948e3a6818781fe6fe143aa9816a4808/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 /home/jenkins/.gradle/caches/transforms-4/948e3a6818781fe6fe143aa9816a4808/transformed/rules/lib/META-INF/proguard/androidx-annotations.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/68e281e6412c8f5115622eaa81ed385a/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 /home/jenkins/.gradle/caches/transforms-4/68e281e6412c8f5115622eaa81ed385a/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-r8.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/68e281e6412c8f5115622eaa81ed385a/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

# End of content from /home/jenkins/.gradle/caches/transforms-4/68e281e6412c8f5115622eaa81ed385a/transformed/rules/lib/META-INF/com.android.tools/r8/kotlinx-serialization-common.pro
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/390ca719d84506351ae68f08cdcbaa86/transformed/kaverit-release/proguard.txt
-keep, allowobfuscation, allowoptimization class org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest

-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.TypeReference
-keep, allowobfuscation, allowoptimization class * extends org.kodein.type.JVMAbstractTypeToken$Companion$WrappingTest
# End of content from /home/jenkins/.gradle/caches/transforms-4/390ca719d84506351ae68f08cdcbaa86/transformed/kaverit-release/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/5ab00beec0b06fd6277555de27bcd477/transformed/volley-1.2.1/proguard.txt
# Prevent Proguard from inlining methods that are intentionally extracted to ensure locals have a
# constrained liveness scope by the GC. This is needed to avoid keeping previous request references
# alive for an indeterminate amount of time. See also https://github.com/google/volley/issues/114
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.NetworkDispatcher {
    void processRequest();
}
-keepclassmembers,allowshrinking,allowobfuscation class com.android.volley.CacheDispatcher {
    void processRequest();
}

# End of content from /home/jenkins/.gradle/caches/transforms-4/5ab00beec0b06fd6277555de27bcd477/transformed/volley-1.2.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/118c5ac366642ef00f8fd908a8380820/transformed/lib-decoder-av1-1.3.0/proguard.txt
# Proguard rules specific to the AV1 extension.

# This prevents the names of native methods from being obfuscated.
-keepclasseswithmembernames class * {
    native <methods>;
}

# Some members of this class are being accessed from native methods. Keep them unobfuscated.
-keep class androidx.media3.decoder.VideoDecoderOutputBuffer {
  *;
}

# End of content from /home/jenkins/.gradle/caches/transforms-4/118c5ac366642ef00f8fd908a8380820/transformed/lib-decoder-av1-1.3.0/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.gradle/caches/transforms-4/f6521e09ca0a1dbcbb1c4832841926d5/transformed/eventbus-3.3.1/proguard.txt
-keepattributes *Annotation*
-keepclassmembers class * {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# If using AsyncExecutord, keep required constructor of default event used.
# Adjust the class name if a custom failure event type is used.
-keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}

# Accessed via reflection, avoid renaming or removal
-keep class org.greenrobot.eventbus.android.AndroidComponentsImpl

# End of content from /home/jenkins/.gradle/caches/transforms-4/f6521e09ca0a1dbcbb1c4832841926d5/transformed/eventbus-3.3.1/proguard.txt
# The proguard configuration file for the following section is /home/jenkins/.jenkins/workspace/Release-VSO/app-android/build/intermediates/aapt_proguard_file/benchmarkRelease/processBenchmarkReleaseResources/aapt_rules.txt
-keep class androidx.appcompat.app.AppLocalesMetadataHolderService { <init>(); }
-keep class androidx.compose.ui.tooling.PreviewActivity { <init>(); }
-keep class androidx.core.app.CoreComponentFactory { <init>(); }
-keep class androidx.core.content.FileProvider { <init>(); }
-keep class androidx.profileinstaller.ProfileInstallReceiver { <init>(); }
-keep class androidx.room.MultiInstanceInvalidationService { <init>(); }
-keep class androidx.startup.InitializationProvider { <init>(); }
-keep class androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy { <init>(); }
-keep class androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy { <init>(); }
-keep class androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy { <init>(); }
-keep class androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy { <init>(); }
-keep class androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver { <init>(); }
-keep class androidx.work.impl.background.systemalarm.RescheduleReceiver { <init>(); }
-keep class androidx.work.impl.background.systemalarm.SystemAlarmService { <init>(); }
-keep class androidx.work.impl.background.systemjob.SystemJobService { <init>(); }
-keep class androidx.work.impl.diagnostics.DiagnosticsReceiver { <init>(); }
-keep class androidx.work.impl.foreground.SystemForegroundService { <init>(); }
-keep class androidx.work.impl.utils.ForceStopRunnable$BroadcastReceiver { <init>(); }
-keep class com.google.android.gms.metadata.ModuleDependencies { <init>(); }
-keep class com.jakewharton.processphoenix.ProcessPhoenix { <init>(); }
-keep class com.rajat.pdfviewer.PdfViewerActivity { <init>(); }
-keep class com.squareup.picasso.PicassoProvider { <init>(); }
-keep class com.ustadmobile.core.domain.interop.UstadHttpOverIpcServer { <init>(); }
-keep class com.ustadmobile.httpoveripc.server.EchoHttpOverIpcServer { <init>(); }
-keep class com.ustadmobile.port.android.authenticator.AuthenticatorActivity { <init>(); }
-keep class com.ustadmobile.port.android.impl.UstadApp { <init>(); }
-keep class com.ustadmobile.port.android.view.AppActivity { <init>(); }
-keep class org.acra.attachment.AcraContentProvider { <init>(); }
-keep class org.acra.sender.JobSenderService { <init>(); }
-keep class org.acra.sender.LegacySenderService { <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.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.helper.widget.Flow { <init>(android.content.Context, android.util.AttributeSet); }

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

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

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

-keep class androidx.fragment.app.FragmentContainerView { <init>(android.content.Context, android.util.AttributeSet); }

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

-keep class androidx.media3.ui.AspectRatioFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.media3.ui.SubtitleView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class androidx.media3.ui.TrackSelectionView { <init>(android.content.Context, android.util.AttributeSet); }

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

-keep class com.google.android.material.appbar.MaterialToolbar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.button.MaterialButton { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.button.MaterialButtonToggleGroup { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.chip.Chip { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.datepicker.MaterialCalendarGridView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.internal.BaselineLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.internal.CheckableImageButton { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.internal.ClippableRoundedCornerLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.internal.NavigationMenuItemView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.internal.NavigationMenuView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.internal.TouchObserverFrameLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.snackbar.Snackbar$SnackbarLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.snackbar.SnackbarContentLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.textfield.TextInputEditText { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.textfield.TextInputLayout { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.timepicker.ChipTextInputComboView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.timepicker.ClockFaceView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.timepicker.ClockHandView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.google.android.material.timepicker.TimePickerView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.rajat.pdfviewer.PdfRendererView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class com.rajat.pdfviewer.PinchZoomRecyclerView { <init>(android.content.Context, android.util.AttributeSet); }

-keep class org.wordpress.aztec.AztecText { <init>(android.content.Context, android.util.AttributeSet); }

-keep class org.wordpress.aztec.source.SourceViewEditText { <init>(android.content.Context, android.util.AttributeSet); }

-keep class org.wordpress.aztec.toolbar.AztecToolbar { <init>(android.content.Context, android.util.AttributeSet); }

-keep class org.wordpress.aztec.toolbar.RippleToggleButton { <init>(android.content.Context, android.util.AttributeSet); }


# End of content from /home/jenkins/.jenkins/workspace/Release-VSO/app-android/build/intermediates/aapt_proguard_file/benchmarkRelease/processBenchmarkReleaseResources/aapt_rules.txt
# The proguard configuration file for the following section is <unknown>

# End of content from <unknown>