function fnv1a(key) {
  let hash = 2166136261;
  const string = key.toString();

	for (let i = 0; i < string.length; i++) {
		hash ^= string.codePointAt(i);

		// 32-bit FNV prime: 2**24 + 2**8 + 0x93 = 16777619
		// Using bitshift for accuracy and performance. Numbers in JS suck.
		hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);
	}

	return (hash >>> 0) % MAX;
}
http://isthe.com/chongo/tech/comp/fnv/
https://github.com/schwarzkopfb/fnv1a/blob/master/index.js
https://github.com/sindresorhus/fnv1a/blob/master/index.js
@param {*} key