(cherry picked from commit 95e74662b2c90b7b692cebe82c344614034a83ce)
(cherry picked from commit 0670e75e85997d90a30efcfc070721707cc31296)