(cherry picked from commit 15168421c994c5f928873e0794bcbf0c36b015c9)
(cherry picked from commit 3e3667777075ba4029d66302009d81eadf18b6d2)