Commit Graph

96457 Commits

Author SHA1 Message Date
Devin Moore
806e5c5874 Merge "Add system_ext deps to check-vintf-all" into main 2024-02-16 01:24:34 +00:00
Devin Moore
b1a331683b Add system_ext deps to check-vintf-all
The GSIs provide some framework HALs through system_ext so
check-vintf-all needs to depend on them in order to have them available
when checking with vitffm.

Test: lunch aosp_arm64-trunk_staging-userdebug && m check-vintf-all
Bug: 266741352
Change-Id: Id3eaad3a839c72a25aa8921a93de82bb119b0d8f
2024-02-15 22:39:20 +00:00
Nikita Ioffe
646de99112 Merge "Propagate RELEASE_AVF_MICRODROID_KERNEL_VERSION to Soong" into main am: 01767ec382
Original change: https://android-review.googlesource.com/c/platform/build/+/2962202

Change-Id: I0bfd4ba97f41dfdd5e5eceb30381d71ff968a461
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-15 20:07:01 +00:00
Nikita Ioffe
01767ec382 Merge "Propagate RELEASE_AVF_MICRODROID_KERNEL_VERSION to Soong" into main 2024-02-15 19:19:47 +00:00
Treehugger Robot
0d8443fd59 Merge "Add new team rules" into main am: c5d860613b
Original change: https://android-review.googlesource.com/c/platform/build/+/2962027

Change-Id: I76dab56abaa0cf6c5d97341ddd14e7746bcea534
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-15 14:14:46 +00:00
Treehugger Robot
c5d860613b Merge "Add new team rules" into main 2024-02-15 13:37:23 +00:00
Jeongik Cha
a865d24b5a Use soong modules for init.*.rc
Bug: 322088967
Test: build
Change-Id: Ic4c9280367d7a5effab7eb2bc3b9dd07bf19a218
2024-02-15 10:51:52 +00:00
Jiyong Park
de8af59856 Disable reboot to ram dump on zygote crash loop for -eng builds
Bug: 323566535
Test: check sysprop
Change-Id: I4ee3b119bf4a0ff21c8e6d92e74eee084a54867e
2024-02-15 18:18:06 +09:00
Spandan Das
d1aa8af7d8 Merge "Create a product variable for skipping apex contribution contents" into main am: 6d7a094dd0
Original change: https://android-review.googlesource.com/c/platform/build/+/2964509

Change-Id: I1bcf3d60d59540547c6f450c7b351857f6360d97
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-15 08:57:24 +00:00
Spandan Das
6d7a094dd0 Merge "Create a product variable for skipping apex contribution contents" into main 2024-02-15 08:10:57 +00:00
Spandan Das
debf166cad Create a product variable for skipping apex contribution contents
This denylist will be used to ignore the prebuilt google apexes listed
in apex_contributions of vendor/google/build when building aosp products
in next.

Test: in main, lunch aosp_cf_x86_64_phone-next-userdebug && m nothing
(with ag/25842580)
Bug: 308187268

Change-Id: I5330b44caf15193a00f1e255cef24b67c794382b
Merged-In: I5330b44caf15193a00f1e255cef24b67c794382b
2024-02-15 01:38:50 +00:00
Dennis Shen
e0101ed361 Merge "aconfig: aconfig storage cpp api on device integration test" into main am: c670bae629
Original change: https://android-review.googlesource.com/c/platform/build/+/2957372

Change-Id: I22b44134de8fcda45f1d1c28be3f0b0afb75789a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-14 23:20:07 +00:00
Dennis Shen
c670bae629 Merge "aconfig: aconfig storage cpp api on device integration test" into main 2024-02-14 22:36:22 +00:00
Yu Liu
2dccbdaf07 Merge "Fix the changing public api CUJ failure." into main am: 38544a3fec
Original change: https://android-review.googlesource.com/c/platform/build/+/2962525

Change-Id: Idbd8adb36db57eab4ac629315d249568b9cb7a8b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-14 18:28:31 +00:00
Jihoon Kang
ba548ee8f3 Merge "Modify dependencies of fake_device_config" into main am: c7521afdc5
Original change: https://android-review.googlesource.com/c/platform/build/+/2960622

Change-Id: If440352406c8976d220092fb9be58db5f273764e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-14 18:28:07 +00:00
Yu Liu
38544a3fec Merge "Fix the changing public api CUJ failure." into main 2024-02-14 18:01:46 +00:00
Ronish Kalia
8f39d93c3a Add new team rules
Bug: 304529413
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:bb7f3f628cbfc4c7bc22212b95bac3dc28f84405)
Merged-In: Ia9e97d1a2df50a100984aa6c99f25bedbb8319f4
Change-Id: Ia9e97d1a2df50a100984aa6c99f25bedbb8319f4
2024-02-14 17:59:41 +00:00
Jihoon Kang
c7521afdc5 Merge "Modify dependencies of fake_device_config" into main 2024-02-14 17:38:15 +00:00
Ivan Lozano
51f8db5df5 Merge "Revert "aconfig: remove libcxx dependency for now"" into main am: 6a04d1e5de
Original change: https://android-review.googlesource.com/c/platform/build/+/2962082

Change-Id: I53c8f7b73da7cf885865e1479e89c3f8bbc5537d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-14 14:53:32 +00:00
Ivan Lozano
6a04d1e5de Merge "Revert "aconfig: remove libcxx dependency for now"" into main 2024-02-14 14:17:13 +00:00
Inseob Kim
620a234d3f Fix characteristic rro for overridden packages
Overridden packages can have different package names. This change reads
output APKs to parse package name, instead of manifest xml.

Bug: 325011777
Test: boot and idmap2 dump
Change-Id: Iafd792b6fb9c8548441c8ca5c9216be160028088
2024-02-14 16:57:34 +09:00
Yu Liu
473bb051c1 Fix the changing public api CUJ failure.
Bug: 318706915
Test: ABTD
Change-Id: I7de7ed5a0d1e805fa32d2c9bb1f632e107c6c31e
2024-02-13 23:46:06 +00:00
Treehugger Robot
4ef1e380f4 Merge "Test modules should always be last" into main am: ae025131ba
Original change: https://android-review.googlesource.com/c/platform/build/+/2957436

Change-Id: I258155cd440e7908d6954a05b7583b3210c3b9e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 22:23:59 +00:00
Greg Kaiser
ebba62b32f Merge "Remove TARGET_VNDK_USE_CORE_VARIANT" into main am: e97c59a64f
Original change: https://android-review.googlesource.com/c/platform/build/+/2959233

Change-Id: I8e4e1aaf023871c32890bf7380d00d17c62346c7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 22:22:35 +00:00
Treehugger Robot
ae025131ba Merge "Test modules should always be last" into main 2024-02-13 22:04:05 +00:00
Greg Kaiser
e97c59a64f Merge "Remove TARGET_VNDK_USE_CORE_VARIANT" into main 2024-02-13 21:50:19 +00:00
Nikita Ioffe
3ce74d19b0 Remove unused PRODUCT_AVF_KERNEL_MODULES_ENABLED
Test: presubmit
Change-Id: I5742c94376e8d31ff1fe74ef6da6e5ae67e9ef5c
2024-02-13 19:16:23 +00:00
Nikita Ioffe
19b5d66747 Propagate RELEASE_AVF_MICRODROID_KERNEL_VERSION to Soong
Bug: 298011555
Test: builds
Change-Id: I69a895318ea13fb1bee7bf0aec8893672b7bdf49
2024-02-13 19:13:04 +00:00
Ivan Lozano
4304694312 Revert "aconfig: remove libcxx dependency for now"
This reverts commit 248510a659.

Reason for revert: aosp/2959366

Change-Id: Ib3a0e584f24f2a3ab51ca0b48e4c4897ed0d8174
Bug: 324826914
Test: SANITIZE_HOST=address m aconfig
2024-02-13 19:02:06 +00:00
Greg Kaiser
c26ea1995a Remove TARGET_VNDK_USE_CORE_VARIANT
We introduced this in
https://android-review.googlesource.com/c/platform/build/+/1087517
but now with VNDK deprecated, this is no longer in use so we
remove it for clarity.

Bug: 319529309
Test:  TreeHugger skipped running mokey_go32 boot test because there were no changes in the artifacts.  Additionally, built a Go device, booted, and /linkerconfig/ld.config.txt is the same and things run as normal.
Change-Id: Ifba30d7cc30c641f265abe52ed2cf7c02660a5ec
2024-02-13 15:52:21 +00:00
Treehugger Robot
d8c04fd026 Merge "Move setting default BOARD_VNDK_VERSION value" into main am: 9b3d6f91aa
Original change: https://android-review.googlesource.com/c/platform/build/+/2960351

Change-Id: I066fb29a388a0311fc9170dbe10a1c810deef71d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 13:57:49 +00:00
Jihoon Kang
fee2a4b65e Merge "Add environment variable UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA" into main am: 7d2c5ff02d
Original change: https://android-review.googlesource.com/c/platform/build/+/2953878

Change-Id: I6f9f256ac5f17fad19c81ddcfa5b365a806ae61a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 13:56:46 +00:00
Inseob Kim
31051a565d Merge "Revert^2 "Use vFRC version as-is for ToT sepolicy version"" into main am: 5fd1645f11
Original change: https://android-review.googlesource.com/c/platform/build/+/2960347

Change-Id: Id99bd029aac84e6fa3c0790bec0488787f19787d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 13:55:25 +00:00
Jihoon Kang
9c1450e0d2 Modify dependencies of fake_device_config
This change modifes the dependencies of fake_device_config by setting
the sdk_version to none instead of core_current, and setting the
appropriate system_modules in order to resolve circular dependencies.

Test: m fake_device_config && BUILD_FROM_SOURCE_STUB m fake_device_config
Change-Id: I497e2db9ea3456057a1e3f5c624cbd2042da6837
2024-02-13 06:54:49 +00:00
Treehugger Robot
9b3d6f91aa Merge "Move setting default BOARD_VNDK_VERSION value" into main 2024-02-13 06:46:37 +00:00
Kiyoung Kim
09aaa26c06 Move setting default BOARD_VNDK_VERSION value
Current BOARD_VNDK_VERSION is being set from config.mk, but this is
before build system loads release config and checks if VNDK is
deprecated or not. Move this to envsetup so it can set up
BOARD_VNDK_VERSION only when VNDK is not deprecated with flag.

Bug: 324976878
Test: mainline release target build succeeded

Change-Id: I490cc431038f5cebc40d03c98d2666eaba906664
2024-02-13 13:40:40 +09:00
Jihoon Kang
7d2c5ff02d Merge "Add environment variable UNBUNDLED_BUILD_TARGET_SDK_WITH_DESSERT_SHA" into main 2024-02-13 04:27:21 +00:00
Inseob Kim
5fd1645f11 Merge "Revert^2 "Use vFRC version as-is for ToT sepolicy version"" into main 2024-02-13 04:02:36 +00:00
Inseob Kim
4e72d5e4da Revert^2 "Use vFRC version as-is for ToT sepolicy version"
fb3a97fc7d

Change-Id: I13612dee1ebc6aabbd3bc46fb4c30568dc23a6da
2024-02-13 02:20:00 +00:00
Dennis Shen
d39f53486b Merge "aconfig: remove libcxx dependency for now" into main am: fc14608190
Original change: https://android-review.googlesource.com/c/platform/build/+/2959066

Change-Id: I12b895794a562d8629b0756a112767beb5a90268
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 01:47:04 +00:00
Dennis Shen
fc14608190 Merge "aconfig: remove libcxx dependency for now" into main 2024-02-13 01:30:49 +00:00
Kiyoung Kim
f74c3b5fe8 Merge "Do not set BOARD_VNDK_VERSION and PLATFORM_VNDK_VERSION" into main am: 1d952f82a5
Original change: https://android-review.googlesource.com/c/platform/build/+/2949648

Change-Id: I3b47559ad8182f8c8c04e345c8ef18bcc90c459a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-13 01:24:47 +00:00
Kiyoung Kim
1d952f82a5 Merge "Do not set BOARD_VNDK_VERSION and PLATFORM_VNDK_VERSION" into main 2024-02-13 00:51:53 +00:00
Treehugger Robot
b159c5c419 Merge "envsetup: fix path to build/bazel/bin tools" into main am: 1348d34e4c
Original change: https://android-review.googlesource.com/c/platform/build/+/2957816

Change-Id: I942ddc6f6397b0dea7c1339581c9b80a5de8b2b0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-12 20:57:51 +00:00
Treehugger Robot
1348d34e4c Merge "envsetup: fix path to build/bazel/bin tools" into main 2024-02-12 20:20:37 +00:00
Dennis Shen
248510a659 aconfig: remove libcxx dependency for now
Contenxt: b/324826914, libcxx is the culprit of the linking failure.
Remove libcxx dependency for now.

Bug: b/324826914
Test: atest aconfig_storage_file.test
Change-Id: I55b1a41efbf4486715f465a8d56a4e2e6ab0254a
2024-02-12 20:09:51 +00:00
LaMont Jones
e8a3be2ea2 envsetup: fix path to build/bazel/bin tools
Bug: None
Test: manual
Change-Id: If0124eb5f5d85064e0063403cca477b98d42a922
2024-02-12 09:55:41 -08:00
Michael Merg
88ad1d4ebc Merge "Create IDE query script" into main am: 7fa165b044
Original change: https://android-review.googlesource.com/c/platform/build/+/2944325

Change-Id: Ie9379db7c37d18444fb4cba181188d8b46716b96
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-12 17:18:08 +00:00
Michael Merg
7fa165b044 Merge "Create IDE query script" into main 2024-02-12 16:28:58 +00:00
Michael Merg
6bafd75d51 Create IDE query script
This will be the integration point to provide build artifacts to Cider G.

NOTE FOR REVIEWERS - original patch and result patch are not identical.
PLEASE REVIEW CAREFULLY.
Diffs between the patches:
 	files := flag.Args()
> -
> -			if prev, ok := modules[f]; ok && !strings.HasSuffix(prev.Name, ".impl") {
> -				log.Printf("File %q found in module %q but is already part of module %q", f, m.Name, prev.Name)
> +			if modules[f] != nil {
> +				log.Printf("File %q found in module %q but is already covered by module %q", f, m.Name, modules[f].Name)
> -		var genFiles []*pb.GeneratedFile
> +		var generated []*pb.GeneratedFile
> -				// Note: Contents will be filled below.
> -				genFiles = append(genFiles, &pb.GeneratedFile{Path: relPath})
> +				contents, err := os.ReadFile(d)
> +				if err != nil {
> +					fmt.Printf("Generated file %q not found - will be skipped.\n", d)
> +					continue
> +				}
> +
> +				generated = append(generated, &pb.GeneratedFile{
> +					Path:     relPath,
> +					Contents: contents,
> +				})
> -		file.Generated = genFiles
> +		file.Generated = generated
> -	for _, s := range sources {
> -		for _, g := range s.GetGenerated() {
> -			contents, err := os.ReadFile(path.Join(env.OutDir, g.GetPath()))
> -			if err != nil {
> -				fmt.Printf("Failed to read generated file %q: %v. File contents will be missing.\n", g.GetPath(), err)
> -				continue
> -			}
> -			g.Contents = contents
> -		}
> -	}
> -
> -		if strings.HasSuffix(name, "-jarjar") {
> +		if strings.HasSuffix(name, "-jarjar") || strings.HasSuffix(name, ".impl") {

Original patch:
 diff --git a/tools/ide_query/ide_query.go b/tools/ide_query/ide_query.go
old mode 100644
new mode 100644
--- a/tools/ide_query/ide_query.go
+++ b/tools/ide_query/ide_query.go
@@ -1,3 +1,5 @@
+// Binary ide_query generates and analyzes build artifacts.
+// The produced result can be consumed by IDEs to provide language features.
 package main

 import (
@@ -34,10 +36,10 @@

 var _ flag.Value = (*LunchTarget)(nil)

-// Get implements flag.Value.
-func (l *LunchTarget) Get() any {
-	return l
-}
+// // Get implements flag.Value.
+// func (l *LunchTarget) Get() any {
+// 	return l
+// }

 // Set implements flag.Value.
 func (l *LunchTarget) Set(s string) error {
@@ -64,13 +66,12 @@
 	env.RepoDir = os.Getenv("TOP")
 	flag.Var(&env.LunchTarget, "lunch_target", "The lunch target to query")
 	flag.Parse()
-	if flag.NArg() == 0 {
+	files := flag.Args()
+	if len(files) == 0 {
 		fmt.Println("No files provided.")
 		os.Exit(1)
 		return
 	}
-
-	files := flag.Args()

 	ctx := context.Background()
 	javaDepsPath := pa
[[[Original patch trimmed due to size. Decoded string size: 2916. Decoded string SHA1: 5d8fd4a92cc403da51c9ddb8442da2e391e6fcb1.]]]

Result patch:
 diff --git a/tools/ide_query/ide_query.go b/tools/ide_query/ide_query.go
index 2e76738..0fdb6de 100644
--- a/tools/ide_query/ide_query.go
+++ b/tools/ide_query/ide_query.go
@@ -1,3 +1,5 @@
+// Binary ide_query generates and analyzes build artifacts.
+// The produced result can be consumed by IDEs to provide language features.
 package main

 import (
@@ -34,10 +36,10 @@

 var _ flag.Value = (*LunchTarget)(nil)

-// Get implements flag.Value.
-func (l *LunchTarget) Get() any {
-	return l
-}
+// // Get implements flag.Value.
+// func (l *LunchTarget) Get() any {
+// 	return l
+// }

 // Set implements flag.Value.
 func (l *LunchTarget) Set(s string) error {
@@ -64,14 +66,13 @@
 	env.RepoDir = os.Getenv("TOP")
 	flag.Var(&env.LunchTarget, "lunch_target", "The lunch target to query")
 	flag.Parse()
-	if flag.NArg() == 0 {
+	files := flag.Args()
+	if len(files) == 0 {
 		fmt.Println("No files provided.")
 		os.Exit(1)
 		return
 	}

-	files := flag.Args()
-
 	ctx := context.Background()
 	javaDepsPath := path
[[[Result patch trimmed due to size. Decoded string size: 3022. Decoded string SHA1: a8824749eafbbb8d09c4e95fe491a16e3ea82569.]]]

NOTE FOR REVIEWERS - original patch and result patch are not identical.
PLEASE REVIEW CAREFULLY.
Diffs between the patches:
 	var javaFiles []string
> +	for _, f := range files {
> +		switch {
> +		case strings.HasSuffix(f, ".java") || strings.HasSuffix(f, ".kt"):
> +			javaFiles = append(javaFiles, f)
> +		default:
> +			log.Printf("File %q is supported - will be skipped.", f)
> +		}
> +	}
> +
> -	modules := make(map[string]*javaModule) // file path -> module
> -	for _, f := range files {
> +	fileToModule := make(map[string]*javaModule) // file path -> module
> +	for _, f := range javaFiles {
> -			if modules[f] != nil {
> -				log.Printf("File %q found in module %q but is already covered by module %q", f, m.Name, modules[f].Name)
> +			if fileToModule[f] != nil {
> +				// TODO(michaelmerg): Handle the case where a file is covered by multiple modules.
> +				log.Printf("File %q found in module %q but is already covered by module %q", f, m.Name, fileToModule[f].Name)
> -			modules[f] = m
> +			fileToModule[f] = m
> -	for _, m := range modules {
> +	for _, m := range fileToModule {
> +	type depsAndGenerated struct {
> +		Deps      []string
> +		Generated []*pb.GeneratedFile
> +	}
> +	moduleToDeps := make(map[string]*depsAndGenerated)
> -		m := modules[f]
> +		m := fileToModule[f]
> +		file.Status = &pb.Status{Code: pb.Status_OK}
> +		if moduleToDeps[m.Name] != nil {
> +			file.Generated = moduleToDeps[m.Name].Generated
> +			file.Deps = moduleToDeps[m.Name].Deps
> +			continue
> +		}
> +
> -
> +		moduleToDeps[m.Name] = &depsAndGenerated{deps, generated}
> -		file.Status = &pb.Status{Code: pb.Status_OK}

Original patch:
 diff --git a/tools/ide_query/ide_query.go b/tools/ide_query/ide_query.go
old mode 100644
new mode 100644
--- a/tools/ide_query/ide_query.go
+++ b/tools/ide_query/ide_query.go
@@ -72,6 +72,16 @@
 		os.Exit(1)
 		return
 	}
+
+	var javaFiles []string
+	for _, f := range files {
+		switch {
+		case strings.HasSuffix(f, ".java") || strings.HasSuffix(f, ".kt"):
+			javaFiles = append(javaFiles, f)
+		default:
+			log.Printf("File %q is supported - will be skipped.", f)
+		}
+	}

 	ctx := context.Background()
 	javaDepsPath := path.Join(env.RepoDir, env.OutDir, "soong/module_bp_java_deps.json")
@@ -85,22 +95,23 @@
 		log.Fatalf("Failed to load java modules: %v", err)
 	}

-	modules := make(map[string]*javaModule) // file path -> module
-	for _, f := range files {
+	fileToModule := make(map[string]*javaModule) // file path -> module
+	for _, f := range javaFiles {
 		for _, m := range javaModules {
 			if !slices.Contains(m.Srcs, f) {
 				continue
 			}
-			if modules[f] != nil {
-				log.Printf("File %q found in
[[[Original patch trimmed due to size. Decoded string size: 2629. Decoded string SHA1: 4517ba713fdb898ba9d77c4acbe934c08a2d9fe0.]]]

Result patch:
 diff --git a/tools/ide_query/ide_query.go b/tools/ide_query/ide_query.go
index 0fdb6de..7335875 100644
--- a/tools/ide_query/ide_query.go
+++ b/tools/ide_query/ide_query.go
@@ -73,6 +73,16 @@
 		return
 	}

+	var javaFiles []string
+	for _, f := range files {
+		switch {
+		case strings.HasSuffix(f, ".java") || strings.HasSuffix(f, ".kt"):
+			javaFiles = append(javaFiles, f)
+		default:
+			log.Printf("File %q is supported - will be skipped.", f)
+		}
+	}
+
 	ctx := context.Background()
 	javaDepsPath := path.Join(env.RepoDir, env.OutDir, "soong/module_bp_java_deps.json")
 	// TODO(michaelmerg): Figure out if module_bp_java_deps.json is outdated.
@@ -85,22 +95,23 @@
 		log.Fatalf("Failed to load java modules: %v", err)
 	}

-	modules := make(map[string]*javaModule) // file path -> module
-	for _, f := range files {
+	fileToModule := make(map[string]*javaModule) // file path -> module
+	for _, f := range javaFiles {
 		for _, m := range javaModules {
 			if !slices.Contains(m.Srcs, f) {
 				continue
 			}

[[[Result patch trimmed due to size. Decoded string size: 2717. Decoded string SHA1: 5e5223251ebdc548258bc27daf3528d662c39410.]]]

Change-Id: Ibe5d386399affd2951206bb5a714972e0e2fee92
2024-02-12 13:57:59 +00:00