File size: 1,345 Bytes
038b679
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function oo(a) {
  for (var b = [], c = 0, d = 0; d < a.length; d++) {
    var e = a.charCodeAt(d);
    128 > e
      ? (b[c++] = e)
      : (2048 > e
          ? (b[c++] = (e >> 6) | 192)
          : (55296 == (e & 64512) &&
            d + 1 < a.length &&
            56320 == (a.charCodeAt(d + 1) & 64512)
              ? ((e = 65536 + ((e & 1023) << 10) + (a.charCodeAt(++d) & 1023)),
                (b[c++] = (e >> 18) | 240),
                (b[c++] = ((e >> 12) & 63) | 128))
              : (b[c++] = (e >> 12) | 224),
            (b[c++] = ((e >> 6) & 63) | 128)),
        (b[c++] = (e & 63) | 128));
  }
  return b;
}
function jq(a, b) {
  for (var c = 0; c < b.length - 2; c += 3) {
    var d = b.charAt(c + 2);
    d = "a" <= d ? d.charCodeAt(0) - 87 : Number(d);
    d = "+" == b.charAt(c + 1) ? a >>> d : a << d;
    a = "+" == b.charAt(c) ? (a + d) & 4294967295 : a ^ d;
  }
  return a;
}
function generateFinalToken(sentenceToTranslate) {
  var a = sentenceToTranslate.join("");
  var b = ["471414", "523112976"],
    c = Number(b[0]) || 0;
  a = oo(a);
  for (var d = c, e = 0; e < a.length; e++) (d += a[e]), (d = jq(d, "+-a^+6"));
  d = jq(d, "+-3^+b+-f");
  d ^= Number(b[1]) || 0;
  0 > d && (d = (d & 2147483647) + 2147483648);
  b = d % 1e6;
  return b.toString() + "." + (b ^ c);
}

module.exports = generateFinalToken;