(cherry picked from commit 397f00e8eefff376759f05bd0cbaecc106c681df)
(cherry picked from commit f2b1142018fd64dd45ec97f1eccf0c48cc4a8c6d)