(cherry picked from commit 91880c303a418b6a4991779a28bf005ca8b1e611)
(cherry picked from commit 435221ff67d08acd4177fc6e6727c0d118823e2b)