(cherry picked from commit edbc8634ebb59aafb58b0d2ad56e0a4036836194)
(cherry picked from commit 1123dd998feb7304761cb7be8bd9c9e28f67b787)