(cherry picked from commit 63c40c2ad66e5b32d96cecad0b123db28783ae5c)
(cherry picked from commit 6843c82bf7e0d2fdac567be6ac3ab9c8652f345d)