import type { Hasher } from './types' ; const imul = Math . imul || ( ( opA , opB ) : number => { opB |= 0 ; let result = ( opA & 0x003fffff ) * opB ; if ( opA & 0xffc00000 ) result += ( ( opA & 0xffc00000 ) * opB ) | 0 ; return result | 0 ; } ) ; export const cyrb32 = ( value ) : string => { let h = 9 ; for ( let index = value . length ; index -- ; ) { h = imul ( h ^ value . charCodeAt ( index ) , 0x5f356495 ) ; } return '_' + ( ( h ^ ( h >>> 9 ) ) >>> 0 ) . toString ( 36 ) ; } ;