(cherry picked from commit a01429dd070c1770cdaa854e51c2f28a6be35b58)
(cherry picked from commit ee65b43d5a059890de00cebcd73ec619aebebc3b)