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 978ee7131a..993634eaba 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 0000000000..79a4d54849 --- /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 1eff30361d..3bc16e313c 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 be14e4a635..4f4d3ef928 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 c85acef50f..15b955acb8 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 530e981303..6f0f460263 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 f4114a00b2..39dda22aa2 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 d865b2081c..d8356aee03 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 0000000000..c46cb1a883 --- /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 de070fb89f..40fb779806 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 b5f613d541..27eebb8ab0 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 ef8743fda4..fb773457f8 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 7c1c58410d..7395c3983d 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 ca028c4388..2294ef9b20 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 fa02fcc296..26a10aacf2 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 f94b27099b..de715d06c2 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 c532c57d4a..19f0454bad 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 61d7be3502..b2d8ba287f 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 3faa7cdbeb..980f0c20c5 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 2461191bbf..1b464b3829 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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 is;a80s;a80ssMoJArU<2+t3jJ00002J_~ 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 P00000NkvXXu0mjf0{ol; 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 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 delta 2228 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∓L9t(2|BRWo2dJIo{3>7Wg>qcaR@nA_Ps%2*@aaJNH2N25rz%^BII? zfxHP6LZQ~VuLM$3Qp60QjT<-Wp(h{Fg`N}j_xW$>+q0e(8kR5eoTLXHe@L4*Zx-Vl z*!wX1Tz}6oycP3H2>(Hm(G$~A58*VplYxH7cNH@P8z9^PJDso&!dTe(e+)o3FEdDc zL|N;zF&KsLm!r@ho#88C=#Jiqhp)6pkr@|-cOWc6U_#+~*@d%(g@x&c8*Y$D;lGMB zr);TSzVLm#r+G&&S3zN+>iKumO*bhtG}Py%BY%4PX@aqE=V!<@<)z?p9EOY^aV(tN z2jK(Q83-BwHtTxh3&`>_PJokBunkXR1!^GUV`RZjF}{L~D!dL4?A(HNkg*Fhy)@y; z_!Tm?VrRgcfY0%ZeO(dIAmZdsyLa!_f~E76o7z(=F8f9+FaK6u(|T#%;@K)MFBkg| zvww!qOGdU|;-?A5!JQu<%rcLotj3Vpz8*p?`j~O2LO6tUIGF|E543>?b&#{_KOiHpO+cYW`@1X*2?^2E zsZ&)|RjKr>B%OZrQk`+ka;0S^>G0u0ntwihx){^geSQHNUVr1fiSe|cz&Uf6XcW`YU+njkSTQ67&+)z#ISFmaqBB7YMV z5tXR%RY4>wm7hv}@NcB_zZuK0Zb}cka|Z_uM14HRTTC&3>Ao z9yPA%`3t1EPwEFl%57E#ZhJrx%h*Ju;qM1Ma`umsuY zg0~@j2Pf_DCxmw}6vyLOvpfL((a|bU6@h85hCh8Y!5+lINj45! z$4G;WGhinaP9{M(WX2tf<1qq*(I1KE>Sup*1KtEQKst?Z*c8q0xxq8fJfqdCS8LU( zReJ8Z=d5!9-^{)ma=0x~%*?;7wpo4&QC;BOxXx zMuP?ol9M4rhKO}$yWjJH_kA4pD+p6y=RF92qJvqNheHr{;YHV_*nd5+GZwP!M-rSo z2H`hcg4<9I86({v2VR<>60$B)uYrtT@FI3VMxGh>3S_)*9#=s)Xnm~RB4|;D2_E!eDepF+2!txJu~3 z`9Td#A)C+aqlTMJT-Ua=1iwzcwCTSn^8X7Xnu-&j7MtL23n^rMbADXnG!XmX21iRz zun|fq<{wR+6&NEk_D^Pjvfw+|O2Vz+2#Puqf0-hC#Wvw@nqdq#l{j$=rqv}cFRvp7 z9>(l2j=zuMZ8+mmia(LRBlvEi(|_Bc0~r7S0DwXM*5~+E2$=!^0001hg#a-^x*x`V Ru}A;_002ovPDHLkV1g_xsW$)s diff --git a/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xhdpi/revanced_header_logo_minimal_dark.png index 8586ec0363f7c8bf509752fd51e9d98aff3e6339..b33a7c41fe14e964da5846dc36c67bc56978ec31 100644 GIT binary patch delta 4472 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 delta 4628 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 KMNUMnLSTYc>7X6} 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 delta 4029 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 LW`;HTE|LEOo?Y%R diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_dark.png index 4bd24b995f300600b3e38d7f9a6c8764a1aad1c9..f189bbd385ae8a2b2592b94fbb8bab31e147022a 100644 GIT binary patch delta 7296 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 JGFh{4{|ARYkOu$& diff --git a/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png b/patches/src/main/resources/change-header/drawable-xxhdpi/revanced_header_logo_minimal_light.png index f157928cd21ccd17411eb477546b5e8dee5aeb00..725e73c23ebe05ea2afe4f4c024b0475c3f0ee2d 100644 GIT binary patch delta 6472 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 i0UeP+FBt#;0PsKi8#$s{S^rW10000G) delta 6817 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 P00000NkvXXu0mjfewWts 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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 U?Vk{n&3`_6TE?2i8jkq?0i9iwQUCw| literal 7966 zcmcI}cTiJn^lbtGLJv*4B$P-|n)IH~1wjD?q=hC$I?|+t5Snz5UIax^kS5Yw=%CUR zDT4H-v;YdBzg+K~_ul;G{rk?GIdf+3*?WC!?XR8_cgH}RmWqQ4007YH>S!1N03;yd zI}S`vdD7Wh|56 znJEL;hQ(eNv;H?rl5Qq5^)o+J)0Ojf+kWiowSQhRKPWhS(S^ZauIA8Ru`uvN%2g@s5WY%Nu-`zYp5#o*iMr10LoZGyL zGYTId|1qqOL7{*EC>V^fR0Xx`G4WlbX+Lg>r^H+U0smk#N$rfEc)Hk)&&xby2BlMy z0MK*lL_4*VN+uktl3xB>fl~_t06eBgs6kd-C0n7l)s#zhRr8<#zy=ov4K-WgfewIX z>3zr$qZ|ML(ZaTRS&371K`yDDwvgoxXfqM}7$`ylgm7Kn10jDok|BJuBLM(36bkm? zOcrN*xNV#1Xv_AWNm%-)at3*U7&A$oEfvY%gxMmhjKGSzed%dsr={Hq)Axe02*6)@x@{+9$kuYG4y6&11X0h6yAhz#}ONV%I0q{hW1K(y78T<|XkrTaORK!37yCLVNfr zAQ$gTlnQ`>UWr6ap)V$pO69nH;-!%BH!H85rR8imv3CyCti>-KFV}9@xzE)9pL@4( zSN~i2_)3LB`lND3PH-6 z44jLzyjPT=0t^TVp-5sQ5jFW)th;qe)}$ko7E!`~ECJ%c+@n7WjkGPLzl>*o%vXLCTULe=yAfXxwiK@9e+8Be1MxOarjzUv)Xd=SG zF3$t#8v{@&JH6HR{YinpHyG5~!p=Er9}evYsv-y*QyFzPJ=VD^$qs4z@UeqjI7`5< z#qOAm(c;LsHqiO;3=23k8rLcms9{71T6|j~H-YD{3)k8a>DgKT@)v^*W78<83>zJ6 z3qC@b&b0>p*v(2TAT!-h{BkSDEa%4_8>jz|w&2MgYs|HkYxe&nYc#mnTklf07D=d0 zik_NgUYCp1i`3wi0Qnf%ax=Ajnyj#(Xvq|{`W2?Sq`Fuwt!b;faiQR?%55}GZo_d3OQv6;HYDl+p-D(}bX@l%m8su%GjFHgQMd}#JUBQAjD zUWs1T@Q>FH`CD@LQJ5>YdWP4M(iQw%H}6E0K4lg2*m8+oqmA%3PWhG`Z|Iv*ejO09 zyW%&ob?^c?J19!a7}o=dg~fX8mo!IG(05hpro)3iu&2MJJ!H+_5?sDncN8lTwC^zG zw=%%skbI!e1za>Mlt zWW3Uf(_cCKf@^Q7*SA5JSwd8XH6P0z^;*8`3J0bnm8tPGnNwD@P$iVA#r0d6W1WN+ z#n*L6YjMaF=DdK%^L8P|C~kFqoiSg$scyJkA#Y9uMjQ)XeCrS|2?Ye|X|-+l(wA3y z)#WxFVOO^~O5a2$MmZ@U`3_kccQ4LQyDLRZE746kG9c}DyPfnj5!(3E?bSqDP!z z_FU^JGiAWeY=qVJj71DH4HKT5kO!-_%P^G!edQLVO4V`s5`P^~owT(yuQ+&1GUEeW z9&om>EOGw$slEO#u8~)`uZ(+q-4b6L2Q*pSwRKQ2r$%K-hvyC2Nn)jVT>v3JCB;tV zS#)(sB_rHmF#|5~=MD@%b$!ySXx0u@`}A~O(^DOUrn#I&SySUmitE%uUBnv<*=5_L zJ?#g5-hcb({xW06%P4~%fPaoMo8?QBEa}J?(Guyn;Xui*C7kxg4orjEE)!Kp<-WQ5 za*3!@b@{#W`&YO3dxjEwHP??xP6t-UoHi#aY$u7G0&?TQhXqNH!1)-&toP&tvNfIV z$HxYt>Gf54nvnsnv`;ZF!u4PVJQP$8q})d;sMG8cv8F57bma5&s1km(VF;TA>{DQC zI)KS3@2Kkdfrt{pr6?KJ|%nAfz13wVT<=!=;Wu_Ve^>sE;e!D zZv!%72QwZyk*YnA4QY@)B_^^nlA^nknpG6nKGSYI;gN0ZW}C8+TM?seW7~!8Z1P=4 zvHI>gJ550n_O;bfy_+urKc9vpu0x+69JrfM7+puyk8*aOS!W@{h{(cY+`m) z&hUl=t&XzrIq8f+lPXTMPv&^uxJ&qa>$mhI8Cb{LT}e7OfK~kyz#kpi)N3EE$33t~ z`4ibbhPqFcdQ)XBz>+4SFP*9hT5t_a$H=dPW)-u>RdPtX27ZX=6jFg-u|dBT$PDZ) zS)yi8_2Er!cb#}g*<#%u5~p$bJ|JVvn{R01IJ8bH)0ekjmH6(t0S&+&+uG z3_H`KY+JVr9xIEH(q2=lm8-ACDqT4w&k^2|O@=r#VzO5z{@AoVsl(SXT{B?2b*YfK zeeFu!g$X71$KTQ+b7L>HqpB(%)KSHL^EZNQ8zJwEzm^KPSrEeo8IhEF)cJF>6g`s4 zL4Qbxn$<+th)}x|#(6sC&2+#9j1$w$k4%RgYu?HvuOi`QWi{uTm31?0lc849`ol)s z_E~h-Kv!Xc1+z@H$NQ_RiPu6Z%xfQ3ab@LGR(u^6 z3+ndHpps$!`W>$J#-s?ypLe#JWux$l)Gj#dA-F7(KGS*B=3ZC4xWSdS&c-LC?fh}N z?vk%g?quP-KAxMg_3uc)hJRww_CM^Fnp@e|*eEbe+n(8K(IS;1*k`{Sp59ccgn_K5 z7v-+$N8ipnv3XH(zan>WYOby{Zg0Dt@~Mhn0w;(#*KNr%jg{y!l|nFMq5`09T-<&G zx{3xn!<*2@-vX~lf;Z{&C0d#c!?dFgzpj7Q z-_ZTQAexup?H)Vzo~f|RlBY`xDK_CEs4HmbJj^1P#T;@E+Z#E)+k5SuCSIkOr&!gN z8CICG!GOU(S`2Sy{;JK<|~@VZxio;i(%rmBmuXLs|2o=4f(*OKad+rMl(|fX#CV2g3yy z&QwOUPNO1%8;c%p>LoGu4(q$FNO0zLYAq!vQZ^Q9y)NhhUbt#?1I^Q0}NUP_c`ZgVt*RO zcK6Cm4?Zc_2Jt+TCr+PznWldv*YTah$zDHCx3DqILhPrK_?MK|I(g3T;O1qEsv?D7 z+&t6rLn!E0AtHn3}};Tu8OqU2>df=tL7*pV1Ji z=%r~}YbS#K?YOeV$g%teP{VRpuz{RXg); zeyio%jlzGsy4P(#W8&R^E;M>H2B@jfxJe3U0f}v-shYT_he{j8rOFQN9DpN2u?v~@ z@Ls4gxyl({y`x{YQr7VIR*0F7RAmQlSK_5sBGtsrPTfWZ86=MWCd;Uh6?oa?Q|wBf zD&)XqfYs0$zFEh!*`~bo^NzKu0nobYYiwD;U@%O%n0}EO?$seJ;cp*7kTKH-KgcCi zDkA1B)CtFIziX#75~9Fyu(Lv_e!9bFL)S}6$fSGi`=R$Af%x!`FE*=Z9THZRktiNm z;954Ngbr&LaV*CYOU;=ylv`KrJmJ%VJ@f3aViB`yW-cjz@e)5ChJ=Kvmw5clJ{Wk- zSCHA^Q@~0{*t?QxeuWf1!&OuTyRxBqHjFLO_wJ%O--(xlEi{bJ=Qg(2AujvXA^q1D z6vFcdH>>+hEil#D8IZ5!$6(PQ5-(u+DR*vAEBD6NR3w2hX!rMbCdB2_759w9L6SIm)ygrdH!No$yB zM+)}f*FLq+p6@7j(e`e(b|aDE-&X#d^SxR15*sixK?K`5&&Fg><^{I;3g^pOq3$CN z0(`pN;J0@Qfc?AZhY7~Y$b}ODQm#)~Vyx}{hg;^EH=`$4dVhZHbK83F_(`0{!&=e{ z?VZ(%9C$4r<>B`H(E=##SO5I}?>vZZ7l_EoXsy-gI##FRzybqItonW9 zXCh5CX=0#1Yu~-5UcLZ&9A|J4un!<4*glljo$7N<(xgs?G=>?&l87)*do-4fEb?UB zQ9Q(B+#eBR%VH$iRE&izivpTP=Mib2qLEyWT*k2?bglluIcMYjycD+R7^eqa;$0pW zVH~d!VR#yZzv4XC^abO>*)%F4BRv9Q$z&`2=Q^G6!S$>kQvJN;<&+Vo{%?{DRV32R zxfT6!>$|fqA;%|#<>Wv1zTwlw6@8oKq%2DXLizS7J@1vsxAdoEW0OTuO0RCuQ8a<6 z@#J@tV4$~BJLiZ6rxF^ki--8LceZfS@GHabHGxaB!s4Hbn?C;$Gi4$%%+}$iP9Rq40_-vF0dIbE(h zPT~WFk7o-uQ+~E1>0$G9w4oEpdcviZD@(?9S@js4^CEjv?;nh2Gw#!)UDoz`$4{9l z>+U~XLnf{&Jl0W#AL+5q9H#_Y>`2Nm>^{t5#2{jyRn$l#-(ua`->gA8&BNNbe2Bw_2Bc-6|O3-iaXt zj+i%k72D+4rD^#qz?|1LY>9-=Z(UU0qo;jC7;N@^Qzu^3lHA}F z?YElDn8~EY_=`cSDGK7%`_v#BB_e0=lQ(1#WsR0=m}#eoyvMUW{STrM-E;olSOz|9 zm2%jb*~(Dfq?g;yY*X(`Z7ud~;)#|sRI%z~Q6tlolsSVv+-i)6Qt0#iXmy9|Eik&6t3eQe`45K;-d&*K6a3@LQrp;7Bo!Ed{)Mv96 z2LA5%I#smN?N~c{82%8Vp&0riAu*9B{UR-uxEkp1c>d&E*-R7)Xkf^_X3VQ<3wArY(?5dZj{EHIO(J8+Cr& z=>YeEw@upc7pvt44CExIe2zr>T2kv>r#vR zcq&!@(1kLW5wqTbLUKb4B+xO2k(ygpcS#Sp@dfh|p(pE0nIr((3Sc4F&sS_5?P5#) zC&fPbZcov`CygT{lDz`(NJ5sXpJ?Y>6zkt^3?aA}^K zkXxh7S}iM24!7zKJln=PfL7qMMz#CzaH*wPPaYT^j8MdQDO|ZB`LM#JyZAHBfPTdM zP|Rbx=eqI0oV)BtPbIcGg==Kc=)-Yb?mL7V>iy7V)Fn0EigE;7m@rLh`9MziE=m>h8vuzNeO zmQ$c(n|T6fk)yL&Mg4`x7QXxXvfP|SzKajKvxt@L+|Aa06<^$1*l1amHqXtV111;N zZ}s~l;)=i0-KtHYVDnIMoU)@P87Sft)_dfsLVd)bbXQ>Y%)+2Li@2jvdq`=}62a^? zQ-8ZiYe~ankS;&P0VjYhN>Q5pRnRm0cE>5|OJn^4>5AAJM&42his@Ica8{rrV1H=U zMG96@_Lh*x&Y&1?A_V`wQ$30{_Zx1CygW993_tduvmc0jAYRXi6?wxU1iKe|eci0F&R+R>j;4McLyiknU=kxs^fQiJt-&k3E7-WiuYw9daa=Zx}?v(*hZHvPKicpH&0rA8#>`=z)RuRh;lqI&Ov7I}`1p!3_{hfj;>x z0z4jE>uLPkVl?`-l1_dH#K<*i(13cWkuNSaZe*uQGKfiwNrCD6-go>ZQy7CAgBBPc zxZOd|L+V)Um1oPj#985WV~%xE)(W}s6T*+M$ts!Z&AI8M0aXmYXnm&SPYv71!KO4t zL%hnahQ>1AP3UNQ6?z)MeB%yFM33?pj9I3OgWy%_+XrA^%1M0ySBs#V!w>egsl&3A zd)9M=VJj>yUDV(yTkf-~Ew;Sek`A$82jZ6te`@wX4V|CFvtRVZl;cOSv-EN!st*O4 zt1(SCVoRI)){|?!^9?k3VJXclK9o@XqowPbMpwHh1-NRsvr4}9{25Rq3`Svbe4qpu zk8FJx?e?h;E?-5gXjj8MXB+Qc6j*>e9gxrBDG}UJw@r^fyN%cS9;2lxzgr;4?~K7( z@4avK*6h{g>~pzMd|!is#J>EOSX5hmEIv5BEN0K&DSYL%O5&q^jzw1DF2ju;$fvxR zvz=ZXQ~Kd|>af#b-#x6_U93Zf?xo}SHS@;Vx3RQkQRz~4C!aB!sqEo=-E$9uYMuTN zE3Z@;p5~Z+U(C^4vva0(%(!%KOfZD+hR3_HJtyigR(8BTwN@de*cLzWEQiuzx0<=8 zL4Pv`)R+rN$%9k9J)Y(0QsrUXvA{!vbO>mCK;DO05$B$X{uhtZqVW}LazEgY6YSyv zNc2gSuAIkMNxjIOw=bf#bXqlQxIw>JJ~L)r%dO#FW{tAA3aeJn9*C98t+t+$VSf@> zD15K%I#$re3;`ze`zV4u%%^6Zs(w?V6rR8S%DhIq>SuiA)Rs5pm6bPk*S^i=wW8-dT=UUfd$A@{~v08SDA^tL**Dcb#1tkHDuvjBSHQ zINga`*?o1FE?r9g;l%w@&2gF+#w%x8(Qr!L47p)A!0Fhfge;29&dydN1UEna8CDa5 z{Ou*Lpm4&26$~Hc16?}qUPZl=cmbd?WPjHdZ0J7o)Vu}3FkWLdv)AWh*88SQ@}2ux zePRy(qtnHZ!SlpF%7zF0x(7TUa>Ucv7R!YLm4=L7o7)JeE_nnZ1)aR^&i=%>lR`}r z%s&Wyv*8PdXTOZ7^Rlv&aw-g3d%Ui*pvQWauwF|o){2i+a^W!E`xo<$Xs16= zwPmGLxg#JT;OLpAjoyEaNs?d7Wz|3-0z1oiF15sCja7l0>Fbw(4{vA@=2`%|}Fg z4^cQ2O2V4{%tBqFnx@fd;g1xU-{lF>T%^<=eiJWTUHViVC5!hlH8tf+A%f(}6B+BM z9k=vr_Hg2ogsCE|aCygn6xem-!D&Q#zV<|kSJziZ4mElXaP?Gl5d~_hUgK&2Hqe3I z-#TUNMkK`se&`w&Bk=NG9jww;O!>$LqWu}sg`{(&Dx~e? z7k~+13tDm$z5mFD^f}4uhzj*AwPmKwp$zJ?kt~s`5Ie|Eg<_`Ip7MBLJPFaY!eyX`oSwL}C6HHZD>g 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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 literal 6895 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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 0000000000..ab5fb737ef --- /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 0000000000..ab5fb737ef --- /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 0000000000..6098eed222 --- /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 0000000000..41345de3a6 --- /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 0000000000..2864f3769e --- /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 0000000000..0e81a1d359 --- /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 72cd56f5a7..7a65401447 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 72cd56f5a7..7a65401447 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 0000000000..bcb70d260c --- /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 0000000000..3746c061df --- /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 0000000000..f21fbb1f3b --- /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 0000000000..a5b8aef86b --- /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 0000000000..f5126df718 --- /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!ia0vp^i$ItWNHDzW)ZPZ9R6SiBLn;`Pe)O}-FlF-Z+_ut+C%G!G!>{=xBNaM(5w#Ks5 z%=-!9&%S+H{$q`E?R&#*jTL=LjB7Nqn2!`Q%`Dh?cBXah7FBQepT;q}^vn19STKIf zX%J1VeS$JdumN!{9_@k#l@BN^M-dZ+FMDHD$IiK#xp))bm-?sA9BjltGAy#lW^wsw#N>PO>i$1h=KNKe zv+U`M@N?BV>m5W63qFl}?({yLf_Dp>*`7;knWvp_ zaF63v=$h0qagE3g_Kz}-Q7lpu@_)qEe(tki<-9oa-_N$YukY4N$+T7QDX1oCtY&iw zyjWR!+I&~p_nO5jDnH$?7Ci~&T(qK3;`A=gbcK1n9xV>CUA&%`HUHn3EBm>Bs>0iM z^XgNgQulqY>Uge`=g5;*+OA<&9JiL+N8{G60~MTZtDA(oEIys$2`q8$Nweh*^eKs( zsvYikW6OglmcHD6lYY$H^WajcOr>v=#yn@9bl-N3c?EG_xqRz3)-BW&S1f#BG&!y? z?u&+=lg;IXqZO8lU4DKm(;mLOt62Er-4`oo5lf(G=LW$?mc9Qi*S~5_yBD+b#G1zf z8Gd1UCV$PIyZ%3@*^zE6bU5}yMn)wAt$ zw5gtWr?Pftaaz~CBATbwp@qmX)~wgD+yvHsXc*H|s1-6gV2~ zw=&@5(eI+VTXRY;PC6YHYxU;Ky*7=uLz}MLYt(3S`*S!qGS2(aKWX0o_xGm$oZ6r< ztF4e_g@lf`exIlA@ri~(lUsDWS8KU^^p#MX6yBJ6boKwoJ~EphJI&0kVEf;mdUW?X z0aw2xp?V#QxOKEw%xls}Q&^YgBy#@1rlvfgHk&IiBs-FfbhMXjau%^&;AX4XwPwSb z30^I{0_P*|aP6O6DE8=PiwjWbH`k&Socp5$j!xgOMp}!v&%uU$BG+}V&c6cZ1D7Eakt n!I->2NP=~7f=EwOpaB;HTL=SV$nU~EVj-`bXY8-#BE{GL-}zVm3&x3@l%swdsQ z@%c~OL)~_Mg_`E8iLc5k?~3o9_wS1M?m6o=eUQ3Uem_b%iut}%h5Tuy>~w3VgEu$K zXO|27|4%Qy{?os8>8o}29OF;!TWP*%^TGu7Et}WKy?1^WuESQH`~7p9)6llAw3e-G5l8YJ7J0?&DS7@88u;z4dtAyYSc~ zIo_tG$rGmD)cV0)q`!czta$$FX}eY)FSU2d{qos&Z+@3|!+EE5EmtR&I+;5ky!I^i z;_tTF^>0cS-&*u>-tuvd=2XT>x+iZ4Q_Ennj?`ysjK0`Q? zQI>@@SZB-m1McTVs5Z2uW#0 zlqrk6=~!0Q)Fd77aMRlb55!DLwMBBexu#!zzzS3$cFpbO{&umHs}}+^e%#cQ=vw0i zj9jO)KV&v5uU^F0Fl(dzCavtkKWwf)WWAMEAJS`3n$y3=D_T_E>7DbMS@zyvzm``Q iD1g)ZlmE9kR-pnd=AsviN{`5aAr*{oPbvaMd6+hQ*RK^) mD4cz__W7LRbCz&o=UG;x%bS|#J>-lBY4&vWb6Mw<&;$SgKOf8h 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 zcmbuA|3A}<9>@0$!{(SRxyoc%iJiWPkZ|%DDG8-vrI9b^vT5fKJK5}`bbUD;yQ|Z} zqa5X&F2y$Awo|)i2*-Ts)Gfx!c65}Z7}7Qgm%rh>9*_6?`F_8Dc>VJJ;Z+hD5sJ33 zw}3z(=&-{;^g2}=g*097CEG|d5Qu4I81U6e7W92b!TJpXRZ_3*#usS`m8nlb%zScT%cH~j>CR2=-)S2I0Jlg1(LuDPGyfD9m z*s!)7ZVUY!qS{W3wgUx)4W|0mwZ=t>U*3~8>GT^G?z;CbxokRtpE0&M_E;<&>xNRi zGbS__|HBX?!t#=$9lnPobQwz5&1r!&bYgSC?f2a9t1tYMrdPa%!yk%F$uGz18skGl zg=wKQVq!)Cyk1-k;cCB+d;IHihCFa}H6E9OofUnoB17Vg`O;1o*ew*@wO&LH=hl7_ z*5GSB58}zs>z#6AUcMrL`GpL4L~|z**3y+*LPl|_6NbfR(@{7ySDZOO04?WRTkmdz zy}Trv zmL4!4m(c?*4U$J3vac=beF$gAec)lKCq?ra`4$_APPx5Y|OsxHD< zx4px2*9W5uEF9Ba)@$#Oj#11iY&r!n88r$E4d^xem{Jpb>H|f6^XsoVh8J!q29Cd8 z9w>!lv`m_FBDP?Lbaw)~DK|al{$$}PS88<7vCLem?2HFYWn~wtB5Du2e+ht(jG4{! zeWcMhWvQ;z6V_gCuRiG&_0rc5&UKd{nNWF|?eDeO>KydZR@a~2{W&mZuIVO5zl3n+ zZZk$}DfeI3T{tS$;CSrxthQ)}A>;tdRQ!W@oEW_ox`%zkqdKIbEU?G<>`wK(Sz3?M zh~LMbK&qhSAu3ZXtv}>r(IXx87y4Urj53?ZBQ@B(6LV>Dc)^9jK}b#uj_BvE7n*#I z5xzUY70etNpI-RcQ=Ml_@Z=}CEnV-(3SK7JciYd*Wjvg9p5XWQu(KHk2YA*DVt_~| ziQ7wXxr*~fWxOJHQg(JJc&SP~!T(=AyLP#CD135mCA}^P;bX2kqKeF7#|SCcMg0as zk(amG?qV@R;U?G#fWt;%6DU#|d_R4#;0*UT_YHI7g>SzZ@}RuVNT~x5zhcf}v)GGF z&69wOwT@vich>&%22wd8>v(o`s$ONQWmy`hN}OcvhRC%F-NAhzVsL4yVm8mubE_rY ziQY2A{>24~?=rOcj!*JI(fkmG(+2!v?&+sQO^5*|=x>*iqnQM9lN&viE zfG#`+&)MDU$wP~l25Ov*nkr6qGCB*QhMz#Hky}&iA`rD#boeZPy=p2L&t*SX_Bw9q zZjWF2&AH2JzZr9vyi#BVfFI^BND=sp-@b47;$Xl6EahP~yLQ|OvKj5otciw$nj8@zsUaJGAjZL=|GMgfIu4C=Cyk32s@)+;9ma LM*zY@v`ha7$$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 zcmeAS@N?(olHy`uVBq!ia0y~yU~~atMrNQ$s>;+|NrGjq)!03DxNNm uAr*0N4={29d4~*sFE=}$7%c;2!@&VYQw;{j<#utdAR$jzKbLh*2~7Y#IT@z_ literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxhdpi/revanced_adaptive_foreground_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..b0254084a56155696c51a3b8cf110964ca39d922 GIT binary patch literal 2771 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 literal 0 HcmV?d00001 diff --git a/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png b/patches/src/main/resources/custom-branding/mipmap-xxxhdpi/revanced_adaptive_background_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..addcbda14f86107d587bf3490f3e60c21adc9a49 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0y~yVB7%0jLblhPYsJQffRFqPl)UP|NoaCkv;+B>Up|2 vhE&A8J=h53FdSa+J9vHq+f^nI2NN7%jJd$TDAd)u86@ZF>gTe~DWM4f#>X7m 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 zcmd^C`8(Uo_kY`4M65|mMK3~aLG5dVXh;b{Yq?5vxu{y&(pqZgCW@%s)KaxnL}_VN zQIrO$YS7wxQ51DmgW{@v%{Tr2^8Ew8KYgChJTuR8X3or+*XztV&&;Gb<1ip$Sz!PG zK=yWMJOJ?2{Ax!8xg+m!I_dxb{>>hZa*O2o(Voa10}@IODxsCUzr_FELfBk3v3ypS z$=r6W3Lb9=4%LxTJ@_RpRW}V8-WqOL8XG?Fd47L$+Edv-Zsg9J_$+_&3Ma_GJVikV zI!rd%mhL)vLy8<7$yvo%44NOZG36b#6Q39iNY=6tR7O78Nmpo?+_cRD_B*G1nob>) zrV%7g5c@MfL@8SsejjM6;V9mGH)olXB$7@h+UiIaoODs6yFpuo(gXM*D1tBS)|4WR z9Cz(g#ltR#F@r(jU2Rcl3Z(sr2YRJcgo;^Vf1fQb2T{M+}48;8eQ_Uy$<-hQcd5G1$bMNV`4MBr@t}rTNsMXn@5x?;qDf! zoAGDox_q-zjni6j-yI644o?cSXEYB5xvNhNm8jJk9r*=T7vdD;;iqd9Ye2{98EyF!G z?L1F{-H&axReCv45fY3s8HLbUnl+;6E>XVvH};4kkakNmAMAJ^)u#`d@0yy3?v z3iIoqIrdL1)+VQ%iidU_k_P0Te*=51(UT5c2}cb;L0m46Ba7XNI@Rc(YV$x- z6<$Mp&qB105$r#mH=f2e>QsnWuD+>q&v{J6gWJqcBssU@`{Q5Cl_pLZK*j1(cKk+N zm=K~!ve*WrrWTK_%rwVDx+#T&Y?IUFM1(vk`Z8jgDI)1t35T>`Djo~k+DCmk@#v|> zi3#Deq}*OlXiD>dN)gkR*dd`tr<#h-eU(Ug_Qd$*1;>GVCN;Q_kPFxUz%VX%7KLW^&4?_^T2b37zYDkTdMlwoF8?G`JpDseIGY+oMiA zE~QgnINh3i#AX-3YtDE3H?-M|fA7us6*EoqwV#ST_2NfpswYP^La=J|xuL5?(A-#& zY*~-fKPpggX0@vtERNq>dfimBJl_MvodW5?))xx!}X4FOmph*&}N;N?fm{R)8QwC#r~c8|u|>Ufm9? zj|hMp+-BOM772!$Kw3C!F@PcJ>$VN_;p1BNLa=F(rN1CDaWs>#%b zY|BE1(3+Wc7Qf?T#$M9vhb1iB&)*dGmadalX}h=!`NB;gb?fi#<`2{CxP+&c=6{ZD z6(gS3i_Ou3HiMVNpaO*gYheg3BHL?fzmgK(tcZ6y_i34P*|RW0IV*Pr#t#*U==872 zQ}H{_g>`qJRR@ewx{;M@BpTP!GHIHm+Px^$VQXum1K#51vs>>l^Mr?kBWc2h4q8Ow zCw1gERSQ-LQEPvOxwzXM#EqVnj*AZx&q*}x zsXxeSdR6-QP;`rGw2_d0_x!tX4+n)3k^i05)nV?P{67CB;(>Vq>nXl<#BfF?bwwE^~qzK>*I~f1)lJoI2O`NPDro5 zJ>O2=)*2mbqc0V$Q27E}{jv&?UViP4r_Q$AAYx;j-cJ3H?GP;AQcNPf|LRaizNp)* ze5_e0(0wfaUxaebNz?*cG|)^@@h4(D&?9&0pB%E%28G?CKmp^sop-Cq~P$wf(T@!v;=l@%4U4DOjmV>3Qxl=t2VG2S&C#D(LG zcbD@&&s5oIwht9f`H)E@bHRJEd!TCNGyb-hVw9HbzOswBN@4cM$CVc;T=gxR1@_hJ z#!9lqNp*#V$FrQyTm(HsEd;p#rdUcYfV3ul8XXA;(KXd#RY!Q~uZj#BZk$~-&-O?% zDU4Z)e;T95;G(oEBaHl`^8W>?jI3V(@Fa)rA-dggi=*-)BDqjiX3RBh|S z9q^;DGy@NCC9R7~H2M#XGV-$2VDlYZ9sAv9Mj{K?(#)Om?Mz z1E0MgkKRS@&6CO+Bqf7tPVFA8d_fVHaOq36lP}c95zEzc6(~>G9Q8_{yKkku6Fvd~uQw<(TEy5twKb_+hS<6l7ioH@&24DD`7pK~yJ*ZM ztIvjWy_H(_TwG!x*iJrJ6*nJ#>4Wmnw(xxM?&8;0f$k z&(6QKIqadd(>6rCen!oB_vP$c00Dt=%BuH+X&cva&4+e*ta=t1v$VI&!%Rv%W^vn{ z6_mDi$89hk=!a}N;WT^BEP5cKat?SC8g%ij+iAqZg8|cJ`^g;xEYN@cqZ1A>WV_~A zY|d=T2CQN%_xoHsfbfCw&`H4$e1x4@{+IFkeLSpIZDoT`|N$4+8@EHWvFyb0un z&>MrE@F%aX-f)T$0^~y*DWOtVRy|l#rCwmw&9w_G5|5R;v8u^xuk7FXT1~kx`4XP# z2G{B%(iXfQO!Vk;wM}L&vdEkanW#(D{d=Qbu{>5Io`xnnCuF0D@U5C~p#T2u)Yb>5 zvii;nX2uzXvHa6Ed{<2PfC~Wyv;1{Y>#wyaL80@~luRvJ~L#UHFhxes{9KylME{03R@i z%jrHo5aX{h@<1aRXyf|Ef!h5F&g}A)Gu%ODIB|C4kMR(eW-r(I@7K3df~sT~yZ}c# z3K_5Je()R&>>RB;Dg^^XecS!rIJ?P=>geX|;ukz^o-F(MX$s?DK}3z+RJ!)?{!MYhfpIx(TSEpv zFd>seGGiD$=9hviX6VhL76jNWwsyl0nYM zKg;`1gn^)84?+;y7MPBQul()oqd?t9s`CS{N1O?-Z94(NC?)hK{M*OpyF6jhd?G*U z0>pv5szd?9EBfNV#AL$HW-VD!01|4Is09HD0-RG(FFJlkH_aBi@ByPO9lYb3S9t+G zYRh?4RO|4XS3OTcKGxEnI-&~KJ0k_OdB7i2TgHep(e<;l6kWdm{BK|hjpzSC;$OWl W78A$%HX^8+*%mF?juF}%dQ=*D(fm|t17srqa s#C-z|b&@l{?S2%9V7dxM4z3 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 aaQ_dS4$3ZTO#gWR0000bP0l+XkKT8kAC diff --git a/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-mdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index e9eac76185ef3370d0faac6afbbdcae7c6a7b99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 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 diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_background_color_108.png deleted file mode 100644 index f4e6e1294b311fe7296b4600c5c0c6edc1c32f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$?8Axt^w|^awVh->Lag~;qo)T4T3*^dpx;TbZ sFupx#$Oz;eQuw`m+fluQCqOm>!vpaJ42;&BJ?cRmPgg&ebxsLQ0H&xK4gdfE diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/adaptiveproduct_youtube_music_2024_q4_foreground_color_108.png deleted file mode 100644 index 30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 zcmah~X*iqd8V-`!m$61m#7uP>qD}2;kTe?1Wh<$r1}P<-x$I)i>DY=fs7xosGLuoX zO=(km1XWB+g`jj0TdLL;Rcq~YzMP)(Z(Qfc_kQ>HUeA4h&-1+Zdp(&hPPVdAC!|0i zkgUC(jVtgT6+RMBV9iA6uYf?}bbA{tAx>m@NLvI1k^$dc_1nw$m&1bH*TC)~Daphn zA_67>m4F@tg&_!-FeK$4;jzTe%EuG`Blo|bcTHJ>y6dAagIJ>`iQkMjJnr5cO=!>@ zZwRqaf8G!h(EDLyc!Mxv*-SZY$*Zqut%}{^Sk%9zbm64%bJx)26^Q}q%FGa>s9j$B zUAjPntVqlHz42hUM1dFmSGqE~GBHX8ii;<$&>>~37<%jQ6YFd5ecw%Z<7zOR%w<9U z^>Ck?So(0^*g0u@Erw2JdhKk{ebv1WUyuK}j^$(?NQcQ)21Pp>Yip7V7atwg5I2qO zcDV`jixyvXrbH?Q$g(6!svBvw+dV0l^s1RnVXr~@##O_PHIC$ajOm5+D(P`H6X1ak{KbX2+su$av^2%gDN2|!I|B-=X z>q#k$d1idt_v<&Iq%hI=k{+isb6h}$26DXsk;OJ5?y0!wpp0J`aqhNr^!~gwFsDd}$I(@sc#JP#}&BnG6K#HBSF-AW)0ez&J@mGbfhccu`2=JXf9BwgZoO542era#Xfy z7V8!}22?$R;p*X|hEnERO)PKR)|GU_&9_vTFI6G}A2kclc^||5a&mc=8o%*1q~A@h z!P9KXpSoUR@u2`xmWP;gD&wrRXNAJmY7p|Y)Y)8l-?-xWY<4n)>^05W4{U!4c7-kl z*`}X;FT&OCP>ojWGXt0JG%x+=h1M0zz|u9CVMZ2T>Q>JWROu{aq@TS!vN-56)G=1H z@mCsZVD1cUYxJ;|*hYEr<7=LrjNkTDQdQvlG1N^DvvKEbK^GoXK&go)eMC-f=$|e= zO@F7vXjCDbUkTnNmwxali3}G7JTk_p3Q*17OQE4BgGYXP-qmb-${V9{C71d9L7HJ& zD$R;f0!2x$TGU@>Od=l;JI!Kl$zr|;k>);Z@ z4OLJ+bogt(XYU==vlJ*rrfM!LaR{0<_thbiyRuIRAJ zo-}bSN*)YXAa|$Xr-VJjr_$KvyN!*SvTtYD4?4R-JQD45Gx-yqMagU|_e>ZcuxSq>4}LB2ej{DzVvid>Bw z|Lg$_{kt2BCC>=mP@mfv^)TUe_A{G)!t+k0^*@aU+(D=aJgwHJbPj#@<( zoa2i&dAUzLJYm!8z$J3|-^KOUqhfYcSYOQXxnT%MJfPhipX0CIQ~p z>19EYv3f6nt4fn_g&P!bw8~KnzFz2>)$OA-sG-s_MMk8WczsF4cz58@z)~@WaVS5i zt(t8GK?X=Yjd6Gdhu8w8XAr273K$1n!h)3-`VKtG=YTu|2auHuF5;_1jHG|N#C=?Z zVb1=q)x=F@WmD(KL==qQ0KfH8E8iWDf?dK~R_c4o&w!Mzho4yHnKRp-@^c|&er;0+ zy*I0g1fwm)$zUDv6XAX+n93xgDlfUCCCL+AAvvUNyP-E?WF@uF-hSr^%s~*5`fLjo z6Mc*N-$C~OM^=nzI|hwGE69Mwz+%Th5U{TxBMfQ(M|dppv$BLT^5M84^*m0Pq5UN% K8`ec)%D(|Qp?I4B diff --git a/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.png b/patches/src/main/resources/custom-branding/music/mipmap-xhdpi/ic_launcher_release.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/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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 a$?|`cblnpGz2oly0000vd<#Z)~+dr?D=nVRZQ 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 s#C-z|b&@l{?S2%9V7dxM4z3 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 aaQ_dS4$3ZTO#gWR0000( zP1Qez?w*K*l?e3E8Ibb+70i<7)7hR*WYZCrk#~*tncL;QtD_ zCfEvSn`@GFLS3VkG5ji`N6DRwkB{%j3U4tQVj_bagpg)Bz6IAd>s0;;7~m}`Dk_DQ ze9cUZ+;u(3Er6)kpo>{Q%eN*?ns^wzW;!c&QIytCj2Y%@UV=_0U9Bf4H8nMem3f~* zKuk=`RqV?XCLPv6N730za(KK_mlfD0N=bgH5U?4D+Qr^f&kB+x@$tpGz>PI{jV^Dx z#J{_W4LUuCFE-GWgsH+pbd=vi#1;+Yz;in5B}YF=(b3V}olTOvA?IAuPL6((U_(Ra zgqs>egocI&BH5YAsiY)fzdI->C`4>@lpvIH>l3op#Etz1S&MS8Voj?mcXXwV?4U%x)#SbSVOwMwl=eQUL$0qN~Z3+~sJ zTBp^A9LR%Q$ftn=2jY5Vu47|!&-BNpyB8m_(CCNqZ%6lGn#Cw=vy8r(B zDJLff%G2e`m#I^yPLvRzKxe>uby~M>?Px_i&I96j;i3rd8Re|9zHZ$*G2)+p{-F*XI^Z~sYciNV z@BbowG2o>V1MMd?9g6<&9?Htf64|(p6P9s_OaA1-y+}QjIwKKe-R^sZgIC^0b+=cof$q;-Sdp!I{_EEZ_jF}*$dQBqP8?ccv&WPbSJ zhr|yU9rhqa&|zO+-xwn&=8TxZYN>(;GHfBf->7_@owW~x=I7S2&i9uM8u{{?#X zzv~MH&Nr|5Zvw7Urw%+uWc~W=x?7ZjRd+#l}w3n^izhcfqE(&hk=wl}nBzOM6fdgXL z`t|Ek@^Ox8aoJwNUUFx~_Iy~xrM+fqT_M`&J^S|UqxAH2oO3oopEDPp23{l?d2@rm zbs?6HK`TP4vGK+_G5!A0=Kf98DpkBRt=^zM|?1+z#j|>>)pWxu&WM=QQE`l(3+O%nt7lT|GKW`_`rYh?3l}b2unWN8@*2)p(R7A%kos42wGaz3t|N04M{46!vPX+g`DEot}e-R6>C=ord4 zRlx++xG<(GNqc*HCxa7nnGaxsw3T@y9)J9CG5W}nBZcOap+kqFVi^a9IIf$ZY&;4y z69o7%L7!OhaIky#?wEy3(!KlcyYr2RF{yp(si%aT!-o&kwbx#2mZf8$_$B7;!i!<5 z;lpMA1<^dYSgF^Di{qLHVk|G-!kvv z=Yg59S(0-JHg85O=c0G2@(WbzIoNvG3Y$y&hFJiw&9=o7WEFb_PbwEXz!@GKcY>|P z+*2Aaie`pas8GwPLLQWZ(Bfir6KrJol=TZ`Fq_IV+)W^uR^`q|qB}w>n{8?W+axhNu=z5gcuBSg@=+!K6anO%Wn22dCS{xB8$Lzg zT|Dnc@m;W0){j~E2HQCAjK`-Zu*sQ!q`)PZH{K`nZYoHsB;h7Hf*jU;CTvjOX}IY4 zfER*Onf)<*!P9w3uOcU8Ma~)JIjM|LogezT@?+UB-ly=sH1Nigp3*VMm~*To$yd#SYxw#3b>TbqJ}YWoYq4n#C8?&$ zYu2$YU7?fG&9^+rF%Krg7>SHJTq#C!*nNmfXIKre30aPLRxV^1|ICFN;oERcu1=$& zgVH6e^z$qI-V~)OMSYI>46b&s;z@xb%7`2w&rseM2%J-G6zsf*ARE_E%N6z2wWG@4 zYl>b42!v}ZW$R$J%wDyW@9-wBdixLtFb*iq^C|#+A%kUYgiOd*9+RrB8K`uq(3>om zsJofKsL80u2DRfb7{hn{HhzNn2AAN^8Go_S2iO~q;|(_ezi|xb&<1VM2Yn#}-lAkC zs%r#TMU0NYr57Va84|B%(6tzKdBWI;(F{g&V(rXxq;3Fy;~1Z7iZ*Dg`lKltQA(zl z-qLM7S)S@{hcY4=(JD0Jl{X|Q;CH+_7p>Zcs=l5|R+Zme41cW6LwSR@0)Bg_bFSr? aaQ_dS4$3ZTO#gWR0000bP0l+XkKT8kAC diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index e9eac76185ef3370d0faac6afbbdcae7c6a7b99a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 943 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 diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png b/patches/src/main/resources/custom-branding/youtube/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 827bd124b1c75ebc815c52162695359ea3f62579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 zcmV+l2le=gP)7#EY&dWWB6JXZ8GK8vG?^ zq)e46l^##y)1|psn}~lY7`h(~czSv|1P2HEdV70^0%)V}CvtRPs=9(=I-wzzhfoNXHxPmo_%|`ucvt)6|nUvUWfAkoVS% zJPU8m_$)SO^NY4>K$fHk+RbGST96+rHp8h27tk1A6xpO;yv0h$*?>=HjyQD%6weU* zz%p|Y3+5`3Tsrx22~1u<-fx27WNKjRlz?rfHF*_Ew3N6R&GR6iRt{J^6A1q+!fVo(MwUA*nJ1J?K ze0+Qw%Ur)ZeV$||-mu2G0vhG-1L73JVLPM*kF{jk&s-ghqcCq0rD!8b5wK zK}PM`wM}_X;Ca!_&CN-0{_gbIOjS(v`^uFolfhu1XV0Ed(V|7EC4OKFv*gQgf-*FjkDyv z00pMYB|iR=vjV#;QJ_$vLUi};-MCO~P2MTD1ss z@7%dV1q&9mRDr#65R2Q@B})_t3=E{TYu6G;?c2AHqNAfJC@_SY6rVvotL`EIZS=*& z#L$5Q2QU|Fu+|a<5YShgot<6d6mWNU_h$>-x3qL9P@n*P{P>YxzI;g)DpVl!rTME6 zHLJ3NfHZ#>BJ{yRuV23=%*~%aKl&_H;DL*aOGumoUS3||Jn+;~1!7}kNj_Qh1qX#w zk%FTMKpTAKeqI57a0S6%|FuM4vx@rqQEElU(DVjf{h_t5>g5L_`Go)ws|@ zj)Cwv1rQLdz$LZiGhS?P5s<{oO7y2spPp{tzKt=w1LQT9W}zz%4h~*&Eo99K>{hD) z+(hK~R;^ma^>^&pk}Sq)g1ipk&S`2D;7^FOXwf19*&|1e5Znqi z)2UOZ2z~SC&xbpyR)CYvZ04*7Z}B=#&Vk%mDkT821PEaG`kOaz2xW5p`t=dGNS&yc zRDHD&r343XD{%g*l;FJjF9*j9wN^lVv~}xN!il3?2GCx=em%z2d^-~E^U}%5DZTI> zxtw<3Nn5qJN+M0ZefyR`9C-EW71gOzM~kZ^6xe~h^X*kY2e2D8(ZY>zLpyWkOq>FU zfsl|8E!{^4e0Qa^wY3ezwN1XpSqS()0vW*dQ;ScJIQ>gDHZ~zYyVye`8@5764Xl8> z0Ztu2Ta(lG@bKscj^O&M&nmvG>ER^ySp}){C@zl1J~KiyYtBf;S>q2HxRNHW11?-G zlmRz}-jq*^F6>HuU^c~khD0E55U#_O=Kyd5H*lJp2P<^A6(4+ zRWpTRs!$fN5`u(D6VPoyel>Fl0~bqvBftXqTsTMnTnJ34A2^hZgOiT{2UA_=r$NmK zfgiHq_hK{66!}IL_TZP*KRh+kw2_hQ+JFMu}sForppi#6g_rJlHYi|F|3 s2)_k{b?h0A0NT5H`T$W4M?f?J)07*qoM6N<$f-*m5YXATM diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_background_color_108.png deleted file mode 100644 index f4e6e1294b311fe7296b4600c5c0c6edc1c32f0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmeAS@N?(olHy`uVBq!ia0vp^H$a$?8Axt^w|^awVh->Lag~;qo)T4T3*^dpx;TbZ sFupx#$Oz;eQuw`m+fluQCqOm>!vpaJ42;&BJ?cRmPgg&ebxsLQ0H&xK4gdfE diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/adaptiveproduct_youtube_foreground_color_108.png deleted file mode 100644 index 30bd1e6d9e6eb9656ee0f1028b5ae59dbf7f03ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 zcmah~X*iqd8V-`!m$61m#7uP>qD}2;kTe?1Wh<$r1}P<-x$I)i>DY=fs7xosGLuoX zO=(km1XWB+g`jj0TdLL;Rcq~YzMP)(Z(Qfc_kQ>HUeA4h&-1+Zdp(&hPPVdAC!|0i zkgUC(jVtgT6+RMBV9iA6uYf?}bbA{tAx>m@NLvI1k^$dc_1nw$m&1bH*TC)~Daphn zA_67>m4F@tg&_!-FeK$4;jzTe%EuG`Blo|bcTHJ>y6dAagIJ>`iQkMjJnr5cO=!>@ zZwRqaf8G!h(EDLyc!Mxv*-SZY$*Zqut%}{^Sk%9zbm64%bJx)26^Q}q%FGa>s9j$B zUAjPntVqlHz42hUM1dFmSGqE~GBHX8ii;<$&>>~37<%jQ6YFd5ecw%Z<7zOR%w<9U z^>Ck?So(0^*g0u@Erw2JdhKk{ebv1WUyuK}j^$(?NQcQ)21Pp>Yip7V7atwg5I2qO zcDV`jixyvXrbH?Q$g(6!svBvw+dV0l^s1RnVXr~@##O_PHIC$ajOm5+D(P`H6X1ak{KbX2+su$av^2%gDN2|!I|B-=X z>q#k$d1idt_v<&Iq%hI=k{+isb6h}$26DXsk;OJ5?y0!wpp0J`aqhNr^!~gwFsDd}$I(@sc#JP#}&BnG6K#HBSF-AW)0ez&J@mGbfhccu`2=JXf9BwgZoO542era#Xfy z7V8!}22?$R;p*X|hEnERO)PKR)|GU_&9_vTFI6G}A2kclc^||5a&mc=8o%*1q~A@h z!P9KXpSoUR@u2`xmWP;gD&wrRXNAJmY7p|Y)Y)8l-?-xWY<4n)>^05W4{U!4c7-kl z*`}X;FT&OCP>ojWGXt0JG%x+=h1M0zz|u9CVMZ2T>Q>JWROu{aq@TS!vN-56)G=1H z@mCsZVD1cUYxJ;|*hYEr<7=LrjNkTDQdQvlG1N^DvvKEbK^GoXK&go)eMC-f=$|e= zO@F7vXjCDbUkTnNmwxali3}G7JTk_p3Q*17OQE4BgGYXP-qmb-${V9{C71d9L7HJ& zD$R;f0!2x$TGU@>Od=l;JI!Kl$zr|;k>);Z@ z4OLJ+bogt(XYU==vlJ*rrfM!LaR{0<_thbiyRuIRAJ zo-}bSN*)YXAa|$Xr-VJjr_$KvyN!*SvTtYD4?4R-JQD45Gx-yqMagU|_e>ZcuxSq>4}LB2ej{DzVvid>Bw z|Lg$_{kt2BCC>=mP@mfv^)TUe_A{G)!t+k0^*@aU+(D=aJgwHJbPj#@<( zoa2i&dAUzLJYm!8z$J3|-^KOUqhfYcSYOQXxnT%MJfPhipX0CIQ~p z>19EYv3f6nt4fn_g&P!bw8~KnzFz2>)$OA-sG-s_MMk8WczsF4cz58@z)~@WaVS5i zt(t8GK?X=Yjd6Gdhu8w8XAr273K$1n!h)3-`VKtG=YTu|2auHuF5;_1jHG|N#C=?Z zVb1=q)x=F@WmD(KL==qQ0KfH8E8iWDf?dK~R_c4o&w!Mzho4yHnKRp-@^c|&er;0+ zy*I0g1fwm)$zUDv6XAX+n93xgDlfUCCCL+AAvvUNyP-E?WF@uF-hSr^%s~*5`fLjo z6Mc*N-$C~OM^=nzI|hwGE69Mwz+%Th5U{TxBMfQ(M|dppv$BLT^5M84^*m0Pq5UN% K8`ec)%D(|Qp?I4B diff --git a/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.png b/patches/src/main/resources/custom-branding/youtube/mipmap-xhdpi/ic_launcher.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_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 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 a$?|`cblnpGz2oly0000vd<#Z)~+dr?D=nVRZQ z+Ei;EqK9h4RJ5pSP2ZcZe|+Cs_ujScUw559-nE{0|Mv4dd+*=gd#(N4voJU2Vi#ct zfk0dsG|CDDVya_&Y!E;)V2)4#fq3~bC z^PjP_srIMK4u8m}eQJOCJb>C%{g_C8)fBMi^~~=avIY>W*Qm}p^i)`f`juC8-JaNN zwHu0`T2C$KzANFbj4~Ma&^Arn?+*6c*jp(WzooX)s8u}(u?WWX26_+g_^Pbwk(j9l z<8b!SkE|MOLfgvaIraqe#PWGE>!q-2^#0ivcr}Kf|FCygV8sl~z4Q&H;d8Qx&5*`Y ztBmsOxfwL$fgW$|Zz$}-xI`O|mR}t$sB|1YCGgs8xX4~X5%ToG3647ij=k7+x|F`9lW{NLN=e#d`6`3zr(aShMQ9hvbCH|MJ8w8muxH+WY+RZoDsqYMSyzsE_jU%nEQJ)ufi$*+F&h&b$cn2g0X#9M`4nM*9JVf`w)po-}C zbr&N==zo^s3iDs6(VxmfC@VaK5=@KgR|jNAf?~RL-DjAWxzoN1lggc4psq2X8aPaY42_m|(&i->*vf&LZ0t6(0GFSH!=f^KR!|AfcjAibrVz>QaO zcf1W1FG~{Fm*87|yf8df5ftLTi(9<)7lrO1IVb*rpaEFv66rO-} zUUqgzorw*Lv4@I-lU%g8Im0dEk+9kFj->55mWMH4av^STWkhLSk6A|IvQW{rActd% zjc5zKM&9(Gpxun9FXbU~422GNaS~Ek5h@;+7`3^3a`CMGs_0M*^`rP7a)~}`?&qO^ zQmXeHz7WSetb)jC53PN6Fx~O;$7^r;!w;@>S{?$oHJ_3jmjQ$>Jw={m$5L7qV|P6w zBM85h{pjOCU9V~_WYk}S7e#~$3R!BBu)SwtZEbfs_7k@59hvO7T}kHafsC3MfC!P= z0{xvQMinC=4b(@Odqn})EHj0?IgSJ^_eM8a>W;dusq|ATpbwZvkuN)8Z3=&w6xd@0 zsz?uAX2(7XZ-Uo)8iL*NP#{rDyL6aw(c&okw;z&ObG-AOK?JfxOeXB^C~${F_6H^u zo&o)kV|Z`l!1+WefgkE3bIt2~o@ZVqDaU$YC&pnA!DH&gu8oHROdU?9%s*ix)XZAo zOe`a&`7Knij*D+|E4bh7ng@;U!%zSdjoLy@2|m3BMFa27ws*juI``##-g4p^ieMu( zv2a5wM1lOXbP5_RhndqBZEWzVEUlUXA2^40E(BSNLgDdgkDiO~tE?||TUt7GKn46n z(NfJHn#Q;3-X62f-9q|Tek1>Wp423s4hb&3OkQ0}Cn}8pW6|cePtZf-mq~3 z_uk!5d0nFv^LVdQ;BdN$(I!J|{dKAF&wuz+f!`i$i|;%B?b_38l?tKhU-uoKZVaaA zPPCp2PrcF*xINgby7B4whHywb$6@9~G3``}8ZWUQR=wmH*CnI$)VZGgBd4^-xobUd z=yg;S%>h-A&=4=pgIGC!F4p?tt}OZ6^OkQpwTixajW?w^9L;}3_aFMbd^-@p;!0>Z z0u+5j;D@lKHUQEOF?i!+B;_y_GV?M2`$h^uO#t)y)2Wnco1Hs$tE!IH=Gie;D^X-E zr$&Wub80`QRTbK`0+oZ&!LMK=DIqo5?LT&ky_<_H$3}}LR3j)ayf=-7Tg8*5`!w+R zW|zs&&z5hx}vG!boQ z$z$y_z`A2jrgWYLxy2kcgIsH?kT>(u-9N?O7(TQ}#W|^Y{Z$pfTLG@P z!0-rq#t@f5>wM!|n_jQiXiwGj;#ar&tA732JN2WuES+w$quJ?VwC3(j?OXc%>ci3I zwDVoJBu9|wT$$ECuOmg@CHb~beQCGdePk02sd)X!Wn4c%*wJAyP=MY;k>Rdje+VDR zBZhn)2|lvZZZ2`N8C6~v^yh84=w?9fLtBLd?ye`JKW)FtR*%WCUcr%l-G8>-8h>nH zZCIi-5k}I)V{F5aA?H2;Ml`Lpd|8sOEImvtfou#?hm&T9P+86knU!nC1U2!qlSpyF z;^fk-ru7%{(Fv4GWC^%!9!&~WeYQ% zks5JDH_B)N{Bm@iQ+#g?-hV5fXVMJwYKyvdJn{?`{*zOe#G)!!rQnnJJa;kCR%7kKQio6>y%30PYF%~T*iV0 zsrAoc5V@MyN66~W_Zw9yT;j22UpG00L)J5w!x3V{CPQCNM(o6NGG=8TpPbfhT$o5U zst9}Ab(C$nvg-8)=UU{E3yoWvj0LDxhx+is<2cTGe3@Uv|itpSf1@C!a=9@0yFi&onuy5mur|28~I! z7(e?ulE*43+WSj_9#@45CY}|GR601c`h?^yf8VikIbZ$v^Ij2RI0IZjq_9YJ-eX~) z5%687pE3q#_rpf$Xf7-VO60-Vl(d9ofl|)}8j>A6EYH;)L~G)_dY#TZ!GVr}j|66l zpj6@O_%Us?xjR<14%vVh)_7oq({4F7-wyWn+`Sgz)x7&`h+_v& znvM(-b};1d9Tk+;NlYRiDZjiz{lMCS@7%Zcg4Qd6*r)TdwB67b+{YD@^WFpNr;FHC zLpgInoW|s0;!%S$4%x z%|s9efKGXoC*S(#`Y6W({#fIA*RgiiApQwWRS8Lx8Rl=e8`2mCO(pbC!edq5&*i-s zn|+Y0rGXvqqnr>51Z^oI-V{M;^(wcaq3xyM+wLWx_j{M?OKg%jy_X?Xg zoe7Jr_tl9L__f^s7;Mun7Yw32^SCOO6@hA`GGQ3)B-bBlSLRsVqeHUQkwaki%N*BJ zq=901CSqpLSin?Yxd>boYty!!30#zKTVD}=oR57NoRB|l*}{>#dPWRfU%4cO!em=k z$Vy_ics-OZ6sGL+uE$f1%`N~*m|uj2;@u<_UH!2i<&1b=4?#I%|y&|IgC1W9XjvKP(+L!T05XEnC_Gh1M+X~LM?U?82Y}>YN+qP}r?%b>7{ge84HnSfVgICG#!?LI6Rdsds zZ0{5@nM@{=$z(E_OeT}bWD~UlD1s6xkC757^0g9eGKsvr)KW`L=|tODBy}i>zsB;bs46F^&?u6fmLcr(a@7uu>;0^E@_!0aG{s9$G1re$8wtx7T zANia&_!_s{Yuan`J=V7OwD*o_dwHCrkxZhecmkV!_SvUF#9jbm+!P!RFa!0Ym{|B>&IAb0>rM z)x|%@Jr}rIMMmHZqL~h?#B}3+@GXc!DDZ#1FiF&8s>B?{ zw;>8)+wZqy;W14YfBdq%OlHfV;3umP$_n5p@HF@ntidR^-adoBUN*JZqLc=17W1hu;}YKLpZWMV14B03aTEZJk{yw=$Hv7b|3Ik z80`r~kV~qr!W21P!tMLcIp>@+rz|znUQctkKbhl6b42aFv%a-H)@YCn^THqC zO6}huBL6l<2!bO*ME(Y+Tb~E#q8+BFkCU+j_|OZ#sS#hPQA9ojJG6Q-APPZ^o5<1W~4+iS8=eqG&=iCr8|jD zi_UUu2PLIM4NQ4>vD(Xu`pF&*xQMo*QlbW?JSe~IiH`j>(NSMioFn`S_L_J~B=Hx~ zk;g0Qr*b1H9Urd;|woM65> zPN2mt*7ui!_&>-*zAvgSZT+yXuWwl`n#Ghk(MfB8Z`fh~WJU<$AEra!Ai%8`lu5PO z6c@KPL?`{0dGX5$euEQi>OQ+s$a~~3phGs{hEO@E^r%9F-+v+<+R|$vuM^$^I%5Ng zKc7y3z_*#7|K(2nwkIa|RpQUB6a2ouO`NHf)BWjW2V;$O5BWURvhfJ62I^oz@+#E(4Ex_=!$Mrs_TQaM~HtB6wL{4 zcH%E)r`*ZkNPUiR%j8<&72&?7mJXflHIt=D?=Hc0B9RcGCd>(XdV2QF#-y0y$I!M6 z4(_KqS9J>UA1B2>cXxNMoOUNDxvdGGA8p<*R37Dg;N_WSnyDkLn{X8-!O!qY{9-&# za3OU>(qR0;35tJ9<^5tDRG12x6YOkSqNY+|C5nFtd@{l4FEk2#-rL(dXIkb11^4B0 zmr4AhLF)t8x_Lk$4JFU5f*Nlm#5kzBRA`rEj{;16P{Zv-qu*|D^cPBn-a|!kILS^> z;x;BHsNOFc%zritU@mZ${|2BWS(%qQEQiMarmBxlT9 znJ5*)C~)_rfJ>5*`q;hA8|DJiK?k*UwLXxtMmivB_q;^(@$x@Ppd zinPn7WX*rqRz`oJvM5G@gDC!~+8X`QkpJ1c1|Z3jAbRMvcf&WWvCXx;%^jSzwr$(? zcCT&QwrykVnY_w~|1a>>5!d+DaS`#tRg;;WRrTs+{+jZ{s4H?;el!{l)U8_=R<2wL zM~)o%7l#iYhS8%(LqI@)==ex&01S&tgq?Nz$Qi`OB#6|A`w|!!2xG>KVPn7oV}mim zSjk!uV(tRBDpjgf#l~j2|9AgRojO5!dO8#p74gDiv4C2w<{j&!(!!<2jFA!UOlv-Y2(8txQR}01=EiDZ?cI-&SU4YP_9?V8u!X>*uL1|*lS-Eq6rBVqG z9z4JwSP);oeg%WUz&pNIgc0887Ey(s5&XUwjYddKO%;s=#tLI5_ZA6KbiG1yu!1X2 z0R>IUkGHosym|8me_T;4T)2>Td=Ih!Ug(!lh3*kXUSAe3UMv}h*RNj#`Bz6&oC4LV zRr`b4kQL6>{T0NBU9>1a*REZY{Ndlddj}B_5uC9eKX|}}<}=`_ekm0=-+VgS%<&^8 zCI;TWe=ivaj1?t~a(EXwj2B@xFP+K#YY-#yXsP-lug%NL6aC@y^YdZcxN+d&!A+hH z;d;1DsKrCWa#`aRv9W!)o?}1yG-1L7C@3fpjRD4}Lx&EuREKc^iF_Xx58 z=1|o0gS($ir@+mdHz6n}h%??-{@yy}Z0o=a=*wW#aJgaL#y2B+lAC4NJay#mA4UFP8m%qQI-L$aeE1-l3|qEr5uBrE-0yJCyhc{&9{a1Hy}Nep zlJpm2(xOER?s$4G!x`ihsDnA`7#hSJFC_T~(3<@0DRAo4DanMuVo_LF81Eb*+CZ>0 znFOcJ>*N5mh1kU3{tz1*D_Q|(as2pkw)jOOikQprcy^<96#c=j&!e<|@s*sMjFP8l zLKGGj!tB|zc_mRqVpt0}-g<*9U=C|8SOK3mZyx$0DgQE*k5&{imEm(FM=P@VYIpjB zPaM)re^}toe(u~kCIQ4-0-~d%dFSvVQscA+Bj8BlMweo8{bAs#;_v&3i;II7FJ4Ic zi6>%6NC@p;jNt;vAeG_zj-Wv}nSvZMz1Z6~1E3W{hYqz#7VOroo8TPv0&2r{qZJM& zZgL5>87)x9zowvlef##c$;W{M2U6cAjbPNEQOt&2!rt_!B-#CUxXTCcTCEmxb8{t= zUv#Icxm6gR&eki9whwZBdG4uyt=faoX-08)K zsZ*ySKbA@m(bj-?-#A#ITLL?iwmKEdS}lSYpJ+k5x_0df+1c5W_ne6nCyK|3zM|Nh zDpjh4*pCJ=^oJZTt=;UMPn1Nl0Zww4JaFKE;2hX=)+V71Y)jtmRQw+IyQptx&YZES z>$6$2X72WK1d#WG+Ate;NqcmDDj51R!5yDF*}8SBO+2}F?b^b0N~wj}PB|@sD)B zlfS>e+bsY_4t-O(a^F)3UM~lYTo^^AY%dux|+qP|vZDVcQ z#@idGqgK_O5tUPYQ2F|tyX<zCp1L_wA_8B`h0)g<42!spSe*NzKe?9<# z#jH#ocbJ`>ZQg$SZP9SHZrw_imGzfdwC`vR={MV4Tl{2$pr+qU)1iI+k|lkkKl98p z?pq!+13z-BN~H*a3X57LF(emB`}qK9R72oM7SmS;Kv1`QfyUViyykpzer zD2e8H*0{YUn2X`ETvjqaEw~82|ES(Yj?bi6s z0|=VQo-qNifZJ}nO(h>fW^{I`I{(8QHTG(Aap}UeVD9M4O}9?jj?dh8-+fi@j+%eR zb22Fqj>TesPsFiq17JT6%EN)5dtu}`ZUL1M-G2M+;#md%8)42ZSzyj9U9?*`yZ9-y z*S`l!bB|Q{47fj;^X)J92Yi7*cm&xnA>{xVIEi!WCNasm|Y3MD2TnctYV>kp#GiJ{l}mJn%qyH$kT?Qvq3YUd3t^%0^#mI(6(Oo(rE|^^O<_=DDSM+#ItVHrz6i5l)o= zfp9q77C*bZxb-nNH&@j$_RvEQQ3a;#t3wu@23d1<#TrLUEm>%~L-y2kw9TJCUlsiF zs6#K_051drfh>*z)CBl5GbRv^$Fp(Jt6n4kjGF4@MFacbgAXVPr8;w;VP~4@mFpZa zde8}~vr0=#%@<#MA->J5a3;}?){}1p_mV( zGBVA1|3(9Qb>U-Xa^?CuQF-8l<{vqGsm^-v!3V|nqTB$xXkI122gnBJk}Wg-oRS0z z8L1Zz`q--kpj!a)p=yX0`U(`WMF%r*q`n6xhSxc>U< zRl}~Z3I5m5S^~U}L|8%UE)WxddMZJHmn{Kmff@Shy#h#9rL|QPD~wVcc4Y|w5$6rm zv-NUAfB+B)27{eIfSr~Azb2uMKKf`?{r#LdbJF%)NSc~&e_>>cCyU{p_xt_-WC8?J zA%KrR)B>F~Yb^nO1?vA*{kN#W7ssb)M>jtI{PW`TXs{Q_wZDGW5&)G9+hD`(*p~gN z5+DpTPi}~@xZr{dM1w@7W?IG%qLWKimVNTcCrf8}wIQYj+p>>sTRjpzN(8_SaH}Q2 z?=gP-cvTp zv(aTHo=XLK6DLlr`wW`|`wV%kab&|lG*tp5${`wYGVCQwfV!(hH4-J3Rnv{3J{P4F zs^xtFX-`6TYZ*V_wqeK~mOn~HMSR81BpT%@I4*tV%EDNj|RqYj+K7G16*+!Bk zZWecQ{w;ps9Kd?mZbu;gha{Mq0DfjqD-htCx~Icg3>Ywg{CtrFixw?1IXOA1VOP&S z`>c2#26xr9v&@1QWPkwoknOS!``r-0#~*HqpV^53!v@01lIShB+@g|1kv~w?{A>Ds zFTVKVx}{GW04EfnGk7RgBOwVU<^r1IXRPfEb1YU{XK-gl^q)DoFMXWKc_l$=hepuD-i-BFv?_>Rc zssZZ6wi^~DPzNbAz$|Km#KIXi4seu2RdqWbee_Xs;)*UO`_5ZIT zn`PS#h!Uuv1T_I#Ar2_UxBvI`yFnJSXU|rZE?_0A>uJ;#6&23!Vg3IfkO7{^3Q$v7 z0g{!VIM9NU3N{XqCrU%YRBdbN-o5+phHq)M(qQb0i+*FzjYKE^Kc8$?tpEvuaF{FV zI>5iW&k{f-iHbP)+;hooB2ZkQ`pns9pDn+KErDLZ{(mzdEC;}HARJ^lsV(ILY+;<- zF$OnBEC<4Vj;32jqtX7jX5MqY1uW1ALq?lc zTyxDe^0Te{`4MW@#*(da?CMtsz(O1lWkz+zHS?5}L*?Za@?HTws4#BKm@&e0t^5fB ztb&bpV_S{t{eL+Q2=SpE@Q|ad94a@ntX#QLZ{%{#zm+}(`IFoq48b~wY?N&^r1$^j zI3SS^XiIJo*d}a^u~63ZsA`A~I_MzznO6Pz5Ho;Av;W@=2#rbOQMiE*A@24QA@R)1RQ-5>XAP-A9V79M^-y#(ALE|RlQH@V1D3o6W{ z%1^|j^T`(3CL6m@e_SQSS_7TYbyEi8|H1hduqZAr)=Q$?@zu9)U-@iX`S~Nh{f{79 z1lqVrez{JHH3ixOIq<=jfQ`0cUYPLAt5#K5wQ7}}^RH`sSqB^Z2isyZ*U2vzwLvi+ zJKYrl$YCl;)ZPNB@(BD6wMHt=w9+T)erEsN-Z=m{@@--KVaG-?$tbq7^K9F;ZI_>I z+qP}nwry)B|Mxpp_g0;{^?H@<;YrnRy)&Ke?>oA;JEB2Y*UfKefVi6BW!Qi!2lENb z0w;gokK8=}@|V9{7PtN{FMjchaY06#9>qLT3rv@b(|JJlsXJ1$kJ4sn}}&A=U*_P=FeaeG$$z z0~lw@z;Ab^tbUDX3W|{0&AI>Sez5i;Y(j|}6#5+e*KBQI7;NUxitl&O()mSGkb%Xh z55C^(Ea3MDC7}paR_mk``lppb#u=7A|KdjXJBgN{1WCW=C%))E{7%t%NJAOwjIN$4 zPUa2m*i^_k&C=)jq9G_l8s=l$@fkxyoPjd5F~LXZ2kc>5#;KM*eyei_%8-q<@r|J& zo`n@(3XPACUlvFI1Ou1}P6d0y+t0_w#;z>dfg-HHYz&QWEDfgb-8Z<6a2&a z0plcf|3B#+?<1Ol3askVC-%lShEix9s?a2@JzCP6nIHla|2eE7Jw>$Q@AQhl^oh3= z@>8KKRH20lUhYg_TO|x(Ah@RY4WbdKLe5Wp;w^pR-z?`B$cj*d4kmcNO@@qM;`1@I z(G3^8;@|8Re7Fb6A;^(Np%+(=AtWXd5cdw$I|znKz$);GO+-hbeue?(L47s*nP1D^?Q zAmxy6jBPq}s2Hd%4!`h`ADWPZlwa)H*G+E>lc6-^Toh=#p5Qx&b3|&RP9p#JUCrO- znzxSnF(KrRQUlpaR>H>8e?0oofH2@xuzG9Ybz-6FT&Ij5`Qor4NRbW0=c7% z4Ro(ye~6jj;IXat_PkE6rCd`-E);(_?mWsSNCzh95T382ByCva1vE zKT)n>(D0^B{Lv=xjd2$0-ULhy?!pQE@xkZ|tlp=G`zhD#o=W_6$f}0d#2?ids}X4i zD$tRpi3aKloY;@5l4yTq17n~|9y0bP*xGPq*XVYk3K>7@RMQ?4f0PN-V%a8?pe=Ax zd-Mg*U{v~dKPt6su&3+@Zd=3Oxi-&n^?ut?f=yU~xlgml1m^-~iE;E7OJ2V5!um*W(xRR&~ z=O^O47!&-%?lRjw{5h6$E{(3-;Ka4KpsV*g(11Lw!7|Li_?c~QFcXZyG%Tv-xa|7^ z=&^<3wq%1ZNH*|KqKnT6R_@3-c8%_r{7sidXJiCpN0&QtPANIx%sIZMiuytYa;oH+g^BnkJ=PaY!vdsW6N=D) zp34S(BGhe&R3DV53Ul!+Bb-6RSHk}fLFL0Vxwn^d>!N-S8c>8yNWlV3TfM(KC6OPM z>TFPkHgvraWHE*&?Nb=xzo%>jD|LK>`(Mu8rxE_WmGFf&ly%hiBTg%Mc6U^&vw`mo z3Q$wMK@X0L5r|?Rk*S615!{M0SeY~MHNKo9*}Ue2e>^C6YEbaCzK;5PJL0r#FbhkN zh71&;4qe|LxYFph)Uj`o&zka6Bi$z)g|&px_-d;2d(O>U-8{dqgx`ZY6d?m?Sc2KT zjrwMSa9rvqMG07gER>)T8i9*^EiU%6x#-`*2s^4g(k0U15Q=^qJPjTya|NH6mGEa^ z0!9zcgvZJvZ3LYWe2-9pHuSU+1Q7^j!GnmBZ$~)aML>TKvqNYI#UOs6L$u(1Gy8Wr zc6krHmxu74t|3irAbh`fr=n{7wNns2*z2GgApvRFgglg?4xP{p0-tSgNm=qoL{B4v zzRwxrFCaqm8A6B_>M%qY%Y6*3kMP1@zYi^XRpyi-51WvNgbDxf z8(|veU!^N504J5c{{~d&@D%v2aYcl4Fx?AzJXzQzcH_M|)M~q+ki=VEXV2-;Cg!Wj{XE zSz#kELrs-Qx@QpjjxB_DF)5qmvuqLLLy5l6K%B3WXpA{N&Cg$Rnd8U&{4;)*Jxjk8 zAq(!;zjA-~V;9N4>i+M0`C6})uL%#6?;+(3-}B;1>_Sh8zOTxgS|Iuj9qs)%(>J$A zL-=Nd^G0NaMMy$gWrhNjpbAaD+U!gb(hoQeTX24+Ef?csf3ARdug1vnItclCa0AEn z^qPkhhc}dc)wqhWnaZ{`)`+8Y;qT!EeGEq#yyI=*NO+4<>rc3V|75 z3T9y*mXsk@VFNOdg8~$x3>BzC4eHQ@7IXr70iA%BdTMeFs!)M46rlh)$iN1yD#0(o zJj}wB7X9f)dwZD~Mpe(?4dFAyG9)1dX;^~|*n|vZAqRP75>F|hs3<@la*%}#Y{CYt zK^jt!gk>M$mEe6%KRT4??PX?&Foe$#lQ0c4FbDIn086k82}r^Uq#S9*sw1sPIaVME z30Q_DSb%w$gBh5HNgv@O1V6m!?PX>N4H03AahMQP#+X(nnRU!XFe@l=3sXwu!gz$( z1HtdE=+3SBK!$&vL S`%7B@000005XEnC_Gh1M+X~LM?U?82Y}>YN+qP}r?%b>7{ge84HnSfVgICG#!?LI6Rdsds zZ0{5@nM@{=$z(E_OeT}bWD~UlD1s6xkC757^0g9eGKsvr)KW`L=|tODBy}i>zsB;bs46F^&?u6fmLcr(a@7uu>;0^E@_!0aG{s9$G1re$8wtx7T zANia&_!_s{Yuan`J=V7OwD*o_dwHCrkxZhecmkV!_SvUF#9jbm+!P!RFa!0Ym{|B>&IAb0>rM z)x|%@Jr}rIMMmHZqL~h?#B}3+@GXc!DDZ#1FiF&8s>B?{ zw;>8)+wZqy;W14YfBdq%OlHfV;3umP$_n5p@HF@ntidR^-adoBUN*JZqLc=17W1hu;}YKLpZWMV14B03aTEZJk{yw=$Hv7b|3Ik z80`r~kV~qr!W21P!tMLcIp>@+rz|znUQctkKbhl6b42aFv%a-H)@YCn^THqC zO6}huBL6l<2!bO*ME(Y+Tb~E#q8+BFkCU+j_|OZ#sS#hPQA9ojJG6Q-APPZ^o5<1W~4+iS8=eqG&=iCr8|jD zi_UUu2PLIM4NQ4>vD(Xu`pF&*xQMo*QlbW?JSe~IiH`j>(NSMioFn`S_L_J~B=Hx~ zk;g0Qr*b1H9Urd;|woM65> zPN2mt*7ui!_&>-*zAvgSZT+yXuWwl`n#Ghk(MfB8Z`fh~WJU<$AEra!Ai%8`lu5PO z6c@KPL?`{0dGX5$euEQi>OQ+s$a~~3phGs{hEO@E^r%9F-+v+<+R|$vuM^$^I%5Ng zKc7y3z_*#7|K(2nwkIa|RpQUB6a2ouO`NHf)BWjW2V;$O5BWURvhfJ62I^oz@+#E(4Ex_=!$Mrs_TQaM~HtB6wL{4 zcH%E)r`*ZkNPUiR%j8<&72&?7mJXflHIt=D?=Hc0B9RcGCd>(XdV2QF#-y0y$I!M6 z4(_KqS9J>UA1B2>cXxNMoOUNDxvdGGA8p<*R37Dg;N_WSnyDkLn{X8-!O!qY{9-&# za3OU>(qR0;35tJ9<^5tDRG12x6YOkSqNY+|C5nFtd@{l4FEk2#-rL(dXIkb11^4B0 zmr4AhLF)t8x_Lk$4JFU5f*Nlm#5kzBRA`rEj{;16P{Zv-qu*|D^cPBn-a|!kILS^> z;x;BHsNOFc%zritU@mZ${|2BWS(%qQEQiMarmBxlT9 znJ5*)C~)_rfJ>5*`q;hA8|DJiK?k*UwLXxtMmivB_q;^(@$x@Ppd zinPn7WX*rqRz`oJvM5G@gDC!~+8X`QkpJ1c1|Z3jAbRMvcf&WWvCXx;%^jSzwr$(? zcCT&QwrykVnY_w~|1a>>5!d+DaS`#tRg;;WRrTs+{+jZ{s4H?;el!{l)U8_=R<2wL zM~)o%7l#iYhS8%(LqI@)==ex&01S&tgq?Nz$Qi`OB#6|A`w|!!2xG>KVPn7oV}mim zSjk!uV(tRBDpjgf#l~j2|9AgRojO5!dO8#p74gDiv4C2w<{j&!(!!<2jFA!UOlv-Y2(8txQR}01=EiDZ?cI-&SU4YP_9?V8u!X>*uL1|*lS-Eq6rBVqG z9z4JwSP);oeg%WUz&pNIgc0887Ey(s5&XUwjYddKO%;s=#tLI5_ZA6KbiG1yu!1X2 z0R>IUkGHosym|8me_T;4T)2>Td=Ih!Ug(!lh3*kXUSAe3UMv}h*RNj#`Bz6&oC4LV zRr`b4kQL6>{T0NBU9>1a*REZY{Ndlddj}B_5uC9eKX|}}<}=`_ekm0=-+VgS%<&^8 zCI;TWe=ivaj1?t~a(EXwj2B@xFP+K#YY-#yXsP-lug%NL6aC@y^YdZcxN+d&!A+hH z;d;1DsKrCWa#`aRv9W!)o?}1yG-1L7C@3fpjRD4}Lx&EuREKc^iF_Xx58 z=1|o0gS($ir@+mdHz6n}h%??-{@yy}Z0o=a=*wW#aJgaL#y2B+lAC4NJay#mA4UFP8m%qQI-L$aeE1-l3|qEr5uBrE-0yJCyhc{&9{a1Hy}Nep zlJpm2(xOER?s$4G!x`ihsDnA`7#hSJFC_T~(3<@0DRAo4DanMuVo_LF81Eb*+CZ>0 znFOcJ>*N5mh1kU3{tz1*D_Q|(as2pkw)jOOikQprcy^<96#c=j&!e<|@s*sMjFP8l zLKGGj!tB|zc_mRqVpt0}-g<*9U=C|8SOK3mZyx$0DgQE*k5&{imEm(FM=P@VYIpjB zPaM)re^}toe(u~kCIQ4-0-~d%dFSvVQscA+Bj8BlMweo8{bAs#;_v&3i;II7FJ4Ic zi6>%6NC@p;jNt;vAeG_zj-Wv}nSvZMz1Z6~1E3W{hYqz#7VOroo8TPv0&2r{qZJM& zZgL5>87)x9zowvlef##c$;W{M2U6cAjbPNEQOt&2!rt_!B-#CUxXTCcTCEmxb8{t= zUv#Icxm6gR&eki9whwZBdG4uyt=faoX-08)K zsZ*ySKbA@m(bj-?-#A#ITLL?iwmKEdS}lSYpJ+k5x_0df+1c5W_ne6nCyK|3zM|Nh zDpjh4*pCJ=^oJZTt=;UMPn1Nl0Zww4JaFKE;2hX=)+V71Y)jtmRQw+IyQptx&YZES z>$6$2X72WK1d#WG+Ate;NqcmDDj51R!5yDF*}8SBO+2}F?b^b0N~wj}PB|@sD)B zlfS>e+bsY_4t-O(a^F)3UM~lYTo^^AY%dux|+qP|vZDVcQ z#@idGqgK_O5tUPYQ2F|tyX<zCp1L_wA_8B`h0)g<42!spSe*NzKe?9<# z#jH#ocbJ`>ZQg$SZP9SHZrw_imGzfdwC`vR={MV4Tl{2$pr+qU)1iI+k|lkkKl98p z?pq!+13z-BN~H*a3X57LF(emB`}qK9R72oM7SmS;Kv1`QfyUViyykpzer zD2e8H*0{YUn2X`ETvjqaEw~82|ES(Yj?bi6s z0|=VQo-qNifZJ}nO(h>fW^{I`I{(8QHTG(Aap}UeVD9M4O}9?jj?dh8-+fi@j+%eR zb22Fqj>TesPsFiq17JT6%EN)5dtu}`ZUL1M-G2M+;#md%8)42ZSzyj9U9?*`yZ9-y z*S`l!bB|Q{47fj;^X)J92Yi7*cm&xnA>{xVIEi!WCNasm|Y3MD2TnctYV>kp#GiJ{l}mJn%qyH$kT?Qvq3YUd3t^%0^#mI(6(Oo(rE|^^O<_=DDSM+#ItVHrz6i5l)o= zfp9q77C*bZxb-nNH&@j$_RvEQQ3a;#t3wu@23d1<#TrLUEm>%~L-y2kw9TJCUlsiF zs6#K_051drfh>*z)CBl5GbRv^$Fp(Jt6n4kjGF4@MFacbgAXVPr8;w;VP~4@mFpZa zde8}~vr0=#%@<#MA->J5a3;}?){}1p_mV( zGBVA1|3(9Qb>U-Xa^?CuQF-8l<{vqGsm^-v!3V|nqTB$xXkI122gnBJk}Wg-oRS0z z8L1Zz`q--kpj!a)p=yX0`U(`WMF%r*q`n6xhSxc>U< zRl}~Z3I5m5S^~U}L|8%UE)WxddMZJHmn{Kmff@Shy#h#9rL|QPD~wVcc4Y|w5$6rm zv-NUAfB+B)27{eIfSr~Azb2uMKKf`?{r#LdbJF%)NSc~&e_>>cCyU{p_xt_-WC8?J zA%KrR)B>F~Yb^nO1?vA*{kN#W7ssb)M>jtI{PW`TXs{Q_wZDGW5&)G9+hD`(*p~gN z5+DpTPi}~@xZr{dM1w@7W?IG%qLWKimVNTcCrf8}wIQYj+p>>sTRjpzN(8_SaH}Q2 z?=gP-cvTp zv(aTHo=XLK6DLlr`wW`|`wV%kab&|lG*tp5${`wYGVCQwfV!(hH4-J3Rnv{3J{P4F zs^xtFX-`6TYZ*V_wqeK~mOn~HMSR81BpT%@I4*tV%EDNj|RqYj+K7G16*+!Bk zZWecQ{w;ps9Kd?mZbu;gha{Mq0DfjqD-htCx~Icg3>Ywg{CtrFixw?1IXOA1VOP&S z`>c2#26xr9v&@1QWPkwoknOS!``r-0#~*HqpV^53!v@01lIShB+@g|1kv~w?{A>Ds zFTVKVx}{GW04EfnGk7RgBOwVU<^r1IXRPfEb1YU{XK-gl^q)DoFMXWKc_l$=hepuD-i-BFv?_>Rc zssZZ6wi^~DPzNbAz$|Km#KIXi4seu2RdqWbee_Xs;)*UO`_5ZIT zn`PS#h!Uuv1T_I#Ar2_UxBvI`yFnJSXU|rZE?_0A>uJ;#6&23!Vg3IfkO7{^3Q$v7 z0g{!VIM9NU3N{XqCrU%YRBdbN-o5+phHq)M(qQb0i+*FzjYKE^Kc8$?tpEvuaF{FV zI>5iW&k{f-iHbP)+;hooB2ZkQ`pns9pDn+KErDLZ{(mzdEC;}HARJ^lsV(ILY+;<- zF$OnBEC<4Vj;32jqtX7jX5MqY1uW1ALq?lc zTyxDe^0Te{`4MW@#*(da?CMtsz(O1lWkz+zHS?5}L*?Za@?HTws4#BKm@&e0t^5fB ztb&bpV_S{t{eL+Q2=SpE@Q|ad94a@ntX#QLZ{%{#zm+}(`IFoq48b~wY?N&^r1$^j zI3SS^XiIJo*d}a^u~63ZsA`A~I_MzznO6Pz5Ho;Av;W@=2#rbOQMiE*A@24QA@R)1RQ-5>XAP-A9V79M^-y#(ALE|RlQH@V1D3o6W{ z%1^|j^T`(3CL6m@e_SQSS_7TYbyEi8|H1hduqZAr)=Q$?@zu9)U-@iX`S~Nh{f{79 z1lqVrez{JHH3ixOIq<=jfQ`0cUYPLAt5#K5wQ7}}^RH`sSqB^Z2isyZ*U2vzwLvi+ zJKYrl$YCl;)ZPNB@(BD6wMHt=w9+T)erEsN-Z=m{@@--KVaG-?$tbq7^K9F;ZI_>I z+qP}nwry)B|Mxpp_g0;{^?H@<;YrnRy)&Ke?>oA;JEB2Y*UfKefVi6BW!Qi!2lENb z0w;gokK8=}@|V9{7PtN{FMjchaY06#9>qLT3rv@b(|JJlsXJ1$kJ4sn}}&A=U*_P=FeaeG$$z z0~lw@z;Ab^tbUDX3W|{0&AI>Sez5i;Y(j|}6#5+e*KBQI7;NUxitl&O()mSGkb%Xh z55C^(Ea3MDC7}paR_mk``lppb#u=7A|KdjXJBgN{1WCW=C%))E{7%t%NJAOwjIN$4 zPUa2m*i^_k&C=)jq9G_l8s=l$@fkxyoPjd5F~LXZ2kc>5#;KM*eyei_%8-q<@r|J& zo`n@(3XPACUlvFI1Ou1}P6d0y+t0_w#;z>dfg-HHYz&QWEDfgb-8Z<6a2&a z0plcf|3B#+?<1Ol3askVC-%lShEix9s?a2@JzCP6nIHla|2eE7Jw>$Q@AQhl^oh3= z@>8KKRH20lUhYg_TO|x(Ah@RY4WbdKLe5Wp;w^pR-z?`B$cj*d4kmcNO@@qM;`1@I z(G3^8;@|8Re7Fb6A;^(Np%+(=AtWXd5cdw$I|znKz$);GO+-hbeue?(L47s*nP1D^?Q zAmxy6jBPq}s2Hd%4!`h`ADWPZlwa)H*G+E>lc6-^Toh=#p5Qx&b3|&RP9p#JUCrO- znzxSnF(KrRQUlpaR>H>8e?0oofH2@xuzG9Ybz-6FT&Ij5`Qor4NRbW0=c7% z4Ro(ye~6jj;IXat_PkE6rCd`-E);(_?mWsSNCzh95T382ByCva1vE zKT)n>(D0^B{Lv=xjd2$0-ULhy?!pQE@xkZ|tlp=G`zhD#o=W_6$f}0d#2?ids}X4i zD$tRpi3aKloY;@5l4yTq17n~|9y0bP*xGPq*XVYk3K>7@RMQ?4f0PN-V%a8?pe=Ax zd-Mg*U{v~dKPt6su&3+@Zd=3Oxi-&n^?ut?f=yU~xlgml1m^-~iE;E7OJ2V5!um*W(xRR&~ z=O^O47!&-%?lRjw{5h6$E{(3-;Ka4KpsV*g(11Lw!7|Li_?c~QFcXZyG%Tv-xa|7^ z=&^<3wq%1ZNH*|KqKnT6R_@3-c8%_r{7sidXJiCpN0&QtPANIx%sIZMiuytYa;oH+g^BnkJ=PaY!vdsW6N=D) zp34S(BGhe&R3DV53Ul!+Bb-6RSHk}fLFL0Vxwn^d>!N-S8c>8yNWlV3TfM(KC6OPM z>TFPkHgvraWHE*&?Nb=xzo%>jD|LK>`(Mu8rxE_WmGFf&ly%hiBTg%Mc6U^&vw`mo z3Q$wMK@X0L5r|?Rk*S615!{M0SeY~MHNKo9*}Ue2e>^C6YEbaCzK;5PJL0r#FbhkN zh71&;4qe|LxYFph)Uj`o&zka6Bi$z)g|&px_-d;2d(O>U-8{dqgx`ZY6d?m?Sc2KT zjrwMSa9rvqMG07gER>)T8i9*^EiU%6x#-`*2s^4g(k0U15Q=^qJPjTya|NH6mGEa^ z0!9zcgvZJvZ3LYWe2-9pHuSU+1Q7^j!GnmBZ$~)aML>TKvqNYI#UOs6L$u(1Gy8Wr zc6krHmxu74t|3irAbh`fr=n{7wNns2*z2GgApvRFgglg?4xP{p0-tSgNm=qoL{B4v zzRwxrFCaqm8A6B_>M%qY%Y6*3kMP1@zYi^XRpyi-51WvNgbDxf z8(|veU!^N504J5c{{~d&@D%v2aYcl4Fx?AzJXzQzcH_M|)M~q+ki=VEXV2-;Cg!Wj{XE zSz#kELrs-Qx@QpjjxB_DF)5qmvuqLLLy5l6K%B3WXpA{N&Cg$Rnd8U&{4;)*Jxjk8 zAq(!;zjA-~V;9N4>i+M0`C6})uL%#6?;+(3-}B;1>_Sh8zOTxgS|Iuj9qs)%(>J$A zL-=Nd^G0NaMMy$gWrhNjpbAaD+U!gb(hoQeTX24+Ef?csf3ARdug1vnItclCa0AEn z^qPkhhc}dc)wqhWnaZ{`)`+8Y;qT!EeGEq#yyI=*NO+4<>rc3V|75 z3T9y*mXsk@VFNOdg8~$x3>BzC4eHQ@7IXr70iA%BdTMeFs!)M46rlh)$iN1yD#0(o zJj}wB7X9f)dwZD~Mpe(?4dFAyG9)1dX;^~|*n|vZAqRP75>F|hs3<@la*%}#Y{CYt zK^jt!gk>M$mEe6%KRT4??PX?&Foe$#lQ0c4FbDIn086k82}r^Uq#S9*sw1sPIaVME z30Q_DSb%w$gBh5HNgv@O1V6m!?PX>N4H03AahMQP#+X(nnRU!XFe@l=3sXwu!gz$( z1HtdE=+3SBK!$&vL S`%7B@0000