(cherry picked from commit 7504d6ec3cceff0d6697fddb93bd5212f9d9028f)
(cherry picked from commit 6aafea0339d556f8c0266d40c0de61ba24166fec)