refactor cdmHash, gdsHash, stop ignoring hash collisions
Merge remote-tracking branch 'origin/4.6.0' into 4.6.0