(cherry picked from commit 41f71b2e005fc977ed112cd41785ee473aff7366)
(cherry picked from commit 723e8534e18483e0ef0b968d5cdbb79f47397f3d)