CM12 update
Pulled from several places