Synced with the source at 2555ff445c6ee04bf884e5c5943373fff3ea02c4.