From a50f3b5177808f07d84041c946caccb5a08ad387 Mon Sep 17 00:00:00 2001 From: MarcaD <152095496+MarcaDian@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:21:12 +0300 Subject: [PATCH] feat(Custom branding): Add in-app settings to change icon and name (#6059) Co-authored-by: LisoUseInAIKyrios <118716522+LisoUseInAIKyrios@users.noreply.github.com> --- .../extension/shared/GmsCoreSupport.java | 28 +- .../shared/patches/CustomBrandingPatch.java | 136 ++++++ .../shared/settings/BaseSettings.java | 4 + .../preference/ReVancedAboutPreference.java | 22 +- patches/api/patches.api | 1 + .../layout/branding/CustomBrandingPatch.kt | 30 +- .../patches/music/misc/gms/Constants.kt | 2 + .../branding/BaseCustomBrandingPatch.kt | 434 +++++++++++++----- .../shared/layout/branding/Fingerprints.kt | 13 + .../shared/layout/theme/BaseThemePatch.kt | 2 +- .../patches/shared/misc/gms/Fingerprints.kt | 25 +- .../shared/misc/gms/GmsCoreSupportPatch.kt | 36 +- .../misc/spoof/SpoofVideoStreamsPatch.kt | 2 +- .../layout/branding/CustomBrandingPatch.kt | 59 +-- .../branding/header/ChangeHeaderPatch.kt | 20 +- .../hide/shorts/HideShortsComponentsPatch.kt | 5 +- .../patches/youtube/misc/gms/Constants.kt | 2 + .../kotlin/app/revanced/util/ResourceUtils.kt | 14 +- .../resources/addresources/values/arrays.xml | 88 ++++ .../resources/addresources/values/strings.xml | 25 +- .../revanced_header_logo_minimal_dark.png | Bin 3490 -> 3354 bytes .../revanced_header_logo_minimal_light.png | Bin 3101 -> 2986 bytes .../revanced_header_logo_minimal_dark.png | Bin 2240 -> 2126 bytes .../revanced_header_logo_minimal_light.png | Bin 1997 -> 1924 bytes .../revanced_header_logo_minimal_dark.png | Bin 4676 -> 4506 bytes .../revanced_header_logo_minimal_light.png | Bin 4216 -> 4048 bytes .../revanced_header_logo_minimal_dark.png | Bin 7648 -> 7384 bytes .../revanced_header_logo_minimal_light.png | Bin 6882 -> 6540 bytes .../revanced_header_logo_minimal_dark.png | Bin 7966 -> 7457 bytes .../revanced_header_logo_minimal_light.png | Bin 6895 -> 6735 bytes .../revanced_adaptive_background_minimal.xml | 2 + .../revanced_adaptive_background_rounded.xml | 2 + .../revanced_adaptive_background_scaled.xml | 2 + .../revanced_adaptive_foreground_minimal.xml | 36 ++ .../revanced_adaptive_foreground_rounded.xml | 50 ++ .../revanced_adaptive_foreground_scaled.xml | 36 ++ .../revanced_adaptive_monochrome_custom.xml} | 8 +- .../revanced_adaptive_monochrome_minimal.xml} | 8 +- .../revanced_adaptive_monochrome_rounded.xml | 22 + .../revanced_adaptive_monochrome_scaled.xml} | 0 .../revanced_launcher_custom.xml | 7 + .../revanced_launcher_minimal.xml | 7 + .../revanced_launcher_rounded.xml | 7 + .../revanced_launcher_scaled.xml | 7 + .../revanced_adaptive_background_custom.png | Bin 0 -> 94 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 1276 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 92 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 858 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 98 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 1747 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 108 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 2771 bytes .../revanced_adaptive_background_custom.png | Bin 0 -> 118 bytes .../revanced_adaptive_foreground_custom.png | Bin 0 -> 3930 bytes ...ube_music_2024_q4_background_color_108.png | Bin 98 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 1447 -> 0 bytes .../music/mipmap-hdpi/ic_launcher_release.png | Bin 2876 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 92 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 943 -> 0 bytes .../music/mipmap-mdpi/ic_launcher_release.png | Bin 1802 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 100 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 2000 -> 0 bytes .../mipmap-xhdpi/ic_launcher_release.png | Bin 4077 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 108 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 3163 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_release.png | Bin 6256 -> 0 bytes ...ube_music_2024_q4_background_color_108.png | Bin 118 -> 0 bytes ...ube_music_2024_q4_foreground_color_108.png | Bin 4429 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_release.png | Bin 8744 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 98 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 1447 -> 0 bytes .../youtube/mipmap-hdpi/ic_launcher.png | Bin 2876 -> 0 bytes .../youtube/mipmap-hdpi/ic_launcher_round.png | Bin 2876 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 92 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 943 -> 0 bytes .../youtube/mipmap-mdpi/ic_launcher.png | Bin 1802 -> 0 bytes .../youtube/mipmap-mdpi/ic_launcher_round.png | Bin 1802 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 100 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 2000 -> 0 bytes .../youtube/mipmap-xhdpi/ic_launcher.png | Bin 4077 -> 0 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 4077 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 108 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 3163 -> 0 bytes .../youtube/mipmap-xxhdpi/ic_launcher.png | Bin 6256 -> 0 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 6256 -> 0 bytes ...veproduct_youtube_background_color_108.png | Bin 118 -> 0 bytes ...veproduct_youtube_foreground_color_108.png | Bin 4429 -> 0 bytes .../youtube/mipmap-xxxhdpi/ic_launcher.png | Bin 8744 -> 0 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 8744 -> 0 bytes 89 files changed, 925 insertions(+), 217 deletions(-) create mode 100644 extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java create mode 100644 patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml rename patches/src/main/resources/custom-branding/{youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml => drawable/revanced_adaptive_monochrome_custom.xml} (90%) rename patches/src/main/resources/custom-branding/{youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml => drawable/revanced_adaptive_monochrome_minimal.xml} (90%) create mode 100644 patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml rename patches/src/main/resources/custom-branding/{music/drawable/ic_app_icons_themed_youtube_music.xml => drawable/revanced_adaptive_monochrome_scaled.xml} (100%) create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml create mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png create mode 100644 patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_background_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/adaptiveproduct_youtube_foreground_color_108.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java index 978ee7131..993634eab 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/GmsCoreSupport.java @@ -31,9 +31,6 @@ import app.revanced.extension.shared.ui.CustomDialog; @SuppressWarnings("unused") public class GmsCoreSupport { - private static final String PACKAGE_NAME_YOUTUBE = "com.google.android.youtube"; - private static final String PACKAGE_NAME_YOUTUBE_MUSIC = "com.google.android.apps.youtube.music"; - private static final String GMS_CORE_PACKAGE_NAME = getGmsCoreVendorGroupId() + ".android.gms"; private static final Uri GMS_CORE_PROVIDER @@ -53,6 +50,20 @@ public class GmsCoreSupport { @Nullable private static volatile Boolean DONT_KILL_MY_APP_MANUFACTURER_SUPPORTED; + private static String getOriginalPackageName() { + return null; // Modified during patching. + } + + /** + * @return If the current package name is the same as the original unpatched app. + * If `GmsCore support` was not included during patching, this returns true; + */ + public static boolean isPackageNameOriginal() { + String originalPackageName = getOriginalPackageName(); + return originalPackageName == null + || originalPackageName.equals(Utils.getContext().getPackageName()); + } + private static void open(String queryOrLink) { Logger.printInfo(() -> "Opening link: " + queryOrLink); @@ -113,11 +124,10 @@ public class GmsCoreSupport { // Verify the user has not included GmsCore for a root installation. // GmsCore Support changes the package name, but with a mounted installation // all manifest changes are ignored and the original package name is used. - String packageName = context.getPackageName(); - if (packageName.equals(PACKAGE_NAME_YOUTUBE) || packageName.equals(PACKAGE_NAME_YOUTUBE_MUSIC)) { + if (isPackageNameOriginal()) { Logger.printInfo(() -> "App is mounted with root, but GmsCore patch was included"); - // Cannot use localize text here, since the app will load - // resources from the unpatched app and all patch strings are missing. + // Cannot use localize text here, since the app will load resources + // from the unpatched app and all patch strings are missing. Utils.showToastLong("The 'GmsCore support' patch breaks mount installations"); // Do not exit. If the app exits before launch completes (and without @@ -250,8 +260,8 @@ public class GmsCoreSupport { }; } - // Modified by a patch. Do not touch. private static String getGmsCoreVendorGroupId() { - return "app.revanced"; + // Modified during patching. + throw new IllegalStateException(); } } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java new file mode 100644 index 000000000..79a4d5484 --- /dev/null +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/patches/CustomBrandingPatch.java @@ -0,0 +1,136 @@ +package app.revanced.extension.shared.patches; + +import android.content.ComponentName; +import android.content.Context; +import android.content.pm.PackageManager; + +import java.util.ArrayList; +import java.util.List; + +import app.revanced.extension.shared.GmsCoreSupport; +import app.revanced.extension.shared.Logger; +import app.revanced.extension.shared.Utils; +import app.revanced.extension.shared.settings.BaseSettings; + +/** + * Patch shared by YouTube and YT Music. + */ +@SuppressWarnings("unused") +public class CustomBrandingPatch { + + // Important: In the future, additional branding themes can be added but all existing and prior + // themes cannot be removed or renamed. + // + // This is because if a user has a branding theme selected, then only that launch alias is enabled. + // If a future update removes or renames that alias, then after updating the app is effectively + // broken and it cannot be opened and not even clearing the app data will fix it. + // In that situation the only fix is to completely uninstall and reinstall again. + // + // The most that can be done is to hide a theme from the UI and keep the alias with dummy data. + public enum BrandingTheme { + /** + * Original unpatched icon. Must be first enum. + */ + ORIGINAL("revanced_original"), + ROUNDED("revanced_rounded"), + MINIMAL("revanced_minimal"), + SCALED("revanced_scaled"), + /** + * User provided custom icon. Must be the last enum. + */ + CUSTOM("revanced_custom"); + + public final String themeAlias; + + BrandingTheme(String themeAlias) { + this.themeAlias = themeAlias; + } + + private String packageAndNameIndexToClassAlias(String packageName, int appIndex) { + if (appIndex <= 0) { + throw new IllegalArgumentException("App index starts at index 1"); + } + return packageName + '.' + themeAlias + '_' + appIndex; + } + } + + /** + * Injection point. + * + * The total number of app name aliases, including dummy aliases. + */ + private static int numberOfPresetAppNames() { + // Modified during patching. + throw new IllegalStateException(); + } + + /** + * Injection point. + */ + @SuppressWarnings("ConstantConditions") + public static void setBranding() { + try { + if (GmsCoreSupport.isPackageNameOriginal()) { + Logger.printInfo(() -> "App is root mounted. Cannot dynamically change app icon"); + return; + } + + Context context = Utils.getContext(); + PackageManager pm = context.getPackageManager(); + String packageName = context.getPackageName(); + + BrandingTheme selectedBranding = BaseSettings.CUSTOM_BRANDING_ICON.get(); + final int selectedNameIndex = BaseSettings.CUSTOM_BRANDING_NAME.get(); + ComponentName componentToEnable = null; + ComponentName defaultComponent = null; + List componentsToDisable = new ArrayList<>(); + + for (BrandingTheme theme : BrandingTheme.values()) { + // Must always update all aliases including custom alias (last index). + final int numberOfPresetAppNames = numberOfPresetAppNames(); + + // App name indices starts at 1. + for (int index = 1; index <= numberOfPresetAppNames; index++) { + String aliasClass = theme.packageAndNameIndexToClassAlias(packageName, index); + ComponentName component = new ComponentName(packageName, aliasClass); + if (defaultComponent == null) { + // Default is always the first alias. + defaultComponent = component; + } + + if (index == selectedNameIndex && theme == selectedBranding) { + componentToEnable = component; + } else { + componentsToDisable.add(component); + } + } + } + + if (componentToEnable == null) { + // User imported a bad app name index value. Either the imported data + // was corrupted, or they previously had custom name enabled and the app + // no longer has a custom name specified. + Utils.showToastLong("Custom branding reset"); + BaseSettings.CUSTOM_BRANDING_ICON.resetToDefault(); + BaseSettings.CUSTOM_BRANDING_NAME.resetToDefault(); + + componentToEnable = defaultComponent; + componentsToDisable.remove(defaultComponent); + } + + for (ComponentName disable : componentsToDisable) { + // Use info logging because if the alias status become corrupt the app cannot launch. + Logger.printInfo(() -> "Disabling: " + disable.getClassName()); + pm.setComponentEnabledSetting(disable, + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); + } + + ComponentName componentToEnableFinal = componentToEnable; + Logger.printInfo(() -> "Enabling: " + componentToEnableFinal.getClassName()); + pm.setComponentEnabledSetting(componentToEnable, + PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 0); + } catch (Exception ex) { + Logger.printException(() -> "setBranding failure", ex); + } + } +} diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java index 1eff30361..3bc16e313 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/BaseSettings.java @@ -2,6 +2,7 @@ package app.revanced.extension.shared.settings; import static java.lang.Boolean.FALSE; import static java.lang.Boolean.TRUE; +import static app.revanced.extension.shared.patches.CustomBrandingPatch.BrandingTheme; import static app.revanced.extension.shared.settings.Setting.parent; import static app.revanced.extension.shared.spoof.SpoofVideoStreamsPatch.AudioStreamLanguageOverrideAvailability; @@ -40,4 +41,7 @@ public class BaseSettings { public static final BooleanSetting REPLACE_MUSIC_LINKS_WITH_YOUTUBE = new BooleanSetting("revanced_replace_music_with_youtube", FALSE); public static final BooleanSetting CHECK_WATCH_HISTORY_DOMAIN_NAME = new BooleanSetting("revanced_check_watch_history_domain_name", TRUE, false, false); + + public static final EnumSetting CUSTOM_BRANDING_ICON = new EnumSetting<>("revanced_custom_branding_icon", BrandingTheme.ORIGINAL, true); + public static final IntegerSetting CUSTOM_BRANDING_NAME = new IntegerSetting("revanced_custom_branding_name", 1, true); } diff --git a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java index be14e4a63..4f4d3ef92 100644 --- a/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java +++ b/extensions/shared/library/src/main/java/app/revanced/extension/shared/settings/preference/ReVancedAboutPreference.java @@ -5,6 +5,7 @@ import static app.revanced.extension.shared.Utils.dipToPixels; import static app.revanced.extension.shared.requests.Route.Method.GET; import android.annotation.SuppressLint; +import android.app.Activity; import android.app.Dialog; import android.app.ProgressDialog; import android.content.Context; @@ -125,6 +126,8 @@ public class ReVancedAboutPreference extends Preference { { setOnPreferenceClickListener(pref -> { + Context context = pref.getContext(); + // Show a progress spinner if the social links are not fetched yet. if (!AboutLinksRoutes.hasFetchedLinks() && Utils.isNetworkConnected()) { // Show a progress spinner, but only if the api fetch takes more than a half a second. @@ -137,17 +140,18 @@ public class ReVancedAboutPreference extends Preference { handler.postDelayed(showDialogRunnable, delayToShowProgressSpinner); Utils.runOnBackgroundThread(() -> - fetchLinksAndShowDialog(handler, showDialogRunnable, progress)); + fetchLinksAndShowDialog(context, handler, showDialogRunnable, progress)); } else { // No network call required and can run now. - fetchLinksAndShowDialog(null, null, null); + fetchLinksAndShowDialog(context, null, null, null); } return false; }); } - private void fetchLinksAndShowDialog(@Nullable Handler handler, + private void fetchLinksAndShowDialog(Context context, + @Nullable Handler handler, Runnable showDialogRunnable, @Nullable ProgressDialog progress) { WebLink[] links = AboutLinksRoutes.fetchAboutLinks(); @@ -164,7 +168,17 @@ public class ReVancedAboutPreference extends Preference { if (handler != null) { handler.removeCallbacks(showDialogRunnable); } - if (progress != null) { + + // Don't continue if the activity is done. To test this tap the + // about dialog and immediately press back before the dialog can show. + if (context instanceof Activity activity) { + if (activity.isFinishing() || activity.isDestroyed()) { + Logger.printDebug(() -> "Not showing about dialog, activity is closed"); + return; + } + } + + if (progress != null && progress.isShowing()) { progress.dismiss(); } new WebViewDialog(getContext(), htmlDialog).show(); diff --git a/patches/api/patches.api b/patches/api/patches.api index c85acef50..15b955acb 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -1919,6 +1919,7 @@ public final class app/revanced/util/ResourceUtilsKt { public static final fun forEachChildElement (Lorg/w3c/dom/Node;Lkotlin/jvm/functions/Function1;)V public static final fun insertFirst (Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V public static final fun iterateXmlNodeChildren (Lapp/revanced/patcher/patch/ResourcePatchContext;Ljava/lang/String;Ljava/lang/String;Lkotlin/jvm/functions/Function1;)V + public static final fun removeFromParent (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; } public final class app/revanced/util/resource/ArrayResource : app/revanced/util/resource/BaseResource { diff --git a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt index 530e98130..6f0f46026 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/layout/branding/CustomBrandingPatch.kt @@ -4,6 +4,10 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWith import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.util.smali.ExternalLabel +import app.revanced.patches.music.misc.gms.Constants.MUSIC_MAIN_ACTIVITY_NAME +import app.revanced.patches.music.misc.gms.Constants.MUSIC_PACKAGE_NAME +import app.revanced.patches.music.misc.gms.musicActivityOnCreateFingerprint +import app.revanced.patches.music.misc.settings.PreferenceScreen import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch import app.revanced.patches.shared.misc.mapping.get import app.revanced.patches.shared.misc.mapping.resourceMappingPatch @@ -50,24 +54,18 @@ private val disableSplashAnimationPatch = bytecodePatch { } } -private const val APP_NAME = "YT Music ReVanced" - @Suppress("unused") val customBrandingPatch = baseCustomBrandingPatch( - defaultAppName = APP_NAME, - appNameValues = mapOf( - "YT Music ReVanced" to APP_NAME, - "Music ReVanced" to "Music ReVanced", - "Music" to "Music", - "YT Music" to "YT Music", - ), - resourceFolder = "custom-branding/music", - iconResourceFileNames = arrayOf( - "adaptiveproduct_youtube_music_2024_q4_background_color_108", - "adaptiveproduct_youtube_music_2024_q4_foreground_color_108", - "ic_launcher_release", - ), - monochromeIconFileNames = arrayOf("ic_app_icons_themed_youtube_music.xml"), + addResourcePatchName = "music", + originalLauncherIconName = "ic_launcher_release", + originalAppName = "@string/app_launcher_name", + originalAppPackageName = MUSIC_PACKAGE_NAME, + copyExistingIntentsToAliases = false, + numberOfPresetAppNames = 5, + mainActivityOnCreateFingerprint = musicActivityOnCreateFingerprint, + mainActivityName = MUSIC_MAIN_ACTIVITY_NAME, + activityAliasNameWithIntents = MUSIC_MAIN_ACTIVITY_NAME, + preferenceScreen = PreferenceScreen.GENERAL, block = { dependsOn(disableSplashAnimationPatch) diff --git a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt index f4114a00b..39dda22aa 100644 --- a/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt +++ b/patches/src/main/kotlin/app/revanced/patches/music/misc/gms/Constants.kt @@ -1,6 +1,8 @@ package app.revanced.patches.music.misc.gms object Constants { + internal const val MUSIC_MAIN_ACTIVITY_NAME = "com.google.android.apps.youtube.music.activities.MusicActivity" + internal const val REVANCED_MUSIC_PACKAGE_NAME = "app.revanced.android.apps.youtube.music" internal const val MUSIC_PACKAGE_NAME = "com.google.android.apps.youtube.music" } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt index d865b2081..d8356aee0 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/BaseCustomBrandingPatch.kt @@ -1,173 +1,387 @@ package app.revanced.patches.shared.layout.branding +import app.revanced.patcher.Fingerprint +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction +import app.revanced.patcher.patch.PatchException import app.revanced.patcher.patch.ResourcePatch import app.revanced.patcher.patch.ResourcePatchBuilder import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.bytecodePatch import app.revanced.patcher.patch.resourcePatch import app.revanced.patcher.patch.stringOption +import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName +import app.revanced.patches.all.misc.resources.addResources +import app.revanced.patches.all.misc.resources.addResourcesPatch +import app.revanced.patches.shared.misc.settings.preference.BasePreferenceScreen +import app.revanced.patches.shared.misc.settings.preference.ListPreference import app.revanced.util.ResourceGroup import app.revanced.util.Utils.trimIndentMultiline import app.revanced.util.copyResources +import app.revanced.util.findElementByAttributeValueOrThrow +import app.revanced.util.removeFromParent +import app.revanced.util.returnEarly +import org.w3c.dom.Element +import org.w3c.dom.Node +import org.w3c.dom.NodeList import java.io.File -import java.nio.file.Files import java.util.logging.Logger -private const val REVANCED_ICON = "ReVanced*Logo" // Can never be a valid path. - -internal val mipmapDirectories = arrayOf( +private val mipmapDirectories = arrayOf( // Target app does not have ldpi icons. - "mdpi", - "hdpi", - "xhdpi", - "xxhdpi", - "xxxhdpi", -).map { "mipmap-$it" }.toTypedArray() + "mipmap-mdpi", + "mipmap-hdpi", + "mipmap-xhdpi", + "mipmap-xxhdpi", + "mipmap-xxxhdpi" +) -private fun formatResourceFileList(resourceNames: Array) = resourceNames.joinToString("\n") { "- $it" } +private val iconStyleNames = arrayOf( + "rounded", + "minimal", + "scaled" +) -/** - * Attempts to fix unescaped and invalid characters not allowed for an Android app name. - */ -private fun escapeAppName(name: String): String? { - // Remove ASCII control characters. - val cleanedName = name.filter { it.code >= 32 } +private const val ORIGINAL_USER_ICON_STYLE_NAME = "original" +private const val CUSTOM_USER_ICON_STYLE_NAME = "custom" - // Replace invalid XML characters with escaped equivalents. - val escapedName = cleanedName - .replace("&", "&") // Must be first to avoid double-escaping. - .replace("<", "<") - .replace(">", ">") - .replace(Regex("(?, - resourceFolder: String, - iconResourceFileNames: Array, - monochromeIconFileNames: Array, - block: ResourcePatchBuilder.() -> Unit = {}, + addResourcePatchName: String, + originalLauncherIconName: String, + originalAppName: String, + originalAppPackageName: String, + copyExistingIntentsToAliases: Boolean, + numberOfPresetAppNames: Int, + mainActivityOnCreateFingerprint: Fingerprint, + mainActivityName: String, + activityAliasNameWithIntents: String, + preferenceScreen: BasePreferenceScreen.Screen, + block: ResourcePatchBuilder.() -> Unit, executeBlock: ResourcePatchContext.() -> Unit = {} ): ResourcePatch = resourcePatch( name = "Custom branding", - description = "Applies a custom app name and icon. Defaults to \"$defaultAppName\" and the ReVanced logo.", - use = false, + description = "Adds options to change the app icon and app name. " + + "Branding cannot be changed for mounted (root) installations." ) { - val iconResourceFileNamesPng = iconResourceFileNames.map { "$it.png" }.toTypedArray() - - val appName by stringOption( - key = "appName", - default = defaultAppName, - values = appNameValues, + val customName by stringOption( + key = "customName", title = "App name", - description = "The name of the app.", + description = "Custom app name." ) - val iconPath by stringOption( - key = "iconPath", - default = REVANCED_ICON, - values = mapOf("ReVanced Logo" to REVANCED_ICON), - title = "App icon", + val customIcon by stringOption( + key = "customIcon", + title = "Custom icon", description = """ - The icon to apply to the app. + Folder with images to use as a custom icon. - If a path to a folder is provided, the folder must contain the following folders: - - ${formatResourceFileList(mipmapDirectories)} - - Each of these folders must contain the following files: - - ${formatResourceFileList(iconResourceFileNamesPng)} + The folder must contain one or more of the following folders, depending on the DPI of the device: + ${mipmapDirectories.joinToString("\n") { "- $it" }} - Optionally, a 'drawable' folder with the monochrome icon files: - - ${formatResourceFileList(monochromeIconFileNames)} - """.trimIndentMultiline(), + Each of the folders must contain all of the following files: + ${USER_CUSTOM_ADAPTIVE_FILE_NAMES.joinToString("\n")} + + Optionally, the path can contain a 'drawable' folder with the monochrome icon file: + $USER_CUSTOM_MONOCHROME_NAME + """.trimIndentMultiline() ) block() + dependsOn( + addResourcesPatch, + bytecodePatch { + execute { + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static { }, $EXTENSION_CLASS_DESCRIPTOR->setBranding()V" + ) + + numberOfPresetAppNamesExtensionFingerprint.method.returnEarly(numberOfPresetAppNames) + } + } + ) + + finalize { + val useCustomName = customName != null + val useCustomIcon = customIcon != null + + if (setOrGetFallbackPackageName(originalAppPackageName) == originalAppPackageName) { + if (useCustomName || useCustomIcon) { + Logger.getLogger(this::class.java.name).warning( + "Custom branding does not work with root installation. No changes applied." + ) + } + return@finalize + } + + preferenceScreen.addPreferences( + if (useCustomName) { + ListPreference( + key = "revanced_custom_branding_name", + entriesKey = "revanced_custom_branding_name_custom_entries", + entryValuesKey = "revanced_custom_branding_name_custom_entry_values" + ) + } else { + ListPreference("revanced_custom_branding_name") + }, + if (useCustomIcon) { + ListPreference( + key = "revanced_custom_branding_icon", + entriesKey = "revanced_custom_branding_icon_custom_entries", + entryValuesKey = "revanced_custom_branding_icon_custom_entry_values" + ) + } else { + ListPreference("revanced_custom_branding_icon") + } + ) + } + execute { - val mipmapIconResourceGroups = mipmapDirectories.map { directory -> - ResourceGroup( - directory, - *iconResourceFileNamesPng, + addResources("shared", "layout.branding.baseCustomBrandingPatch") + addResources(addResourcePatchName, "layout.branding.customBrandingPatch") + + val useCustomName = customName != null + val useCustomIcon = customIcon != null + + iconStyleNames.forEach { style -> + copyResources( + "custom-branding", + ResourceGroup( + "drawable", + "$LAUNCHER_ADAPTIVE_BACKGROUND_PREFIX$style.xml", + "$LAUNCHER_ADAPTIVE_FOREGROUND_PREFIX$style.xml", + "$LAUNCHER_ADAPTIVE_MONOCHROME_PREFIX$style.xml" + ), + ResourceGroup( + "mipmap-anydpi", + "$LAUNCHER_RESOURCE_NAME_PREFIX$style.xml" + ) ) } - val iconPathTrimmed = iconPath!!.trim() - if (iconPathTrimmed == REVANCED_ICON) { - // Replace mipmap icons with preset patch icons. - mipmapIconResourceGroups.forEach { groupResources -> - copyResources(resourceFolder, groupResources) - } + // Copy template user icon, because the aliases must be added even if no user icon is provided. + copyResources( + "custom-branding", + ResourceGroup( + "mipmap-anydpi", + "$LAUNCHER_RESOURCE_NAME_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.xml", + ), + ResourceGroup( + "drawable", + "$LAUNCHER_ADAPTIVE_MONOCHROME_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.xml", + ) + ) - // Replace monochrome icons. - monochromeIconFileNames.forEach { fileName -> - copyResources( - resourceFolder, - ResourceGroup("drawable", fileName) + // Copy template icon png files. + mipmapDirectories.forEach { dpi -> + copyResources( + "custom-branding", + ResourceGroup( + dpi, + "$LAUNCHER_ADAPTIVE_BACKGROUND_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.png", + "$LAUNCHER_ADAPTIVE_FOREGROUND_PREFIX$CUSTOM_USER_ICON_STYLE_NAME.png", + ) + ) + } + + if (useCustomIcon) { + // Copy user provided files + val iconPathFile = File(customIcon!!.trim()) + + if (!iconPathFile.exists()) { + throw PatchException( + "The custom icon path cannot be found: " + iconPathFile.absolutePath ) } - } else { - val filePath = File(iconPathTrimmed) + + if (!iconPathFile.isDirectory) { + throw PatchException( + "The custom icon path must be a folder: " + iconPathFile.absolutePath + ) + } + + val sourceFolders = iconPathFile.listFiles { file -> file.isDirectory } + ?: throw PatchException("The custom icon path contains no subfolders: " + + iconPathFile.absolutePath) + val resourceDirectory = get("res") + var copiedFiles = false - // Replace - mipmapIconResourceGroups.forEach { groupResources -> - val groupResourceDirectoryName = groupResources.resourceDirectoryName - val fromDirectory = filePath.resolve(groupResourceDirectoryName) - val toDirectory = resourceDirectory.resolve(groupResourceDirectoryName) + // For each source folder, copy the files to the target resource directories. + sourceFolders.forEach { dpiSourceFolder -> + val targetDpiFolder = resourceDirectory.resolve(dpiSourceFolder.name) + if (!targetDpiFolder.exists()) return@forEach - groupResources.resources.forEach { iconFileName -> - Files.write( - toDirectory.resolve(iconFileName).toPath(), - fromDirectory.resolve(iconFileName).readBytes(), - ) + val customFiles = dpiSourceFolder.listFiles { file -> + file.isFile && file.name in USER_CUSTOM_ADAPTIVE_FILE_NAMES + }!! + + if (customFiles.size > 0 && customFiles.size != USER_CUSTOM_ADAPTIVE_FILE_NAMES.size) { + throw PatchException("Must include all required icon files " + + "but only found " + customFiles.map { it.name }) + } + + customFiles.forEach { imgSourceFile -> + val imgTargetFile = targetDpiFolder.resolve(imgSourceFile.name) + imgSourceFile.copyTo(target = imgTargetFile, overwrite = true) + + copiedFiles = true } } - // Copy all monochrome icons if provided. - monochromeIconFileNames.forEach { fileName -> - val replacementMonochrome = filePath.resolve("drawable").resolve(fileName) - if (replacementMonochrome.exists()) { - Files.write( - resourceDirectory.resolve("drawable").resolve(fileName).toPath(), - replacementMonochrome.readBytes(), - ) - } + // Copy monochrome if it provided. + val monochromeRelativePath = "drawable/$USER_CUSTOM_MONOCHROME_NAME" + val monochromeFile = iconPathFile.resolve(monochromeRelativePath) + if (monochromeFile.exists()) { + monochromeFile.copyTo( + target = resourceDirectory.resolve(monochromeRelativePath), + overwrite = true + ) + copiedFiles = true + } + + if (!copiedFiles) { + throw PatchException("Could not find any replacement images in " + + "patch option path: " + iconPathFile.absolutePath) } } - // Change the app name. - escapeAppName(appName!!)?.let { escapedAppName -> - val newValue = "android:label=\"$escapedAppName\"" + document("AndroidManifest.xml").use { document -> + // Create launch aliases that can be programmatically selected in app. + fun createAlias( + aliasName: String, + iconMipmapName: String, + appNameIndex: Int, + useCustomName: Boolean, + enabled: Boolean, + intents: NodeList + ): Element { + val label = if (useCustomName) { + if (customName == null) { + "Custom" // Dummy text, and normally cannot be seen. + } else { + customName!! + } + } else if (appNameIndex == 1) { + // Indexing starts at 1. + originalAppName + } else { + "@string/revanced_custom_branding_name_entry_$appNameIndex" + } + val alias = document.createElement("activity-alias") + alias.setAttribute("android:name", aliasName) + alias.setAttribute("android:enabled", enabled.toString()) + alias.setAttribute("android:exported", "true") + alias.setAttribute("android:icon", "@mipmap/$iconMipmapName") + alias.setAttribute("android:label", label) + alias.setAttribute("android:targetActivity", mainActivityName) - val manifest = get("AndroidManifest.xml") - val original = manifest.readText() - val replacement = original - // YouTube - .replace("android:label=\"@string/application_name\"", newValue) - // YT Music - .replace("android:label=\"@string/app_launcher_name\"", newValue) + // Copy all intents from the original alias so long press actions still work. + if (copyExistingIntentsToAliases) { + for (i in 0 until intents.length) { + alias.appendChild( + intents.item(i).cloneNode(true) + ) + } + } else { + val intentFilter = document.createElement("intent-filter").apply { + val action = document.createElement("action") + action.setAttribute("android:name", "android.intent.action.MAIN") + appendChild(action) - if (original == replacement) { - Logger.getLogger(this::class.java.name).warning( - "Could not replace manifest app name" + val category = document.createElement("category") + category.setAttribute("android:name", "android.intent.category.LAUNCHER") + appendChild(category) + } + alias.appendChild(intentFilter) + } + + return alias + } + + val intentFilters = document.childNodes.findElementByAttributeValueOrThrow( + "android:name", + activityAliasNameWithIntents + ).childNodes + + val application = document.getElementsByTagName("application").item(0) as Element + + for (appNameIndex in 1 .. numberOfPresetAppNames) { + fun aliasName(name: String): String = ".revanced_" + name + '_' + appNameIndex + + val useCustomNameLabel = (useCustomName && appNameIndex == numberOfPresetAppNames) + + // Original icon. + application.appendChild( + createAlias( + aliasName = aliasName(ORIGINAL_USER_ICON_STYLE_NAME), + iconMipmapName = originalLauncherIconName, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = (appNameIndex == 1), + intentFilters + ) + ) + + // Bundled icons. + iconStyleNames.forEachIndexed { index, style -> + application.appendChild( + createAlias( + aliasName = aliasName(style), + iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + style, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = false, + intentFilters + ) + ) + } + + // User provided custom icon. + // + // Must add all aliases even if the user did not provide a custom icon of their own. + // This is because if the user installs with an option, then repatches without the option, + // the alias must still exist because if it was previously enabled and then it's removed + // the app will become broken and cannot launch. Even if the app data is cleared + // it still cannot be launched and the only fix is to uninstall the app. + // To prevent this, always include all aliases and use dummy data if needed. + application.appendChild( + createAlias( + aliasName = aliasName(CUSTOM_USER_ICON_STYLE_NAME), + iconMipmapName = LAUNCHER_RESOURCE_NAME_PREFIX + CUSTOM_USER_ICON_STYLE_NAME, + appNameIndex = appNameIndex, + useCustomName = useCustomNameLabel, + enabled = false, + intentFilters + ) ) } - manifest.writeText(replacement) + // Remove the main action from the original alias, otherwise two apps icons + // can be shown in the launcher. Can only be done after adding the new aliases. + intentFilters.findElementByAttributeValueOrThrow( + "android:name", + "android.intent.action.MAIN" + ).removeFromParent() } - executeBlock() // Must be after the main code to rename the new icons for YouTube 19.34+. + executeBlock() } } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt new file mode 100644 index 000000000..c46cb1a88 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/branding/Fingerprints.kt @@ -0,0 +1,13 @@ +package app.revanced.patches.shared.layout.branding + +import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal val numberOfPresetAppNamesExtensionFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("I") + parameters() + custom { method, classDef -> + method.name == "numberOfPresetAppNames" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt index de070fb89..40fb77980 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/layout/theme/BaseThemePatch.kt @@ -79,7 +79,7 @@ internal val darkThemeBackgroundColorOption = stringOption( */ internal fun baseThemePatch( extensionClassDescriptor: String, - block: BytecodePatchBuilder.() -> Unit = {}, + block: BytecodePatchBuilder.() -> Unit, executeBlock: BytecodePatchContext.() -> Unit = {} ) = bytecodePatch( name = "Theme", diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt index b5f613d54..27eebb8ab 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/Fingerprints.kt @@ -1,16 +1,11 @@ package app.revanced.patches.shared.misc.gms import app.revanced.patcher.fingerprint +import app.revanced.patches.shared.misc.gms.EXTENSION_CLASS_DESCRIPTOR import com.android.tools.smali.dexlib2.AccessFlags const val GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME = "getGmsCoreVendorGroupId" -internal val gmsCoreSupportFingerprint = fingerprint { - custom { _, classDef -> - classDef.endsWith("GmsCoreSupport;") - } -} - internal val googlePlayUtilityFingerprint = fingerprint { accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC) returns("I") @@ -28,3 +23,21 @@ internal val serviceCheckFingerprint = fingerprint { parameters("L", "I") strings("Google Play Services not available") } + +internal val gmsCoreSupportFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { method, classDef -> + method.name == "getGmsCoreVendorGroupId" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} + +internal val originalPackageNameExtensionFingerprint = fingerprint { + accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC) + returns("Ljava/lang/String;") + parameters() + custom { methodDef, classDef -> + methodDef.name == "getOriginalPackageName" && classDef.type == EXTENSION_CLASS_DESCRIPTOR + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt index ef8743fda..fb773457f 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/gms/GmsCoreSupportPatch.kt @@ -1,10 +1,18 @@ package app.revanced.patches.shared.misc.gms import app.revanced.patcher.Fingerprint -import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.extensions.InstructionExtensions.addInstruction import app.revanced.patcher.extensions.InstructionExtensions.instructions import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction -import app.revanced.patcher.patch.* +import app.revanced.patcher.patch.BytecodePatchBuilder +import app.revanced.patcher.patch.BytecodePatchContext +import app.revanced.patcher.patch.Option +import app.revanced.patcher.patch.Patch +import app.revanced.patcher.patch.ResourcePatchBuilder +import app.revanced.patcher.patch.ResourcePatchContext +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patcher.patch.resourcePatch +import app.revanced.patcher.patch.stringOption import app.revanced.patches.all.misc.packagename.changePackageNamePatch import app.revanced.patches.all.misc.packagename.setOrGetFallbackPackageName import app.revanced.patches.all.misc.resources.addResources @@ -12,7 +20,8 @@ import app.revanced.patches.all.misc.resources.addResourcesPatch import app.revanced.patches.shared.misc.gms.Constants.ACTIONS import app.revanced.patches.shared.misc.gms.Constants.AUTHORITIES import app.revanced.patches.shared.misc.gms.Constants.PERMISSIONS -import app.revanced.util.* +import app.revanced.util.getReference +import app.revanced.util.returnEarly import com.android.tools.smali.dexlib2.Opcode import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction21c import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @@ -23,6 +32,8 @@ import com.android.tools.smali.dexlib2.util.MethodUtil import org.w3c.dom.Element import org.w3c.dom.Node +internal const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/shared/GmsCoreSupport;" + private const val PACKAGE_NAME_REGEX_PATTERN = "^[a-z]\\w*(\\.[a-z]\\w*)+\$" /** @@ -201,19 +212,18 @@ fun gmsCoreSupportPatch( googlePlayUtilityFingerprint.method.returnEarly(0) } + // Set original and patched package names for extension to use. + originalPackageNameExtensionFingerprint.method.returnEarly(fromPackageName) + // Verify GmsCore is installed and whitelisted for power optimizations and background usage. - mainActivityOnCreateFingerprint.method.apply { - addInstructions( - 0, - "invoke-static/range { p0 .. p0 }, Lapp/revanced/extension/shared/GmsCoreSupport;->" + - "checkGmsCore(Landroid/app/Activity;)V", - ) - } + mainActivityOnCreateFingerprint.method.addInstruction( + 0, + "invoke-static/range { p0 .. p0 }, $EXTENSION_CLASS_DESCRIPTOR->" + + "checkGmsCore(Landroid/app/Activity;)V" + ) // Change the vendor of GmsCore in the extension. - gmsCoreSupportFingerprint.classDef.methods - .single { it.name == GET_GMS_CORE_VENDOR_GROUP_ID_METHOD_NAME } - .replaceInstruction(0, "const-string v0, \"$gmsCoreVendorGroupId\"") + gmsCoreSupportFingerprint.method.returnEarly(gmsCoreVendorGroupId!!) executeBlock() } diff --git a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt index 7c1c58410..7395c3983 100644 --- a/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/shared/misc/spoof/SpoofVideoStreamsPatch.kt @@ -43,7 +43,7 @@ internal fun spoofVideoStreamsPatch( fixMediaFetchHotConfig: BytecodePatchBuilder.() -> Boolean = { false }, fixMediaFetchHotConfigAlternative: BytecodePatchBuilder.() -> Boolean = { false }, fixParsePlaybackResponseFeatureFlag: BytecodePatchBuilder.() -> Boolean = { false }, - block: BytecodePatchBuilder.() -> Unit = {}, + block: BytecodePatchBuilder.() -> Unit, executeBlock: BytecodePatchContext.() -> Unit = {}, ) = bytecodePatch( name = "Spoof video streams", diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt index ca028c438..2294ef9b2 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/CustomBrandingPatch.kt @@ -1,38 +1,28 @@ package app.revanced.patches.youtube.layout.branding import app.revanced.patches.shared.layout.branding.baseCustomBrandingPatch -import app.revanced.patches.shared.layout.branding.mipmapDirectories -import java.nio.file.Files - -private const val APP_NAME = "YouTube ReVanced" - -private val youtubeIconResourceFileNames_19_34 = mapOf( - "adaptiveproduct_youtube_foreground_color_108" to "adaptiveproduct_youtube_2024_q4_foreground_color_108", - "adaptiveproduct_youtube_background_color_108" to "adaptiveproduct_youtube_2024_q4_background_color_108", -) +import app.revanced.patches.youtube.misc.extension.sharedExtensionPatch +import app.revanced.patches.youtube.misc.gms.Constants.YOUTUBE_MAIN_ACTIVITY_NAME +import app.revanced.patches.youtube.misc.gms.Constants.YOUTUBE_PACKAGE_NAME +import app.revanced.patches.youtube.misc.settings.PreferenceScreen +import app.revanced.patches.youtube.shared.mainActivityOnCreateFingerprint @Suppress("unused") val customBrandingPatch = baseCustomBrandingPatch( - defaultAppName = APP_NAME, - appNameValues = mapOf( - "YouTube ReVanced" to APP_NAME, - "YT ReVanced" to "YT ReVanced", - "YT" to "YT", - "YouTube" to "YouTube", - ), - resourceFolder = "custom-branding/youtube", - iconResourceFileNames = arrayOf( - "adaptiveproduct_youtube_background_color_108", - "adaptiveproduct_youtube_foreground_color_108", - "ic_launcher", - "ic_launcher_round", - ), - monochromeIconFileNames = arrayOf( - "adaptive_monochrome_ic_youtube_launcher.xml", - "ringo2_adaptive_monochrome_ic_youtube_launcher.xml" - ), + addResourcePatchName = "youtube", + originalLauncherIconName = "ic_launcher", + originalAppName = "@string/application_name", + originalAppPackageName = YOUTUBE_PACKAGE_NAME, + copyExistingIntentsToAliases = true, + numberOfPresetAppNames = 5, + mainActivityOnCreateFingerprint = mainActivityOnCreateFingerprint, + mainActivityName = YOUTUBE_MAIN_ACTIVITY_NAME, + activityAliasNameWithIntents = "com.google.android.youtube.app.honeycomb.Shell\$HomeActivity", + preferenceScreen = PreferenceScreen.GENERAL_LAYOUT, block = { + dependsOn(sharedExtensionPatch) + compatibleWith( "com.google.android.youtube"( "19.34.42", @@ -41,20 +31,5 @@ val customBrandingPatch = baseCustomBrandingPatch( "20.14.43", ) ) - }, - - executeBlock = { - val resourceDirectory = get("res") - - mipmapDirectories.forEach { directory -> - val targetDirectory = resourceDirectory.resolve(directory) - - youtubeIconResourceFileNames_19_34.forEach { (old, new) -> - val oldFile = targetDirectory.resolve("$old.png") - val newFile = targetDirectory.resolve("$new.png") - - Files.write(newFile.toPath(), oldFile.readBytes()) - } - } } ) diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt index fa02fcc29..26a10aacf 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/branding/header/ChangeHeaderPatch.kt @@ -136,8 +136,21 @@ val changeHeaderPatch = resourcePatch( ) if (custom != null) { - val sourceFolders = File(custom!!).listFiles { file -> file.isDirectory } - ?: throw PatchException("The provided path is not a directory: $custom") + val customFile = File(custom!!) + if (!customFile.exists()) { + throw PatchException("The custom icon path cannot be found: " + + customFile.absolutePath + ) + } + + if (!customFile.isDirectory) { + throw PatchException("The custom icon path must be a folder: " + + customFile.absolutePath) + } + + val sourceFolders = customFile.listFiles { file -> file.isDirectory } + ?: throw PatchException("The custom icon path contains no subfolders: " + + customFile.absolutePath) val customResourceFileNames = getLightDarkFileNames(CUSTOM_HEADER_RESOURCE_NAME) @@ -166,7 +179,8 @@ val changeHeaderPatch = resourcePatch( } if (!copiedFiles) { - throw PatchException("No custom header images found in the provided path: $custom") + throw PatchException("No custom header images found in " + + "the provided path: " + customFile.absolutePath) } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt index f94b27099..de715d06c 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/layout/hide/shorts/HideShortsComponentsPatch.kt @@ -27,6 +27,7 @@ import app.revanced.util.forEachLiteralValueInstruction import app.revanced.util.getReference import app.revanced.util.indexOfFirstInstructionOrThrow import app.revanced.util.indexOfFirstLiteralInstruction +import app.revanced.util.removeFromParent import app.revanced.util.returnLate import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction import com.android.tools.smali.dexlib2.iface.reference.MethodReference @@ -127,7 +128,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { ) if (hideShortsAppShortcut == true) { - shortsItem.parentNode.removeChild(shortsItem) + shortsItem.removeFromParent() } } @@ -138,7 +139,7 @@ private val hideShortsComponentsResourcePatch = resourcePatch { ) if (hideShortsWidget == true) { - shortsItem.parentNode.removeChild(shortsItem) + shortsItem.removeFromParent() } } diff --git a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt index c532c57d4..19f0454ba 100644 --- a/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt +++ b/patches/src/main/kotlin/app/revanced/patches/youtube/misc/gms/Constants.kt @@ -1,6 +1,8 @@ package app.revanced.patches.youtube.misc.gms internal object Constants { + internal const val YOUTUBE_MAIN_ACTIVITY_NAME = "com.google.android.apps.youtube.app.watchwhile.MainActivity" + const val YOUTUBE_PACKAGE_NAME = "com.google.android.youtube" const val REVANCED_YOUTUBE_PACKAGE_NAME = "app.revanced.android.youtube" } \ No newline at end of file diff --git a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt index 61d7be350..b2d8ba287 100644 --- a/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt +++ b/patches/src/main/kotlin/app/revanced/util/ResourceUtils.kt @@ -14,6 +14,13 @@ import java.nio.file.StandardCopyOption private val classLoader = object {}.javaClass.classLoader +/** + * Removes a node from its parent. + * + * @return The node that was removed (object this method was called on). + */ +fun Node.removeFromParent() : Node = parentNode.removeChild(this) + /** * Returns a sequence for all child nodes. */ @@ -70,8 +77,13 @@ fun ResourcePatchContext.copyResources( for (resourceGroup in resources) { resourceGroup.resources.forEach { resource -> val resourceFile = "${resourceGroup.resourceDirectoryName}/$resource" + val stream = inputStreamFromBundledResource(sourceResourceDirectory, resourceFile) + if (stream == null) { + throw IllegalArgumentException("Could not find resource: $resourceFile " + + "in directory: $sourceResourceDirectory") + } Files.copy( - inputStreamFromBundledResource(sourceResourceDirectory, resourceFile)!!, + stream, targetResourceDirectory.resolve(resourceFile).toPath(), StandardCopyOption.REPLACE_EXISTING, ) diff --git a/patches/src/main/resources/addresources/values/arrays.xml b/patches/src/main/resources/addresources/values/arrays.xml index 3faa7cdbe..980f0c20c 100644 --- a/patches/src/main/resources/addresources/values/arrays.xml +++ b/patches/src/main/resources/addresources/values/arrays.xml @@ -1,5 +1,33 @@ + + + @string/revanced_custom_branding_icon_entry_1 + @string/revanced_custom_branding_icon_entry_2 + @string/revanced_custom_branding_icon_entry_3 + @string/revanced_custom_branding_icon_entry_4 + + + ORIGINAL + ROUNDED + MINIMAL + SCALED + + + @string/revanced_custom_branding_icon_entry_1 + @string/revanced_custom_branding_icon_entry_2 + @string/revanced_custom_branding_icon_entry_3 + @string/revanced_custom_branding_icon_entry_4 + @string/revanced_custom_branding_icon_entry_5 + + + ORIGINAL + ROUNDED + MINIMAL + SCALED + CUSTOM + + @string/revanced_language_DEFAULT @@ -123,6 +151,36 @@ + + + + @string/app_launcher_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + + + 1 + 2 + 3 + 4 + + + + @string/app_launcher_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + @string/revanced_custom_branding_name_entry_5 + + + 1 + 2 + 3 + 4 + 5 + + Android VR @@ -135,6 +193,36 @@ + + + + @string/application_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + + + 1 + 2 + 3 + 4 + + + + @string/application_name + @string/revanced_custom_branding_name_entry_2 + @string/revanced_custom_branding_name_entry_3 + @string/revanced_custom_branding_name_entry_4 + @string/revanced_custom_branding_name_entry_5 + + + 1 + 2 + 3 + 4 + 5 + + Android VR diff --git a/patches/src/main/resources/addresources/values/strings.xml b/patches/src/main/resources/addresources/values/strings.xml index 2461191bb..1b464b382 100644 --- a/patches/src/main/resources/addresources/values/strings.xml +++ b/patches/src/main/resources/addresources/values/strings.xml @@ -19,6 +19,19 @@ Second \"item\" text" --> + + App name + + Custom + App icon + Original + ReVanced + + ReVanced minimal + ReVanced scaled + + Custom + Checks failed Open official website @@ -1484,13 +1497,18 @@ Swipe to expand or close" The accent color of the seekbar Invalid seekbar color value + + YouTube ReVanced + YT ReVanced + YT + Header logo Default Regular Premium ReVanced - + ReVanced minimal Custom @@ -1708,6 +1726,11 @@ Video playback with AV1 may stutter or drop frames." + + YT Music ReVanced + Music ReVanced + Music + About Ads diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_dark.png index c2995578d9904564df539bb0c396aecc217b3d07..bf0c300aabcf468b11a15ffa63cc768ef2f01e45 100644 GIT binary patch delta 3352 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 AdjJ3c diff --git a/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-hdpi/revanced_header_logo_minimal_light.png index 9bd381fc75fd7e54e72e939c9487bd8b3de5e1fd..7434d79a54dde9383a4efb3b4dc22dce8e72beff 100644 GIT binary patch delta 2952 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 delta 3068 zcmZ1_K38Ib3geTBs`B*>H+Qoucy21|eSGz>ncLfqxz$xUw~xI_+On_pLtg-Y7o&982rP=6$T^YOb|pPyO2w~V|U7F6-*(Icj$q@+)7?(Wy0 z-V%%bxuZ5GC&#&NZGnr6%Z#&KQ|ptIl$AFdJlJh`V|kJ7v9E&7aS9(leylI6(fRX7 zxb830^__nz0zyJU%x=Gy(+-okQ20c9o%mG7_fz&+{P?K*rz>gOb%U@qKMX7GA4HXeGQb3(!Pe|=Dw!%W#NX}j0ysvhl{suQ`%#mJyv!}Y_a z?uUF`w}QOZL?qs|`#n{pag)y?@tcz^i=QRTUY~rFt9j$@FqZW)yjucV?%%lM&7tI* z;>HnI!X()1;VZSH%U;R!q6fFOmq(P#t0mvB@&&SSJyZ%`?kype@$vij=^Y<9I(xgP zJ~&a&!FfVRuW{lz7mt#ho|IEFPX2ptlzK`ft=|6naS<2C*{^GQZ>!}!lo4CZAN1ID ziALUoZOimyQbqEz`IKeCrc5Z>vG($TaPLJ6(>61n7SoL0w&u@|$NiU?@6#-pE@vC+pknCnrVpKa1%LDCO_{I*o;ub!XO`_n&tjxqZf1 z=+VND6@ow67VYfKsJHOu?eJ5VIPT@z;U^q_hOP9fQozURH|3v0SBG&<{C3yMYw3+i zo0h-bpIW{8<)*DyO&D$$OkjFBWB;b(1edb_~c*dqrl!n%I$5!k`}|AF7+dKnoR9a*aq z0j1gI`O_LcIQ-mjt03}v;Yyt>W8nj{__|Y^nkNbgNGR0%{`2nG^Z(y(ApwC0@Axj+ z@N+$sn6q^I?D8jXB${U4Xt_G0Ex zWmzG~chSa?(ZY!HQJd+h>tVc)8qc!b-r75nqwpc$m-abzGq?&5N36(P!c!7HYtN_S zni?(Y@A!hY1++ek@|$m$8~^+In$Tu9tC)K^mZAGz76-JI#wZmU?o{>P7gO~4nQ!HX z2aQuSgWY!2AFi&tb?3raCkwvxO!kW}dEC9UnICbnE#}HfR&seRYcVNurt7};Sz86p zhW${qT&iI8{DbPQhxLUli-HfkD$Y4B{v+R~UE`JJ>4l%!jPLz_q&%nL#Tth!_0wl; zU-W&-=sGGecU6H3&vHep;){a5AC!e^qd0hW8O^hcJasqL?oa&(XF;RXQzD+T ?) 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 delta 2228 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 diff --git a/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-mdpi/revanced_header_logo_minimal_light.png index e147d3f6bf33b0b41f9e806af3e6be67d73453fa..0e52e1a247f51a80de5b98cb0ee651eb5fb27fa0 100644 GIT binary patch delta 1909 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 Gp$PzckbejO delta 4628 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 diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_light.png index f9f9db247b2baa1c50048c8c56f9623d5c5a0df5..d1d98ed2dde3fd73a9fa5edaacef028525fba4a2 100644 GIT binary patch literal 4048 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 literal 4216 zcmeAS@N?(olHy`uVBq!ia0y~yU}R!oU`XI#V_;zT#!|DDfkD9D)5S5Qg7M8kLtX|3 z4rT+pls7Z$dtWGITKh9#2V3r{9KRRKu)TLrtxWj}foDd~Run|oyfRGwxgb0(E$!L2 z89UFE^gO+H`~TFw(`RN(d0DxC_R91-vXK+t94oZ?b+$%ro$gA%Ikj7&)=rt!$}L{U z(%UVfd5LlF`WFl49bU}JC880zCFA0sb+48E=2&P(Y)Ihh-6MBz(Zu!7v#na%^p19k z?(VAc+uO$T=kR{}fY+;Xcg(RUob=m?d7anc{|wc4dgrZwcP!6K_wmlYTWoemY}Y;L z7gqPnSW}+BrI%4%Ie%w2Q@{SEyOCc6w06z0;M`~NaED!2n-z!pI+I&Dg{imIH8~Dn z`Tvru&!X^Ai)~q@)N`Z%)ePUNI7FJK{`p-tU0B^x?s>q2NU6t+YsCcw!nw{n-aGtR zPu*|M6Q3&`c7EA=8ya?fs-N##8-C#Nkf$9tKoF#2L81`BK}Y`oS;9U3e~7d4jb?ccLuGDq%Trw-Q#k5$}$>u@Q^ z9GrdR$dL%C>u#$bGwEoTTvRnRz4~{~5-~juO%Kz@8+)p4xAJaX>(t71)6(U}5m&#m z`h)im6n6I|89!Uh%%!wDnD_XW?}iLzm)xT5WlaTsSV*p@75g2?c2HU>F?#pj#!acG zy`rLK8LXS|^Zo3u>611cy}ZOn?39!4>T8LyTY0zY-rmb}uef^p-Wslt7sIY_9gs^A zKXO>A(}f%l{jkV^fXrNXo+sF{q+#){hg=2y}iA(U}e&$3%sEz zxoa~w?Yma;bMG^e$l&5vp;wAuZ7r>M(zbhP!bzn~rLV&RBllKqef4Vf+gp1bGFQpB zK2VWbq?T2=qI1~~rs;~a=ABr#~^2ONiVdG>WaOK*wFxzfMDFlsU5J6E1FM$(TIWsfFKQ+ad!T6C9ygew2L zBi%bT7Qdu6%+LT?6|A+K<=e}OpUAqm{>B?bQ6jm8Vy?d5MV6#I4!ayG||hoxP;w<)y6IcD_cB zsw)m1cPbF+JfW4nO^xOytYyXHFmH)p;ad@{oGXd+-R`9X8uc zi>12Ol4+IK7d#AYOc&ZHkaSUPa^or1Tbtq&Opi3l8F)voX^Al5xhK>$aR<-F1jV3) zX}>?pAKCRlpJo2!CmZ|!etUO!c!-#OoKEM-&Y8!5?wwa3Z)yKWlMg+f zdg=L3{v`^J89F^VKfPYRzw6Y#+TTlRetyb|{wLC;ziFqyp45#3TiR}Hxw~MtbW{A+ zr{5IrrM%x68U0WHNu%|{8QdFR`X6yTuhY@5_qa|%mG`!S8Lz4KBeUB4B8gx@cg5?$ ziX2M~b+^`LEST#x#~`t3Ma;gM$W`I%6)TkwFA3V|o|@A9)M(d3F3D2Yr=R*iNA1}2 z;ShJx%S)<(m4ClpziJke{Ox(tlBKIo&+ctan7Qp9W3yYNXu9Go=NawghO*U)vu<9v zEWN0b&8_l6Lch7-yi7L335{DLTA2ly*XD{fao=d1yCY}Q^Q*#*@d|90Hj1+6h)jPb zz&zWK^?j0{U!;sc-w~;fM%{>p)*CZdb20X6>^G}FV3wxhHB~G0$&pUsMMnAeY&yHU zCqKDjvGVH;0m&GY zm5toDs=5VNmD<;TxOBk#<>Sq9)AowbTiMcm%V_;!4P}K{%Xy!vzqo%~<4(sO4tK_$ z#tg9=8Z6xbl7<~enSaPGvP}K3x$>wtvwY*F4mYl-hbyLkmt>kM^5$ca#6t0pTsM*o z_@*Q!zImopr4S~qQfGW!q-n{LB@*9`?Ea(4vSxneyZ_z#`vj(LPCtL@Fu(no;-9K( zODZ!x{TGO~b7W?2_wvc9t9-Gr{mGe`#*2(HFR7TSJLVp~uPs!*TJw^fNRx1dh-lzR zXIGmhMUVE3Ux$p#rQiI#HlxR7`mvKb-yR6wNVs)ZUFFPzg>TJXoO55qRF$k6*S`J5 z@n5S2^A-xM`E+TiUguu{U)i?>FVZ{GIC?%Ua#a2;Sm}H2TMcLa%G3{%`<99RekyP_ zq2hG^&P4(rj(a@H^l8r#XX<^$X!Gqxa?!gxmVrN?O!f~cO!!qW=}y`4&lQTF3whcZ zd(Pwc#PFXy*pd@)wJt2pa=!nC3nU6D6hcse?JJ5D{Sw(BnXFzr?(&j(xPi)R}2 zJ54mwrf*=(=Cv2z_o(OKf`!)SBPDNN3=&IU|Jsmg?kmPC>td~o4+Ny1nPC_{S16?4 zy;n;0-IcY`;q(1uei$-U^DSon@*>tPK2>5)XNRdoMbx6Xum5>g|F!5kq+y=4>*IoD z_gf!W1U=Nf%Cqa<;w_igCH>j;R^$k0$NYc%f@<&cP0mc}PrsH`nySGTGJI zoZ)LC6t#Ajzn^B5dTPb#ZsWT}r*$_KKlcla+?q8tDr~;ro9mIxU-$lq;Lv+uqgNqt zR&}!AZ;n6wMZ8m*=AGx+HQjtxk7*6>;ybOeV)|=#J#bdEnB!``Q|R1mlP}M<_3b|! zEF>vlpX<_c(&3@N3{^4qb-ycF+?ET?HqY04_vO`9@2@OIUte5wzLR-#)6$PDiw>Mu zwrD&az!@6wvx}8Y`8u$Al@2USK)tp_W33@-@x?`3Px+u(+Qm~nU6 zTOm<3Db4U+=?!O0wVA^2RVSH=G-d5bF<87o;meXrOSQK=wt^M0vnws+zdq1?%j5Rq z`NKI!olI{mm@UJ+cn>dUiK2nz;mEg3uN%oMitOfCv4`QJ%y*+}!2#CK_cKrau%XpD z=5IsBi=Di`*I)iE7_nc%bFS$H6=@qM#JI_~WHaZycP`o>a3^y^&n8jlixRnp?30f2#vIys<8;D{=^4$( zBzk%Un9obf7{#?@Oj{)P?vU+^mbnvRLOC*gO#i$S%(&cl)rQHm^~T(u9-fsUD<@5T zd8BcV^TargH8Rof9gV)IJSgwr7gH9xC)6b>=C@(6k7%u*4JNbjpUBNPj!jeAq`=LxH*T9#*|;2Sa$x<|36x6x3(mkCI@`wy0VvJ>c-^bUNtp) zroKGFxF>yKrJ}*iZ?~A;JP%8C@cuV`_v==k!uuP$nl9b>?s0yhlR#U)g4vq`YYk2< zzQMjRvCA{C_sE`x*jkA{<%VX*zZp%{4)-hk|9h64*oM7jdet+TE~*^VIbXFiVVOnG zq@MBuwxmZg_neK^Jc;Y*d}ZKmq89zb^=)7D*T{ah>f7&m{ASJ)y{cvQZI_m<&b{jo zrKdDTo=O%};by-etZ3j}=X1oB+t#*r&dV~E_$@Dw{km`ZVYkE%b&;R3EIj|#HCCP1 ztFGi?zQ|pBk@IKbG=nW}_FtUxd5-8BoR*d7$p0Y!ElIlWAV)~c+$WCJUtIP1YcGgy z+%U;%M&JJp{MH+I9tU!2alYuYd(l3v!(fM2al`TRo0LBtjOJRz{%e6a+atvpOHHbh z6#pHK%Q^0~r+ImTI)Ac~ShDuFL}9T-(q0Gs-W`;VXpOzmT>3-Cbb`3#* zj2dwP5myHBulpO`9O;~VK&1J4!7R5Kmu(w2i!`!w* zLDGrJ1{e5R{8dsIP8sqroQqPP)6sFn|Mj)CpBZyhernALogCDfSjC>O`G3^hj*cT@ z4RtE{>c6izSo*2nQMJ6$+2P?6!ftT1YT7B~5ADI6`iwrs=R%8>l!6jX8Q16>U)dO9 zJ9Wb`x$A{WNr?dj>Ubl#Z}oz%4i8UHPiKau51k(MoT%4l`1WgJv69lK z^4#0o)-on!TbND=Y<-`(yf;=?T}f&G_08$$Uj>Tj{w?G%$`@c*^Wpw#VZn*=wEf4D&?GE4QGVi^4BMZD97a_F^B7({a&b8#!EkoX>3X@Q9^2h7R^1KS*;?%9 z;_{}U&{3jkjn-{qyCz_WY({TH<<4|$& zwMUgv>?vK_EO)XVdXVla;Bq_d(|Vp$;!m8*_E(;8a!T78V05U(G4M{o+Rz&J27XYIGU$A9LtCnHAy;DxxSTg&NY?bWj;*Wb5|eVlzLum z=H^t^O&dzsign+8T|YZ@#U}-mu9UuUNAWLNh4O9brL z;CHQe-{!ReNA!NR6bqj`biihV{o;-p3#u=?><{M=Ax&QP>s@@*2zGSA>{0!T)ok{Zvt=SOKVDK}$W1z9;AWU8FlT#V{Q9fTl13>LxJ0#1+}m4y)Sa1~cgpVI z~iH*WG!%e}pIDz~^E$IClA zi!W_Rbmp2DFmt9{ve91wj^-aOH3#o7zX=U-E$1{{U33~{ng8)HL4AM688^l#53Jvym#pT`NcAv zCTv9=CuBPdcI_7SIM-Vuf9C&o)_}^p-9Kf${tIsT%XvyappM0+bHDWj&&s_?%wF9d z=372WeAp%V+xy3F#VKzaon)HZbMIxo$~pgB`0bukW`XH^EqC7UHVO6< zRR}|E-kzG4)u6{4h z(tg_EwTA%PGsgPxH7}*7mp)}+V=8V4K9Jfi{)p*Uwa5%DrL%JkxML;@UC-aL;=M}1 zdEa=&KaUH}D|Y|-q4a$7PhF!2yXszC-k-K+`jn}sD<5ze2)}UAFKFLi&Sg}l{6v47N+4nVq7Kv9T#g;a%o&0gm zdzL>ba|HCY9^0J!-kAF+K#G6gm(vo8`rJ5$iZ-8JdZgR23*#FltYcH33@ z+U=S85@q*3kG)l2pS+t=?%h1;Yf9Pd_fOLee#_tX2BKs(FA>WKVtq1(wq0%$6Ig9V*{(c?uaOHXF`sc2lGT-M%oV^}) z>q=Pb$IhJ3}w;mmQs&YT?`=O2#!5ZgTGtcc}>{+zy?2p-*`g?b$(SbxmLD+j$rxvX7h^YIw2lYbwa#j1Z6%s?jUC+kyf;0|ED?akNp^`EGo>@D{edsT(B_s>zu$uwP{I*7~=Pe9(eJsB}(GM z>Ag8OH*Ko?oc8fz3#YJ3?5>hYip5qhV^Ul8T>ctgDSYOC@41goAKsT2uJN84xI?Y^ z!>x~xk9YTP%ekra^wiYkyPk?X-x5-T?3`L0l^^U`rWO>!Hu*?(l1I-JvB&$Hts88afAX1c=e(0%YVfJ?)M>lP`kR@#=lW0CCck}0`jTI+d12~l%H?do znbvG67CK^jXUdr;tp)~xhSwLL3uRb*JFeh>LipodYfgO*Jk%L=Cg)ZjQ`n3XyQa%* z`CGbRucT2ncz3aLhske}ugelxw_ILy_p(4yFH@uu<9_YWTjVQx zdOja$WY*l#WayE&XLj()qJKJ2}sM5V7m(?^mBZwI_i2snef@dcOB3d)8iK z$X=R#nZM<@(L%k%; z)j8|=O*k0te>`_AFnx0K*`rg$)aJd{_^umlt~xiGy*6j*C&t6`7wvg5KRfr)Or4+q@OETezD& zJvDiZ(#~j9etsspj-%$wN%i?3EcSgeE}qH|dMRRMRPLM)`ErkU_S^mPsA*ZxaqZw^ zPc5Dc^EKnRm>1_+u&dm7FvNcZ z_#Cal^hQ4JalyP}fvoIn*wZFG40b47EVtwC`NfrOm(GXBuB&^z_DbWw#9KG{doufs z;^yr>yt1BYUA)BALkvB6H78mclhUkmZfsb+y4ks%FYtfA{@*PY{)`hGIsVNRJH9G( zwHiCWoQTkSNxK@0*BtIzXE+6A4prGrh)X>3e2q=+Mz0T43syKp|ClYE z-NxIK{Pfez3d38i2QMr+mvbz|q{JzDZ`IZxFJ`9Cd&su=q~`=*j(=y9{cXQa`H^vU zmT8Gmvg|{TR!bA7$+zEJvN2mZEuiF`ij_+&Q%I65+w`gXu7o^$r1|t{?KLOYFDrUe zPwVPQ#PA(XSkAb*A=&ZFPxf5~9CjP|ZR@9cY(4&$Rk2n2_>z|ED;}HvZ}_m@r`>9! zLi+h>ip6u4&ba+JTPl05+34Ocz57@5F6#08(m15Bq?+B|F4L#ES2(IuNOfKEr$4ig zzwl4!`2OKu!Bf|F!kLE-TfS)%Zru z;HKaDIr{_RlUf~v&Cj)ViC*PY*j_(F$S6%!Y|8VSA9fT?4wy9Q_N_H(TR)0Djfmm6 z|LbC&@0E)zNt2hbeEs`HElrL|zE{%N?b0&e>bVCV7~cQw9U2%DGv`r?SWwKP7}qWX zgM-KHSi0DSzge>U-84tpW!=+bPo%nkpJVv`WA7VL3%{e*TbE3hu-p|IaEXiAT6-Bo z)&yO@)<(`xX|BgtN^v(DWT<+&grvWU|MctB$%9(Uy|%39$x2B6lHn1~?iKf>{9fhr zT^7!jpPnRs31muJx-;e9pP!Ewf4^7Vf4nl^V$x&zr!lPw%$AH6@(i41&pP=IO9xBX z%xyWeV6Kt)_6K{?Buy^$U*rjuIGiJLGAAz2N?F$9iG|*b`_H8ZPGYO<&bf$+4kFT&P&ifGP9T6irSy ztEU@RKbJDklQ9#WICC+R9C!0m2iXOT7cTIZHmaKlyH0Q|FngXh_l@)hks0hd975cd zakKZ8q~F(#`*y!~Y1et9XX&o>HW$@0BHg&3>uT@)Ru~ZzX4RrbOiQm9{Q~xsG*=iw*fubg*uR=avJTueyr=4VFU-xSo4N{=D{aW}a2; zzA44qe{GFrzHsdJk*B+Fsjq5njFk1^J$|a;0oQ``^YfV06qj6H?(hBf*4CwAYoq=| zd)QpxU7jB&Jy7R` zR6G+sXL{qCJre6zzF)gSoGqZS$E-(RXEn3c1l_1D9yMEPeilV;%bEEjL0&ZPSl zg?IH&Rfsd3j9p@yduYRBjmy?0XS&0WS0YA};Y)^tbMBNf6^lnU=BA(aTe6?}o$MDS+SFi26CDAoY zZ2{x4!fEK}n?z{T1LQNz2;;$caGuxY8 z{>)y}!W(XMYVT4}?PVR}Y|r*xmyPhR?b+1GsUIhjS~*3w;7|VS!uR}Ba@tl|&o!z!Oh8C0In5CS49XyQ1}zv%$9wUAINg z9$KI_<36jyAx5j&p(}%03%ia8OulEF7PuqS<+-8x)qZqo;J>1{7l%)uqz|? zk;zkq?~)n{F-!KJd0t|p=J>a=(9@6Ua%ab`#+)-A?abd9SQ{^i2;3=1na9X@_rakB z0vk?0wCMX7HD$T%x&O^#xkguxSGDKPW0`UO;LFVw5!~C8SZ+D8f6ZY{V~l6qeAZaH zA?c8Ut$}{bYUVAz7p6P7^~?Ew$iM$_!&?i^}3;*e~{8E$1|IN#VR^85*w zS=mp`0_H@YPdMzrWw~bm+UC0V>}HJCD_;q5Q?_K8=}E3;1}OI=?S@ z)7iW2wny5Ij}f=L^UWuzOR!0pH8R|_**snF&+OxeG98z=YxyQ69!Om~Eowqlh5EyZ zz7~&IJ~sHA`Qg~PMXM_C&PDSr=H(IPR%(wpi*lAry4zoBZ7ljP@?ewu{?BGFuD##* zdh^YGi+763b@w`#&OTZ3EzL)w!sUe2H0d+t*%qu!6P~PQJo>tV`?*R`3!~>(FSd(~ zrxI;uvz6qxraPLC?xnHXl9<1;!gD z><@Y#B>eo|v>l!~UzR_=vySb;IdhHEtd{1M4Y___&qV!la#gsqe5pyundsRw?E1F6 zI4>^7qq)`B?`~AyoK;g+EM2mP@AXRFKPy!|gPPd)dERH*{<*LE(J_Z z#RKi8ov?Dhbdh~V>Z{KW-M1Y*@;EO}PB`d6Zh~gP1EUj47jA0((q6FUrAhL%$vZqt zrX>Aed*Jhd&!@r{c^#YlP0@JYVzFs@zZ+Q9IevA~yRUDuLcemcAStzuMg{X9$Le5hqy*5tNp zD%YoXf<*dKQoCLRNh(Lo6+Qh5o@avlvdyJ9*C2@UPX; zl8t6f>u=XgFv?{(Ccx(r7pwDHk*8wrdfAc-j_uPVnGal(JXELST9&%$g7m?zsMo@g zA!WCXJ~Nz{@a?7MuJ!7##e;%h#GU^2A;@%3IEqU=}qx9 z-)1oRY~qFFtJuh8y4hDO{z`l`j)JD<-MA{s;#B{3d<77>W=-p{mnVE zV&$HHm)Sr4w0!RQi}SP@6Bc?uytn^al{eSV$tSrrAH9G6R^vQh8<9+BUli+)|2R<CB)bbGq`xvXy{nFfPbKNgn z>g%uHc~Zy4g+)O@N!f(k3!4vCjV>h>-#GR6s-JYE?D?8v}&F?gI;D>bhbM) z$BZwoE=L3#I(#myVf}EXc13u9hs%^(ddvrc%Vpo~x>Gvqin7w8Lx&EP?R)PpK2dsB zeyaOVrAZxA`ql1~X67-@c%0YlX{V%g>h$UC{IzrW9_;J*!&&=9{(q3h*?5NYrk_pb z`VD z>iYEa^L!cJoPBc9p`)~=IjZa|NHp)og@wIqw`Ol%$FWM3se$+1J}D)oRh$QG1bnwnO1=FFd4D*dPbI0vPrr9Jy*IL$DIr{=%;rMr_? z+m~;wov!Y^bD~{uVt!irUhB=)+{+Ss&iVE^v=$wH)nX$SnKIFJnsR~J#L2r@iljx@ zXSkS{F4i+PHs%&iLdsan7IudKcjY3H9BnIhQm z=Te@@uLa86w=HinX?cC+Gs{jvubbCTO^Xul2{V2qH8FvqyyL#Hkx|)Xe?NbJd5#5h zlAStz(C* zsM%~@ruM@hzdv8f>Hc!k2Ej7?QOHGrQW_|KQ!<5D;4><2h)tNak;pC zeRcKV{)H|-KRuNLCuOaP z)J)AKXT-98&oo|ft|s>SiTAlD*K;o3A#d_z`RCncaa~(Z%#xfk_2!y3V+-#aMYq=+ zP_4JfzcQn(we{iRe!D}x(&iH;OlWv}d;8*|r>8hJwl2(F`pe=nA*L=jutx;Y)jyTTkKIr#XF?J9l!z)yewAEPc-)&6l_qgHmHBks(O-5P$cj`h!N zyp>=+`RCcC)jcowuQZ+=nUmt!m-;tqxt!XwjVF{&OG^B@eJabOCj2bN#uF=Q&df0M z@b+%@YUh`CbGhkp<4u{%)(R=MG%R ze7yW@0n4kTyq!f)3tn7MTv77>Uv0-ky@)*qufkSze!Z*y=y>Dl!d3T~=6n;F6gKbX zlUY5#M6(@JIxh>})RMKW64^5?>QlnAu*=Jf4@q9o_~*v_PwZn}7{iCYO&)(_FXt)y zpGy1tphd#l{$-5o%=yhybG7F(xBg>$^|`U_&V0^vxo(|Ja~c=c>)pf9QRoAt=@n$ouOt2k-6&3huw!f9YRsT@rY?Khr{h@u8!}W1VKx>}v<+N*Dz> zyQEn)>jt@7KH%9_bu(eNPU6{kMcE}eXRr`@SJ3m)@K|D|+Ushhz?Xqs_? zgvz92#s_uM7qoR{U0>H*{QR7)ne~gy%lW+u-YRVJVcGZAMvlEb=fJr}?G1;SWfE?6 z#x4?g+0%03#nsiqmLE}a1nZ6^+y?kYD9A7u-aetb*SL##CvC6<}QAY}< zy$}A>c_b%E?S8%UKdXz)1xy-G4lmq&$fc0sXo$vp?i9gKSqFdB&a5#iJw8!i<-fk* z+3U_nJ!aY_E5Blr@Rfbsndx;?{nJ-&;N#Vg|%O)4@w=BDzbD%~O3yy2X}T$!}SPXYo04d?BC z`)CPk=|*f|Fj>Q~t#v`}*KHB!1phxf_gk1HD(1k4qk(aDq4AaB9EweftTneNx1X_G7FSvV{akd%^rB=}j{e+|Qh z+rr5QO&ERtZ*JR@vS_w>W$l+2fx&jg-p+AMk*zs(-3804+bVA@pJE!D{_N9)9nNc1 z+n6~%e)z7Z*cMw@cASNwZ}NPFUm9P9yljrw%u(6DdUAWoBesuor<`37sN-v+zi@X> z-E$KqPfqVXB`4mVZO%*Hb@-lAJYq7pNX@%mU@k+Guf)si!E^q^A7Pf=duiEoZ9Yx8 z4Ra2Pyp3$!c$2aGQG=Ykma3ZCqT1izIC!~R_fC;LzpailyZ!xvO^VVTU!`s^cz$-8 zef@#P(*~Q{>td}>gau9g_vf>}N#-S&>aYZv$$yVZp5RQ;byibO*Z*YJP-*e>@w=s| zE^FVooiyUQ%=xI zc3j?)dHG54#hJm^gWr5xJkv2*DRl8eIYsRmvF(fk&UN=6lwF&jp>Zoc_}{&%x$|^R z9Inzi^yPGE%HAcx_w3fZj#kUL|95i6<3{5fbB^ZEb<=rNuFm^n|IuIXo;HK5 zF0Y9+j@eTosCANOVd?8@i?r3(Z?n@6kN(|hyuyFU3yWr_n@8@ZA5aN8T(!o{^18{BJINd?JKZuo(^$-XOnB5gIr8T^s+~N-+*ZbaJ$#?p#yk8S z8|Ai~{qA!`(!b=piOupBgId+ok_A_8ceK6p^0Q>#+1BJHvT@_ag5@)2NU*T7dfsSP ze($m8My=4YKFgl>Zto73EB|A&w{Dug%ipnO^O_}7O&MKWT@TKE^yraGyMp@MgQC-x zE}U<{EdKGrbOS;63i$&yw|w_9N#OQ9{%X&4x>sH___w`xF_Asg68M|7L#|e0{-@1uTdh2$JiB+5 zzJB!Q=jQ-TQ&Umf>Te>l|C8TKH7MWQRd984u4-h;|MsWG*SF=~{$_W3Tkh?crPsE- z_5HT+|9kJbA!)mw&D%G3=1ae@c-$%fhwj$3xmN<7>)@on>E=CZFhzM8MJIydu{?dh2po_>$< zc{}l`$yzJ9@8{2*b+$Y_LD6~9s~;~G_wR^!zI9?q!Ma0gY$2vg3a5TL=-VC2mt(q0 zq;Aok4}YR|yqNyv_`A4>n|h)0ri|)qyF}0S@v0p!U31%sJEM2u-CBhr-lR+;#`_wd zw{Y%gM#76kvW5$=;(RoqKy*uDa*$<;-Ur?R8F>2jv*X zebCs=IfG>iAk{wu`;G`tl?lF}35pzsoh2-+k+#`ZVOj z#_4O^TfVDb;_dS0E3MtPtLWp&1@!`gXZbxxr7SJBY)h}3?Dwl)uRW~$W7GZFVjeXGw!BaK9voUT<@J%8Q=Q9JF0wUk z*Xm(wEKUy8|8qICt;JLH$fw8OFC35z4oEr>ELO0zUFt=@TomLW)A1MMQv7klJNC=(_xtUce$ESiH6v@&?t^=C`aj0Ke99_bnvkez zC)vZHG=cZ$&zOMvpHHW2+-{g>Tm9_akD1SPI6BtvUe#^9;kr|L!h6?qrQzj|>-QYD zDM>##{m@D8FPF+B6V z=j-e1^5V&RzGph+e_6XY_4d~p_E$R(vdooG2`e*5IKZH8RQvsIdCLBP3q9JcCtvzq zeKmRRD$`{j%>O^OZCbY>dDlD+jbD<#Ej1?|ak#wX+~}Q~m$CO{=7;P8M(4y!qy{ zqSQV9i(+S&cV`?;U$DVp_Rg!lrbpR+ZT$4p@6P;JM-mE>QrULR(ll*4*4Jwn+7#{^ z=HDXl!-hfNo6yH&()lh^CGG2MUMJ0UWIH7v0ctGYL;GtS=O&-#UqbB*Gj-Yrr+xm;j#;<}ydj#dU7i@yGR`z_V0osR1lbTB%; zU8uco$DznwC7Dw$M%>+1n!Kw0)Bamqv)y;ji`bSkv-s)M@J)KpI44Pb;hHR=!L+GO z&iag@pF`(v^VGuCYiIoV&ooD_+4alZOJU~TN(K8Y)S@SAJl4Mw9*}h5#`404Qj@)O zCOj((KGYidk#*{Wj0&Mry_ue!xw^|EbN7fF&*y&>ZGLrY=dEsKGxdi7F(G%#e=Otp zySwS+&$go9joGpCzeQ!1C(VtzcFetRk*J7;;fG5}T?g4B^SpVEoSd!sRw-MD^T>i$ z;Q%G;;F~A4)zx1IpYvT=XSAZtwbXsWa%Qet?eKMPa&AmmU$w9Fb=a;I9Yvaj&t|4S z+codTCe`?Z36GEUmINKQVzL!2=(7m-6i`TKwltjZcImtq&z@@?d2o)Q(@{EAkMD4; zuW`nX?1hqRba>`>D1`mqp?&#vI^*#|k9lY7J5|`OWPSShZb@*%>t>0POTD)zIq}?T zbK$8F`lM9%{HKif(-3>fDTkc4>tr5r;H+~t7n<0)oORcV6Q_^g|9-DpKi_rd0k!Im zQWhVcX@%>Ae0VlBL@l}&cE9!3f!tYLN|O#+&fXiP{#)%|SsnYo9^v}JJ#w`#PwkVo z`L*h+bV_L_r_R!TckzFZcuo18xblzt&F*>E_ARaR5^mnIWlQpg2fqH(+$KJ{ zH)~UahPdby){qqejp|HF*S{W_r26yNwg-Q$N?% z&OYil`6Jsqw|izW7A*p<-1jDSaTy-CUt+!~*7Bu^2b1BB&f+C=YO+1|EzZ5K|McF& zb=y`m-l~xP`6sM;sfpo)%LjL#I;oK9mNA8M&;NhFC(6$-E_~z?r7e6#qRYr=u{F2m z>Ff#W%#ZFG#6%P;rr)cO*;_aR*um66^>HoGTmBBwx$Zsl`z0o02-emim z=eu1yB{&xTje5EH*SZ}~d@eH_6Zs*x!`)_5Tg)GvFQ^zHqTY^;4!i+TY7)@ z%k}NjEJvN++?HE&vU8o;>1vBrx0Pr4wa+g5;ULVWXcQr*zo=1hDpOL=_n?ISOW&%p zI4h4{bK57n^63h{bWvLgHp2&g^Y3}2pEYu4K6C0+k=Jy+vwIQ+nLj!U3m68JJ>gov zx842cW7V>TSNG*Acvi4(i(&oL{L)GygKN+G)D5b6J^b5c&ReAFM9I&8_$X1Zqkd)Q zjSnh|r|7QFG!!jMQg|x2^}@WWiBUO^;{GJDtv$F^_TT@D$#-TavCdX}?We7-zUz9! zv5M_l8+{d(N`Lxny)fs}yYQ0Cqy$mh^;4%>2r@VLJgCT8#TmUqg(KO#`Tn{oYHU|G z{*dMJE^|oSsOdYyKv5@>abok%m4ar50@}B(p5p$!TFO77MkMg|5wj->PkB@X><-0G z+aTM|vf{jE!@qj%Zp(1i6N}ueM0SMz`8h?salwI!g={mHcL+E8B&>aEQD(GW=*x+_ z?^2v+mwerLV$)e$hR2pS_I2MjDc5$our1=sW~Lt!70f?e?%kAFIYVL&-ygYaFBjz8 z+{D*n+h@HtZtpG4@O3c}%bDWp4}aaVp_5TqwzrZcCNqDrox07<7S%$N>xb4aw%9-I z;HHL@sB8CcExJFuVd(*>O}oC_X`LdWv1;og$7vf>wrQkmzms`&^x=EY$(_Algj6oy ztth;4`Uuyghb=%xN%*V^LKyZnJHjyUjN z*sOi-xlMTTWeGoy&yRA7^>q)#wl!oua_ewh@F?oX#I8<9yWKCY8FVn-USfFj<8k@- zGR0>MUEbyY6A!Dm5a%@LS-EDdd=N@Vh{66!_IA4p#+W7zQg zLWxe>>r_TRPY%V1<#V}eUR~MGTyv}=uyVmGrFGjyHk^BC@`ceZEmrVHPp;vI9rOF$ zW4LTI?YhkVcc&DTm`(r2^@Sx%*zokVd?DVYH|m8ecitc@6(I`Nx*~GouzvdEk`ms-0uF zL0zm-(0Oy@4!cvA8`kYi-TQDybkF%~%6;W5#&a0ifYT3edk|KK2^M0~% za+xyfeez$J>|m${YGNK7 zov>c?LcddD!j3nOUUQ$;e&`wEnXh0iyr2EKZE?))zw`H2H*8eqTFg+B9bNqYbGlsC zZO7c*fs)G|MX&beUMUp3+MC6)^=yWuh+}2GQS9yA?`uw0O585EpX??1e2R~nb;pU` z7mT@@Q&-H-|B;x`(GfIvYZ+UEyylMd4~N$Zq)8|#70HC&mA%_I+pE3(+w2$@mz1@+ zybspcmrPR9ZZh6C-?z@iMWp-aFXoD?6T&(6-FJCXY9sePyUWeRMak&i)9zJfH%@!p zoqbhp)+9l}iL1^rO?bIa`qsjQIn#G8%jxLgIAAoLCp1^1nkCXvK*#v0vx^JEvK=)6 zSAXqu|8TSRyoso@i_6{JoRXhwSCzhhC>>SN{y(>wMs76gWF|55g%Oj1c{)$b6|YqwmLHeG(I(BS>L$&WuX v{qxlyS(Zn*eq5K6;Q-I6{@icYw2EZFwA;(-l5$g1KFADDS3j3^P6>88jSLJ7 zJS+=8&ar>suy0o)0~sK|*7`exa=M5s-EW* zGv>~X4GrQJ6lCmJkyU=W;&j~U+SAde*-uYjvt~_xr;C!E{oG}%?BoxX$}w6b&U`xO zHLHTs$?lGhVun?>?r)MfFxOzi|I7*cW&cW~8S;Mr-tgu7cg;?B7njP)%F>((a?4gd z*U9f%_9@g@@l58qRFG9+xN=W%jz`8a*<+}P`u<~#>NL;r^SS^59PRHqZ^4CT7X zy1XqN9ghxMUO&$E@NuDTLy`z{gYmS3Le?%WSGHtc&S7{R`ZY8nWO4}S(Jy=l-2O+X z?&|2^aPSY^J5{Hc`REMq9gA1}Rnh9`SfSL=IW7HU7}L=i-W8k)n>s=!1Su;mI>j(e z{r4RQ!)HQaH{WLk6}h;CbaDPg<5 zPK$-%^q=CX_XPz7 z8#dM*@cC{OaP>UHu@mPzIy^#eN6Zsh%yDU{z&wTw{bK@xf(>lbypQTPZHbI2Ir=Rm zPesYaC58F%o&XlfsRb=pEtOncbegWMiody=`^AcLd-@-%M|n8QaOn9)-cdEZ!>Mz7 zQRto57Nz1jyLHa#1vMx6c31Oqy2jmkwNNO=`OW{jYX0e$&(8dPr#d~)=;X|wb3a?o z>`Pnr@aK8u?>kfV9BR&u@DK z+9>***Q8l^X3~d0;vdxB9FecLdbp=ia-T)`h1NEM%VeM%HUXU5zAwd;p;U;LvhWeou#oa zjg~G=c^TBtCN&eR7iOt?ZAp{P;!Z{`d;=J%j`~Rx-N|_498SA%ovpr8VywNdHB0WK8-f^8b4rVTid|Y1t z+PDS8>)f{5{IHq+!0gB4{{0d=DxYoo>L<=TFE}YVIrZWq*G1{Szr79GRTH@~df%*^ zHx{A$UT=%wyTAW}&^ztfR{w%ug|5(BdTRQ__51%teX03ykUdKAf$8T(5^FB2P5Qh{ z!e_%yzAA%%4H6bz6(TJx+HJ*~3}lxhXr0`7VDHX<_UDhJ^f(KhQsVGa<@svJke^_cmaL_=K>L(3ho73n z)QhtENm6N#ZG9YszUceEt=T7W;YR6liIk7QbKI0ynXXtJzFy4sEd1n z(PpI^Zy#)bELFkUUMQNRAZwp&C6uVzxntprqf?sa^0@FFY1J2G3Kjam#P@L3!(ztk zAB>+Z?Crgm$TVrAxTbk+ckYGf##)a{YuZaDpZ~++ro=XHiB;S&!I)-=9gQY?`uXI( zb!k76T=Jmn(dTmxQg$xY>|IU1{?f} zxw{jmQoLu(y_Q{#X=`9|9 zetlnFU-z%zJ>TAO<=$sE!+Y2 z-M5z{@);?Z1xWlkny~u0x7Sr?*U;5rQ|DTjcg=fwdAYYsNXwDwUDG$Njhk>@{-)0S zFaPeS=1u;%HvZDIKCx~cwad$Vg>842y}dMT+9#>Xy|zcMF@^E4Ir2nk#)xiUdbDus z3Wm^oZ4wpYVZn0hBL646Zw*vaV1BgFSA#t?>mj>`Ub-QFxdX^?nm?Y)EF@7L>hc6JIK z`%(XR)%O!TVVt!Ni}yb`xRqf+tai<TL* zW~lOIEAssm>|N+(Vb^AnqA!%78d}Kkh^^l6L3F;e)UJ^9uEt&E0qf&zEh|4Qc_C?E zx97-_BOWm)B`TM^G&cIZQ9qTf_x~4nv&O}enPL8Mt>vU0)v*1&n&EL04H&nIylOE5g=%oF42Es;90eZHg3Hzyty$r?Xz z1+{+%u17SQT6Fq!IBjx1s=!_UK%wu3gwwAROUgfOXr1T5ckYou!p@AorqwDB*<2o` zpE)kUbJTc7f5_xVx7kx46Dnx0vpg z)1GtnGyZaU7`|wD-6d*J-@aO9hDp$L11>|3f{j+ng13Fk%6M8=+pLQ4+{Ah?U}@{4 zkH>kQ>8^TM-qFY`(OAUc%#r8JB6mQrqw)R32Z@Fr2bDYAH_krwu<#F0phvJz+Vl`H zzXW@>MO*&eTG3(X(W>!B{!t7M|67AdQB%&RF(MlsLJoR$G~Vq9SQBBDxzPQxP$CDz z#kzZaaX$p@?i)+=)nxie7GGCuygAS5OU|t=p1;%L=Oixp^v3?ni~G+{6*u!e++g$V z`~QsVQy-YgsY{#X2-xP>FN{52{Oq>gGKqQYM;}<;@HCcbmatej<3WvFk^*yW!n9jm zZLgSKN&Q`^DfKKq@O*Rc%V*Lx-g=GuX1so6e7mzNVClp~<|Tq}Z8g}W1Et({9)DuF z>7sLBg=^yGlS}HIW!g2q6dBH6{3|xTInwJ-?lvKrT_*AGC3`~Fs}$AE z%>4fDZoaHR+0Rd@Z}%%JDP??FytHnvo>9$#xHr>(mG0)ap1HmB^)+9;*j**B4{V)h zTg`QT>iy-1WoEJ;eZXwu?#?Vbp+zwwAyFc6Uy@Pb@{>zeRGtZE=M9$W*cxOQW60#D z*(B1@=xA_S_C?c6i=MI#llVo7W$)h6VOzO^dvlLN-`QTy=8dOPgm#FXxpeM9M9XQ5 zhC9y7P6{yJU!bujMPpNL&Q_tOwF1oc3(eL%VU5>kJO4D@P$O>7j*wL$p05R8MD8e9 zSXNt8Y z3J71n;PcVf*!km*whgnM?O3Fdcd$!&`O)6vrUy)q9xJ(;s4m#GC|IoYqEPLIz>m4# z6V1C1)nn&+{U%X+K#L@Trxfkkn z{b9A{mKIsrT5K21lkwu%({#fN(`VX!y%M~=iaj$k^VX00kPwsY|05Y5vD|u^u`c`G zo}GU_9+!98a@^+cm&=EWD;|f;c+CA{-BM%02X4+aQvM6Xt7gAwEwtb+Oq`$e)IByP zr03v$#_&qMqy$-}2Y&Ay(rr3DBl`AQ@NZ0LSS4X`#X`?O^52QM=T3x({8fqY4^4jzifE!(tWWD?EAI;xvhG*zS7}i-TKAaYt*=A*Y1?CnR!3m>~V_8EyoOYemN1_ z_j^9~862$nJcnheY0R~C)vwoXcR9b%xqVCXnF_xAIb5GlGR5$0TPV_FbTq}socqD1 zD6xba!Is?-N6kNd6=42;IMmF6r>F5M%ObUT$K7O(hjz?n+a1WWZoxX|YU^C*cQ)CZ zIuk1`<}UXM(@DMY^L7xA@Z92!Nx3FR4ittoU1dpV(-&`c{29yhWoNVb{hHttYnv}* zU0d_>x?3D5mOrvoRrJ_}Kj=*|SkWNXe0BxfVwPk>75NyWnKNnylMDb|-Qu7ntCQ9}&wg@l zzi+kBxpX5H`IH6f|7N}9+kd}s-yP$OlSf|c{PRxs#dE!Rw$!oBz?{KlOvx{!W539pAPbD zX_zNa!(jNq=#0^s=3Iq5g~Jb%CbVfp_*yTyt-*F#fo+?T{wFz=`6c1|;?H*qHYPz zEqd9ZGFdr8|3Tgi)gvjvyNqwN%HDX{7<;4TQ9!ENkptEjirXJ0Eby5j`rPFY-^K@A zeaX_#9%Yss_+z8Nc5%b3ZD!pEqn904JNI06vS^+r-{0Kaqj$}wS-y7?ym4~2T{MqY z$clg#HhtCo;UbRq{~OBkQf#%u)(Ess*s^dz>gj2n^PW6OS!j4o{&DYAm)*ibLV2GL zIi~j(9$Yem#bGML8KcOlLd)eFvmG@O3T9XCQi{HK;N|~@_vSYbtTE{kYRMF6%~^Bw zvxm`)oImM`+HC$#Jadl77FZ?whOL_FWRSPn zoRPL=&aiFx_t#RssA?C-&Z4JXTQV=ZMQzVp8>@CJmzkaK%DdCadoCFtFw)OWl*IctH)wgVekE4*1k5s#8>l%qI;XJvi4;UkS zd6INRe#EJ%_h+{4@p3ouetX^wt!*gk|j$z=GFfGcJkid zYS;7c?(SY%^z>BK`UBCdiA%)Kr(fU^S7Z}Aq_cJctKo+oXNB*UyN0$L$Yb&`TUX8G zXt7R0sY+s%NtnqZ_W<6s&OMcWc|GRWjseXD!}vb*o+Y1KpPykB%k@ zBowu+|GYzb)sbZWBL_6QojDSJh&0XrVCc5cvg=liktW+cccFD!yZ(zV^y2Pl?A$P^ z@q|{&Q3Vcf#Z|UbZGIf9<=lNyw2H|mZ1vo&7p-S-{WYBbh_%F}XHkZ#GtZx{wz6#= z-(MyjI5+>O2HWwyrXfdGDXk1$J*{kw0f<+#Okri_mJETRc|G}>H;>@)x zUd+Fz#rA9BvB_$_lkUtkO6>~c*wJs^&3HeoqrBU3L#wFc*M(k8eoi9$j(^@EzBPci z*O0+lQBAIGsz~U5`K5^l-isE^c;hZAvDCQFi7V5vk3wW3;_`RlJ*OBQIKTFl`j&?;3S7_QK;Ut-ImkEa_d znAvB0US8(AwYKX^!KLcN^Gf;rf_EQm&V2hfX~ELDCpWTRely=X@@4s-Mf;bro(|** zGv-RV?CR>Am(KK4+NP^&MN?Y^$LB)cpo;FsX?Z*NHa_5AqQsn}6uohOpma=AM1h$7 z%G^sA3Qhz z)1#?ybODE*@y}@ltP64KH_q z>^l{<_m38x{r_BBOvBdvEW%h$d$?_41Pk^M8m<4&e4vk@@`f`=Sk!%@6ak62bFXSGu-Y~hsrdjvL!GtDD zX8UC8I49AHNda4q)o+x~>{@#Ax1q4FAdCNHfz1UB;ynN6*Y}scXb&hkaxCV5nE4~k zA8{E1^S^yfI^h4!=HtmJZrNXsPL^m^|H$#q$%3o+)FR`yBontJiFfY4KfJOY$xAe) z8wxpJVE!t=wOqLS_XmS{2PAA->wf(I_Kxw(ckLeL4>NP;-MhK%a!z&T8C{>uxNU~d z70-GbAIdR~ZBy)dzq0t}_OCWyf8MnC^JvPMvY9J41V1}-#&@sLp1t+|r}r5w@yh#^ zxH?C2zooGB`q?kPeE*a7n}_RwQ+T$mvC_Yo2HR%)%}yC>IT(Ij^LhU=`+?q)hYQ)g zUNNlLnkOZAKGnN&VF=6lZQo-UBsP4W&8+$a~n|YV$a)vYVb7Td*KUeJI<<&huC)|y_p<{>5W)<#>KQAdqOw*ng8+VMY zp~J%T^W&Ix0>85VtM;GQdd%$bZswbojvobjVH|%=>u)@BJavRYKyY`8+^!^ z$(3fsH8YDC*394A@>=Q9-+fBgeZrY?)qlxvyl^!xK9{6bzSs51db;6P^48}s&Xu(c*LUv-wxG+UkF$cK^=3l`DVh^}Cf@<0c>fJ!L08JPIe|os6=l=|yH~w86!BMwfmPPJfcX!#{Z6&g#PlJ50|1E8~C@S)Q5J<15tDnm{ Hr-UW|P=fZ% literal 6882 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¬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 Ndb;|#taD0e0su+py|@4X diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_dark.png index 4e65b42c65614abe0b648d43b02281900677c9ea..beecb30b539e572c1dccf09c953c99a63050657f 100644 GIT binary patch literal 7457 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 diff --git a/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxxhdpi/revanced_header_logo_minimal_light.png index 566290423ab4c06218fccc12e9913cd89817909b..590b0b63e5c5078be53d9f20a0f9c626cc03b6db 100644 GIT binary patch literal 6735 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 diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml new file mode 100644 index 000000000..ab5fb737e --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_minimal.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml new file mode 100644 index 000000000..ab5fb737e --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_rounded.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml new file mode 100644 index 000000000..6098eed22 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_background_scaled.xml @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml new file mode 100644 index 000000000..41345de3a --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_minimal.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml new file mode 100644 index 000000000..2864f3769 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_rounded.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml new file mode 100644 index 000000000..0e81a1d35 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_foreground_scaled.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml similarity index 90% rename from patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml index 72cd56f5a..7a6540144 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_custom.xml @@ -3,10 +3,10 @@ android:height="108dp" android:viewportWidth="256" android:viewportHeight="256"> - + diff --git a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml similarity index 90% rename from patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml index 72cd56f5a..7a6540144 100644 --- a/patches/src/main/resources/custom-branding/youtube/drawable/ringo2_adaptive_monochrome_ic_youtube_launcher.xml +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_minimal.xml @@ -3,10 +3,10 @@ android:height="108dp" android:viewportWidth="256" android:viewportHeight="256"> - + diff --git a/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml new file mode 100644 index 000000000..bcb70d260 --- /dev/null +++ b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_rounded.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml b/patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_scaled.xml similarity index 100% rename from patches/src/main/resources/custom-branding/music/drawable/ic_app_icons_themed_youtube_music.xml rename to patches/src/main/resources/custom-branding/drawable/revanced_adaptive_monochrome_scaled.xml diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml new file mode 100644 index 000000000..3746c061d --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_custom.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml new file mode 100644 index 000000000..f21fbb1f3 --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_minimal.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml new file mode 100644 index 000000000..a5b8aef86 --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_rounded.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml new file mode 100644 index 000000000..f5126df71 --- /dev/null +++ b/patches/src/main/resources/custom-branding/mipmap-anydpi/revanced_launcher_scaled.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..1bc5dbe712d02c114b792ac94582307628a3cbd6 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0y~yU|0mgj0_A646i!1w=pmFVdQ&MBb@06AzHhX4Qo literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-hdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..c639a3d56111e6ec2c368d780e97281270889f67 GIT binary patch literal 1276 zcmeAS@N?(olHy`uVBq!ia0y~yU|0mg9Bd2>42M36Ni#689QJf^45?szbFh(tfq|i6 z!QYkQE15t{0(i#UYKAiFw@e2Au6;YcHTQN{?(Nv$8mzVzjBzOPq4Thar_Ff0O770Dl zIC7b-u`D(7enR-OZ=aU`SmRv#-f&xEMV}Jm8jURGBgITJ3wEBJXcjDSx9Tlf@Yfs(z8(6+q<%Zbt^`%o%x3*|}Qois=#&)*ese8dniG|IZ8}W|}i!8EPTs|5x`JTMG z|Id{`_4oZ5z z@k_hLJy)I--NuS@kM&rjW|qH*RxakB_CeyyJR`>6GDkMca0)O-E>-CIbuPQ$-NI(J z=aO3HX(t@q<9HRiCUs0)BXWcNql{w|i`0btAF;Kc`z%;FFV6h;v+eHdyY*5sZ54b9 zs!1BF*<1oIR+gSN-&OX#X0eLOPxq@uPeM5tt>}|Dy^AwlVP3CCi-T+zujggW|2O8! ze(s;D@b=xj`jn{Dec!7(p6lc}@}!lvYuFXXt>yO7xV7s*1*hBUCgCoNPp5bSOPqVs zYD#0+&zUFPw_RgiLEKj^-@1);3pK?R z3m+Iwjw_7&qM_$xb2;H?g{5MbpWn)~hcE9c7QT4*#mZU4GT~@N=LW$?mc9Qi*S~5_ zyBD+b#G1zf8Gd1UCV$PIyZ%3@*^zE6bU5}yMn)wAt$w5gtWr?Pftaaz~CBATbwp@qmX)~wgD+yvHsXc* zH|s1-6gV2~w=&@5(eI+VTXRY;PC6YHYxU;Ky*7=uLz}MLYt(3S`*S!qGS2(aKWX0o z_xGm$oZ6rv1`qSH50sAcm>W!-r?FmyHM=W%@&spYbN~WTC{?5f0V${=^NHaYw`9u*sxFJ zy6)BaSKxf$lIGOA1-=ShMmxeHI~EBZnv{CCnOoqz)e<+UHO&=z5As@cPfIZczBydi zkz{aaR_b0>&P&o9)zh|02>E+YWJo-}smtlnN&_8jCDp@v9x~q)EOoS#Lfei!ERP6t zxoj@GD1X(FO-fPe942!UBI~`jCn+A;{Gh+=T?DAyNtm$zt4W!N$F=LaAT9x{P^uA? T{a}G?5lEew u5l7(;&d9c5r(VDNPHb6Mw<&;$VC%@@i5 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-mdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..9e0ebb944a1e91c0ea8c3e8c03e0ae441d952374 GIT binary patch literal 858 zcmeAS@N?(olHy`uVBq!ia0y~yV8{Vs4mJh`hW@nhvkVN(ik>cxAr*{o4mL6{FfcSM z_`6bkB@>8=glEK7H%xrj@JORBd~2@tid^$m_P5QNZ*9xH4MMkne$Oc~-+8p?+gqPW z)sybu`1~jCp>8|BLQV74#8+jNcg1(l`*%fr_ndW`K1kgvzaOO>#eCnXLjJT;cDl9G z!J8ZAv&#kk|EHH;|LNbl^wm0hj`1h=tu$Y>d0_(kmd$JA-aEew*I}#9{r1jpj z_s{JT7nOdn7RfJSl+~Ec$@=@iKZ_R&Zl!<5 zU3hGg9B)(8oy?sN zUV9dM@poJ8`ZuMEZ!P+`@!3VQfC6DIE%A@*jo*LDn|{8|@qP6D)~JsMfBwyzec5K$ zz8kJT-&CHMx?xr2@^5=rU(c+4AL8xzzC7LkbB5|4)}7M>n*DU78Cj3dRu4W~`1jr3 z|2OKsuae|HE%JYY@PY&jtDQMzHH)VzKHx$qNv@a-Zo1l0G6ARn5DMv~~ zrsbKH1lO`f-KU=&=Fg2_oW~sR^iEx;fosZK4p!w4@7Zl zo|w8pN-LsFS>#Q}va+To>41lu-Y$3`W>TsxlGDvK{pthO6H_;cU2}W6zg;Zl>V*J} zA2&56y4HBj5}ogK_J_=7<<*P$8fI;@-=vjY_=nB)hpe~K>O*=BN^|(}z?0tIk-fAaqp$0}5y#a#4aQRxvmu)L?MpUXO@geCy&rJU6O literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..82c15e2b9dcb9b229421fd415f70fa49040be5af GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0y~yV7LLoj0_A63=5+L92giFG(BA$Ln;{Go>XLHVBlfe r@Lj)FNTG1{-P-4KiqBcXiJfOzjV^C$p7)S59;DgR)z4*}Q$iB}06!nh literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..2119d70cf3923efec77d0e8071cfaf99c9c83f2c GIT binary patch literal 1747 zcmeAS@N?(olHy`uVBq!ia0y~yV7LLo9Bd2>44n$PZy6ZaW_h|ehEy=VIoQa+z`)S3 z;O|QDl}sQe1$f5ZYKEfR=tljh~yxr~jd~ z$zSw%!}Al;7YJ>b^#2yu7p8C9b98p^4w{)-9zI97Un%d~rfRKed@bPv^S?zp*8zAU=J|7qz*4YjrZfBT3r{&BmZt`;QGFs)@R+qbR%H-6b> zRegT%_E*m;L?)Z*@7w(g=r2?j_R8Au0HiEeyv+9x5C&~&h^R~#q!WQ zca<9IT5_5FHXl-B+H$zO)0L-oLENHY zTFq0lfwA>wLqxNk#O+9y0Qvi8!$MpdCbs0V^=<0dx6$qSvD-rZPFdOSBNlV(Fj+9& zaJeCoV6CmCbU^sWzAZUlG%hYl>R+QK;&ylQtbd|2{%Y6sM+XWqmNAP7Z{xXfSn1YL zDcLKkt8ad)5Gl~!eOyX5OYp$E144(UG3|~H6lSzL{(Va7V&|~W;kTz}I3B$AY3hM9 z{*Qm3>0%aqP>`UUDBSo~chMtZ(ekX&RZm;ORHK6&eDlhqcgN~5-QbgOzoGWPLtD?K zVb_nm%{eBzH=p&TsYVA2m}=hr_3gl#?T=R{AMNBQVBFUyc40-y?J{2Pt*Y~1KRI)Y z^Zrq_pgRn;ALi!XToJzN@yb%~?e|6cYqE;>2Fae|I8(v4p?AYQwICTr!Wx5&N7s35mB?!{K}2&6O%N5PCi)d{99M*sMOmJ z**o7UKbm;@SWQXpcUk7*w=8GWa&$NB?-VINkpJUU)PeG+yW@X4|D1RG(ZtJjH7kB^ zJ?HcE!{4lx4lEX&H@t2H6xW2V3!l9H^mnCpQ!{phjt#j7G^c5~G+g_!Zd1ehQ{OFr zedemYc1-!?wfd-a&kN7#gg?$sUFpKILoi;rxaLd2{quHJE95;x7ye)VjA7QJ-3KrA zyjXKX>_G+hj~AVayZ3(&_&@W#tw{sR*`F_FzN@w}mf_A(%-M3TW~mCJ+~MzgE$>xi z6znvYmvd=4HH-NN;+7ynP-#$$EmzI;xcp&Zo z*C8>+-I1$=80`*zUt}3qk@JF8-^MB@+eRt3`r|{z=`)xsIPV{ycFLupxskWUm$}T~ zxN$%4`k!YOEC0AZueKzGx0vBJb1=tk4w(nt44 z{XL<4n9rQOK!4w?X?!jXpFfsvXOXKadb5__)~@Q5eV2VMCxh*W*p!z}EH7H$JDpZP zQ2C=O%1V&&-SP0lpEv`A@7GRib4fqCOlX^+g~|N7m7C^mczJ+tTAoWo_=nmUj(V|* zo0leXY!KftX@l#5b*|srb0>bP0l+XkK$$0}2 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..be663ad72749e1e0f5bfe1dc198ad5aa48676266 GIT binary patch literal 108 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 A+5i9m literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..88f8ebc40bb5c344f5e5df39d23d8f168370b0a5 GIT binary patch literal 3930 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 JWt~$(699j7aZ&&P literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png deleted file mode 100644 index 80c1e2c2bd57fd855597dde7559ec40e0e317b7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0y~yU|0mgjLZxS3_omIA{ZDLm;-!5T&1O@r$iOoGB7Ym zdAc};R4~3h$jHmUz;H<6_wsGW*?AZk8s;$bzF}YtoM3W+fq{X+)78&qol`;+00GJu A(f|Me diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index 93c925a28dd7233215f51ffdd0169fdad56ba10b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1447 zcmeAS@N?(olHy`uVBq!ia0y~yU|0mg9Bd2>42M36Ni#68=6Sj}hEy=Vxx~oHpuoVg z@qPTS9>o_8rZ=>96;^HD8h@I0Cs-W~o z?Bj-FeuGI%14SB)H*d?my)Ac3?)O_#x53QYY5%LmrvBNvbN$aa^_As*pLEYZx$ARo z#i~myH%K!@vTnaIcdxuzb;@`3v)AAL+p+WGja&8eRNw7p4Rco5tuWP@M=$ju!wHk^ z)zS93q1CU|*ZQpdv7=PCFu8bwB}1ykkq4WkQuq#wHlEw%e{0|Vf0xacnf&>z^Lm^1 z1A`N5o}KSF_+0(Mr`30(e`fwp)V9yg-?Qb>=5LFSv_7ZukQ z2AgDLp0PJ&U%&gI$%!+Ys)d!U9(?kmU3!ec8g#BsZ|elvUbVspit z)yd~Ywtr#L%`fcuXCR;AckpdlzQ>V<>+LOHjo-caz3mgzH_r)?EU6YQ^&YIcTT`~j z-)PwP_YnJxNiXla?_6k>;rTGS=3k-Q8Cf0O32$9t97@2SqK z7ktA!^KOA%`wRW4j^2H5%6eqN)&@Tb2-XR7UafWh9INis9}C(4@09CnJ|ksu_}wts~Ua{jX2bHUTV zn`HxG;q-JF zrS=N8HH*S1(;Gv7HDzKa+57c8A~?Z0Z` zt@-=ae9TuJk*v3{S!|Q>Q}4nXz0zsln!Z?W z;7#E>w6tux^OCj&s*bOptDWOJ>p3eq=cZ?|^A?3o)!uc)BF2;{#L#{j8SYW zY99!^^j&_j!ZxqddC5<|{XJDbPwzdV7-W=@`QVX!gV0yIb`RG5SBg0FzQ0mcD!V5-` zFTH{tPES4xlI2|RRI=SJA*bq?=yyK8iTfCI=cZo2#JZ&>?2fgCixqQN^BK+^o-gk+ zs5_+T&Iz0pZQ=4uY)eSsu29F*=Bj&}otJbc*q?aQ$i3#?&kfuud ztgTe~DWM4fUuT^+ diff --git a/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-hdpi/ic_launcher_release.png deleted file mode 100644 index c922a45568fb2c03b137fe2cfb01c43c5d408416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2876 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 Bvk(9P diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/ic_launcher_release.png deleted file mode 100644 index 827bd124b1c75ebc815c52162695359ea3f62579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png deleted file mode 100644 index 200224bed5fcff82941aff3e04cf96b900ee942f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0y~yU~~atMrH;EhE$cStqcqd%mF?juF}%dQ=*D(85kH; xJY5_^Dj44$WaMRFU^t}kd%4+h^MpbMWWa8!!N8~}P}Bhu^mO%eS?83{1OPst6#M`H diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xxhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index 9f75c02d024f9a852a1728b0cc4e6a9cfadec31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 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 XRg>uUm7hMafa1;5)z4*}Q$iB}EFCw( diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xxxhdpi/ic_launcher_release.png deleted file mode 100644 index 8adc8af1db6431ad75cc7e65db98906629b255d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8744 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 Gp$Pywr0Qq@ diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index 80c1e2c2bd57fd855597dde7559ec40e0e317b7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0y~yU|0mgjLZxS3_omIA{ZDLm;-!5T&1O@r$iOoGB7Ym zdAc};R4~3h$jHmUz;H<6_wsGW*?AZk8s;$bzF}YtoM3W+fq{X+)78&qol`;+00GJu A(f|Me diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 93c925a28dd7233215f51ffdd0169fdad56ba10b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1447 zcmeAS@N?(olHy`uVBq!ia0y~yU|0mg9Bd2>42M36Ni#68=6Sj}hEy=Vxx~oHpuoVg z@qPTS9>o_8rZ=>96;^HD8h@I0Cs-W~o z?Bj-FeuGI%14SB)H*d?my)Ac3?)O_#x53QYY5%LmrvBNvbN$aa^_As*pLEYZx$ARo z#i~myH%K!@vTnaIcdxuzb;@`3v)AAL+p+WGja&8eRNw7p4Rco5tuWP@M=$ju!wHk^ z)zS93q1CU|*ZQpdv7=PCFu8bwB}1ykkq4WkQuq#wHlEw%e{0|Vf0xacnf&>z^Lm^1 z1A`N5o}KSF_+0(Mr`30(e`fwp)V9yg-?Qb>=5LFSv_7ZukQ z2AgDLp0PJ&U%&gI$%!+Ys)d!U9(?kmU3!ec8g#BsZ|elvUbVspit z)yd~Ywtr#L%`fcuXCR;AckpdlzQ>V<>+LOHjo-caz3mgzH_r)?EU6YQ^&YIcTT`~j z-)PwP_YnJxNiXla?_6k>;rTGS=3k-Q8Cf0O32$9t97@2SqK z7ktA!^KOA%`wRW4j^2H5%6eqN)&@Tb2-XR7UafWh9INis9}C(4@09CnJ|ksu_}wts~Ua{jX2bHUTV zn`HxG;q-JF zrS=N8HH*S1(;Gv7HDzKa+57c8A~?Z0Z` zt@-=ae9TuJk*v3{S!|Q>Q}4nXz0zsln!Z?W z;7#E>w6tux^OCj&s*bOptDWOJ>p3eq=cZ?|^A?3o)!uc)BF2;{#L#{j8SYW zY99!^^j&_j!ZxqddC5<|{XJDbPwzdV7-W=@`QVX!gV0yIb`RG5SBg0FzQ0mcD!V5-` zFTH{tPES4xlI2|RRI=SJA*bq?=yyK8iTfCI=cZo2#JZ&>?2fgCixqQN^BK+^o-gk+ zs5_+T&Iz0pZQ=4uY)eSsu29F*=Bj&}otJbc*q?aQ$i3#?&kfuud ztgTe~DWM4fUuT^+ diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index c922a45568fb2c03b137fe2cfb01c43c5d408416..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2876 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 Bvk(9P diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 827bd124b1c75ebc815c52162695359ea3f62579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 8fb88d36762582d219d994be40074203324784d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4077 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index 200224bed5fcff82941aff3e04cf96b900ee942f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmeAS@N?(olHy`uVBq!ia0y~yU~~atMrH;EhE$cStqcqd%mF?juF}%dQ=*D(85kH; xJY5_^Dj44$WaMRFU^t}kd%4+h^MpbMWWa8!!N8~}P}Bhu^mO%eS?83{1OPst6#M`H diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 9f75c02d024f9a852a1728b0cc4e6a9cfadec31f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 zcmeAS@N?(olHy`uVBq!ia0y~yU~~at4mJh`hWJSLgfq}u`#Qk4#@s27k42nz~f({)FPAmdS4FZfU917GB zqPl@l$5GFP0*_?T4eQxk-B+X&{oCT7is`o8+uP2rTe&T__pZ$9vst&d<@V&B-*Pv0 z<>$KluWy%6dUJPbi0aGx_l?X4{md2#e{(xyW^?6dhbe#g zyZ&B|OVZar1U%pOzus4Df9(ZHX~8!s?DyO`Q=+sum`>_EeGpU}p;K>jrSh13j+$iJ zuESDh?cS*glPnKS%Umf|u#)fFc8$N0YfeW_40!RZqgChdolnOP?@W*Q^37fL`PQ&m z0>RT{c;;sv{&%Xs|5@Ch%gV9MK3`rhj@9qj*tYfI<;D$HlxGQCbz9Sz%`0&1f61St z_B8?`GmmbM{Dki?3mVHoVe0=i{dGZ zA0>rXcnxclKV}6u~>wN9p7ZND^kugTQd$F#UW5xRC$_p=OMa+ttytVwAx7c3gK&f@L zJtqTx1*!Ua@c#HBq%-U3(O)Jp6YrXPxNC3zZPu|lO#krmR~x=4&JqaK|HFCxRf2r? zrCV2zZ|`k!mS1+aBx9j}nasY8dtLMOue4;Zz9{Y`oHT3Vv=1w7bY>mB$^1Uz%Z&zw zwNJk6RzD{d+TgF7@Y4Ou(k_|y+=92Y5jvlX*!pJ9H#YF#Z+5d@bFpa0Hd*xpF4BvZ zEZ_Ix<+B^oj}{m|d%|<8OW|nl;hTlmo{9aq!mf5pK(#iOZ+_e1q?wU5AEJ$m+1NGT zZakQ8wdO3xj}lRzOVjs-1bQ3tud{8rEVy;e+G^9@mP7jw1zmZ6+u4!3`|ipLhIMC; zDrwZNRLaz2x7*9!om%uU@v6X*MV_i{VWkn1!#=z;oUz2-wI4-R?g?T3w~zqrvmtLgj0D9$+zGp4>P z&)@GMFe~=PdeO7nFZ`KQ`~F@2M{7RIg162-&6hUL=1~uQ7+f4-bN7_rjy3KxI|W%< zRW5D*!g4*{?>duRXk)6~McvJBdgCA7(t5+*t-k%slf2l|K73rB>mGl7*KPmc*83ac zYPSSZzh98C3vE7ndFhoYi>;^5-NffOY3=)vvO^pDu1Cq*nKr+*bCF&o)16!J*109& zV~K|G*O}i^m$P|(+j4yCx|ZzQg*G|gm2L?v4L7=Ha$P0;LR{`C|G#^DcV;?Hs=2!B z-j2PKzpx#ex8ZJohVzuu4=zW{=q^9)SN~*hk#SQ>Mrhrw!=5$nU#D)kJ2^uzMJ(p@ z@tp?Z`P1iHGCC^l4X%3@(w}Y3Ex5x>c-wEGxy~VLA4G9{eGnqRY1$W|!9Pu5;@iaR zjCZC^H|lk#oKy5V=5^?DJYW0Hilv9%Y+D~TLssRO&U|)VnXcZ>x?TM*rbQavfBfO4 zg(lef9Ub7d9D7viHmpxpD3(p&bCkTpV7Tc^!fGdsKU4a zfwNj?SHCW_t$t9wW1AfNVHfE|9ScQkv^a|=PBzwfy|nA|efJIBcB|rQJ3q7a1hH1O z_hdMWSc+B_&~p0)R(V&we>k=_CEW0)Bh0Pj&F`@;^*t`N)=nlGXGw~&Zo@|`TD=2RoUVzw>|CNCB5dq6=8jUQfYa>$_SuMY$@mUo-OB zy4cL?c%Dnzf#uzat>CiwrGemm&cK!59|YHml=TXF9Wm7uZ40_6)w=#cl%!1Wp;sPL znzHXF@JzX+yZMK+^N%k=YbNaBnJ;yqZ0d_?kt<`?G-sD?;GcB&-U`m^W((M-XkBR0 z_@q~}iottR*N2y~GdvvCU6w{EGF_K*=Qz2BF{XQg>=dsPEgD8Vc6XV)Cq+NJ95BNp z(6__uyjM;`%2fyUjiG`59ZKE74=(=Mx85p(typo9tAM;{(1WMGYaawx&gjUS8M^3o zfBeI!RGA)^QUR?)TkjikczV8^7WqW=$CVu%@hko-`KUw+FA9>~AiD0VyBJrLSk~dK zxi5H@PO?($dU9xa(gvneZT_)|N+;(DOsx`kRGJq)=&i=i~Dki!=E?||1n#;uP4}wi+EPnOjr7y(KTOH+M zvO5G~R&iff%HUtxRpKNf$u$36)6qin8Yv!O&+VLnFH4v5#{QSw8yB+l_D1QY&k_V< zcC$ZMib{W|w_}?~@xm#2GgVcmwEDkI3@mBzPfeJlRdRaG6^B0@*R>uLyt%VbgZ+Bl zu>_5&LBfkpeE#rK@`m5MM*s7NU4n9*LRJZHJFr!~Q0?E%n-yH^avjw*rcM%GiI3FR!)@~PC=*UpTKUh|WogvX$N!yI8VJn|di+6i z(pB*p3`@T(?OM`m2tyOcGXg=XZTzlt|+bt_XwBI-^ zI^}GwF?E{oq7x1(s~8OgeLK9|3reoIWjama*}%Y>Yv`kL7nF1sFWAex^wPhCZ9&Z+ znaj4$H(>F4IW5xY(B>Og=QVmRyP&%{XzoVIeYtMpDL!7?&v>nM68`Z`D9lmwu95e# zm2LhL+B2R$Ob)qP)j6+SLut``#Z`;ESN_k|=hI+dU{L7z_}AHf-7&Ug)&pD(q72#$ mVGL^+A{aL?B@AbQ2Var{!-L9$pE58oFnGH9xvX4A0#j?OalZ_B+s;yPGRKd(c(plM;J?){zsjV}o*LY>DRe^eLh zJkotKGJUmGw5z3M>HGyQCSrkyk~T(IO!eB!|Bv;oLQi9YS_JpE zrpphwb}()_pt$MF4biHzaaH|Q?;XBIewq1x^?MEX0EZ(>x-)#bRQ@;5OW?F%o3pEB zU$Wr~#(&|-0m&cd&N!lBYZ$yzb*|t4hR)Yb85<@kwFPrU`n=(Nw9LuY?a8Uuxasxs zwQbf(h3hUv>{_ug@YiFvOusX$Gm?{w_8n6xJzS_>5Oe1YcPrY2&$am5n-kTTz{i^A!CUJFVj?uOteR zm`k*tSE#!lU(~of?J4(D;ZKuYl&62RdY&9*{81q^bKe46! z_sR=_nOApiePE|^kJT~4M5>nS+|1`)R(;$DpGrS9ero+a$lY+p$wlYhKhUvU`s$_E zrCX7A{x$#JHsjUYvaMpJDpFh11y695bpJc0z5Y(Cu-w`8vZ3cYnfAvB_a8rQ^ZU)_ z^5S^*brEjuUnO!^PnZ&Fu9>Tu*WMHsb2}%ofP3zXuTkYo3g#}l6!vCTP1|ofjz^WO z>g5qff+YkS4+~s;{j00PNu%?5>YNLlg8m1UFM4*o;ElaJ^X#`bGN0URl$3t_-%$6m z=hg`ywa*$|&wQ2S&MRLOyY*tdYj^&$=+al)Tx|YzxSal&yzlz^?q0Wl9gh7XAAfke zbT~bpQNa_xOi#!^d)v9kKbRx8vU$18^{|`sIYW@$V>G^Xso_KipnMnOToj-Tx zQ86z6pXJOmV!kbS{4zk}%bxhItmd~$bJWG%zIvo~ICXp4%)9Pv*13G=728_{(Jm44 zuN)q2wAGz;QLav*wBK&S>hG&o{JW$rC|P21RW!jf_EuTyYJ>Ljs)?s^vTnZie06DB zjqQ~s7XnW#*`@CMf9m6moti!;g0!rK`P%0z3(jm^RqMmCV*V1nzrm8CR}OpHggJ7h zKRNf^^I(t#`{D)X+ME_PiCj^0op0FKZ70;47g)}FV5&~+5BDA0lG8=4cb<&ecy_C3 zH8?kK%e7wl`PZIVv#UPmm7DFdHV*wdwaoAP%P-~q>1DI;?AEybtAZo7vZSQ!6;pG|O0jm^A3 z0q>Sf+l@}LQ!-os9bfu(c1u?Hj@`Qt|Nj17(cXT3`+WQQrpc3q-$(9cvobil(%9zn zEWY!5(>R*a=UonDztXyV_T0I$e|~&)ekdbvSHr;1&#%Za<#=k!Zi%oJZ<6E{yW2LW zpFd`ABFZhU$D*sdwkh3r3vYt=W}b>Cw$T9#_*Qhs=wB(kxXATP@tL{S;Ts}4?&wD; z@^2H>s(oe}d?Ib-`t|xxo<0ry|Dj*ro^7U2*oU0vU%U&JFV(;EVHRik-sc=lcXm&o zD*q~If%vN*FD@#-lKhZU;nw(Qp-q`v7+dN5S65eG7vJ?RIWLdz`MJ5t|Eh|Mi!0Ad zXTCoCZ(H(%w(~ZQ1r2XylIYf(8Hwp z|CA)I9(XWW%3k5!ot@1pk8SUtJHzWI9A0#@{Gj|%$xX|b@AP@dUhw*w?y7ecYBsYE zL`KT7T|UBHb6e-rm~U9KJrz@axff@!R*OujZ_r zdaQS)!igkj*GK!jWP>GMOB{SLtvRv!fz;9jm+lyYONK!=%FoTQ^s)W^{{H#yn=Vg| z8Su^0dG6@BS^tm3mBfRa_1S`ggAMd+af$&)4>ah0pfek}5^A>hi!J>rw z;I$y-Gm3q?+OIWmu%B9nDGaOfO zdTwp6@N2JJc-yO0QFhtGD6ZGi5)uavHnVfT-nF<}*t*eRu6yTwUYwEcFMWIALcqN@LdkWWXHGnS zv|#zHS+jVb?9o{D`PG)b$tDU`^biB#Oe zad%f~@-e5io>B8fcghzn;uG!CNve&yb$k&|>DoqScB7Nchf_QZIt4k54Q00JhhGVa zW0hAsq`u_atxbJ>d}n5vcE7aqn`6P)*4Fmr-mGQ<6C%%|KRG_N*Rz z#4o3$FNq#~mTs;|R~!pAd`LT0{_+y*zPi7s?#wP;_=vT7%VV>LF1|l2KEHRf2st%f zKfayAZjw^t28-><$N82?-`tul9vl|!E&eCEzv16T^%Wm-O?kGQFxIJ@)0Xmfcj05V zwmBwQj#5%mRr}wcDc)K4^wiX^oe#1#g*XHS1sh))ZSF`Ko1WCi#E7 zp!`c?#!L%?ryo)sr@cNR&gSgow8Tqc4eQ>u0Sld!pST5bEOCo_XsFsWf61?pEXm2q z7G-ZFE=%b|Z{xX~+s1miN$j2G1=V*ZCB4?n9eNv=A9TJZzgF7#ThzuR*5dt#+xaiw z(hSm4t5b73y6XhXs;I45$x1(bSFt>LB>1fL-o9GtWYuMB7A|CMnWR_k^vBYng(Y8w zB_k%nS$y{5GY=$Zulg~kh4ahYE!$)!O7B+|F!GU2cj$P)uPMx-eg6DB+vG_as!!K{ zTgT`zZOzML`)1C2cEjv`L^h}$zYS9VpPl#9-)&CUj{4*GuEz$y@4j~`T(EFoe))25 zbN|$Nv&}zWn`dlOms7L%{MHq&2Trn9+Enl1@toVd=S zbYZ1dWJdJb3Ewvy;<1pDT3eNUzcw=CSw7R>shW*NjRsB;_I!WNzGrcou}N(6>0LLs z-OhVmd93}+rmc}5y7l)>Sh<^x>F+rKF*c`6&X%K_<(@RwUE1*f;nL}GS-kq?cT2CQ z6c>NKa_;Ob`8Bzb=lk!v{Mq+2BZncizdbd_7Uicit-Mu85dv>qAmYd>5-hEonJ&dERJ{(|P8(igcIQHwZ(?J|I(@W>i zk1f0D%3OJ-YQgTKD^t7{NCdDvESbf{B)E9-;>q$g9~yV7xo}JNTfehdUBM8UY&j11@}%WWK_6HY0xFm)J!)VlG0Ls^&TK+lFvgo_Tg?ajS41 zM+n3At;@E}eX)_dZEKjvhCiQ9FSk9uY<6Cj?Z4gc_Z44aiZW2#U6Piy7V84DNl z&xE@%b@2hEyR-VNl>A=4?R4JqB%@|p>C5M-D)mLcT2BNJ>~TJBe(vZ4ZGI=T%i0|_*ugv2aU<^uE_k`A;hvPdh!Id z9gEw4@8w#*_gmC`Gw!Mz$}a++H6%T8b6b0sa{-UjuZmulTXnzRuH|0f!T0ZV-pb-L zhV7-EETtEM>X-C6h+KHiDSo0ebEc36+mwV~+vXkfx8mjHjZ69G3|=(YkkTG)r-syx;RVYCD&hzj9*V{;9L%wJR^2(AeF) zLRrB0!lt9K%sUgrFNi75^t$6psP*p)w^HJ2?Z;668?JwA8?-sqV(rN`q zMw4}Q;9_y1g@3+W_V=IZa6=*H>Ge65we`%~^3~Z7)^4+CPE!=?YFIM zdi&stY^j?T=aHAccP3RYP}!<}Z!O=d2JPq|=jm;0S2yjRy_0E`%+5CpjcWe3`dztt z^xM0y{VSUz=AJP4wj)e`%lCWLyVWjCi_TkVS#vT^X6=^R8*Bf0&OJAsVXMWH^rn0QebBS#CVp6Qs*t}j@VxO1pEG?k5k)Q^sgtbk;!Ngx4Qo4LzkM)#v?*O=O<5d*tF7eHtW`PwXvGp z)Eadjp8lJ&hG9kHj5ww^kNGpy^7jAzwuR-;^P{Gd(wpwNANlN+l)d1B-R~m#V~fss zY;#z6f5la9-R*aZV(x9IZ|8YyleL#$?EHH%>C4vwvwwV2SoZpY^4_L5*A`slKDnjl z>(%i2d*1K+onn9VKl{)8)oZuSy0y~!$w~VccCpbpZz64?_stbdP7IWexm(JSYPBbT z!Tt9g#cihD$AdVZg!(+c$ZfjdOtNRpm+;948Ee+o);U}MK9v+*HQ%PY;@g|nM`!rA z9DF)gyh2g-9((0{?W4=jHi*aX@A;&BK+S%e<51!QSJ8|~x+}Zb*pLu=7 zc5xrC(N@tjce#1^IGzME9c1)4e|=$+_xpRt=Za}Dy=v5J+0?EwrO{)~Ox6zvj|J8j z-})z#bHg`Utn#wmyY!S$2X2{)-Lc+S@iH+r@`-li+Jx1ZfH zmUoNO$@849|2vh0GT)l~<=Hl?|Ip53y9>VQt>B&;z_xvd;xx-iTwf-H-JN_S>17yC z>{*9}0Bx_T8dp0%;l58;p+K%6s!}gTk`!?=zJr@}Kyuc&tuPFLcXg zwT)|D$%$X>E?jVD=1k7c2c7pq7IfB3)Ho8c-}#e;@wy`O=qrE4T}n@6vMc?re&F@| zSoFs=&WmPR9pyJj<){PmkKLHSbyHL?JK|08TFGhPTeT#(XREC1)sRy^Fd9 z4);6ldm+9jQmj#yBeiO7yuhZu$%d0RKJJbGynZ6?OcBRjk{8tD~EOKJB>R8n{j(;yW21=ZG?z5=xQMCK3Kim5;$jb zw-#TL`Gw~dDlebAMZZ(L6wAph5qFY<^QQWhmP&oiB|k&o#YT01)cGtSx4i%SEsl^v zo=5Mt`aS3^dbvtir)AYLwiiZDw-pSUdM92xB3-j=jf*nRpS($$Qv?1x2l+mjbu#48 zj3pEE0(QFZ48QX^s_6Zh=U;?lYmQ~v6*nbMu)e&<&q1Y17l84_Hu zok>O5cCw>J0$&c>Mkb!!x;!;11&RgQJpU|s{%di3vpf1TT;cHcAJ5-^{NI%SbpOfw z4d0(^FY1vwT`Z&cd`hu*`?{FZian1rc`j}F6t}waeQV7$n|MKY#)(A@6CO_G;x)Qj ze0BfipOfp@S1wU1iaP1X6!R@JL_p=z>; z+YBy7%bSXR4ogDTr%YNo`Oi$V zEBKeHWd`l-je4Y^5Zu$bU8(DG5!cnIsunk?-K`6k&Xrp{`-S2z)<4nK^|uctOINOo znzwt-b*)ERlmDsuIxLfs(se16Vtw?5g_Uiimt@o_%?xc%HsPs%qAlyAvjmnlJn#7| zm8fte`#H;!KqrmKAub*B6n*psRg=VAIyw4J7I!2~O1-A&D as-IGFSD0b%4A0#j?OalZ_B+s;yPGRKd(c(plM;J?){zsjV}o*LY>DRe^eLh zJkotKGJUmGw5z3M>HGyQCSrkyk~T(IO!eB!|Bv;oLQi9YS_JpE zrpphwb}()_pt$MF4biHzaaH|Q?;XBIewq1x^?MEX0EZ(>x-)#bRQ@;5OW?F%o3pEB zU$Wr~#(&|-0m&cd&N!lBYZ$yzb*|t4hR)Yb85<@kwFPrU`n=(Nw9LuY?a8Uuxasxs zwQbf(h3hUv>{_ug@YiFvOusX$Gm?{w_8n6xJzS_>5Oe1YcPrY2&$am5n-kTTz{i^A!CUJFVj?uOteR zm`k*tSE#!lU(~of?J4(D;ZKuYl&62RdY&9*{81q^bKe46! z_sR=_nOApiePE|^kJT~4M5>nS+|1`)R(;$DpGrS9ero+a$lY+p$wlYhKhUvU`s$_E zrCX7A{x$#JHsjUYvaMpJDpFh11y695bpJc0z5Y(Cu-w`8vZ3cYnfAvB_a8rQ^ZU)_ z^5S^*brEjuUnO!^PnZ&Fu9>Tu*WMHsb2}%ofP3zXuTkYo3g#}l6!vCTP1|ofjz^WO z>g5qff+YkS4+~s;{j00PNu%?5>YNLlg8m1UFM4*o;ElaJ^X#`bGN0URl$3t_-%$6m z=hg`ywa*$|&wQ2S&MRLOyY*tdYj^&$=+al)Tx|YzxSal&yzlz^?q0Wl9gh7XAAfke zbT~bpQNa_xOi#!^d)v9kKbRx8vU$18^{|`sIYW@$V>G^Xso_KipnMnOToj-Tx zQ86z6pXJOmV!kbS{4zk}%bxhItmd~$bJWG%zIvo~ICXp4%)9Pv*13G=728_{(Jm44 zuN)q2wAGz;QLav*wBK&S>hG&o{JW$rC|P21RW!jf_EuTyYJ>Ljs)?s^vTnZie06DB zjqQ~s7XnW#*`@CMf9m6moti!;g0!rK`P%0z3(jm^RqMmCV*V1nzrm8CR}OpHggJ7h zKRNf^^I(t#`{D)X+ME_PiCj^0op0FKZ70;47g)}FV5&~+5BDA0lG8=4cb<&ecy_C3 zH8?kK%e7wl`PZIVv#UPmm7DFdHV*wdwaoAP%P-~q>1DI;?AEybtAZo7vZSQ!6;pG|O0jm^A3 z0q>Sf+l@}LQ!-os9bfu(c1u?Hj@`Qt|Nj17(cXT3`+WQQrpc3q-$(9cvobil(%9zn zEWY!5(>R*a=UonDztXyV_T0I$e|~&)ekdbvSHr;1&#%Za<#=k!Zi%oJZ<6E{yW2LW zpFd`ABFZhU$D*sdwkh3r3vYt=W}b>Cw$T9#_*Qhs=wB(kxXATP@tL{S;Ts}4?&wD; z@^2H>s(oe}d?Ib-`t|xxo<0ry|Dj*ro^7U2*oU0vU%U&JFV(;EVHRik-sc=lcXm&o zD*q~If%vN*FD@#-lKhZU;nw(Qp-q`v7+dN5S65eG7vJ?RIWLdz`MJ5t|Eh|Mi!0Ad zXTCoCZ(H(%w(~ZQ1r2XylIYf(8Hwp z|CA)I9(XWW%3k5!ot@1pk8SUtJHzWI9A0#@{Gj|%$xX|b@AP@dUhw*w?y7ecYBsYE zL`KT7T|UBHb6e-rm~U9KJrz@axff@!R*OujZ_r zdaQS)!igkj*GK!jWP>GMOB{SLtvRv!fz;9jm+lyYONK!=%FoTQ^s)W^{{H#yn=Vg| z8Su^0dG6@BS^tm3mBfRa_1S`ggAMd+af$&)4>ah0pfek}5^A>hi!J>rw z;I$y-Gm3q?+OIWmu%B9nDGaOfO zdTwp6@N2JJc-yO0QFhtGD6ZGi5)uavHnVfT-nF<}*t*eRu6yTwUYwEcFMWIALcqN@LdkWWXHGnS zv|#zHS+jVb?9o{D`PG)b$tDU`^biB#Oe zad%f~@-e5io>B8fcghzn;uG!CNve&yb$k&|>DoqScB7Nchf_QZIt4k54Q00JhhGVa zW0hAsq`u_atxbJ>d}n5vcE7aqn`6P)*4Fmr-mGQ<6C%%|KRG_N*Rz z#4o3$FNq#~mTs;|R~!pAd`LT0{_+y*zPi7s?#wP;_=vT7%VV>LF1|l2KEHRf2st%f zKfayAZjw^t28-><$N82?-`tul9vl|!E&eCEzv16T^%Wm-O?kGQFxIJ@)0Xmfcj05V zwmBwQj#5%mRr}wcDc)K4^wiX^oe#1#g*XHS1sh))ZSF`Ko1WCi#E7 zp!`c?#!L%?ryo)sr@cNR&gSgow8Tqc4eQ>u0Sld!pST5bEOCo_XsFsWf61?pEXm2q z7G-ZFE=%b|Z{xX~+s1miN$j2G1=V*ZCB4?n9eNv=A9TJZzgF7#ThzuR*5dt#+xaiw z(hSm4t5b73y6XhXs;I45$x1(bSFt>LB>1fL-o9GtWYuMB7A|CMnWR_k^vBYng(Y8w zB_k%nS$y{5GY=$Zulg~kh4ahYE!$)!O7B+|F!GU2cj$P)uPMx-eg6DB+vG_as!!K{ zTgT`zZOzML`)1C2cEjv`L^h}$zYS9VpPl#9-)&CUj{4*GuEz$y@4j~`T(EFoe))25 zbN|$Nv&}zWn`dlOms7L%{MHq&2Trn9+Enl1@toVd=S zbYZ1dWJdJb3Ewvy;<1pDT3eNUzcw=CSw7R>shW*NjRsB;_I!WNzGrcou}N(6>0LLs z-OhVmd93}+rmc}5y7l)>Sh<^x>F+rKF*c`6&X%K_<(@RwUE1*f;nL}GS-kq?cT2CQ z6c>NKa_;Ob`8Bzb=lk!v{Mq+2BZncizdbd_7Uicit-Mu85dv>qAmYd>5-hEonJ&dERJ{(|P8(igcIQHwZ(?J|I(@W>i zk1f0D%3OJ-YQgTKD^t7{NCdDvESbf{B)E9-;>q$g9~yV7xo}JNTfehdUBM8UY&j11@}%WWK_6HY0xFm)J!)VlG0Ls^&TK+lFvgo_Tg?ajS41 zM+n3At;@E}eX)_dZEKjvhCiQ9FSk9uY<6Cj?Z4gc_Z44aiZW2#U6Piy7V84DNl z&xE@%b@2hEyR-VNl>A=4?R4JqB%@|p>C5M-D)mLcT2BNJ>~TJBe(vZ4ZGI=T%i0|_*ugv2aU<^uE_k`A;hvPdh!Id z9gEw4@8w#*_gmC`Gw!Mz$}a++H6%T8b6b0sa{-UjuZmulTXnzRuH|0f!T0ZV-pb-L zhV7-EETtEM>X-C6h+KHiDSo0ebEc36+mwV~+vXkfx8mjHjZ69G3|=(YkkTG)r-syx;RVYCD&hzj9*V{;9L%wJR^2(AeF) zLRrB0!lt9K%sUgrFNi75^t$6psP*p)w^HJ2?Z;668?JwA8?-sqV(rN`q zMw4}Q;9_y1g@3+W_V=IZa6=*H>Ge65we`%~^3~Z7)^4+CPE!=?YFIM zdi&stY^j?T=aHAccP3RYP}!<}Z!O=d2JPq|=jm;0S2yjRy_0E`%+5CpjcWe3`dztt z^xM0y{VSUz=AJP4wj)e`%lCWLyVWjCi_TkVS#vT^X6=^R8*Bf0&OJAsVXMWH^rn0QebBS#CVp6Qs*t}j@VxO1pEG?k5k)Q^sgtbk;!Ngx4Qo4LzkM)#v?*O=O<5d*tF7eHtW`PwXvGp z)Eadjp8lJ&hG9kHj5ww^kNGpy^7jAzwuR-;^P{Gd(wpwNANlN+l)d1B-R~m#V~fss zY;#z6f5la9-R*aZV(x9IZ|8YyleL#$?EHH%>C4vwvwwV2SoZpY^4_L5*A`slKDnjl z>(%i2d*1K+onn9VKl{)8)oZuSy0y~!$w~VccCpbpZz64?_stbdP7IWexm(JSYPBbT z!Tt9g#cihD$AdVZg!(+c$ZfjdOtNRpm+;948Ee+o);U}MK9v+*HQ%PY;@g|nM`!rA z9DF)gyh2g-9((0{?W4=jHi*aX@A;&BK+S%e<51!QSJ8|~x+}Zb*pLu=7 zc5xrC(N@tjce#1^IGzME9c1)4e|=$+_xpRt=Za}Dy=v5J+0?EwrO{)~Ox6zvj|J8j z-})z#bHg`Utn#wmyY!S$2X2{)-Lc+S@iH+r@`-li+Jx1ZfH zmUoNO$@849|2vh0GT)l~<=Hl?|Ip53y9>VQt>B&;z_xvd;xx-iTwf-H-JN_S>17yC z>{*9}0Bx_T8dp0%;l58;p+K%6s!}gTk`!?=zJr@}Kyuc&tuPFLcXg zwT)|D$%$X>E?jVD=1k7c2c7pq7IfB3)Ho8c-}#e;@wy`O=qrE4T}n@6vMc?re&F@| zSoFs=&WmPR9pyJj<){PmkKLHSbyHL?JK|08TFGhPTeT#(XREC1)sRy^Fd9 z4);6ldm+9jQmj#yBeiO7yuhZu$%d0RKJJbGynZ6?OcBRjk{8tD~EOKJB>R8n{j(;yW21=ZG?z5=xQMCK3Kim5;$jb zw-#TL`Gw~dDlebAMZZ(L6wAph5qFY<^QQWhmP&oiB|k&o#YT01)cGtSx4i%SEsl^v zo=5Mt`aS3^dbvtir)AYLwiiZDw-pSUdM92xB3-j=jf*nRpS($$Qv?1x2l+mjbu#48 zj3pEE0(QFZ48QX^s_6Zh=U;?lYmQ~v6*nbMu)e&<&q1Y17l84_Hu zok>O5cCw>J0$&c>Mkb!!x;!;11&RgQJpU|s{%di3vpf1TT;cHcAJ5-^{NI%SbpOfw z4d0(^FY1vwT`Z&cd`hu*`?{FZian1rc`j}F6t}waeQV7$n|MKY#)(A@6CO_G;x)Qj ze0BfipOfp@S1wU1iaP1X6!R@JL_p=z>; z+YBy7%bSXR4ogDTr%YNo`Oi$V zEBKeHWd`l-je4Y^5Zu$bU8(DG5!cnIsunk?-K`6k&Xrp{`-S2z)<4nK^|uctOINOo znzwt-b*)ERlmDsuIxLfs(se16Vtw?5g_Uiimt@o_%?xc%HsPs%qAlyAvjmnlJn#7| zm8fte`#H;!KqrmKAub*B6n*psRg=VAIyw4J7I!2~O1-A&D as-IGFSD0b%3@7{yv=|r!MLb;`Ln;`Pe*FLcf5PF# z6(aqQ0&Tk74TYH-_F7F~WME*Bc#>b+m#-@5%)r6J(8$|_`w<6M1{Y^9UA@2l+WVbh=jv{}?OMv$CZC|^;&?U5+NbIFfx_%} zKVHtdT5j@ktJT_*YypLNhx5}fe#tU?Z8wAEw&PVLuHuL6790|v^_ETv@9=9{`d|sW zL&;i?-=g*@egSU2bvvtm96y1EZC2dvS7L~Ox zRcC$P#qYCQB*k6XOCUe#jfufq%ZnMSy?nOndcShCQ2uOeKEpKG?uP(-^6Ud!j2~uY zYG_xMghb9>oWyxG>+-c1(=J{r2tPbC;TBs$kNhKr`xZhu25ViOTNPi9uCrF(yL8d5 zEkE3f!&DPy@wPYrVEw4-a_pId>5MY#IU2l6wk_S49DR*zLj8i!&ag|rFBKd=n41u# zdWQMf51upOFWd?yUo-A_Idkp2c@r;2{cTN4+fo-)>~_Ct_B!^D(vOS{j%6jt%qX*e zqsm*7^Jty@jY$T2TGIqNeCBL^bwce@LG=OKgj*~x_|0nY`w{%>~IfBp@kS(wSZmS<72hsO6u2M?Yz)0n@xoy9u# zT>{(uhS^LC`s>20jnVVy+_;^YK>&z7HEZy7u`9ABk>JL-d;+6Ca7EM3s z+u!s;Voqd1#Q%VIRRMNe1^WsLzV%mrSXy)+q+oA?>GvCF=doNgG?=oxc>S6`H}@X;c`E(cw7YT7o=i8$`}ClF zYHk0H108+s8Z*LJ7p<-iODyXzX#6yJ-orl|4jZp$yPRVo=rU12Tq4kNM%rObgip;RCEl%7_#oS5FGq%s3Tx40`LA~TMDQ%rZ4eQNRgFy5pPn*( z)r={@kG@n#oHXF~iRQ9y6ew&I{CmCq!7`4Hb$0^tyaLN^iUb&@MLj(`btT{VZ+-=r ze=E4eB)Dv~me|&idDwBziSwGf_bM!pIXdOdr)b`DWgIiMvGTF4lok}12#hYcyi~#O z$J?ds=e=}C9C zACRzj^Ix)1f5tZ1KDNR|&P!gs?whD}b;Z+=`pkl9?uX0_)|zunl(S<_ev@sWD>#p( z-Sz(Fqfva9Jl5WsHs{Mki}#WqpVGv7K1xaiDxG1teC>dog5Q>tD=QcIE_s&z?VaJN zb-L9He(V$ddvhD8m@Ep-vAtcl@n_EMZMnA(1_ylqlC#_T=Id2j#eE-tM=gJMvfcLD zPVLezw=MafPaZaY_xOLZWYKQ!zZ0&_eInFuA~^Aw!rJFiwfj|dm&a^g@^i|fgE9Nx zPCs|5vhqoU%dCbibt?P@FaK|p*?G53ZOPY-JHAd?uajlBHA96v%I{~@vA@}e&Ys9+ zjqBL*PlewgQ%dQt!t-6+QGWJCj;AwSl_PEx-Fi6l`@8lI6H(7okA>QAhJ0xWdu1FI z>^HeO=w;;+tLUv-U+HKh~{xzcwZO?YvL3Iwr0D{EQ{6{!-|P zx0QRep6|LGeg4&qYgJ)^{K3)Za!&6FUw@$Z#M`JT6I7;KEZO1ba?9-Xu9X_TnYO=$ zM7EZmdwM%B+9dVf>RiE<%qxvRJ`#{~%Ikl!?{wDszRh-9!*5%rikJr7+x<dDDNj zlWYzwiSiYj>tXpV!@AsF#Pnj7-xK})<%*ZgJf^DdJd$W8eZDzs_l*y`L%+=nsbX7s zYF_MB`&`MWh?DuE&kmkZH^1Lr}?_qN@iF#dWM#m6=^@7>tVU=^^OnE zHC8S9+ccl;-O1Y*o9~=+nH2MA!m8Kq9VW7x*UefLZ?4b zcG;X<$X@jNNcV)$ohvhIET>jY&|0#5`4tnzr{9^jC~n_fU~{IXC4%`J8q?y=MC<&Km`$L3BKQ;eP7%YUzVzVf9wkFBbfjWd0@ z_iO812xk6$R%5!?c7@bkm6881t#K*+#bY~z)mVLl)r3BmCH@LeXWb~gS*}(V8~0?! zmC~Ero9F*s+)=_3RO_+sqIbN@66Og?$4X-hmAbx`)O^`xAu!RdKg50#`-~FFqUhf1 zich6()*iimtR#LX*HNn|+jXyJm9yD@&fXxkGqy1#eiHkPD}5f;%C0@{_GP^fyc;h1 zddcfowu`SH*6X;^6%s$mTPBVDVd4`rng88yyw0z`wQYGwmBdT?iV}yNHw=&dlIL;E z>wgq5W9N~J3`^DuW=aGdx$tgvJFjew@5lE%l0|PPyeKu0nYhg?)uHNPMgxB+r2wTiK{5n?j zSC6{#CH9F@{ZAOx<~H6rRly(BT$TQz!H##Op=TX?nwjpOzd?`91eade`_g%)=|cU~ zGMPNbyxa;&skPG=NbbDbCY<<8$enreF@;OdJb2T%U8H)i+)$BMoTYov=!qE@^Fkk1MgKBlz&xq*C|UqX=l28M}s4I#?*E=wvsg6=r8+Ng3CqE88K3QQ?ZR$u-ZX&&>XkR)4>9hvd$` zQtO?zRTBm@65XUe@ixaFajm-wJkELk ziSeMUTzlhP$Cb{I#Mq84+LNwq2jzvsQcuhTm$FqozaDj_ZKm*yEsPc{6ZbWRD8{=k zX`Z;srHIM6c&XjL%`tP$K>_6y({yKFf4S1F+aF_}lv(OE&19c(lkG~$ldwY?F4Em< zPqvAJLdk3c-{IO5Yq|9u^YoqAi>evi51diu%VgdnspRW+YKx#!ZkI~#jF?9Tv%AwL z+si=m4Zr)QJ!jG0SUn*Iq65Z3;>d)7|3{Iul{)Si4R-oy8Q<@E>YC*F$9 z;W94fnaaT9zGUvif6cK1nG!*YFW2)Kc>ZrbKJoVCANQ;N)SP7Y394~gb+|=+=aIy; z%^TQu`W|5TQ_I}6`g68{blQKT{mhd~1eAPTIbZgB&1myrSM)4mGG6^`)-Q{g#@zoe zyn5CieV_7-MeU`NiI=#7XAx8M^fSx89=m_^%>NTPY3>i=uIy$n5V>Y)EU)Nwi{)!x zvWh1tn&v-yEO}*h`bLdZkmgLYS66*hJpB?ZXZkuyZe4f4CnX(ZCd-vwk0+{FHo6+k zz9zjs^O@A%nRC0c16SuAc*&9ej4>^3bCyl5D1`a@VPVK_^+JX-Ym&TWCY8Btz0K$e zDo&>6n1wBlT6@rDMyQRtf#>hVQE%H-PI8`EBjxM3br$31RZm&eUe<){`aD6!vTrF--2)J&ba#;eHL6a zbFB+^n8J3^jALF`OhCS@QvY^vZ^ZR?M}zh-dj`qnH>sR_f8flSGk^Hb)ZLDgJ;A`h zz`*lqyWR2alQ@X$#qq#<+L%2&`pdDfHGq5l*xZ6c?gk?R6EnmUkkJ7obpjHDT8@G7 XRg>uUm7hMafa1;5)z4*}Q$iB}EFCw( diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 8adc8af1db6431ad75cc7e65db98906629b255d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8744 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 Gp$Pywr0Qq@ diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 8adc8af1db6431ad75cc7e65db98906629b255d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8744 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 Gp$Pywr0Qq@