2 // https://rawgit.com/tresorit/asmcrypto.js/598a1098504f1b2d0e615bc51dd8404afd2d338b/asmcrypto.js
3 // Provides PBKDF2 functionality
4 // It's faster than CryptoJS
5 // Couldn't get SJCL working as desired
8 (function(exports
, global
) {
10 global
["asmCrypto"] = exports
;
11 function string_to_bytes(str
) {
12 var i
, len
= str
.length
, arr
= new Uint8Array(len
);
13 for (i
= 0; i
< len
; i
+= 1) {
14 arr
[i
] = str
.charCodeAt(i
);
18 function hex_to_bytes(str
) {
19 var arr
= [], len
= str
.length
, i
;
24 for (i
= 0; i
< len
; i
+= 2) {
25 arr
.push(parseInt(str
.substr(i
, 2), 16));
27 return new Uint8Array(arr
);
29 function base64_to_bytes(str
) {
30 return string_to_bytes(atob(str
));
32 function bytes_to_string(arr
) {
34 for (var i
= 0; i
< arr
.length
; i
++) str
+= String
.fromCharCode(arr
[i
]);
37 function bytes_to_hex(arr
) {
38 var sz
= (arr
.byteLength
|| arr
.length
) / arr
.length
, str
= "";
39 for (var i
= 0; i
< arr
.length
; i
++) {
40 var h
= arr
[i
].toString(16);
41 if (h
.length
< 2 * sz
) str
+= "00000000000000".substr(0, 2 * sz
- h
.length
);
46 function bytes_to_base64(arr
) {
47 return btoa(bytes_to_string(arr
));
49 function pow2_ceil(a
) {
59 function is_number(a
) {
60 return typeof a
=== "number";
62 function is_string(a
) {
63 return typeof a
=== "string";
65 function is_buffer(a
) {
66 return a
instanceof ArrayBuffer
;
68 function is_bytes(a
) {
69 return a
instanceof Uint8Array
;
71 function is_typed_array(a
) {
72 return a
instanceof Int8Array
|| a
instanceof Uint8Array
|| a
instanceof Int16Array
|| a
instanceof Uint16Array
|| a
instanceof Int32Array
|| a
instanceof Uint32Array
|| a
instanceof Float32Array
|| a
instanceof Float64Array
;
74 function IllegalStateError() {
75 Error
.apply(this, arguments
);
77 IllegalStateError
.prototype = new Error();
78 function IllegalArgumentError() {
79 Error
.apply(this, arguments
);
81 IllegalArgumentError
.prototype = new Error();
82 function SecurityError() {
83 Error
.apply(this, arguments
);
85 IllegalArgumentError
.prototype = new Error();
86 var _aes_tables
= [ 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22, 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125, 198, 248, 238, 246, 255, 214, 222, 145, 96, 2, 206, 86, 231, 181, 77, 236, 143, 31, 137, 250, 239, 178, 142, 251, 65, 179, 95, 69, 35, 83, 228, 155, 117, 225, 61, 76, 108, 126, 245, 131, 104, 81, 209, 249, 226, 171, 98, 42, 8, 149, 70, 157, 48, 55, 10, 47, 14, 36, 27, 223, 205, 78, 127, 234, 18, 29, 88, 52, 54, 220, 180, 91, 164, 118, 183, 125, 82, 221, 94, 19, 166, 185, 0, 193, 64, 227, 121, 182, 212, 141, 103, 114, 148, 152, 176, 133, 187, 197, 79, 237, 134, 154, 102, 17, 138, 233, 4, 254, 160, 120, 37, 75, 162, 93, 128, 5, 63, 33, 112, 241, 99, 119, 175, 66, 32, 229, 253, 191, 129, 24, 38, 195, 190, 53, 136, 46, 147, 85, 252, 122, 200, 186, 50, 230, 192, 25, 158, 163, 68, 84, 59, 11, 140, 199, 107, 40, 167, 188, 22, 173, 219, 100, 116, 20, 146, 12, 72, 184, 159, 189, 67, 196, 57, 49, 211, 242, 213, 139, 110, 218, 1, 177, 156, 73, 216, 172, 243, 207, 202, 244, 71, 16, 111, 240, 74, 92, 56, 87, 115, 151, 203, 161, 232, 62, 150, 97, 13, 15, 224, 124, 113, 204, 144, 6, 247, 28, 194, 106, 174, 105, 23, 153, 58, 39, 217, 235, 43, 34, 210, 169, 7, 51, 45, 60, 21, 201, 135, 170, 80, 165, 3, 89, 9, 26, 101, 215, 132, 208, 130, 41, 90, 30, 123, 168, 109, 44, 165, 132, 153, 141, 13, 189, 177, 84, 80, 3, 169, 125, 25, 98, 230, 154, 69, 157, 64, 135, 21, 235, 201, 11, 236, 103, 253, 234, 191, 247, 150, 91, 194, 28, 174, 106, 90, 65, 2, 79, 92, 244, 52, 8, 147, 115, 83, 63, 12, 82, 101, 94, 40, 161, 15, 181, 9, 54, 155, 61, 38, 105, 205, 159, 27, 158, 116, 46, 45, 178, 238, 251, 246, 77, 97, 206, 123, 62, 113, 151, 245, 104, 0, 44, 96, 31, 200, 237, 190, 70, 217, 75, 222, 212, 232, 74, 107, 42, 229, 22, 197, 215, 85, 148, 207, 16, 6, 129, 240, 68, 186, 227, 243, 254, 192, 138, 173, 188, 72, 4, 223, 193, 117, 99, 48, 26, 14, 109, 76, 20, 53, 47, 225, 162, 204, 57, 87, 242, 130, 71, 172, 231, 43, 149, 160, 152, 209, 127, 102, 126, 171, 131, 202, 41, 211, 60, 121, 226, 29, 118, 59, 86, 78, 30, 219, 10, 108, 228, 93, 110, 239, 166, 168, 164, 55, 139, 50, 67, 89, 183, 140, 100, 210, 224, 180, 250, 7, 37, 175, 142, 233, 24, 213, 136, 111, 114, 36, 241, 199, 81, 35, 124, 156, 33, 221, 220, 134, 133, 144, 66, 196, 170, 216, 5, 1, 18, 163, 95, 249, 208, 145, 88, 39, 185, 56, 19, 179, 51, 187, 112, 137, 167, 182, 34, 146, 32, 73, 255, 120, 122, 143, 248, 128, 23, 218, 49, 198, 184, 195, 176, 119, 17, 203, 252, 214, 58, 0, 9, 18, 27, 36, 45, 54, 63, 72, 65, 90, 83, 108, 101, 126, 119, 144, 153, 130, 139, 180, 189, 166, 175, 216, 209, 202, 195, 252, 245, 238, 231, 59, 50, 41, 32, 31, 22, 13, 4, 115, 122, 97, 104, 87, 94, 69, 76, 171, 162, 185, 176, 143, 134, 157, 148, 227, 234, 241, 248, 199, 206, 213, 220, 118, 127, 100, 109, 82, 91, 64, 73, 62, 55, 44, 37, 26, 19, 8, 1, 230, 239, 244, 253, 194, 203, 208, 217, 174, 167, 188, 181, 138, 131, 152, 145, 77, 68, 95, 86, 105, 96, 123, 114, 5, 12, 23, 30, 33, 40, 51, 58, 221, 212, 207, 198, 249, 240, 235, 226, 149, 156, 135, 142, 177, 184, 163, 170, 236, 229, 254, 247, 200, 193, 218, 211, 164, 173, 182, 191, 128, 137, 146, 155, 124, 117, 110, 103, 88, 81, 74, 67, 52, 61, 38, 47, 16, 25, 2, 11, 215, 222, 197, 204, 243, 250, 225, 232, 159, 150, 141, 132, 187, 178, 169, 160, 71, 78, 85, 92, 99, 106, 113, 120, 15, 6, 29, 20, 43, 34, 57, 48, 154, 147, 136, 129, 190, 183, 172, 165, 210, 219, 192, 201, 246, 255, 228, 237, 10, 3, 24, 17, 46, 39, 60, 53, 66, 75, 80, 89, 102, 111, 116, 125, 161, 168, 179, 186, 133, 140, 151, 158, 233, 224, 251, 242, 205, 196, 223, 214, 49, 56, 35, 42, 21, 28, 7, 14, 121, 112, 107, 98, 93, 84, 79, 70, 0, 11, 22, 29, 44, 39, 58, 49, 88, 83, 78, 69, 116, 127, 98, 105, 176, 187, 166, 173, 156, 151, 138, 129, 232, 227, 254, 245, 196, 207, 210, 217, 123, 112, 109, 102, 87, 92, 65, 74, 35, 40, 53, 62, 15, 4, 25, 18, 203, 192, 221, 214, 231, 236, 241, 250, 147, 152, 133, 142, 191, 180, 169, 162, 246, 253, 224, 235, 218, 209, 204, 199, 174, 165, 184, 179, 130, 137, 148, 159, 70, 77, 80, 91, 106, 97, 124, 119, 30, 21, 8, 3, 50, 57, 36, 47, 141, 134, 155, 144, 161, 170, 183, 188, 213, 222, 195, 200, 249, 242, 239, 228, 61, 54, 43, 32, 17, 26, 7, 12, 101, 110, 115, 120, 73, 66, 95, 84, 247, 252, 225, 234, 219, 208, 205, 198, 175, 164, 185, 178, 131, 136, 149, 158, 71, 76, 81, 90, 107, 96, 125, 118, 31, 20, 9, 2, 51, 56, 37, 46, 140, 135, 154, 145, 160, 171, 182, 189, 212, 223, 194, 201, 248, 243, 238, 229, 60, 55, 42, 33, 16, 27, 6, 13, 100, 111, 114, 121, 72, 67, 94, 85, 1, 10, 23, 28, 45, 38, 59, 48, 89, 82, 79, 68, 117, 126, 99, 104, 177, 186, 167, 172, 157, 150, 139, 128, 233, 226, 255, 244, 197, 206, 211, 216, 122, 113, 108, 103, 86, 93, 64, 75, 34, 41, 52, 63, 14, 5, 24, 19, 202, 193, 220, 215, 230, 237, 240, 251, 146, 153, 132, 143, 190, 181, 168, 163, 0, 13, 26, 23, 52, 57, 46, 35, 104, 101, 114, 127, 92, 81, 70, 75, 208, 221, 202, 199, 228, 233, 254, 243, 184, 181, 162, 175, 140, 129, 150, 155, 187, 182, 161, 172, 143, 130, 149, 152, 211, 222, 201, 196, 231, 234, 253, 240, 107, 102, 113, 124, 95, 82, 69, 72, 3, 14, 25, 20, 55, 58, 45, 32, 109, 96, 119, 122, 89, 84, 67, 78, 5, 8, 31, 18, 49, 60, 43, 38, 189, 176, 167, 170, 137, 132, 147, 158, 213, 216, 207, 194, 225, 236, 251, 246, 214, 219, 204, 193, 226, 239, 248, 245, 190, 179, 164, 169, 138, 135, 144, 157, 6, 11, 28, 17, 50, 63, 40, 37, 110, 99, 116, 121, 90, 87, 64, 77, 218, 215, 192, 205, 238, 227, 244, 249, 178, 191, 168, 165, 134, 139, 156, 145, 10, 7, 16, 29, 62, 51, 36, 41, 98, 111, 120, 117, 86, 91, 76, 65, 97, 108, 123, 118, 85, 88, 79, 66, 9, 4, 19, 30, 61, 48, 39, 42, 177, 188, 171, 166, 133, 136, 159, 146, 217, 212, 195, 206, 237, 224, 247, 250, 183, 186, 173, 160, 131, 142, 153, 148, 223, 210, 197, 200, 235, 230, 241, 252, 103, 106, 125, 112, 83, 94, 73, 68, 15, 2, 21, 24, 59, 54, 33, 44, 12, 1, 22, 27, 56, 53, 34, 47, 100, 105, 126, 115, 80, 93, 74, 71, 220, 209, 198, 203, 232, 229, 242, 255, 180, 185, 174, 163, 128, 141, 154, 151, 0, 14, 28, 18, 56, 54, 36, 42, 112, 126, 108, 98, 72, 70, 84, 90, 224, 238, 252, 242, 216, 214, 196, 202, 144, 158, 140, 130, 168, 166, 180, 186, 219, 213, 199, 201, 227, 237, 255, 241, 171, 165, 183, 185, 147, 157, 143, 129, 59, 53, 39, 41, 3, 13, 31, 17, 75, 69, 87, 89, 115, 125, 111, 97, 173, 163, 177, 191, 149, 155, 137, 135, 221, 211, 193, 207, 229, 235, 249, 247, 77, 67, 81, 95, 117, 123, 105, 103, 61, 51, 33, 47, 5, 11, 25, 23, 118, 120, 106, 100, 78, 64, 82, 92, 6, 8, 26, 20, 62, 48, 34, 44, 150, 152, 138, 132, 174, 160, 178, 188, 230, 232, 250, 244, 222, 208, 194, 204, 65, 79, 93, 83, 121, 119, 101, 107, 49, 63, 45, 35, 9, 7, 21, 27, 161, 175, 189, 179, 153, 151, 133, 139, 209, 223, 205, 195, 233, 231, 245, 251, 154, 148, 134, 136, 162, 172, 190, 176, 234, 228, 246, 248, 210, 220, 206, 192, 122, 116, 102, 104, 66, 76, 94, 80, 10, 4, 22, 24, 50, 60, 46, 32, 236, 226, 240, 254, 212, 218, 200, 198, 156, 146, 128, 142, 164, 170, 184, 182, 12, 2, 16, 30, 52, 58, 40, 38, 124, 114, 96, 110, 68, 74, 88, 86, 55, 57, 43, 37, 15, 1, 19, 29, 71, 73, 91, 85, 127, 113, 99, 109, 215, 217, 203, 197, 239, 225, 243, 253, 167, 169, 187, 181, 159, 145, 131, 141 ];
87 var _aes_heap_start
= 2048;
88 function _aes_asm(stdlib
, foreign
, buffer
) {
89 // Closure Compiler warning - commented out
91 var S0
= 0, S1
= 0, S2
= 0, S3
= 0, S4
= 0, S5
= 0, S6
= 0, S7
= 0, S8
= 0, S9
= 0, SA
= 0, SB
= 0, SC
= 0, SD
= 0, SE
= 0, SF
= 0;
93 var R00
= 0, R01
= 0, R02
= 0, R03
= 0, R04
= 0, R05
= 0, R06
= 0, R07
= 0, R08
= 0, R09
= 0, R0A
= 0, R0B
= 0, R0C
= 0, R0D
= 0, R0E
= 0, R0F
= 0, R10
= 0, R11
= 0, R12
= 0, R13
= 0, R14
= 0, R15
= 0, R16
= 0, R17
= 0, R18
= 0, R19
= 0, R1A
= 0, R1B
= 0, R1C
= 0, R1D
= 0, R1E
= 0, R1F
= 0, R20
= 0, R21
= 0, R22
= 0, R23
= 0, R24
= 0, R25
= 0, R26
= 0, R27
= 0, R28
= 0, R29
= 0, R2A
= 0, R2B
= 0, R2C
= 0, R2D
= 0, R2E
= 0, R2F
= 0, R30
= 0, R31
= 0, R32
= 0, R33
= 0, R34
= 0, R35
= 0, R36
= 0, R37
= 0, R38
= 0, R39
= 0, R3A
= 0, R3B
= 0, R3C
= 0, R3D
= 0, R3E
= 0, R3F
= 0, R40
= 0, R41
= 0, R42
= 0, R43
= 0, R44
= 0, R45
= 0, R46
= 0, R47
= 0, R48
= 0, R49
= 0, R4A
= 0, R4B
= 0, R4C
= 0, R4D
= 0, R4E
= 0, R4F
= 0, R50
= 0, R51
= 0, R52
= 0, R53
= 0, R54
= 0, R55
= 0, R56
= 0, R57
= 0, R58
= 0, R59
= 0, R5A
= 0, R5B
= 0, R5C
= 0, R5D
= 0, R5E
= 0, R5F
= 0, R60
= 0, R61
= 0, R62
= 0, R63
= 0, R64
= 0, R65
= 0, R66
= 0, R67
= 0, R68
= 0, R69
= 0, R6A
= 0, R6B
= 0, R6C
= 0, R6D
= 0, R6E
= 0, R6F
= 0, R70
= 0, R71
= 0, R72
= 0, R73
= 0, R74
= 0, R75
= 0, R76
= 0, R77
= 0, R78
= 0, R79
= 0, R7A
= 0, R7B
= 0, R7C
= 0, R7D
= 0, R7E
= 0, R7F
= 0, R80
= 0, R81
= 0, R82
= 0, R83
= 0, R84
= 0, R85
= 0, R86
= 0, R87
= 0, R88
= 0, R89
= 0, R8A
= 0, R8B
= 0, R8C
= 0, R8D
= 0, R8E
= 0, R8F
= 0, R90
= 0, R91
= 0, R92
= 0, R93
= 0, R94
= 0, R95
= 0, R96
= 0, R97
= 0, R98
= 0, R99
= 0, R9A
= 0, R9B
= 0, R9C
= 0, R9D
= 0, R9E
= 0, R9F
= 0, RA0
= 0, RA1
= 0, RA2
= 0, RA3
= 0, RA4
= 0, RA5
= 0, RA6
= 0, RA7
= 0, RA8
= 0, RA9
= 0, RAA
= 0, RAB
= 0, RAC
= 0, RAD
= 0, RAE
= 0, RAF
= 0, RB0
= 0, RB1
= 0, RB2
= 0, RB3
= 0, RB4
= 0, RB5
= 0, RB6
= 0, RB7
= 0, RB8
= 0, RB9
= 0, RBA
= 0, RBB
= 0, RBC
= 0, RBD
= 0, RBE
= 0, RBF
= 0, RC0
= 0, RC1
= 0, RC2
= 0, RC3
= 0, RC4
= 0, RC5
= 0, RC6
= 0, RC7
= 0, RC8
= 0, RC9
= 0, RCA
= 0, RCB
= 0, RCC
= 0, RCD
= 0, RCE
= 0, RCF
= 0, RD0
= 0, RD1
= 0, RD2
= 0, RD3
= 0, RD4
= 0, RD5
= 0, RD6
= 0, RD7
= 0, RD8
= 0, RD9
= 0, RDA
= 0, RDB
= 0, RDC
= 0, RDD
= 0, RDE
= 0, RDF
= 0, RE0
= 0, RE1
= 0, RE2
= 0, RE3
= 0, RE4
= 0, RE5
= 0, RE6
= 0, RE7
= 0, RE8
= 0, RE9
= 0, REA
= 0, REB
= 0, REC
= 0, RED
= 0, REE
= 0, REF
= 0;
94 var HEAP
= new stdlib
.Uint8Array(buffer
);
95 function _expand_key_128() {
97 R10
= R00
^ HEAP
[sbox
| R0D
] ^ 1;
98 R11
= R01
^ HEAP
[sbox
| R0E
];
99 R12
= R02
^ HEAP
[sbox
| R0F
];
100 R13
= R03
^ HEAP
[sbox
| R0C
];
113 R20
= R10
^ HEAP
[sbox
| R1D
] ^ 2;
114 R21
= R11
^ HEAP
[sbox
| R1E
];
115 R22
= R12
^ HEAP
[sbox
| R1F
];
116 R23
= R13
^ HEAP
[sbox
| R1C
];
129 R30
= R20
^ HEAP
[sbox
| R2D
] ^ 4;
130 R31
= R21
^ HEAP
[sbox
| R2E
];
131 R32
= R22
^ HEAP
[sbox
| R2F
];
132 R33
= R23
^ HEAP
[sbox
| R2C
];
145 R40
= R30
^ HEAP
[sbox
| R3D
] ^ 8;
146 R41
= R31
^ HEAP
[sbox
| R3E
];
147 R42
= R32
^ HEAP
[sbox
| R3F
];
148 R43
= R33
^ HEAP
[sbox
| R3C
];
161 R50
= R40
^ HEAP
[sbox
| R4D
] ^ 16;
162 R51
= R41
^ HEAP
[sbox
| R4E
];
163 R52
= R42
^ HEAP
[sbox
| R4F
];
164 R53
= R43
^ HEAP
[sbox
| R4C
];
177 R60
= R50
^ HEAP
[sbox
| R5D
] ^ 32;
178 R61
= R51
^ HEAP
[sbox
| R5E
];
179 R62
= R52
^ HEAP
[sbox
| R5F
];
180 R63
= R53
^ HEAP
[sbox
| R5C
];
193 R70
= R60
^ HEAP
[sbox
| R6D
] ^ 64;
194 R71
= R61
^ HEAP
[sbox
| R6E
];
195 R72
= R62
^ HEAP
[sbox
| R6F
];
196 R73
= R63
^ HEAP
[sbox
| R6C
];
209 R80
= R70
^ HEAP
[sbox
| R7D
] ^ 128;
210 R81
= R71
^ HEAP
[sbox
| R7E
];
211 R82
= R72
^ HEAP
[sbox
| R7F
];
212 R83
= R73
^ HEAP
[sbox
| R7C
];
225 R90
= R80
^ HEAP
[sbox
| R8D
] ^ 27;
226 R91
= R81
^ HEAP
[sbox
| R8E
];
227 R92
= R82
^ HEAP
[sbox
| R8F
];
228 R93
= R83
^ HEAP
[sbox
| R8C
];
241 RA0
= R90
^ HEAP
[sbox
| R9D
] ^ 54;
242 RA1
= R91
^ HEAP
[sbox
| R9E
];
243 RA2
= R92
^ HEAP
[sbox
| R9F
];
244 RA3
= R93
^ HEAP
[sbox
| R9C
];
258 function _expand_key_256() {
260 R20
= R00
^ HEAP
[sbox
| R1D
] ^ 1;
261 R21
= R01
^ HEAP
[sbox
| R1E
];
262 R22
= R02
^ HEAP
[sbox
| R1F
];
263 R23
= R03
^ HEAP
[sbox
| R1C
];
276 R30
= R10
^ HEAP
[sbox
| R2C
];
277 R31
= R11
^ HEAP
[sbox
| R2D
];
278 R32
= R12
^ HEAP
[sbox
| R2E
];
279 R33
= R13
^ HEAP
[sbox
| R2F
];
292 R40
= R20
^ HEAP
[sbox
| R3D
] ^ 2;
293 R41
= R21
^ HEAP
[sbox
| R3E
];
294 R42
= R22
^ HEAP
[sbox
| R3F
];
295 R43
= R23
^ HEAP
[sbox
| R3C
];
308 R50
= R30
^ HEAP
[sbox
| R4C
];
309 R51
= R31
^ HEAP
[sbox
| R4D
];
310 R52
= R32
^ HEAP
[sbox
| R4E
];
311 R53
= R33
^ HEAP
[sbox
| R4F
];
324 R60
= R40
^ HEAP
[sbox
| R5D
] ^ 4;
325 R61
= R41
^ HEAP
[sbox
| R5E
];
326 R62
= R42
^ HEAP
[sbox
| R5F
];
327 R63
= R43
^ HEAP
[sbox
| R5C
];
340 R70
= R50
^ HEAP
[sbox
| R6C
];
341 R71
= R51
^ HEAP
[sbox
| R6D
];
342 R72
= R52
^ HEAP
[sbox
| R6E
];
343 R73
= R53
^ HEAP
[sbox
| R6F
];
356 R80
= R60
^ HEAP
[sbox
| R7D
] ^ 8;
357 R81
= R61
^ HEAP
[sbox
| R7E
];
358 R82
= R62
^ HEAP
[sbox
| R7F
];
359 R83
= R63
^ HEAP
[sbox
| R7C
];
372 R90
= R70
^ HEAP
[sbox
| R8C
];
373 R91
= R71
^ HEAP
[sbox
| R8D
];
374 R92
= R72
^ HEAP
[sbox
| R8E
];
375 R93
= R73
^ HEAP
[sbox
| R8F
];
388 RA0
= R80
^ HEAP
[sbox
| R9D
] ^ 16;
389 RA1
= R81
^ HEAP
[sbox
| R9E
];
390 RA2
= R82
^ HEAP
[sbox
| R9F
];
391 RA3
= R83
^ HEAP
[sbox
| R9C
];
404 RB0
= R90
^ HEAP
[sbox
| RAC
];
405 RB1
= R91
^ HEAP
[sbox
| RAD
];
406 RB2
= R92
^ HEAP
[sbox
| RAE
];
407 RB3
= R93
^ HEAP
[sbox
| RAF
];
420 RC0
= RA0
^ HEAP
[sbox
| RBD
] ^ 32;
421 RC1
= RA1
^ HEAP
[sbox
| RBE
];
422 RC2
= RA2
^ HEAP
[sbox
| RBF
];
423 RC3
= RA3
^ HEAP
[sbox
| RBC
];
436 RD0
= RB0
^ HEAP
[sbox
| RCC
];
437 RD1
= RB1
^ HEAP
[sbox
| RCD
];
438 RD2
= RB2
^ HEAP
[sbox
| RCE
];
439 RD3
= RB3
^ HEAP
[sbox
| RCF
];
452 RE0
= RC0
^ HEAP
[sbox
| RDD
] ^ 64;
453 RE1
= RC1
^ HEAP
[sbox
| RDE
];
454 RE2
= RC2
^ HEAP
[sbox
| RDF
];
455 RE3
= RC3
^ HEAP
[sbox
| RDC
];
469 function _encrypt(s0
, s1
, s2
, s3
, s4
, s5
, s6
, s7
, s8
, s9
, sA
, sB
, sC
, sD
, sE
, sF
) {
486 var t0
= 0, t1
= 0, t2
= 0, t3
= 0, t4
= 0, t5
= 0, t6
= 0, t7
= 0, t8
= 0, t9
= 0, tA
= 0, tB
= 0, tC
= 0, tD
= 0, tE
= 0, tF
= 0, sbox
= 0, x2_sbox
= 512, x3_sbox
= 768;
503 t0
= HEAP
[x2_sbox
| s0
] ^ HEAP
[x3_sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R10
;
504 t1
= HEAP
[sbox
| s0
] ^ HEAP
[x2_sbox
| s5
] ^ HEAP
[x3_sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R11
;
505 t2
= HEAP
[sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[x2_sbox
| sA
] ^ HEAP
[x3_sbox
| sF
] ^ R12
;
506 t3
= HEAP
[x3_sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[x2_sbox
| sF
] ^ R13
;
507 t4
= HEAP
[x2_sbox
| s4
] ^ HEAP
[x3_sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R14
;
508 t5
= HEAP
[sbox
| s4
] ^ HEAP
[x2_sbox
| s9
] ^ HEAP
[x3_sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R15
;
509 t6
= HEAP
[sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[x2_sbox
| sE
] ^ HEAP
[x3_sbox
| s3
] ^ R16
;
510 t7
= HEAP
[x3_sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[x2_sbox
| s3
] ^ R17
;
511 t8
= HEAP
[x2_sbox
| s8
] ^ HEAP
[x3_sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R18
;
512 t9
= HEAP
[sbox
| s8
] ^ HEAP
[x2_sbox
| sD
] ^ HEAP
[x3_sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R19
;
513 tA
= HEAP
[sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[x2_sbox
| s2
] ^ HEAP
[x3_sbox
| s7
] ^ R1A
;
514 tB
= HEAP
[x3_sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[x2_sbox
| s7
] ^ R1B
;
515 tC
= HEAP
[x2_sbox
| sC
] ^ HEAP
[x3_sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R1C
;
516 tD
= HEAP
[sbox
| sC
] ^ HEAP
[x2_sbox
| s1
] ^ HEAP
[x3_sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R1D
;
517 tE
= HEAP
[sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[x2_sbox
| s6
] ^ HEAP
[x3_sbox
| sB
] ^ R1E
;
518 tF
= HEAP
[x3_sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[x2_sbox
| sB
] ^ R1F
;
519 s0
= HEAP
[x2_sbox
| t0
] ^ HEAP
[x3_sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R20
;
520 s1
= HEAP
[sbox
| t0
] ^ HEAP
[x2_sbox
| t5
] ^ HEAP
[x3_sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R21
;
521 s2
= HEAP
[sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[x2_sbox
| tA
] ^ HEAP
[x3_sbox
| tF
] ^ R22
;
522 s3
= HEAP
[x3_sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[x2_sbox
| tF
] ^ R23
;
523 s4
= HEAP
[x2_sbox
| t4
] ^ HEAP
[x3_sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R24
;
524 s5
= HEAP
[sbox
| t4
] ^ HEAP
[x2_sbox
| t9
] ^ HEAP
[x3_sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R25
;
525 s6
= HEAP
[sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[x2_sbox
| tE
] ^ HEAP
[x3_sbox
| t3
] ^ R26
;
526 s7
= HEAP
[x3_sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[x2_sbox
| t3
] ^ R27
;
527 s8
= HEAP
[x2_sbox
| t8
] ^ HEAP
[x3_sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R28
;
528 s9
= HEAP
[sbox
| t8
] ^ HEAP
[x2_sbox
| tD
] ^ HEAP
[x3_sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R29
;
529 sA
= HEAP
[sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[x2_sbox
| t2
] ^ HEAP
[x3_sbox
| t7
] ^ R2A
;
530 sB
= HEAP
[x3_sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[x2_sbox
| t7
] ^ R2B
;
531 sC
= HEAP
[x2_sbox
| tC
] ^ HEAP
[x3_sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R2C
;
532 sD
= HEAP
[sbox
| tC
] ^ HEAP
[x2_sbox
| t1
] ^ HEAP
[x3_sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R2D
;
533 sE
= HEAP
[sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[x2_sbox
| t6
] ^ HEAP
[x3_sbox
| tB
] ^ R2E
;
534 sF
= HEAP
[x3_sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[x2_sbox
| tB
] ^ R2F
;
535 t0
= HEAP
[x2_sbox
| s0
] ^ HEAP
[x3_sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R30
;
536 t1
= HEAP
[sbox
| s0
] ^ HEAP
[x2_sbox
| s5
] ^ HEAP
[x3_sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R31
;
537 t2
= HEAP
[sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[x2_sbox
| sA
] ^ HEAP
[x3_sbox
| sF
] ^ R32
;
538 t3
= HEAP
[x3_sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[x2_sbox
| sF
] ^ R33
;
539 t4
= HEAP
[x2_sbox
| s4
] ^ HEAP
[x3_sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R34
;
540 t5
= HEAP
[sbox
| s4
] ^ HEAP
[x2_sbox
| s9
] ^ HEAP
[x3_sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R35
;
541 t6
= HEAP
[sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[x2_sbox
| sE
] ^ HEAP
[x3_sbox
| s3
] ^ R36
;
542 t7
= HEAP
[x3_sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[x2_sbox
| s3
] ^ R37
;
543 t8
= HEAP
[x2_sbox
| s8
] ^ HEAP
[x3_sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R38
;
544 t9
= HEAP
[sbox
| s8
] ^ HEAP
[x2_sbox
| sD
] ^ HEAP
[x3_sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R39
;
545 tA
= HEAP
[sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[x2_sbox
| s2
] ^ HEAP
[x3_sbox
| s7
] ^ R3A
;
546 tB
= HEAP
[x3_sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[x2_sbox
| s7
] ^ R3B
;
547 tC
= HEAP
[x2_sbox
| sC
] ^ HEAP
[x3_sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R3C
;
548 tD
= HEAP
[sbox
| sC
] ^ HEAP
[x2_sbox
| s1
] ^ HEAP
[x3_sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R3D
;
549 tE
= HEAP
[sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[x2_sbox
| s6
] ^ HEAP
[x3_sbox
| sB
] ^ R3E
;
550 tF
= HEAP
[x3_sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[x2_sbox
| sB
] ^ R3F
;
551 s0
= HEAP
[x2_sbox
| t0
] ^ HEAP
[x3_sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R40
;
552 s1
= HEAP
[sbox
| t0
] ^ HEAP
[x2_sbox
| t5
] ^ HEAP
[x3_sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R41
;
553 s2
= HEAP
[sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[x2_sbox
| tA
] ^ HEAP
[x3_sbox
| tF
] ^ R42
;
554 s3
= HEAP
[x3_sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[x2_sbox
| tF
] ^ R43
;
555 s4
= HEAP
[x2_sbox
| t4
] ^ HEAP
[x3_sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R44
;
556 s5
= HEAP
[sbox
| t4
] ^ HEAP
[x2_sbox
| t9
] ^ HEAP
[x3_sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R45
;
557 s6
= HEAP
[sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[x2_sbox
| tE
] ^ HEAP
[x3_sbox
| t3
] ^ R46
;
558 s7
= HEAP
[x3_sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[x2_sbox
| t3
] ^ R47
;
559 s8
= HEAP
[x2_sbox
| t8
] ^ HEAP
[x3_sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R48
;
560 s9
= HEAP
[sbox
| t8
] ^ HEAP
[x2_sbox
| tD
] ^ HEAP
[x3_sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R49
;
561 sA
= HEAP
[sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[x2_sbox
| t2
] ^ HEAP
[x3_sbox
| t7
] ^ R4A
;
562 sB
= HEAP
[x3_sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[x2_sbox
| t7
] ^ R4B
;
563 sC
= HEAP
[x2_sbox
| tC
] ^ HEAP
[x3_sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R4C
;
564 sD
= HEAP
[sbox
| tC
] ^ HEAP
[x2_sbox
| t1
] ^ HEAP
[x3_sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R4D
;
565 sE
= HEAP
[sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[x2_sbox
| t6
] ^ HEAP
[x3_sbox
| tB
] ^ R4E
;
566 sF
= HEAP
[x3_sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[x2_sbox
| tB
] ^ R4F
;
567 t0
= HEAP
[x2_sbox
| s0
] ^ HEAP
[x3_sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R50
;
568 t1
= HEAP
[sbox
| s0
] ^ HEAP
[x2_sbox
| s5
] ^ HEAP
[x3_sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R51
;
569 t2
= HEAP
[sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[x2_sbox
| sA
] ^ HEAP
[x3_sbox
| sF
] ^ R52
;
570 t3
= HEAP
[x3_sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[x2_sbox
| sF
] ^ R53
;
571 t4
= HEAP
[x2_sbox
| s4
] ^ HEAP
[x3_sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R54
;
572 t5
= HEAP
[sbox
| s4
] ^ HEAP
[x2_sbox
| s9
] ^ HEAP
[x3_sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R55
;
573 t6
= HEAP
[sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[x2_sbox
| sE
] ^ HEAP
[x3_sbox
| s3
] ^ R56
;
574 t7
= HEAP
[x3_sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[x2_sbox
| s3
] ^ R57
;
575 t8
= HEAP
[x2_sbox
| s8
] ^ HEAP
[x3_sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R58
;
576 t9
= HEAP
[sbox
| s8
] ^ HEAP
[x2_sbox
| sD
] ^ HEAP
[x3_sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R59
;
577 tA
= HEAP
[sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[x2_sbox
| s2
] ^ HEAP
[x3_sbox
| s7
] ^ R5A
;
578 tB
= HEAP
[x3_sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[x2_sbox
| s7
] ^ R5B
;
579 tC
= HEAP
[x2_sbox
| sC
] ^ HEAP
[x3_sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R5C
;
580 tD
= HEAP
[sbox
| sC
] ^ HEAP
[x2_sbox
| s1
] ^ HEAP
[x3_sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R5D
;
581 tE
= HEAP
[sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[x2_sbox
| s6
] ^ HEAP
[x3_sbox
| sB
] ^ R5E
;
582 tF
= HEAP
[x3_sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[x2_sbox
| sB
] ^ R5F
;
583 s0
= HEAP
[x2_sbox
| t0
] ^ HEAP
[x3_sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R60
;
584 s1
= HEAP
[sbox
| t0
] ^ HEAP
[x2_sbox
| t5
] ^ HEAP
[x3_sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R61
;
585 s2
= HEAP
[sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[x2_sbox
| tA
] ^ HEAP
[x3_sbox
| tF
] ^ R62
;
586 s3
= HEAP
[x3_sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[x2_sbox
| tF
] ^ R63
;
587 s4
= HEAP
[x2_sbox
| t4
] ^ HEAP
[x3_sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R64
;
588 s5
= HEAP
[sbox
| t4
] ^ HEAP
[x2_sbox
| t9
] ^ HEAP
[x3_sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R65
;
589 s6
= HEAP
[sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[x2_sbox
| tE
] ^ HEAP
[x3_sbox
| t3
] ^ R66
;
590 s7
= HEAP
[x3_sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[x2_sbox
| t3
] ^ R67
;
591 s8
= HEAP
[x2_sbox
| t8
] ^ HEAP
[x3_sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R68
;
592 s9
= HEAP
[sbox
| t8
] ^ HEAP
[x2_sbox
| tD
] ^ HEAP
[x3_sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R69
;
593 sA
= HEAP
[sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[x2_sbox
| t2
] ^ HEAP
[x3_sbox
| t7
] ^ R6A
;
594 sB
= HEAP
[x3_sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[x2_sbox
| t7
] ^ R6B
;
595 sC
= HEAP
[x2_sbox
| tC
] ^ HEAP
[x3_sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R6C
;
596 sD
= HEAP
[sbox
| tC
] ^ HEAP
[x2_sbox
| t1
] ^ HEAP
[x3_sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R6D
;
597 sE
= HEAP
[sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[x2_sbox
| t6
] ^ HEAP
[x3_sbox
| tB
] ^ R6E
;
598 sF
= HEAP
[x3_sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[x2_sbox
| tB
] ^ R6F
;
599 t0
= HEAP
[x2_sbox
| s0
] ^ HEAP
[x3_sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R70
;
600 t1
= HEAP
[sbox
| s0
] ^ HEAP
[x2_sbox
| s5
] ^ HEAP
[x3_sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R71
;
601 t2
= HEAP
[sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[x2_sbox
| sA
] ^ HEAP
[x3_sbox
| sF
] ^ R72
;
602 t3
= HEAP
[x3_sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[x2_sbox
| sF
] ^ R73
;
603 t4
= HEAP
[x2_sbox
| s4
] ^ HEAP
[x3_sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R74
;
604 t5
= HEAP
[sbox
| s4
] ^ HEAP
[x2_sbox
| s9
] ^ HEAP
[x3_sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R75
;
605 t6
= HEAP
[sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[x2_sbox
| sE
] ^ HEAP
[x3_sbox
| s3
] ^ R76
;
606 t7
= HEAP
[x3_sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[x2_sbox
| s3
] ^ R77
;
607 t8
= HEAP
[x2_sbox
| s8
] ^ HEAP
[x3_sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R78
;
608 t9
= HEAP
[sbox
| s8
] ^ HEAP
[x2_sbox
| sD
] ^ HEAP
[x3_sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R79
;
609 tA
= HEAP
[sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[x2_sbox
| s2
] ^ HEAP
[x3_sbox
| s7
] ^ R7A
;
610 tB
= HEAP
[x3_sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[x2_sbox
| s7
] ^ R7B
;
611 tC
= HEAP
[x2_sbox
| sC
] ^ HEAP
[x3_sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R7C
;
612 tD
= HEAP
[sbox
| sC
] ^ HEAP
[x2_sbox
| s1
] ^ HEAP
[x3_sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R7D
;
613 tE
= HEAP
[sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[x2_sbox
| s6
] ^ HEAP
[x3_sbox
| sB
] ^ R7E
;
614 tF
= HEAP
[x3_sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[x2_sbox
| sB
] ^ R7F
;
615 s0
= HEAP
[x2_sbox
| t0
] ^ HEAP
[x3_sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R80
;
616 s1
= HEAP
[sbox
| t0
] ^ HEAP
[x2_sbox
| t5
] ^ HEAP
[x3_sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ R81
;
617 s2
= HEAP
[sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[x2_sbox
| tA
] ^ HEAP
[x3_sbox
| tF
] ^ R82
;
618 s3
= HEAP
[x3_sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[x2_sbox
| tF
] ^ R83
;
619 s4
= HEAP
[x2_sbox
| t4
] ^ HEAP
[x3_sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R84
;
620 s5
= HEAP
[sbox
| t4
] ^ HEAP
[x2_sbox
| t9
] ^ HEAP
[x3_sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ R85
;
621 s6
= HEAP
[sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[x2_sbox
| tE
] ^ HEAP
[x3_sbox
| t3
] ^ R86
;
622 s7
= HEAP
[x3_sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[x2_sbox
| t3
] ^ R87
;
623 s8
= HEAP
[x2_sbox
| t8
] ^ HEAP
[x3_sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R88
;
624 s9
= HEAP
[sbox
| t8
] ^ HEAP
[x2_sbox
| tD
] ^ HEAP
[x3_sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ R89
;
625 sA
= HEAP
[sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[x2_sbox
| t2
] ^ HEAP
[x3_sbox
| t7
] ^ R8A
;
626 sB
= HEAP
[x3_sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[x2_sbox
| t7
] ^ R8B
;
627 sC
= HEAP
[x2_sbox
| tC
] ^ HEAP
[x3_sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R8C
;
628 sD
= HEAP
[sbox
| tC
] ^ HEAP
[x2_sbox
| t1
] ^ HEAP
[x3_sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ R8D
;
629 sE
= HEAP
[sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[x2_sbox
| t6
] ^ HEAP
[x3_sbox
| tB
] ^ R8E
;
630 sF
= HEAP
[x3_sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[x2_sbox
| tB
] ^ R8F
;
631 t0
= HEAP
[x2_sbox
| s0
] ^ HEAP
[x3_sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R90
;
632 t1
= HEAP
[sbox
| s0
] ^ HEAP
[x2_sbox
| s5
] ^ HEAP
[x3_sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ R91
;
633 t2
= HEAP
[sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[x2_sbox
| sA
] ^ HEAP
[x3_sbox
| sF
] ^ R92
;
634 t3
= HEAP
[x3_sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[x2_sbox
| sF
] ^ R93
;
635 t4
= HEAP
[x2_sbox
| s4
] ^ HEAP
[x3_sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R94
;
636 t5
= HEAP
[sbox
| s4
] ^ HEAP
[x2_sbox
| s9
] ^ HEAP
[x3_sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ R95
;
637 t6
= HEAP
[sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[x2_sbox
| sE
] ^ HEAP
[x3_sbox
| s3
] ^ R96
;
638 t7
= HEAP
[x3_sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[x2_sbox
| s3
] ^ R97
;
639 t8
= HEAP
[x2_sbox
| s8
] ^ HEAP
[x3_sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R98
;
640 t9
= HEAP
[sbox
| s8
] ^ HEAP
[x2_sbox
| sD
] ^ HEAP
[x3_sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ R99
;
641 tA
= HEAP
[sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[x2_sbox
| s2
] ^ HEAP
[x3_sbox
| s7
] ^ R9A
;
642 tB
= HEAP
[x3_sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[x2_sbox
| s7
] ^ R9B
;
643 tC
= HEAP
[x2_sbox
| sC
] ^ HEAP
[x3_sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R9C
;
644 tD
= HEAP
[sbox
| sC
] ^ HEAP
[x2_sbox
| s1
] ^ HEAP
[x3_sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ R9D
;
645 tE
= HEAP
[sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[x2_sbox
| s6
] ^ HEAP
[x3_sbox
| sB
] ^ R9E
;
646 tF
= HEAP
[x3_sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[x2_sbox
| sB
] ^ R9F
;
647 if ((keySize
| 0) == 16) {
648 S0
= HEAP
[sbox
| t0
] ^ RA0
;
649 S1
= HEAP
[sbox
| t5
] ^ RA1
;
650 S2
= HEAP
[sbox
| tA
] ^ RA2
;
651 S3
= HEAP
[sbox
| tF
] ^ RA3
;
652 S4
= HEAP
[sbox
| t4
] ^ RA4
;
653 S5
= HEAP
[sbox
| t9
] ^ RA5
;
654 S6
= HEAP
[sbox
| tE
] ^ RA6
;
655 S7
= HEAP
[sbox
| t3
] ^ RA7
;
656 S8
= HEAP
[sbox
| t8
] ^ RA8
;
657 S9
= HEAP
[sbox
| tD
] ^ RA9
;
658 SA
= HEAP
[sbox
| t2
] ^ RAA
;
659 SB
= HEAP
[sbox
| t7
] ^ RAB
;
660 SC
= HEAP
[sbox
| tC
] ^ RAC
;
661 SD
= HEAP
[sbox
| t1
] ^ RAD
;
662 SE
= HEAP
[sbox
| t6
] ^ RAE
;
663 SF
= HEAP
[sbox
| tB
] ^ RAF
;
666 s0
= HEAP
[x2_sbox
| t0
] ^ HEAP
[x3_sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ RA0
;
667 s1
= HEAP
[sbox
| t0
] ^ HEAP
[x2_sbox
| t5
] ^ HEAP
[x3_sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ RA1
;
668 s2
= HEAP
[sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[x2_sbox
| tA
] ^ HEAP
[x3_sbox
| tF
] ^ RA2
;
669 s3
= HEAP
[x3_sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[x2_sbox
| tF
] ^ RA3
;
670 s4
= HEAP
[x2_sbox
| t4
] ^ HEAP
[x3_sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ RA4
;
671 s5
= HEAP
[sbox
| t4
] ^ HEAP
[x2_sbox
| t9
] ^ HEAP
[x3_sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ RA5
;
672 s6
= HEAP
[sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[x2_sbox
| tE
] ^ HEAP
[x3_sbox
| t3
] ^ RA6
;
673 s7
= HEAP
[x3_sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[x2_sbox
| t3
] ^ RA7
;
674 s8
= HEAP
[x2_sbox
| t8
] ^ HEAP
[x3_sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ RA8
;
675 s9
= HEAP
[sbox
| t8
] ^ HEAP
[x2_sbox
| tD
] ^ HEAP
[x3_sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ RA9
;
676 sA
= HEAP
[sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[x2_sbox
| t2
] ^ HEAP
[x3_sbox
| t7
] ^ RAA
;
677 sB
= HEAP
[x3_sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[x2_sbox
| t7
] ^ RAB
;
678 sC
= HEAP
[x2_sbox
| tC
] ^ HEAP
[x3_sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ RAC
;
679 sD
= HEAP
[sbox
| tC
] ^ HEAP
[x2_sbox
| t1
] ^ HEAP
[x3_sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ RAD
;
680 sE
= HEAP
[sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[x2_sbox
| t6
] ^ HEAP
[x3_sbox
| tB
] ^ RAE
;
681 sF
= HEAP
[x3_sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[x2_sbox
| tB
] ^ RAF
;
682 t0
= HEAP
[x2_sbox
| s0
] ^ HEAP
[x3_sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ RB0
;
683 t1
= HEAP
[sbox
| s0
] ^ HEAP
[x2_sbox
| s5
] ^ HEAP
[x3_sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ RB1
;
684 t2
= HEAP
[sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[x2_sbox
| sA
] ^ HEAP
[x3_sbox
| sF
] ^ RB2
;
685 t3
= HEAP
[x3_sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[x2_sbox
| sF
] ^ RB3
;
686 t4
= HEAP
[x2_sbox
| s4
] ^ HEAP
[x3_sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ RB4
;
687 t5
= HEAP
[sbox
| s4
] ^ HEAP
[x2_sbox
| s9
] ^ HEAP
[x3_sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ RB5
;
688 t6
= HEAP
[sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[x2_sbox
| sE
] ^ HEAP
[x3_sbox
| s3
] ^ RB6
;
689 t7
= HEAP
[x3_sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[x2_sbox
| s3
] ^ RB7
;
690 t8
= HEAP
[x2_sbox
| s8
] ^ HEAP
[x3_sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ RB8
;
691 t9
= HEAP
[sbox
| s8
] ^ HEAP
[x2_sbox
| sD
] ^ HEAP
[x3_sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ RB9
;
692 tA
= HEAP
[sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[x2_sbox
| s2
] ^ HEAP
[x3_sbox
| s7
] ^ RBA
;
693 tB
= HEAP
[x3_sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[x2_sbox
| s7
] ^ RBB
;
694 tC
= HEAP
[x2_sbox
| sC
] ^ HEAP
[x3_sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ RBC
;
695 tD
= HEAP
[sbox
| sC
] ^ HEAP
[x2_sbox
| s1
] ^ HEAP
[x3_sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ RBD
;
696 tE
= HEAP
[sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[x2_sbox
| s6
] ^ HEAP
[x3_sbox
| sB
] ^ RBE
;
697 tF
= HEAP
[x3_sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[x2_sbox
| sB
] ^ RBF
;
698 s0
= HEAP
[x2_sbox
| t0
] ^ HEAP
[x3_sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ RC0
;
699 s1
= HEAP
[sbox
| t0
] ^ HEAP
[x2_sbox
| t5
] ^ HEAP
[x3_sbox
| tA
] ^ HEAP
[sbox
| tF
] ^ RC1
;
700 s2
= HEAP
[sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[x2_sbox
| tA
] ^ HEAP
[x3_sbox
| tF
] ^ RC2
;
701 s3
= HEAP
[x3_sbox
| t0
] ^ HEAP
[sbox
| t5
] ^ HEAP
[sbox
| tA
] ^ HEAP
[x2_sbox
| tF
] ^ RC3
;
702 s4
= HEAP
[x2_sbox
| t4
] ^ HEAP
[x3_sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ RC4
;
703 s5
= HEAP
[sbox
| t4
] ^ HEAP
[x2_sbox
| t9
] ^ HEAP
[x3_sbox
| tE
] ^ HEAP
[sbox
| t3
] ^ RC5
;
704 s6
= HEAP
[sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[x2_sbox
| tE
] ^ HEAP
[x3_sbox
| t3
] ^ RC6
;
705 s7
= HEAP
[x3_sbox
| t4
] ^ HEAP
[sbox
| t9
] ^ HEAP
[sbox
| tE
] ^ HEAP
[x2_sbox
| t3
] ^ RC7
;
706 s8
= HEAP
[x2_sbox
| t8
] ^ HEAP
[x3_sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ RC8
;
707 s9
= HEAP
[sbox
| t8
] ^ HEAP
[x2_sbox
| tD
] ^ HEAP
[x3_sbox
| t2
] ^ HEAP
[sbox
| t7
] ^ RC9
;
708 sA
= HEAP
[sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[x2_sbox
| t2
] ^ HEAP
[x3_sbox
| t7
] ^ RCA
;
709 sB
= HEAP
[x3_sbox
| t8
] ^ HEAP
[sbox
| tD
] ^ HEAP
[sbox
| t2
] ^ HEAP
[x2_sbox
| t7
] ^ RCB
;
710 sC
= HEAP
[x2_sbox
| tC
] ^ HEAP
[x3_sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ RCC
;
711 sD
= HEAP
[sbox
| tC
] ^ HEAP
[x2_sbox
| t1
] ^ HEAP
[x3_sbox
| t6
] ^ HEAP
[sbox
| tB
] ^ RCD
;
712 sE
= HEAP
[sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[x2_sbox
| t6
] ^ HEAP
[x3_sbox
| tB
] ^ RCE
;
713 sF
= HEAP
[x3_sbox
| tC
] ^ HEAP
[sbox
| t1
] ^ HEAP
[sbox
| t6
] ^ HEAP
[x2_sbox
| tB
] ^ RCF
;
714 t0
= HEAP
[x2_sbox
| s0
] ^ HEAP
[x3_sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ RD0
;
715 t1
= HEAP
[sbox
| s0
] ^ HEAP
[x2_sbox
| s5
] ^ HEAP
[x3_sbox
| sA
] ^ HEAP
[sbox
| sF
] ^ RD1
;
716 t2
= HEAP
[sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[x2_sbox
| sA
] ^ HEAP
[x3_sbox
| sF
] ^ RD2
;
717 t3
= HEAP
[x3_sbox
| s0
] ^ HEAP
[sbox
| s5
] ^ HEAP
[sbox
| sA
] ^ HEAP
[x2_sbox
| sF
] ^ RD3
;
718 t4
= HEAP
[x2_sbox
| s4
] ^ HEAP
[x3_sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ RD4
;
719 t5
= HEAP
[sbox
| s4
] ^ HEAP
[x2_sbox
| s9
] ^ HEAP
[x3_sbox
| sE
] ^ HEAP
[sbox
| s3
] ^ RD5
;
720 t6
= HEAP
[sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[x2_sbox
| sE
] ^ HEAP
[x3_sbox
| s3
] ^ RD6
;
721 t7
= HEAP
[x3_sbox
| s4
] ^ HEAP
[sbox
| s9
] ^ HEAP
[sbox
| sE
] ^ HEAP
[x2_sbox
| s3
] ^ RD7
;
722 t8
= HEAP
[x2_sbox
| s8
] ^ HEAP
[x3_sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ RD8
;
723 t9
= HEAP
[sbox
| s8
] ^ HEAP
[x2_sbox
| sD
] ^ HEAP
[x3_sbox
| s2
] ^ HEAP
[sbox
| s7
] ^ RD9
;
724 tA
= HEAP
[sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[x2_sbox
| s2
] ^ HEAP
[x3_sbox
| s7
] ^ RDA
;
725 tB
= HEAP
[x3_sbox
| s8
] ^ HEAP
[sbox
| sD
] ^ HEAP
[sbox
| s2
] ^ HEAP
[x2_sbox
| s7
] ^ RDB
;
726 tC
= HEAP
[x2_sbox
| sC
] ^ HEAP
[x3_sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ RDC
;
727 tD
= HEAP
[sbox
| sC
] ^ HEAP
[x2_sbox
| s1
] ^ HEAP
[x3_sbox
| s6
] ^ HEAP
[sbox
| sB
] ^ RDD
;
728 tE
= HEAP
[sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[x2_sbox
| s6
] ^ HEAP
[x3_sbox
| sB
] ^ RDE
;
729 tF
= HEAP
[x3_sbox
| sC
] ^ HEAP
[sbox
| s1
] ^ HEAP
[sbox
| s6
] ^ HEAP
[x2_sbox
| sB
] ^ RDF
;
730 S0
= HEAP
[sbox
| t0
] ^ RE0
;
731 S1
= HEAP
[sbox
| t5
] ^ RE1
;
732 S2
= HEAP
[sbox
| tA
] ^ RE2
;
733 S3
= HEAP
[sbox
| tF
] ^ RE3
;
734 S4
= HEAP
[sbox
| t4
] ^ RE4
;
735 S5
= HEAP
[sbox
| t9
] ^ RE5
;
736 S6
= HEAP
[sbox
| tE
] ^ RE6
;
737 S7
= HEAP
[sbox
| t3
] ^ RE7
;
738 S8
= HEAP
[sbox
| t8
] ^ RE8
;
739 S9
= HEAP
[sbox
| tD
] ^ RE9
;
740 SA
= HEAP
[sbox
| t2
] ^ REA
;
741 SB
= HEAP
[sbox
| t7
] ^ REB
;
742 SC
= HEAP
[sbox
| tC
] ^ REC
;
743 SD
= HEAP
[sbox
| t1
] ^ RED
;
744 SE
= HEAP
[sbox
| t6
] ^ REE
;
745 SF
= HEAP
[sbox
| tB
] ^ REF
;
747 function _decrypt(s0
, s1
, s2
, s3
, s4
, s5
, s6
, s7
, s8
, s9
, sA
, sB
, sC
, sD
, sE
, sF
) {
764 var t0
= 0, t1
= 0, t2
= 0, t3
= 0, t4
= 0, t5
= 0, t6
= 0, t7
= 0, t8
= 0, t9
= 0, tA
= 0, tB
= 0, tC
= 0, tD
= 0, tE
= 0, tF
= 0, inv_sbox
= 256, x9
= 1024, xB
= 1280, xD
= 1536, xE
= 1792;
765 if ((keySize
| 0) == 32) {
766 t0
= HEAP
[inv_sbox
| s0
^ RE0
] ^ RD0
;
767 t1
= HEAP
[inv_sbox
| sD
^ RED
] ^ RD1
;
768 t2
= HEAP
[inv_sbox
| sA
^ REA
] ^ RD2
;
769 t3
= HEAP
[inv_sbox
| s7
^ RE7
] ^ RD3
;
770 t4
= HEAP
[inv_sbox
| s4
^ RE4
] ^ RD4
;
771 t5
= HEAP
[inv_sbox
| s1
^ RE1
] ^ RD5
;
772 t6
= HEAP
[inv_sbox
| sE
^ REE
] ^ RD6
;
773 t7
= HEAP
[inv_sbox
| sB
^ REB
] ^ RD7
;
774 t8
= HEAP
[inv_sbox
| s8
^ RE8
] ^ RD8
;
775 t9
= HEAP
[inv_sbox
| s5
^ RE5
] ^ RD9
;
776 tA
= HEAP
[inv_sbox
| s2
^ RE2
] ^ RDA
;
777 tB
= HEAP
[inv_sbox
| sF
^ REF
] ^ RDB
;
778 tC
= HEAP
[inv_sbox
| sC
^ REC
] ^ RDC
;
779 tD
= HEAP
[inv_sbox
| s9
^ RE9
] ^ RDD
;
780 tE
= HEAP
[inv_sbox
| s6
^ RE6
] ^ RDE
;
781 tF
= HEAP
[inv_sbox
| s3
^ RE3
] ^ RDF
;
782 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
783 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
784 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
785 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
786 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
787 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
788 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
789 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
790 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
791 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
792 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
793 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
794 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
795 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
796 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
797 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
798 t0
= HEAP
[inv_sbox
| s0
] ^ RC0
;
799 t1
= HEAP
[inv_sbox
| s1
] ^ RC1
;
800 t2
= HEAP
[inv_sbox
| s2
] ^ RC2
;
801 t3
= HEAP
[inv_sbox
| s3
] ^ RC3
;
802 t4
= HEAP
[inv_sbox
| s4
] ^ RC4
;
803 t5
= HEAP
[inv_sbox
| s5
] ^ RC5
;
804 t6
= HEAP
[inv_sbox
| s6
] ^ RC6
;
805 t7
= HEAP
[inv_sbox
| s7
] ^ RC7
;
806 t8
= HEAP
[inv_sbox
| s8
] ^ RC8
;
807 t9
= HEAP
[inv_sbox
| s9
] ^ RC9
;
808 tA
= HEAP
[inv_sbox
| sA
] ^ RCA
;
809 tB
= HEAP
[inv_sbox
| sB
] ^ RCB
;
810 tC
= HEAP
[inv_sbox
| sC
] ^ RCC
;
811 tD
= HEAP
[inv_sbox
| sD
] ^ RCD
;
812 tE
= HEAP
[inv_sbox
| sE
] ^ RCE
;
813 tF
= HEAP
[inv_sbox
| sF
] ^ RCF
;
814 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
815 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
816 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
817 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
818 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
819 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
820 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
821 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
822 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
823 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
824 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
825 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
826 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
827 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
828 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
829 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
830 t0
= HEAP
[inv_sbox
| s0
] ^ RB0
;
831 t1
= HEAP
[inv_sbox
| s1
] ^ RB1
;
832 t2
= HEAP
[inv_sbox
| s2
] ^ RB2
;
833 t3
= HEAP
[inv_sbox
| s3
] ^ RB3
;
834 t4
= HEAP
[inv_sbox
| s4
] ^ RB4
;
835 t5
= HEAP
[inv_sbox
| s5
] ^ RB5
;
836 t6
= HEAP
[inv_sbox
| s6
] ^ RB6
;
837 t7
= HEAP
[inv_sbox
| s7
] ^ RB7
;
838 t8
= HEAP
[inv_sbox
| s8
] ^ RB8
;
839 t9
= HEAP
[inv_sbox
| s9
] ^ RB9
;
840 tA
= HEAP
[inv_sbox
| sA
] ^ RBA
;
841 tB
= HEAP
[inv_sbox
| sB
] ^ RBB
;
842 tC
= HEAP
[inv_sbox
| sC
] ^ RBC
;
843 tD
= HEAP
[inv_sbox
| sD
] ^ RBD
;
844 tE
= HEAP
[inv_sbox
| sE
] ^ RBE
;
845 tF
= HEAP
[inv_sbox
| sF
] ^ RBF
;
846 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
847 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
848 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
849 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
850 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
851 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
852 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
853 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
854 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
855 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
856 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
857 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
858 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
859 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
860 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
861 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
862 t0
= HEAP
[inv_sbox
| s0
] ^ RA0
;
863 t1
= HEAP
[inv_sbox
| s1
] ^ RA1
;
864 t2
= HEAP
[inv_sbox
| s2
] ^ RA2
;
865 t3
= HEAP
[inv_sbox
| s3
] ^ RA3
;
866 t4
= HEAP
[inv_sbox
| s4
] ^ RA4
;
867 t5
= HEAP
[inv_sbox
| s5
] ^ RA5
;
868 t6
= HEAP
[inv_sbox
| s6
] ^ RA6
;
869 t7
= HEAP
[inv_sbox
| s7
] ^ RA7
;
870 t8
= HEAP
[inv_sbox
| s8
] ^ RA8
;
871 t9
= HEAP
[inv_sbox
| s9
] ^ RA9
;
872 tA
= HEAP
[inv_sbox
| sA
] ^ RAA
;
873 tB
= HEAP
[inv_sbox
| sB
] ^ RAB
;
874 tC
= HEAP
[inv_sbox
| sC
] ^ RAC
;
875 tD
= HEAP
[inv_sbox
| sD
] ^ RAD
;
876 tE
= HEAP
[inv_sbox
| sE
] ^ RAE
;
877 tF
= HEAP
[inv_sbox
| sF
] ^ RAF
;
878 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
879 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
880 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
881 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
882 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
883 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
884 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
885 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
886 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
887 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
888 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
889 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
890 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
891 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
892 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
893 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
894 t0
= HEAP
[inv_sbox
| s0
] ^ R90
;
895 t1
= HEAP
[inv_sbox
| s1
] ^ R91
;
896 t2
= HEAP
[inv_sbox
| s2
] ^ R92
;
897 t3
= HEAP
[inv_sbox
| s3
] ^ R93
;
898 t4
= HEAP
[inv_sbox
| s4
] ^ R94
;
899 t5
= HEAP
[inv_sbox
| s5
] ^ R95
;
900 t6
= HEAP
[inv_sbox
| s6
] ^ R96
;
901 t7
= HEAP
[inv_sbox
| s7
] ^ R97
;
902 t8
= HEAP
[inv_sbox
| s8
] ^ R98
;
903 t9
= HEAP
[inv_sbox
| s9
] ^ R99
;
904 tA
= HEAP
[inv_sbox
| sA
] ^ R9A
;
905 tB
= HEAP
[inv_sbox
| sB
] ^ R9B
;
906 tC
= HEAP
[inv_sbox
| sC
] ^ R9C
;
907 tD
= HEAP
[inv_sbox
| sD
] ^ R9D
;
908 tE
= HEAP
[inv_sbox
| sE
] ^ R9E
;
909 tF
= HEAP
[inv_sbox
| sF
] ^ R9F
;
911 t0
= HEAP
[inv_sbox
| s0
^ RA0
] ^ R90
;
912 t1
= HEAP
[inv_sbox
| sD
^ RAD
] ^ R91
;
913 t2
= HEAP
[inv_sbox
| sA
^ RAA
] ^ R92
;
914 t3
= HEAP
[inv_sbox
| s7
^ RA7
] ^ R93
;
915 t4
= HEAP
[inv_sbox
| s4
^ RA4
] ^ R94
;
916 t5
= HEAP
[inv_sbox
| s1
^ RA1
] ^ R95
;
917 t6
= HEAP
[inv_sbox
| sE
^ RAE
] ^ R96
;
918 t7
= HEAP
[inv_sbox
| sB
^ RAB
] ^ R97
;
919 t8
= HEAP
[inv_sbox
| s8
^ RA8
] ^ R98
;
920 t9
= HEAP
[inv_sbox
| s5
^ RA5
] ^ R99
;
921 tA
= HEAP
[inv_sbox
| s2
^ RA2
] ^ R9A
;
922 tB
= HEAP
[inv_sbox
| sF
^ RAF
] ^ R9B
;
923 tC
= HEAP
[inv_sbox
| sC
^ RAC
] ^ R9C
;
924 tD
= HEAP
[inv_sbox
| s9
^ RA9
] ^ R9D
;
925 tE
= HEAP
[inv_sbox
| s6
^ RA6
] ^ R9E
;
926 tF
= HEAP
[inv_sbox
| s3
^ RA3
] ^ R9F
;
928 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
929 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
930 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
931 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
932 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
933 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
934 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
935 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
936 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
937 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
938 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
939 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
940 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
941 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
942 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
943 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
944 t0
= HEAP
[inv_sbox
| s0
] ^ R80
;
945 t1
= HEAP
[inv_sbox
| s1
] ^ R81
;
946 t2
= HEAP
[inv_sbox
| s2
] ^ R82
;
947 t3
= HEAP
[inv_sbox
| s3
] ^ R83
;
948 t4
= HEAP
[inv_sbox
| s4
] ^ R84
;
949 t5
= HEAP
[inv_sbox
| s5
] ^ R85
;
950 t6
= HEAP
[inv_sbox
| s6
] ^ R86
;
951 t7
= HEAP
[inv_sbox
| s7
] ^ R87
;
952 t8
= HEAP
[inv_sbox
| s8
] ^ R88
;
953 t9
= HEAP
[inv_sbox
| s9
] ^ R89
;
954 tA
= HEAP
[inv_sbox
| sA
] ^ R8A
;
955 tB
= HEAP
[inv_sbox
| sB
] ^ R8B
;
956 tC
= HEAP
[inv_sbox
| sC
] ^ R8C
;
957 tD
= HEAP
[inv_sbox
| sD
] ^ R8D
;
958 tE
= HEAP
[inv_sbox
| sE
] ^ R8E
;
959 tF
= HEAP
[inv_sbox
| sF
] ^ R8F
;
960 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
961 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
962 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
963 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
964 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
965 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
966 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
967 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
968 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
969 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
970 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
971 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
972 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
973 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
974 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
975 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
976 t0
= HEAP
[inv_sbox
| s0
] ^ R70
;
977 t1
= HEAP
[inv_sbox
| s1
] ^ R71
;
978 t2
= HEAP
[inv_sbox
| s2
] ^ R72
;
979 t3
= HEAP
[inv_sbox
| s3
] ^ R73
;
980 t4
= HEAP
[inv_sbox
| s4
] ^ R74
;
981 t5
= HEAP
[inv_sbox
| s5
] ^ R75
;
982 t6
= HEAP
[inv_sbox
| s6
] ^ R76
;
983 t7
= HEAP
[inv_sbox
| s7
] ^ R77
;
984 t8
= HEAP
[inv_sbox
| s8
] ^ R78
;
985 t9
= HEAP
[inv_sbox
| s9
] ^ R79
;
986 tA
= HEAP
[inv_sbox
| sA
] ^ R7A
;
987 tB
= HEAP
[inv_sbox
| sB
] ^ R7B
;
988 tC
= HEAP
[inv_sbox
| sC
] ^ R7C
;
989 tD
= HEAP
[inv_sbox
| sD
] ^ R7D
;
990 tE
= HEAP
[inv_sbox
| sE
] ^ R7E
;
991 tF
= HEAP
[inv_sbox
| sF
] ^ R7F
;
992 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
993 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
994 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
995 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
996 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
997 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
998 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
999 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
1000 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
1001 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
1002 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
1003 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
1004 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
1005 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
1006 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
1007 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
1008 t0
= HEAP
[inv_sbox
| s0
] ^ R60
;
1009 t1
= HEAP
[inv_sbox
| s1
] ^ R61
;
1010 t2
= HEAP
[inv_sbox
| s2
] ^ R62
;
1011 t3
= HEAP
[inv_sbox
| s3
] ^ R63
;
1012 t4
= HEAP
[inv_sbox
| s4
] ^ R64
;
1013 t5
= HEAP
[inv_sbox
| s5
] ^ R65
;
1014 t6
= HEAP
[inv_sbox
| s6
] ^ R66
;
1015 t7
= HEAP
[inv_sbox
| s7
] ^ R67
;
1016 t8
= HEAP
[inv_sbox
| s8
] ^ R68
;
1017 t9
= HEAP
[inv_sbox
| s9
] ^ R69
;
1018 tA
= HEAP
[inv_sbox
| sA
] ^ R6A
;
1019 tB
= HEAP
[inv_sbox
| sB
] ^ R6B
;
1020 tC
= HEAP
[inv_sbox
| sC
] ^ R6C
;
1021 tD
= HEAP
[inv_sbox
| sD
] ^ R6D
;
1022 tE
= HEAP
[inv_sbox
| sE
] ^ R6E
;
1023 tF
= HEAP
[inv_sbox
| sF
] ^ R6F
;
1024 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
1025 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
1026 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
1027 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
1028 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
1029 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
1030 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
1031 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
1032 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
1033 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
1034 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
1035 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
1036 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
1037 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
1038 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
1039 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
1040 t0
= HEAP
[inv_sbox
| s0
] ^ R50
;
1041 t1
= HEAP
[inv_sbox
| s1
] ^ R51
;
1042 t2
= HEAP
[inv_sbox
| s2
] ^ R52
;
1043 t3
= HEAP
[inv_sbox
| s3
] ^ R53
;
1044 t4
= HEAP
[inv_sbox
| s4
] ^ R54
;
1045 t5
= HEAP
[inv_sbox
| s5
] ^ R55
;
1046 t6
= HEAP
[inv_sbox
| s6
] ^ R56
;
1047 t7
= HEAP
[inv_sbox
| s7
] ^ R57
;
1048 t8
= HEAP
[inv_sbox
| s8
] ^ R58
;
1049 t9
= HEAP
[inv_sbox
| s9
] ^ R59
;
1050 tA
= HEAP
[inv_sbox
| sA
] ^ R5A
;
1051 tB
= HEAP
[inv_sbox
| sB
] ^ R5B
;
1052 tC
= HEAP
[inv_sbox
| sC
] ^ R5C
;
1053 tD
= HEAP
[inv_sbox
| sD
] ^ R5D
;
1054 tE
= HEAP
[inv_sbox
| sE
] ^ R5E
;
1055 tF
= HEAP
[inv_sbox
| sF
] ^ R5F
;
1056 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
1057 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
1058 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
1059 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
1060 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
1061 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
1062 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
1063 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
1064 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
1065 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
1066 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
1067 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
1068 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
1069 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
1070 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
1071 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
1072 t0
= HEAP
[inv_sbox
| s0
] ^ R40
;
1073 t1
= HEAP
[inv_sbox
| s1
] ^ R41
;
1074 t2
= HEAP
[inv_sbox
| s2
] ^ R42
;
1075 t3
= HEAP
[inv_sbox
| s3
] ^ R43
;
1076 t4
= HEAP
[inv_sbox
| s4
] ^ R44
;
1077 t5
= HEAP
[inv_sbox
| s5
] ^ R45
;
1078 t6
= HEAP
[inv_sbox
| s6
] ^ R46
;
1079 t7
= HEAP
[inv_sbox
| s7
] ^ R47
;
1080 t8
= HEAP
[inv_sbox
| s8
] ^ R48
;
1081 t9
= HEAP
[inv_sbox
| s9
] ^ R49
;
1082 tA
= HEAP
[inv_sbox
| sA
] ^ R4A
;
1083 tB
= HEAP
[inv_sbox
| sB
] ^ R4B
;
1084 tC
= HEAP
[inv_sbox
| sC
] ^ R4C
;
1085 tD
= HEAP
[inv_sbox
| sD
] ^ R4D
;
1086 tE
= HEAP
[inv_sbox
| sE
] ^ R4E
;
1087 tF
= HEAP
[inv_sbox
| sF
] ^ R4F
;
1088 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
1089 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
1090 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
1091 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
1092 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
1093 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
1094 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
1095 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
1096 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
1097 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
1098 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
1099 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
1100 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
1101 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
1102 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
1103 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
1104 t0
= HEAP
[inv_sbox
| s0
] ^ R30
;
1105 t1
= HEAP
[inv_sbox
| s1
] ^ R31
;
1106 t2
= HEAP
[inv_sbox
| s2
] ^ R32
;
1107 t3
= HEAP
[inv_sbox
| s3
] ^ R33
;
1108 t4
= HEAP
[inv_sbox
| s4
] ^ R34
;
1109 t5
= HEAP
[inv_sbox
| s5
] ^ R35
;
1110 t6
= HEAP
[inv_sbox
| s6
] ^ R36
;
1111 t7
= HEAP
[inv_sbox
| s7
] ^ R37
;
1112 t8
= HEAP
[inv_sbox
| s8
] ^ R38
;
1113 t9
= HEAP
[inv_sbox
| s9
] ^ R39
;
1114 tA
= HEAP
[inv_sbox
| sA
] ^ R3A
;
1115 tB
= HEAP
[inv_sbox
| sB
] ^ R3B
;
1116 tC
= HEAP
[inv_sbox
| sC
] ^ R3C
;
1117 tD
= HEAP
[inv_sbox
| sD
] ^ R3D
;
1118 tE
= HEAP
[inv_sbox
| sE
] ^ R3E
;
1119 tF
= HEAP
[inv_sbox
| sF
] ^ R3F
;
1120 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
1121 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
1122 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
1123 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
1124 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
1125 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
1126 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
1127 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
1128 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
1129 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
1130 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
1131 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
1132 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
1133 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
1134 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
1135 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
1136 t0
= HEAP
[inv_sbox
| s0
] ^ R20
;
1137 t1
= HEAP
[inv_sbox
| s1
] ^ R21
;
1138 t2
= HEAP
[inv_sbox
| s2
] ^ R22
;
1139 t3
= HEAP
[inv_sbox
| s3
] ^ R23
;
1140 t4
= HEAP
[inv_sbox
| s4
] ^ R24
;
1141 t5
= HEAP
[inv_sbox
| s5
] ^ R25
;
1142 t6
= HEAP
[inv_sbox
| s6
] ^ R26
;
1143 t7
= HEAP
[inv_sbox
| s7
] ^ R27
;
1144 t8
= HEAP
[inv_sbox
| s8
] ^ R28
;
1145 t9
= HEAP
[inv_sbox
| s9
] ^ R29
;
1146 tA
= HEAP
[inv_sbox
| sA
] ^ R2A
;
1147 tB
= HEAP
[inv_sbox
| sB
] ^ R2B
;
1148 tC
= HEAP
[inv_sbox
| sC
] ^ R2C
;
1149 tD
= HEAP
[inv_sbox
| sD
] ^ R2D
;
1150 tE
= HEAP
[inv_sbox
| sE
] ^ R2E
;
1151 tF
= HEAP
[inv_sbox
| sF
] ^ R2F
;
1152 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
1153 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
1154 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
1155 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
1156 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
1157 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
1158 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
1159 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
1160 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
1161 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
1162 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
1163 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
1164 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
1165 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
1166 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
1167 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
1168 t0
= HEAP
[inv_sbox
| s0
] ^ R10
;
1169 t1
= HEAP
[inv_sbox
| s1
] ^ R11
;
1170 t2
= HEAP
[inv_sbox
| s2
] ^ R12
;
1171 t3
= HEAP
[inv_sbox
| s3
] ^ R13
;
1172 t4
= HEAP
[inv_sbox
| s4
] ^ R14
;
1173 t5
= HEAP
[inv_sbox
| s5
] ^ R15
;
1174 t6
= HEAP
[inv_sbox
| s6
] ^ R16
;
1175 t7
= HEAP
[inv_sbox
| s7
] ^ R17
;
1176 t8
= HEAP
[inv_sbox
| s8
] ^ R18
;
1177 t9
= HEAP
[inv_sbox
| s9
] ^ R19
;
1178 tA
= HEAP
[inv_sbox
| sA
] ^ R1A
;
1179 tB
= HEAP
[inv_sbox
| sB
] ^ R1B
;
1180 tC
= HEAP
[inv_sbox
| sC
] ^ R1C
;
1181 tD
= HEAP
[inv_sbox
| sD
] ^ R1D
;
1182 tE
= HEAP
[inv_sbox
| sE
] ^ R1E
;
1183 tF
= HEAP
[inv_sbox
| sF
] ^ R1F
;
1184 s0
= HEAP
[xE
| t0
] ^ HEAP
[xB
| t1
] ^ HEAP
[xD
| t2
] ^ HEAP
[x9
| t3
];
1185 s1
= HEAP
[x9
| tC
] ^ HEAP
[xE
| tD
] ^ HEAP
[xB
| tE
] ^ HEAP
[xD
| tF
];
1186 s2
= HEAP
[xD
| t8
] ^ HEAP
[x9
| t9
] ^ HEAP
[xE
| tA
] ^ HEAP
[xB
| tB
];
1187 s3
= HEAP
[xB
| t4
] ^ HEAP
[xD
| t5
] ^ HEAP
[x9
| t6
] ^ HEAP
[xE
| t7
];
1188 s4
= HEAP
[xE
| t4
] ^ HEAP
[xB
| t5
] ^ HEAP
[xD
| t6
] ^ HEAP
[x9
| t7
];
1189 s5
= HEAP
[x9
| t0
] ^ HEAP
[xE
| t1
] ^ HEAP
[xB
| t2
] ^ HEAP
[xD
| t3
];
1190 s6
= HEAP
[xD
| tC
] ^ HEAP
[x9
| tD
] ^ HEAP
[xE
| tE
] ^ HEAP
[xB
| tF
];
1191 s7
= HEAP
[xB
| t8
] ^ HEAP
[xD
| t9
] ^ HEAP
[x9
| tA
] ^ HEAP
[xE
| tB
];
1192 s8
= HEAP
[xE
| t8
] ^ HEAP
[xB
| t9
] ^ HEAP
[xD
| tA
] ^ HEAP
[x9
| tB
];
1193 s9
= HEAP
[x9
| t4
] ^ HEAP
[xE
| t5
] ^ HEAP
[xB
| t6
] ^ HEAP
[xD
| t7
];
1194 sA
= HEAP
[xD
| t0
] ^ HEAP
[x9
| t1
] ^ HEAP
[xE
| t2
] ^ HEAP
[xB
| t3
];
1195 sB
= HEAP
[xB
| tC
] ^ HEAP
[xD
| tD
] ^ HEAP
[x9
| tE
] ^ HEAP
[xE
| tF
];
1196 sC
= HEAP
[xE
| tC
] ^ HEAP
[xB
| tD
] ^ HEAP
[xD
| tE
] ^ HEAP
[x9
| tF
];
1197 sD
= HEAP
[x9
| t8
] ^ HEAP
[xE
| t9
] ^ HEAP
[xB
| tA
] ^ HEAP
[xD
| tB
];
1198 sE
= HEAP
[xD
| t4
] ^ HEAP
[x9
| t5
] ^ HEAP
[xE
| t6
] ^ HEAP
[xB
| t7
];
1199 sF
= HEAP
[xB
| t0
] ^ HEAP
[xD
| t1
] ^ HEAP
[x9
| t2
] ^ HEAP
[xE
| t3
];
1200 S0
= HEAP
[inv_sbox
| s0
] ^ R00
;
1201 S1
= HEAP
[inv_sbox
| s1
] ^ R01
;
1202 S2
= HEAP
[inv_sbox
| s2
] ^ R02
;
1203 S3
= HEAP
[inv_sbox
| s3
] ^ R03
;
1204 S4
= HEAP
[inv_sbox
| s4
] ^ R04
;
1205 S5
= HEAP
[inv_sbox
| s5
] ^ R05
;
1206 S6
= HEAP
[inv_sbox
| s6
] ^ R06
;
1207 S7
= HEAP
[inv_sbox
| s7
] ^ R07
;
1208 S8
= HEAP
[inv_sbox
| s8
] ^ R08
;
1209 S9
= HEAP
[inv_sbox
| s9
] ^ R09
;
1210 SA
= HEAP
[inv_sbox
| sA
] ^ R0A
;
1211 SB
= HEAP
[inv_sbox
| sB
] ^ R0B
;
1212 SC
= HEAP
[inv_sbox
| sC
] ^ R0C
;
1213 SD
= HEAP
[inv_sbox
| sD
] ^ R0D
;
1214 SE
= HEAP
[inv_sbox
| sE
] ^ R0E
;
1215 SF
= HEAP
[inv_sbox
| sF
] ^ R0F
;
1217 function init_state(s0
, s1
, s2
, s3
, s4
, s5
, s6
, s7
, s8
, s9
, sA
, sB
, sC
, sD
, sE
, sF
) {
1251 function save_state(offset
) {
1252 offset
= offset
| 0;
1254 HEAP
[offset
| 1] = S1
;
1255 HEAP
[offset
| 2] = S2
;
1256 HEAP
[offset
| 3] = S3
;
1257 HEAP
[offset
| 4] = S4
;
1258 HEAP
[offset
| 5] = S5
;
1259 HEAP
[offset
| 6] = S6
;
1260 HEAP
[offset
| 7] = S7
;
1261 HEAP
[offset
| 8] = S8
;
1262 HEAP
[offset
| 9] = S9
;
1263 HEAP
[offset
| 10] = SA
;
1264 HEAP
[offset
| 11] = SB
;
1265 HEAP
[offset
| 12] = SC
;
1266 HEAP
[offset
| 13] = SD
;
1267 HEAP
[offset
| 14] = SE
;
1268 HEAP
[offset
| 15] = SF
;
1270 function init_key_128(k0
, k1
, k2
, k3
, k4
, k5
, k6
, k7
, k8
, k9
, kA
, kB
, kC
, kD
, kE
, kF
) {
1306 function init_key_256(k00
, k01
, k02
, k03
, k04
, k05
, k06
, k07
, k08
, k09
, k0A
, k0B
, k0C
, k0D
, k0E
, k0F
, k10
, k11
, k12
, k13
, k14
, k15
, k16
, k17
, k18
, k19
, k1A
, k1B
, k1C
, k1D
, k1E
, k1F
) {
1374 function cbc_encrypt(offset
, length
) {
1375 offset
= offset
| 0;
1376 length
= length
| 0;
1378 if (offset
& 15) return -1;
1379 while ((length
| 0) >= 16) {
1380 _encrypt(S0
^ HEAP
[offset
], S1
^ HEAP
[offset
| 1], S2
^ HEAP
[offset
| 2], S3
^ HEAP
[offset
| 3], S4
^ HEAP
[offset
| 4], S5
^ HEAP
[offset
| 5], S6
^ HEAP
[offset
| 6], S7
^ HEAP
[offset
| 7], S8
^ HEAP
[offset
| 8], S9
^ HEAP
[offset
| 9], SA
^ HEAP
[offset
| 10], SB
^ HEAP
[offset
| 11], SC
^ HEAP
[offset
| 12], SD
^ HEAP
[offset
| 13], SE
^ HEAP
[offset
| 14], SF
^ HEAP
[offset
| 15]);
1382 HEAP
[offset
| 1] = S1
;
1383 HEAP
[offset
| 2] = S2
;
1384 HEAP
[offset
| 3] = S3
;
1385 HEAP
[offset
| 4] = S4
;
1386 HEAP
[offset
| 5] = S5
;
1387 HEAP
[offset
| 6] = S6
;
1388 HEAP
[offset
| 7] = S7
;
1389 HEAP
[offset
| 8] = S8
;
1390 HEAP
[offset
| 9] = S9
;
1391 HEAP
[offset
| 10] = SA
;
1392 HEAP
[offset
| 11] = SB
;
1393 HEAP
[offset
| 12] = SC
;
1394 HEAP
[offset
| 13] = SD
;
1395 HEAP
[offset
| 14] = SE
;
1396 HEAP
[offset
| 15] = SF
;
1397 offset
= offset
+ 16 | 0;
1398 length
= length
- 16 | 0;
1399 encrypted
= encrypted
+ 16 | 0;
1401 return encrypted
| 0;
1403 function cbc_decrypt(offset
, length
) {
1404 offset
= offset
| 0;
1405 length
= length
| 0;
1406 var iv0
= 0, iv1
= 0, iv2
= 0, iv3
= 0, iv4
= 0, iv5
= 0, iv6
= 0, iv7
= 0, iv8
= 0, iv9
= 0, ivA
= 0, ivB
= 0, ivC
= 0, ivD
= 0, ivE
= 0, ivF
= 0, decrypted
= 0;
1407 if (offset
& 15) return -1;
1424 while ((length
| 0) >= 16) {
1425 _decrypt(HEAP
[offset
] | 0, HEAP
[offset
| 1] | 0, HEAP
[offset
| 2] | 0, HEAP
[offset
| 3] | 0, HEAP
[offset
| 4] | 0, HEAP
[offset
| 5] | 0, HEAP
[offset
| 6] | 0, HEAP
[offset
| 7] | 0, HEAP
[offset
| 8] | 0, HEAP
[offset
| 9] | 0, HEAP
[offset
| 10] | 0, HEAP
[offset
| 11] | 0, HEAP
[offset
| 12] | 0, HEAP
[offset
| 13] | 0, HEAP
[offset
| 14] | 0, HEAP
[offset
| 15] | 0);
1427 iv0
= HEAP
[offset
] | 0;
1429 iv1
= HEAP
[offset
| 1] | 0;
1431 iv2
= HEAP
[offset
| 2] | 0;
1433 iv3
= HEAP
[offset
| 3] | 0;
1435 iv4
= HEAP
[offset
| 4] | 0;
1437 iv5
= HEAP
[offset
| 5] | 0;
1439 iv6
= HEAP
[offset
| 6] | 0;
1441 iv7
= HEAP
[offset
| 7] | 0;
1443 iv8
= HEAP
[offset
| 8] | 0;
1445 iv9
= HEAP
[offset
| 9] | 0;
1447 ivA
= HEAP
[offset
| 10] | 0;
1449 ivB
= HEAP
[offset
| 11] | 0;
1451 ivC
= HEAP
[offset
| 12] | 0;
1453 ivD
= HEAP
[offset
| 13] | 0;
1455 ivE
= HEAP
[offset
| 14] | 0;
1457 ivF
= HEAP
[offset
| 15] | 0;
1459 HEAP
[offset
| 1] = S1
;
1460 HEAP
[offset
| 2] = S2
;
1461 HEAP
[offset
| 3] = S3
;
1462 HEAP
[offset
| 4] = S4
;
1463 HEAP
[offset
| 5] = S5
;
1464 HEAP
[offset
| 6] = S6
;
1465 HEAP
[offset
| 7] = S7
;
1466 HEAP
[offset
| 8] = S8
;
1467 HEAP
[offset
| 9] = S9
;
1468 HEAP
[offset
| 10] = SA
;
1469 HEAP
[offset
| 11] = SB
;
1470 HEAP
[offset
| 12] = SC
;
1471 HEAP
[offset
| 13] = SD
;
1472 HEAP
[offset
| 14] = SE
;
1473 HEAP
[offset
| 15] = SF
;
1474 offset
= offset
+ 16 | 0;
1475 length
= length
- 16 | 0;
1476 decrypted
= decrypted
+ 16 | 0;
1494 return decrypted
| 0;
1496 function cbc_mac(offset
, length
, output
) {
1497 offset
= offset
| 0;
1498 length
= length
| 0;
1499 output
= output
| 0;
1500 if (offset
& 15) return -1;
1501 if (~output
) if (output
& 31) return -1;
1502 while ((length
| 0) >= 16) {
1503 _encrypt(S0
^ HEAP
[offset
], S1
^ HEAP
[offset
| 1], S2
^ HEAP
[offset
| 2], S3
^ HEAP
[offset
| 3], S4
^ HEAP
[offset
| 4], S5
^ HEAP
[offset
| 5], S6
^ HEAP
[offset
| 6], S7
^ HEAP
[offset
| 7], S8
^ HEAP
[offset
| 8], S9
^ HEAP
[offset
| 9], SA
^ HEAP
[offset
| 10], SB
^ HEAP
[offset
| 11], SC
^ HEAP
[offset
| 12], SD
^ HEAP
[offset
| 13], SE
^ HEAP
[offset
| 14], SF
^ HEAP
[offset
| 15]);
1504 offset
= offset
+ 16 | 0;
1505 length
= length
- 16 | 0;
1507 if ((length
| 0) > 0) {
1508 S0
= S0
^ HEAP
[offset
];
1509 if ((length
| 0) > 1) S1
= S1
^ HEAP
[offset
| 1];
1510 if ((length
| 0) > 2) S2
= S2
^ HEAP
[offset
| 2];
1511 if ((length
| 0) > 3) S3
= S3
^ HEAP
[offset
| 3];
1512 if ((length
| 0) > 4) S4
= S4
^ HEAP
[offset
| 4];
1513 if ((length
| 0) > 5) S5
= S5
^ HEAP
[offset
| 5];
1514 if ((length
| 0) > 6) S6
= S6
^ HEAP
[offset
| 6];
1515 if ((length
| 0) > 7) S7
= S7
^ HEAP
[offset
| 7];
1516 if ((length
| 0) > 8) S8
= S8
^ HEAP
[offset
| 8];
1517 if ((length
| 0) > 9) S9
= S9
^ HEAP
[offset
| 9];
1518 if ((length
| 0) > 10) SA
= SA
^ HEAP
[offset
| 10];
1519 if ((length
| 0) > 11) SB
= SB
^ HEAP
[offset
| 11];
1520 if ((length
| 0) > 12) SC
= SC
^ HEAP
[offset
| 12];
1521 if ((length
| 0) > 13) SD
= SD
^ HEAP
[offset
| 13];
1522 if ((length
| 0) > 14) SE
= SE
^ HEAP
[offset
| 14];
1523 _encrypt(S0
, S1
, S2
, S3
, S4
, S5
, S6
, S7
, S8
, S9
, SA
, SB
, SC
, SD
, SE
, SF
);
1524 offset
= offset
+ length
| 0;
1528 HEAP
[output
| 0] = S0
;
1529 HEAP
[output
| 1] = S1
;
1530 HEAP
[output
| 2] = S2
;
1531 HEAP
[output
| 3] = S3
;
1532 HEAP
[output
| 4] = S4
;
1533 HEAP
[output
| 5] = S5
;
1534 HEAP
[output
| 6] = S6
;
1535 HEAP
[output
| 7] = S7
;
1536 HEAP
[output
| 8] = S8
;
1537 HEAP
[output
| 9] = S9
;
1538 HEAP
[output
| 10] = SA
;
1539 HEAP
[output
| 11] = SB
;
1540 HEAP
[output
| 12] = SC
;
1541 HEAP
[output
| 13] = SD
;
1542 HEAP
[output
| 14] = SE
;
1543 HEAP
[output
| 15] = SF
;
1547 function ccm_encrypt(offset
, length
, nonce0
, nonce1
, nonce2
, nonce3
, nonce4
, nonce5
, nonce6
, nonce7
, nonce8
, nonce9
, nonceA
, nonceB
, nonceC
, nonceD
, counter0
, counter1
) {
1548 offset
= offset
| 0;
1549 length
= length
| 0;
1550 nonce0
= nonce0
| 0;
1551 nonce1
= nonce1
| 0;
1552 nonce2
= nonce2
| 0;
1553 nonce3
= nonce3
| 0;
1554 nonce4
= nonce4
| 0;
1555 nonce5
= nonce5
| 0;
1556 nonce6
= nonce6
| 0;
1557 nonce7
= nonce7
| 0;
1558 nonce8
= nonce8
| 0;
1559 nonce9
= nonce9
| 0;
1560 nonceA
= nonceA
| 0;
1561 nonceB
= nonceB
| 0;
1562 nonceC
= nonceC
| 0;
1563 nonceD
= nonceD
| 0;
1564 counter0
= counter0
| 0;
1565 counter1
= counter1
| 0;
1566 var iv0
= 0, iv1
= 0, iv2
= 0, iv3
= 0, iv4
= 0, iv5
= 0, iv6
= 0, iv7
= 0, iv8
= 0, iv9
= 0, ivA
= 0, ivB
= 0, ivC
= 0, ivD
= 0, ivE
= 0, ivF
= 0, s0
= 0, s1
= 0, s2
= 0, s3
= 0, s4
= 0, s5
= 0, s6
= 0, s7
= 0, s8
= 0, s9
= 0, sA
= 0, sB
= 0, sC
= 0, sD
= 0, sE
= 0, sF
= 0, encrypted
= 0;
1567 if (offset
& 15) return -1;
1568 iv0
= S0
, iv1
= S1
, iv2
= S2
, iv3
= S3
, iv4
= S4
, iv5
= S5
, iv6
= S6
, iv7
= S7
,
1569 iv8
= S8
, iv9
= S9
, ivA
= SA
, ivB
= SB
, ivC
= SC
, ivD
= SD
, ivE
= SE
, ivF
= SF
;
1570 while ((length
| 0) >= 16) {
1571 s0
= HEAP
[offset
] | 0;
1572 s1
= HEAP
[offset
| 1] | 0;
1573 s2
= HEAP
[offset
| 2] | 0;
1574 s3
= HEAP
[offset
| 3] | 0;
1575 s4
= HEAP
[offset
| 4] | 0;
1576 s5
= HEAP
[offset
| 5] | 0;
1577 s6
= HEAP
[offset
| 6] | 0;
1578 s7
= HEAP
[offset
| 7] | 0;
1579 s8
= HEAP
[offset
| 8] | 0;
1580 s9
= HEAP
[offset
| 9] | 0;
1581 sA
= HEAP
[offset
| 10] | 0;
1582 sB
= HEAP
[offset
| 11] | 0;
1583 sC
= HEAP
[offset
| 12] | 0;
1584 sD
= HEAP
[offset
| 13] | 0;
1585 sE
= HEAP
[offset
| 14] | 0;
1586 sF
= HEAP
[offset
| 15] | 0;
1587 _encrypt(nonce0
, nonce1
, nonce2
, nonce3
, nonce4
, nonce5
, nonce6
, nonce7
, nonce8
^ counter0
>>> 24, nonce9
^ counter0
>>> 16 & 255, nonceA
^ counter0
>>> 8 & 255, nonceB
^ counter0
& 255, nonceC
^ counter1
>>> 24, nonceD
^ counter1
>>> 16 & 255, counter1
>>> 8 & 255, counter1
& 255);
1588 HEAP
[offset
] = s0
^ S0
;
1589 HEAP
[offset
| 1] = s1
^ S1
;
1590 HEAP
[offset
| 2] = s2
^ S2
;
1591 HEAP
[offset
| 3] = s3
^ S3
;
1592 HEAP
[offset
| 4] = s4
^ S4
;
1593 HEAP
[offset
| 5] = s5
^ S5
;
1594 HEAP
[offset
| 6] = s6
^ S6
;
1595 HEAP
[offset
| 7] = s7
^ S7
;
1596 HEAP
[offset
| 8] = s8
^ S8
;
1597 HEAP
[offset
| 9] = s9
^ S9
;
1598 HEAP
[offset
| 10] = sA
^ SA
;
1599 HEAP
[offset
| 11] = sB
^ SB
;
1600 HEAP
[offset
| 12] = sC
^ SC
;
1601 HEAP
[offset
| 13] = sD
^ SD
;
1602 HEAP
[offset
| 14] = sE
^ SE
;
1603 HEAP
[offset
| 15] = sF
^ SF
;
1604 _encrypt(s0
^ iv0
, s1
^ iv1
, s2
^ iv2
, s3
^ iv3
, s4
^ iv4
, s5
^ iv5
, s6
^ iv6
, s7
^ iv7
, s8
^ iv8
, s9
^ iv9
, sA
^ ivA
, sB
^ ivB
, sC
^ ivC
, sD
^ ivD
, sE
^ ivE
, sF
^ ivF
);
1605 iv0
= S0
, iv1
= S1
, iv2
= S2
, iv3
= S3
, iv4
= S4
, iv5
= S5
, iv6
= S6
, iv7
= S7
,
1606 iv8
= S8
, iv9
= S9
, ivA
= SA
, ivB
= SB
, ivC
= SC
, ivD
= SD
, ivE
= SE
, ivF
= SF
;
1607 encrypted
= encrypted
+ 16 | 0;
1608 offset
= offset
+ 16 | 0;
1609 length
= length
- 16 | 0;
1610 counter1
= counter1
+ 1 | 0;
1611 if ((counter1
| 0) == 0) counter0
= counter0
+ 1 | 0;
1613 if ((length
| 0) > 0) {
1614 s0
= HEAP
[offset
] | 0;
1615 s1
= (length
| 0) > 1 ? HEAP
[offset
| 1] | 0 : 0;
1616 s2
= (length
| 0) > 2 ? HEAP
[offset
| 2] | 0 : 0;
1617 s3
= (length
| 0) > 3 ? HEAP
[offset
| 3] | 0 : 0;
1618 s4
= (length
| 0) > 4 ? HEAP
[offset
| 4] | 0 : 0;
1619 s5
= (length
| 0) > 5 ? HEAP
[offset
| 5] | 0 : 0;
1620 s6
= (length
| 0) > 6 ? HEAP
[offset
| 6] | 0 : 0;
1621 s7
= (length
| 0) > 7 ? HEAP
[offset
| 7] | 0 : 0;
1622 s8
= (length
| 0) > 8 ? HEAP
[offset
| 8] | 0 : 0;
1623 s9
= (length
| 0) > 9 ? HEAP
[offset
| 9] | 0 : 0;
1624 sA
= (length
| 0) > 10 ? HEAP
[offset
| 10] | 0 : 0;
1625 sB
= (length
| 0) > 11 ? HEAP
[offset
| 11] | 0 : 0;
1626 sC
= (length
| 0) > 12 ? HEAP
[offset
| 12] | 0 : 0;
1627 sD
= (length
| 0) > 13 ? HEAP
[offset
| 13] | 0 : 0;
1628 sE
= (length
| 0) > 14 ? HEAP
[offset
| 14] | 0 : 0;
1629 _encrypt(nonce0
, nonce1
, nonce2
, nonce3
, nonce4
, nonce5
, nonce6
, nonce7
, nonce8
^ counter0
>>> 24, nonce9
^ counter0
>>> 16 & 255, nonceA
^ counter0
>>> 8 & 255, nonceB
^ counter0
& 255, nonceC
^ counter1
>>> 24, nonceD
^ counter1
>>> 16 & 255, counter1
>>> 8 & 255, counter1
& 255);
1630 HEAP
[offset
] = s0
^ S0
;
1631 if ((length
| 0) > 1) HEAP
[offset
| 1] = s1
^ S1
;
1632 if ((length
| 0) > 2) HEAP
[offset
| 2] = s2
^ S2
;
1633 if ((length
| 0) > 3) HEAP
[offset
| 3] = s3
^ S3
;
1634 if ((length
| 0) > 4) HEAP
[offset
| 4] = s4
^ S4
;
1635 if ((length
| 0) > 5) HEAP
[offset
| 5] = s5
^ S5
;
1636 if ((length
| 0) > 6) HEAP
[offset
| 6] = s6
^ S6
;
1637 if ((length
| 0) > 7) HEAP
[offset
| 7] = s7
^ S7
;
1638 if ((length
| 0) > 8) HEAP
[offset
| 8] = s8
^ S8
;
1639 if ((length
| 0) > 9) HEAP
[offset
| 9] = s9
^ S9
;
1640 if ((length
| 0) > 10) HEAP
[offset
| 10] = sA
^ SA
;
1641 if ((length
| 0) > 11) HEAP
[offset
| 11] = sB
^ SB
;
1642 if ((length
| 0) > 12) HEAP
[offset
| 12] = sC
^ SC
;
1643 if ((length
| 0) > 13) HEAP
[offset
| 13] = sD
^ SD
;
1644 if ((length
| 0) > 14) HEAP
[offset
| 14] = sE
^ SE
;
1645 _encrypt(s0
^ iv0
, s1
^ iv1
, s2
^ iv2
, s3
^ iv3
, s4
^ iv4
, s5
^ iv5
, s6
^ iv6
, s7
^ iv7
, s8
^ iv8
, s9
^ iv9
, sA
^ ivA
, sB
^ ivB
, sC
^ ivC
, sD
^ ivD
, sE
^ ivE
, ivF
);
1646 iv0
= S0
, iv1
= S1
, iv2
= S2
, iv3
= S3
, iv4
= S4
, iv5
= S5
, iv6
= S6
, iv7
= S7
,
1647 iv8
= S8
, iv9
= S9
, ivA
= SA
, ivB
= SB
, ivC
= SC
, ivD
= SD
, ivE
= SE
, ivF
= SF
;
1648 encrypted
= encrypted
+ length
| 0;
1649 offset
= offset
+ length
| 0;
1651 counter1
= counter1
+ 1 | 0;
1652 if ((counter1
| 0) == 0) counter0
= counter0
+ 1 | 0;
1654 return encrypted
| 0;
1656 function ccm_decrypt(offset
, length
, nonce0
, nonce1
, nonce2
, nonce3
, nonce4
, nonce5
, nonce6
, nonce7
, nonce8
, nonce9
, nonceA
, nonceB
, nonceC
, nonceD
, counter0
, counter1
) {
1657 offset
= offset
| 0;
1658 length
= length
| 0;
1659 nonce0
= nonce0
| 0;
1660 nonce1
= nonce1
| 0;
1661 nonce2
= nonce2
| 0;
1662 nonce3
= nonce3
| 0;
1663 nonce4
= nonce4
| 0;
1664 nonce5
= nonce5
| 0;
1665 nonce6
= nonce6
| 0;
1666 nonce7
= nonce7
| 0;
1667 nonce8
= nonce8
| 0;
1668 nonce9
= nonce9
| 0;
1669 nonceA
= nonceA
| 0;
1670 nonceB
= nonceB
| 0;
1671 nonceC
= nonceC
| 0;
1672 nonceD
= nonceD
| 0;
1673 counter0
= counter0
| 0;
1674 counter1
= counter1
| 0;
1675 var iv0
= 0, iv1
= 0, iv2
= 0, iv3
= 0, iv4
= 0, iv5
= 0, iv6
= 0, iv7
= 0, iv8
= 0, iv9
= 0, ivA
= 0, ivB
= 0, ivC
= 0, ivD
= 0, ivE
= 0, ivF
= 0, s0
= 0, s1
= 0, s2
= 0, s3
= 0, s4
= 0, s5
= 0, s6
= 0, s7
= 0, s8
= 0, s9
= 0, sA
= 0, sB
= 0, sC
= 0, sD
= 0, sE
= 0, sF
= 0, decrypted
= 0;
1676 if (offset
& 15) return -1;
1677 iv0
= S0
, iv1
= S1
, iv2
= S2
, iv3
= S3
, iv4
= S4
, iv5
= S5
, iv6
= S6
, iv7
= S7
,
1678 iv8
= S8
, iv9
= S9
, ivA
= SA
, ivB
= SB
, ivC
= SC
, ivD
= SD
, ivE
= SE
, ivF
= SF
;
1679 while ((length
| 0) >= 16) {
1680 _encrypt(nonce0
, nonce1
, nonce2
, nonce3
, nonce4
, nonce5
, nonce6
, nonce7
, nonce8
^ counter0
>>> 24, nonce9
^ counter0
>>> 16 & 255, nonceA
^ counter0
>>> 8 & 255, nonceB
^ counter0
& 255, nonceC
^ counter1
>>> 24, nonceD
^ counter1
>>> 16 & 255, counter1
>>> 8 & 255, counter1
& 255);
1681 HEAP
[offset
] = s0
= HEAP
[offset
] ^ S0
;
1682 HEAP
[offset
| 1] = s1
= HEAP
[offset
| 1] ^ S1
;
1683 HEAP
[offset
| 2] = s2
= HEAP
[offset
| 2] ^ S2
;
1684 HEAP
[offset
| 3] = s3
= HEAP
[offset
| 3] ^ S3
;
1685 HEAP
[offset
| 4] = s4
= HEAP
[offset
| 4] ^ S4
;
1686 HEAP
[offset
| 5] = s5
= HEAP
[offset
| 5] ^ S5
;
1687 HEAP
[offset
| 6] = s6
= HEAP
[offset
| 6] ^ S6
;
1688 HEAP
[offset
| 7] = s7
= HEAP
[offset
| 7] ^ S7
;
1689 HEAP
[offset
| 8] = s8
= HEAP
[offset
| 8] ^ S8
;
1690 HEAP
[offset
| 9] = s9
= HEAP
[offset
| 9] ^ S9
;
1691 HEAP
[offset
| 10] = sA
= HEAP
[offset
| 10] ^ SA
;
1692 HEAP
[offset
| 11] = sB
= HEAP
[offset
| 11] ^ SB
;
1693 HEAP
[offset
| 12] = sC
= HEAP
[offset
| 12] ^ SC
;
1694 HEAP
[offset
| 13] = sD
= HEAP
[offset
| 13] ^ SD
;
1695 HEAP
[offset
| 14] = sE
= HEAP
[offset
| 14] ^ SE
;
1696 HEAP
[offset
| 15] = sF
= HEAP
[offset
| 15] ^ SF
;
1697 _encrypt(s0
^ iv0
, s1
^ iv1
, s2
^ iv2
, s3
^ iv3
, s4
^ iv4
, s5
^ iv5
, s6
^ iv6
, s7
^ iv7
, s8
^ iv8
, s9
^ iv9
, sA
^ ivA
, sB
^ ivB
, sC
^ ivC
, sD
^ ivD
, sE
^ ivE
, sF
^ ivF
);
1698 iv0
= S0
, iv1
= S1
, iv2
= S2
, iv3
= S3
, iv4
= S4
, iv5
= S5
, iv6
= S6
, iv7
= S7
,
1699 iv8
= S8
, iv9
= S9
, ivA
= SA
, ivB
= SB
, ivC
= SC
, ivD
= SD
, ivE
= SE
, ivF
= SF
;
1700 decrypted
= decrypted
+ 16 | 0;
1701 offset
= offset
+ 16 | 0;
1702 length
= length
- 16 | 0;
1703 counter1
= counter1
+ 1 | 0;
1704 if ((counter1
| 0) == 0) counter0
= counter0
+ 1 | 0;
1706 if ((length
| 0) > 0) {
1707 _encrypt(nonce0
, nonce1
, nonce2
, nonce3
, nonce4
, nonce5
, nonce6
, nonce7
, nonce8
^ counter0
>>> 24, nonce9
^ counter0
>>> 16 & 255, nonceA
^ counter0
>>> 8 & 255, nonceB
^ counter0
& 255, nonceC
^ counter1
>>> 24, nonceD
^ counter1
>>> 16 & 255, counter1
>>> 8 & 255, counter1
& 255);
1708 s0
= HEAP
[offset
] ^ S0
;
1709 s1
= (length
| 0) > 1 ? HEAP
[offset
| 1] ^ S1 : 0;
1710 s2
= (length
| 0) > 2 ? HEAP
[offset
| 2] ^ S2 : 0;
1711 s3
= (length
| 0) > 3 ? HEAP
[offset
| 3] ^ S3 : 0;
1712 s4
= (length
| 0) > 4 ? HEAP
[offset
| 4] ^ S4 : 0;
1713 s5
= (length
| 0) > 5 ? HEAP
[offset
| 5] ^ S5 : 0;
1714 s6
= (length
| 0) > 6 ? HEAP
[offset
| 6] ^ S6 : 0;
1715 s7
= (length
| 0) > 7 ? HEAP
[offset
| 7] ^ S7 : 0;
1716 s8
= (length
| 0) > 8 ? HEAP
[offset
| 8] ^ S8 : 0;
1717 s9
= (length
| 0) > 9 ? HEAP
[offset
| 9] ^ S9 : 0;
1718 sA
= (length
| 0) > 10 ? HEAP
[offset
| 10] ^ SA : 0;
1719 sB
= (length
| 0) > 11 ? HEAP
[offset
| 11] ^ SB : 0;
1720 sC
= (length
| 0) > 12 ? HEAP
[offset
| 12] ^ SC : 0;
1721 sD
= (length
| 0) > 13 ? HEAP
[offset
| 13] ^ SD : 0;
1722 sE
= (length
| 0) > 14 ? HEAP
[offset
| 14] ^ SE : 0;
1723 sF
= (length
| 0) > 15 ? HEAP
[offset
| 15] ^ SF : 0;
1725 if ((length
| 0) > 1) HEAP
[offset
| 1] = s1
;
1726 if ((length
| 0) > 2) HEAP
[offset
| 2] = s2
;
1727 if ((length
| 0) > 3) HEAP
[offset
| 3] = s3
;
1728 if ((length
| 0) > 4) HEAP
[offset
| 4] = s4
;
1729 if ((length
| 0) > 5) HEAP
[offset
| 5] = s5
;
1730 if ((length
| 0) > 6) HEAP
[offset
| 6] = s6
;
1731 if ((length
| 0) > 7) HEAP
[offset
| 7] = s7
;
1732 if ((length
| 0) > 8) HEAP
[offset
| 8] = s8
;
1733 if ((length
| 0) > 9) HEAP
[offset
| 9] = s9
;
1734 if ((length
| 0) > 10) HEAP
[offset
| 10] = sA
;
1735 if ((length
| 0) > 11) HEAP
[offset
| 11] = sB
;
1736 if ((length
| 0) > 12) HEAP
[offset
| 12] = sC
;
1737 if ((length
| 0) > 13) HEAP
[offset
| 13] = sD
;
1738 if ((length
| 0) > 14) HEAP
[offset
| 14] = sE
;
1739 _encrypt(s0
^ iv0
, s1
^ iv1
, s2
^ iv2
, s3
^ iv3
, s4
^ iv4
, s5
^ iv5
, s6
^ iv6
, s7
^ iv7
, s8
^ iv8
, s9
^ iv9
, sA
^ ivA
, sB
^ ivB
, sC
^ ivC
, sD
^ ivD
, sE
^ ivE
, sF
^ ivF
);
1740 iv0
= S0
, iv1
= S1
, iv2
= S2
, iv3
= S3
, iv4
= S4
, iv5
= S5
, iv6
= S6
, iv7
= S7
,
1741 iv8
= S8
, iv9
= S9
, ivA
= SA
, ivB
= SB
, ivC
= SC
, ivD
= SD
, ivE
= SE
, ivF
= SF
;
1742 decrypted
= decrypted
+ length
| 0;
1743 offset
= offset
+ length
| 0;
1745 counter1
= counter1
+ 1 | 0;
1746 if ((counter1
| 0) == 0) counter0
= counter0
+ 1 | 0;
1748 return decrypted
| 0;
1750 function cfb_encrypt(offset
, length
) {
1751 offset
= offset
| 0;
1752 length
= length
| 0;
1754 if (offset
& 15) return -1;
1755 while ((length
| 0) >= 16) {
1756 _encrypt(S0
, S1
, S2
, S3
, S4
, S5
, S6
, S7
, S8
, S9
, SA
, SB
, SC
, SD
, SE
, SF
);
1757 S0
= S0
^ HEAP
[offset
];
1758 S1
= S1
^ HEAP
[offset
| 1];
1759 S2
= S2
^ HEAP
[offset
| 2];
1760 S3
= S3
^ HEAP
[offset
| 3];
1761 S4
= S4
^ HEAP
[offset
| 4];
1762 S5
= S5
^ HEAP
[offset
| 5];
1763 S6
= S6
^ HEAP
[offset
| 6];
1764 S7
= S7
^ HEAP
[offset
| 7];
1765 S8
= S8
^ HEAP
[offset
| 8];
1766 S9
= S9
^ HEAP
[offset
| 9];
1767 SA
= SA
^ HEAP
[offset
| 10];
1768 SB
= SB
^ HEAP
[offset
| 11];
1769 SC
= SC
^ HEAP
[offset
| 12];
1770 SD
= SD
^ HEAP
[offset
| 13];
1771 SE
= SE
^ HEAP
[offset
| 14];
1772 SF
= SF
^ HEAP
[offset
| 15];
1774 HEAP
[offset
| 1] = S1
;
1775 HEAP
[offset
| 2] = S2
;
1776 HEAP
[offset
| 3] = S3
;
1777 HEAP
[offset
| 4] = S4
;
1778 HEAP
[offset
| 5] = S5
;
1779 HEAP
[offset
| 6] = S6
;
1780 HEAP
[offset
| 7] = S7
;
1781 HEAP
[offset
| 8] = S8
;
1782 HEAP
[offset
| 9] = S9
;
1783 HEAP
[offset
| 10] = SA
;
1784 HEAP
[offset
| 11] = SB
;
1785 HEAP
[offset
| 12] = SC
;
1786 HEAP
[offset
| 13] = SD
;
1787 HEAP
[offset
| 14] = SE
;
1788 HEAP
[offset
| 15] = SF
;
1789 offset
= offset
+ 16 | 0;
1790 length
= length
- 16 | 0;
1791 encrypted
= encrypted
+ 16 | 0;
1793 if ((length
| 0) > 0) {
1794 _encrypt(S0
, S1
, S2
, S3
, S4
, S5
, S6
, S7
, S8
, S9
, SA
, SB
, SC
, SD
, SE
, SF
);
1795 HEAP
[offset
] = HEAP
[offset
] ^ S0
;
1796 if ((length
| 0) > 1) HEAP
[offset
| 1] = HEAP
[offset
| 1] ^ S1
;
1797 if ((length
| 0) > 2) HEAP
[offset
| 2] = HEAP
[offset
| 2] ^ S2
;
1798 if ((length
| 0) > 3) HEAP
[offset
| 3] = HEAP
[offset
| 3] ^ S3
;
1799 if ((length
| 0) > 4) HEAP
[offset
| 4] = HEAP
[offset
| 4] ^ S4
;
1800 if ((length
| 0) > 5) HEAP
[offset
| 5] = HEAP
[offset
| 5] ^ S5
;
1801 if ((length
| 0) > 6) HEAP
[offset
| 6] = HEAP
[offset
| 6] ^ S6
;
1802 if ((length
| 0) > 7) HEAP
[offset
| 7] = HEAP
[offset
| 7] ^ S7
;
1803 if ((length
| 0) > 8) HEAP
[offset
| 8] = HEAP
[offset
| 8] ^ S8
;
1804 if ((length
| 0) > 9) HEAP
[offset
| 9] = HEAP
[offset
| 9] ^ S9
;
1805 if ((length
| 0) > 10) HEAP
[offset
| 10] = HEAP
[offset
| 10] ^ SA
;
1806 if ((length
| 0) > 11) HEAP
[offset
| 11] = HEAP
[offset
| 11] ^ SB
;
1807 if ((length
| 0) > 12) HEAP
[offset
| 12] = HEAP
[offset
| 12] ^ SC
;
1808 if ((length
| 0) > 13) HEAP
[offset
| 13] = HEAP
[offset
| 13] ^ SD
;
1809 if ((length
| 0) > 14) HEAP
[offset
| 14] = HEAP
[offset
| 14] ^ SE
;
1810 encrypted
= encrypted
+ length
| 0;
1811 offset
= offset
+ length
| 0;
1814 return encrypted
| 0;
1816 function cfb_decrypt(offset
, length
) {
1817 offset
= offset
| 0;
1818 length
= length
| 0;
1819 var iv0
= 0, iv1
= 0, iv2
= 0, iv3
= 0, iv4
= 0, iv5
= 0, iv6
= 0, iv7
= 0, iv8
= 0, iv9
= 0, ivA
= 0, ivB
= 0, ivC
= 0, ivD
= 0, ivE
= 0, ivF
= 0, decrypted
= 0;
1820 if (offset
& 15) return -1;
1821 while ((length
| 0) >= 16) {
1822 _encrypt(S0
, S1
, S2
, S3
, S4
, S5
, S6
, S7
, S8
, S9
, SA
, SB
, SC
, SD
, SE
, SF
);
1823 iv0
= HEAP
[offset
] | 0;
1824 iv1
= HEAP
[offset
| 1] | 0;
1825 iv2
= HEAP
[offset
| 2] | 0;
1826 iv3
= HEAP
[offset
| 3] | 0;
1827 iv4
= HEAP
[offset
| 4] | 0;
1828 iv5
= HEAP
[offset
| 5] | 0;
1829 iv6
= HEAP
[offset
| 6] | 0;
1830 iv7
= HEAP
[offset
| 7] | 0;
1831 iv8
= HEAP
[offset
| 8] | 0;
1832 iv9
= HEAP
[offset
| 9] | 0;
1833 ivA
= HEAP
[offset
| 10] | 0;
1834 ivB
= HEAP
[offset
| 11] | 0;
1835 ivC
= HEAP
[offset
| 12] | 0;
1836 ivD
= HEAP
[offset
| 13] | 0;
1837 ivE
= HEAP
[offset
| 14] | 0;
1838 ivF
= HEAP
[offset
| 15] | 0;
1839 HEAP
[offset
] = S0
^ iv0
;
1840 HEAP
[offset
| 1] = S1
^ iv1
;
1841 HEAP
[offset
| 2] = S2
^ iv2
;
1842 HEAP
[offset
| 3] = S3
^ iv3
;
1843 HEAP
[offset
| 4] = S4
^ iv4
;
1844 HEAP
[offset
| 5] = S5
^ iv5
;
1845 HEAP
[offset
| 6] = S6
^ iv6
;
1846 HEAP
[offset
| 7] = S7
^ iv7
;
1847 HEAP
[offset
| 8] = S8
^ iv8
;
1848 HEAP
[offset
| 9] = S9
^ iv9
;
1849 HEAP
[offset
| 10] = SA
^ ivA
;
1850 HEAP
[offset
| 11] = SB
^ ivB
;
1851 HEAP
[offset
| 12] = SC
^ ivC
;
1852 HEAP
[offset
| 13] = SD
^ ivD
;
1853 HEAP
[offset
| 14] = SE
^ ivE
;
1854 HEAP
[offset
| 15] = SF
^ ivF
;
1871 offset
= offset
+ 16 | 0;
1872 length
= length
- 16 | 0;
1873 decrypted
= decrypted
+ 16 | 0;
1875 if ((length
| 0) > 0) {
1876 _encrypt(S0
, S1
, S2
, S3
, S4
, S5
, S6
, S7
, S8
, S9
, SA
, SB
, SC
, SD
, SE
, SF
);
1877 HEAP
[offset
] = HEAP
[offset
] ^ S0
;
1878 if ((length
| 0) > 1) HEAP
[offset
| 1] = HEAP
[offset
| 1] ^ S1
;
1879 if ((length
| 0) > 2) HEAP
[offset
| 2] = HEAP
[offset
| 2] ^ S2
;
1880 if ((length
| 0) > 3) HEAP
[offset
| 3] = HEAP
[offset
| 3] ^ S3
;
1881 if ((length
| 0) > 4) HEAP
[offset
| 4] = HEAP
[offset
| 4] ^ S4
;
1882 if ((length
| 0) > 5) HEAP
[offset
| 5] = HEAP
[offset
| 5] ^ S5
;
1883 if ((length
| 0) > 6) HEAP
[offset
| 6] = HEAP
[offset
| 6] ^ S6
;
1884 if ((length
| 0) > 7) HEAP
[offset
| 7] = HEAP
[offset
| 7] ^ S7
;
1885 if ((length
| 0) > 8) HEAP
[offset
| 8] = HEAP
[offset
| 8] ^ S8
;
1886 if ((length
| 0) > 9) HEAP
[offset
| 9] = HEAP
[offset
| 9] ^ S9
;
1887 if ((length
| 0) > 10) HEAP
[offset
| 10] = HEAP
[offset
| 10] ^ SA
;
1888 if ((length
| 0) > 11) HEAP
[offset
| 11] = HEAP
[offset
| 11] ^ SB
;
1889 if ((length
| 0) > 12) HEAP
[offset
| 12] = HEAP
[offset
| 12] ^ SC
;
1890 if ((length
| 0) > 13) HEAP
[offset
| 13] = HEAP
[offset
| 13] ^ SD
;
1891 if ((length
| 0) > 14) HEAP
[offset
| 14] = HEAP
[offset
| 14] ^ SE
;
1892 decrypted
= decrypted
+ length
| 0;
1893 offset
= offset
+ length
| 0;
1896 return decrypted
| 0;
1899 init_state: init_state
,
1900 save_state: save_state
,
1901 init_key_128: init_key_128
,
1902 init_key_256: init_key_256
,
1903 cbc_encrypt: cbc_encrypt
,
1904 cbc_decrypt: cbc_decrypt
,
1906 ccm_encrypt: ccm_encrypt
,
1907 ccm_decrypt: ccm_decrypt
,
1908 cfb_encrypt: cfb_encrypt
,
1909 cfb_decrypt: cfb_decrypt
1912 function aes_asm(stdlib
, foreign
, buffer
) {
1913 var heap
= new Uint8Array(buffer
);
1914 heap
.set(_aes_tables
);
1915 return _aes_asm(stdlib
, foreign
, buffer
);
1917 var _aes_block_size
= 16;
1918 function _aes_constructor(options
) {
1919 options
= options
|| {};
1920 options
.heapSize
= options
.heapSize
|| 4096;
1921 if (options
.heapSize
<= 0 || options
.heapSize
% 4096) throw new IllegalArgumentError("heapSize must be a positive number and multiple of 4096");
1922 this.BLOCK_SIZE
= _aes_block_size
;
1923 this.heap
= options
.heap
|| new Uint8Array(options
.heapSize
);
1924 this.asm
= options
.asm
|| aes_asm(global
, null, this.heap
.buffer
);
1925 this.pos
= _aes_heap_start
;
1929 this.reset(options
);
1931 function _aes_reset(options
) {
1932 options
= options
|| {};
1934 this.pos
= _aes_heap_start
;
1937 var key
= options
.key
;
1938 if (key
!== undefined) {
1939 if (is_buffer(key
) || is_bytes(key
)) {
1940 key
= new Uint8Array(key
);
1941 } else if (is_string(key
)) {
1943 key
= new Uint8Array(str
.length
);
1944 for (var i
= 0; i
< str
.length
; ++i
) key
[i
] = str
.charCodeAt(i
);
1946 throw new TypeError("unexpected key type");
1948 if (key
.length
=== 16) {
1950 asm
.init_key_128
.call(asm
, key
[0], key
[1], key
[2], key
[3], key
[4], key
[5], key
[6], key
[7], key
[8], key
[9], key
[10], key
[11], key
[12], key
[13], key
[14], key
[15]);
1951 } else if (key
.length
=== 24) {
1952 throw new IllegalArgumentError("illegal key size");
1953 } else if (key
.length
=== 32) {
1955 asm
.init_key_256
.call(asm
, key
[0], key
[1], key
[2], key
[3], key
[4], key
[5], key
[6], key
[7], key
[8], key
[9], key
[10], key
[11], key
[12], key
[13], key
[14], key
[15], key
[16], key
[17], key
[18], key
[19], key
[20], key
[21], key
[22], key
[23], key
[24], key
[25], key
[26], key
[27], key
[28], key
[29], key
[30], key
[31]);
1957 throw new IllegalArgumentError("illegal key size");
1962 function _aes_init_iv(iv
) {
1964 if (iv
!== undefined) {
1965 if (is_buffer(iv
) || is_bytes(iv
)) {
1966 iv
= new Uint8Array(iv
);
1967 } else if (is_string(iv
)) {
1969 iv
= new Uint8Array(str
.length
);
1970 for (var i
= 0; i
< str
.length
; ++i
) iv
[i
] = str
.charCodeAt(i
);
1972 throw new TypeError("unexpected iv type");
1974 if (iv
.length
!== _aes_block_size
) throw new IllegalArgumentError("illegal iv size");
1976 asm
.init_state
.call(asm
, iv
[0], iv
[1], iv
[2], iv
[3], iv
[4], iv
[5], iv
[6], iv
[7], iv
[8], iv
[9], iv
[10], iv
[11], iv
[12], iv
[13], iv
[14], iv
[15]);
1979 asm
.init_state
.call(asm
, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
1982 function _aes_heap_write(heap
, hpos
, data
, dpos
, dlen
) {
1983 var hlen
= heap
.byteLength
- hpos
, wlen
= hlen
< dlen
? hlen : dlen
;
1984 if (is_buffer(data
) || is_bytes(data
)) {
1985 heap
.set(new Uint8Array(data
.buffer
|| data
, dpos
, wlen
), hpos
);
1986 } else if (is_string(data
)) {
1987 for (var i
= 0; i
< wlen
; ++i
) heap
[hpos
+ i
] = data
.charCodeAt(dpos
+ i
);
1989 throw new TypeError("unexpected data type");
1993 function cbc_aes_constructor(options
) {
1994 this.padding
= true;
1997 _aes_constructor
.call(this, options
);
1999 function cbc_aes_encrypt_constructor(options
) {
2000 cbc_aes_constructor
.call(this, options
);
2002 function cbc_aes_decrypt_constructor(options
) {
2003 cbc_aes_constructor
.call(this, options
);
2005 function cbc_aes_reset(options
) {
2006 options
= options
|| {};
2007 _aes_reset
.call(this, options
);
2008 var padding
= options
.padding
;
2009 if (padding
!== undefined) {
2010 this.padding
= !!padding
;
2012 this.padding
= true;
2014 _aes_init_iv
.call(this, options
.iv
);
2017 function cbc_aes_encrypt_process(data
) {
2018 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2019 var dpos
= data
.byteOffset
|| 0, dlen
= data
.byteLength
|| data
.length
|| 0, asm
= this.asm
, heap
= this.heap
, pos
= this.pos
, len
= this.len
, rpos
= 0, rlen
= _aes_block_size
* Math
.floor((len
+ dlen
) / _aes_block_size
), wlen
= 0;
2020 var result
= new Uint8Array(rlen
);
2022 wlen
= _aes_heap_write(heap
, pos
+ len
, data
, dpos
, dlen
);
2026 wlen
= asm
.cbc_encrypt(pos
, len
);
2027 result
.set(heap
.subarray(pos
, pos
+ wlen
), rpos
);
2033 pos
= _aes_heap_start
;
2037 this.result
= result
;
2042 function cbc_aes_encrypt_finish() {
2043 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2044 var asm
= this.asm
, heap
= this.heap
, padding
= this.padding
, pos
= this.pos
, len
= this.len
, rlen
= _aes_block_size
* Math
.ceil(len
/ _aes_block_size
);
2045 if (len
% _aes_block_size
=== 0) {
2046 if (padding
) rlen
+= _aes_block_size
;
2047 } else if (!padding
) {
2048 throw new IllegalArgumentError("data length must be a multiple of " + _aes_block_size
);
2050 var result
= new Uint8Array(rlen
);
2052 var plen
= _aes_block_size
- len
% _aes_block_size
;
2053 for (var p
= 0; p
< plen
; ++p
) heap
[pos
+ len
+ p
] = plen
;
2056 asm
.cbc_encrypt(pos
, len
);
2057 result
.set(heap
.subarray(pos
, pos
+ len
));
2058 this.result
= result
;
2059 this.pos
= _aes_heap_start
;
2063 function cbc_aes_encrypt(data
) {
2064 var result1
= cbc_aes_encrypt_process
.call(this, data
).result
, result2
= cbc_aes_encrypt_finish
.call(this).result
, result
;
2065 result
= new Uint8Array(result1
.length
+ result2
.length
);
2066 result
.set(result1
);
2067 result
.set(result2
, result1
.length
);
2068 this.result
= result
;
2071 function cbc_aes_decrypt_process(data
) {
2072 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2073 var dpos
= data
.byteOffset
|| 0, dlen
= data
.byteLength
|| data
.length
|| 0, asm
= this.asm
, heap
= this.heap
, padding
= this.padding
, pos
= this.pos
, len
= this.len
, rpos
= 0, rlen
= _aes_block_size
* Math
.floor((len
+ dlen
) / _aes_block_size
), wlen
= 0;
2074 var result
= new Uint8Array(rlen
);
2076 wlen
= _aes_heap_write(heap
, pos
+ len
, data
, dpos
, dlen
);
2080 wlen
= asm
.cbc_decrypt(pos
, len
- (padding
&& dlen
=== 0 && len
% _aes_block_size
=== 0 ? _aes_block_size : 0));
2081 result
.set(heap
.subarray(pos
, pos
+ wlen
), rpos
);
2087 pos
= _aes_heap_start
;
2091 this.result
= result
.subarray(0, rpos
);
2096 function cbc_aes_decrypt_finish() {
2097 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2098 var asm
= this.asm
, heap
= this.heap
, padding
= this.padding
, pos
= this.pos
, len
= this.len
;
2101 this.result
= new Uint8Array(0);
2102 this.pos
= _aes_heap_start
;
2106 throw new IllegalStateError("padding not found");
2109 if (len
% _aes_block_size
!== 0) throw new IllegalArgumentError("data length must be a multiple of " + _aes_block_size
);
2110 var result
= new Uint8Array(len
);
2111 asm
.cbc_decrypt(pos
, len
);
2112 result
.set(heap
.subarray(pos
, pos
+ len
));
2114 var pad
= result
[len
- 1];
2115 result
= result
.subarray(0, len
- pad
);
2117 this.result
= result
;
2118 this.pos
= _aes_heap_start
;
2122 function cbc_aes_decrypt(data
) {
2123 var result1
= cbc_aes_decrypt_process
.call(this, data
).result
, result2
= cbc_aes_decrypt_finish
.call(this).result
, result
;
2124 result
= new Uint8Array(result1
.length
+ result2
.length
);
2125 result
.set(result1
);
2126 result
.set(result2
, result1
.length
);
2127 this.result
= result
;
2130 var cbc_aes_encrypt_prototype
= cbc_aes_encrypt_constructor
.prototype;
2131 cbc_aes_encrypt_prototype
.reset
= cbc_aes_reset
;
2132 cbc_aes_encrypt_prototype
.process
= cbc_aes_encrypt_process
;
2133 cbc_aes_encrypt_prototype
.finish
= cbc_aes_encrypt_finish
;
2134 var cbc_aes_decrypt_prototype
= cbc_aes_decrypt_constructor
.prototype;
2135 cbc_aes_decrypt_prototype
.reset
= cbc_aes_reset
;
2136 cbc_aes_decrypt_prototype
.process
= cbc_aes_decrypt_process
;
2137 cbc_aes_decrypt_prototype
.finish
= cbc_aes_decrypt_finish
;
2138 var cbc_aes_prototype
= cbc_aes_constructor
.prototype;
2139 cbc_aes_prototype
.reset
= cbc_aes_reset
;
2140 cbc_aes_prototype
.encrypt
= cbc_aes_encrypt
;
2141 cbc_aes_prototype
.decrypt
= cbc_aes_decrypt
;
2142 function _cbc_mac_process(data
) {
2143 var dpos
= data
.byteOffset
|| 0, dlen
= data
.byteLength
|| data
.length
|| 0, wlen
= 0;
2145 wlen
= _aes_heap_write(this.heap
, _aes_heap_start
, data
, dpos
, dlen
);
2146 this.asm
.cbc_mac(_aes_heap_start
, wlen
, -1);
2151 var _ccm_adata_maxLength
= 65279, _ccm_data_maxLength
= 68719476720;
2152 function ccm_aes_constructor(options
) {
2153 this.padding
= false;
2155 this.tagSize
= _aes_block_size
;
2156 this.lengthSize
= 4;
2160 this.dataLength
= -1;
2163 _aes_constructor
.call(this, options
);
2165 function ccm_aes_encrypt_constructor(options
) {
2166 ccm_aes_constructor
.call(this, options
);
2168 function ccm_aes_decrypt_constructor(options
) {
2169 ccm_aes_constructor
.call(this, options
);
2171 function _ccm_calculate_iv() {
2172 var nonce
= this.nonce
, adata
= this.adata
, tagSize
= this.tagSize
, lengthSize
= this.lengthSize
, dataLength
= this.dataLength
;
2173 var data
= new Uint8Array(_aes_block_size
+ (adata
? 2 + adata
.byteLength : 0));
2174 data
[0] = (adata
? 64 : 0) | tagSize
- 2 << 2 | lengthSize
- 1;
2176 if (lengthSize
> 4) data
[11] = (dataLength
- (dataLength
>>> 0)) / 4294967296 & 15;
2177 if (lengthSize
> 3) data
[12] = dataLength
>>> 24;
2178 if (lengthSize
> 2) data
[13] = dataLength
>>> 16 & 255;
2179 data
[14] = dataLength
>>> 8 & 255;
2180 data
[15] = dataLength
& 255;
2182 data
[16] = adata
.byteLength
>>> 8 & 255;
2183 data
[17] = adata
.byteLength
& 255;
2184 data
.set(adata
, 18);
2186 _cbc_mac_process
.call(this, data
);
2187 this.asm
.save_state(_aes_heap_start
);
2188 this.iv
= new Uint8Array(this.heap
.subarray(_aes_heap_start
, _aes_heap_start
+ _aes_block_size
));
2190 function ccm_aes_reset(options
) {
2191 options
= options
|| {};
2192 _aes_reset
.call(this, options
);
2193 _aes_init_iv
.call(this, options
.iv
);
2194 var tagSize
= options
.tagSize
;
2195 if (tagSize
!== undefined) {
2196 if (!is_number(tagSize
)) throw new TypeError("tagSize must be a number");
2197 if (tagSize
< 4 || tagSize
> 16 || tagSize
& 1) throw new IllegalArgumentError("illegal tagSize value");
2198 this.tagSize
= tagSize
;
2200 this.tagSize
= _aes_block_size
;
2202 var lengthSize
= options
.lengthSize
, nonce
= options
.nonce
;
2203 if (nonce
!== undefined) {
2204 if (is_buffer(nonce
) || is_bytes(nonce
)) {
2205 nonce
= new Uint8Array(nonce
);
2206 } else if (is_string(nonce
)) {
2208 nonce
= new Uint8Array(str
.length
);
2209 for (var i
= 0; i
< str
.length
; ++i
) nonce
[i
] = str
.charCodeAt(i
);
2211 throw new TypeError("unexpected nonce type");
2213 if (nonce
.length
< 10 || nonce
.length
> 13) throw new IllegalArgumentError("illegal nonce length");
2214 lengthSize
= lengthSize
|| 15 - nonce
.length
;
2219 if (lengthSize
!== undefined) {
2220 if (!is_number(lengthSize
)) throw new TypeError("lengthSize must be a number");
2221 if (lengthSize
< 2 || lengthSize
> 5 || nonce
.length
+ lengthSize
!== 15) throw new IllegalArgumentError("illegal lengthSize value");
2222 this.lengthSize
= lengthSize
;
2224 this.lengthSize
= lengthSize
= 4;
2227 var counter
= options
.counter
;
2228 if (counter
!== undefined) {
2229 if (iv
=== null) throw new IllegalStateError("iv is also required");
2230 if (!is_number(counter
)) throw new TypeError("counter must be a number");
2231 this.counter
= counter
;
2235 var dataLength
= options
.dataLength
;
2236 if (dataLength
!== undefined) {
2237 if (!is_number(dataLength
)) throw new TypeError("dataLength must be a number");
2238 if (dataLength
< 0 || dataLength
> _ccm_data_maxLength
|| dataLength
> Math
.pow(2, 8 * lengthSize
) - 1) throw new IllegalArgumentError("illegal dataLength value");
2239 this.dataLength
= dataLength
;
2240 var dataLeft
= options
.dataLeft
|| dataLength
;
2241 if (!is_number(dataLeft
)) throw new TypeError("dataLeft must be a number");
2242 if (dataLeft
< 0 || dataLeft
> dataLength
) throw new IllegalArgumentError("illegal dataLeft value");
2243 this.dataLeft
= dataLeft
;
2245 this.dataLength
= dataLength
= -1;
2246 this.dataLeft
= dataLength
;
2248 var adata
= options
.adata
;
2249 if (adata
!== undefined) {
2250 if (iv
!== null) throw new IllegalStateError("you must specify either adata or iv, not both");
2251 if (is_buffer(adata
) || is_bytes(adata
)) {
2252 adata
= new Uint8Array(adata
);
2253 } else if (is_string(adata
)) {
2255 adata
= new Uint8Array(str
.length
);
2256 for (var i
= 0; i
< str
.length
; ++i
) adata
[i
] = str
.charCodeAt(i
);
2258 throw new TypeError("unexpected adata type");
2260 if (adata
.byteLength
=== 0 || adata
.byteLength
> _ccm_adata_maxLength
) throw new IllegalArgumentError("illegal adata length");
2264 this.adata
= adata
= null;
2266 if (dataLength
!== -1) _ccm_calculate_iv
.call(this);
2269 function ccm_aes_encrypt_process(data
) {
2270 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2271 var dpos
= data
.byteOffset
|| 0, dlen
= data
.byteLength
|| data
.length
|| 0, asm
= this.asm
, heap
= this.heap
, nonce
= this.nonce
, counter
= this.counter
, pos
= this.pos
, len
= this.len
, rpos
= 0, rlen
= _aes_block_size
* Math
.floor((len
+ dlen
) / _aes_block_size
), wlen
= 0;
2272 if ((counter
- 1 << 4) + len
+ dlen
> _ccm_data_maxLength
) throw new RangeError("counter overflow");
2273 var result
= new Uint8Array(rlen
);
2274 var asm_args
= [ 0, 0, this.lengthSize
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];
2275 for (var i
= 0; i
< nonce
.length
; i
++) asm_args
[3 + i
] = nonce
[i
];
2277 wlen
= _aes_heap_write(heap
, pos
+ len
, data
, dpos
, dlen
);
2282 asm_args
[1] = len
& ~15;
2283 asm_args
[16] = counter
/ 4294967296 >>> 0;
2284 asm_args
[17] = counter
>>> 0;
2285 wlen
= asm
.ccm_encrypt
.apply(asm
, asm_args
);
2286 result
.set(heap
.subarray(pos
, pos
+ wlen
), rpos
);
2287 counter
+= wlen
>>> 4;
2293 pos
= _aes_heap_start
;
2297 this.result
= result
;
2298 this.counter
= counter
;
2303 function ccm_aes_encrypt_finish() {
2304 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2305 var asm
= this.asm
, heap
= this.heap
, nonce
= this.nonce
, counter
= this.counter
, tagSize
= this.tagSize
, pos
= this.pos
, len
= this.len
, wlen
= 0;
2306 var result
= new Uint8Array(len
+ tagSize
);
2307 var asm_args
= [ 0, 0, this.lengthSize
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];
2308 for (var i
= 0; i
< nonce
.length
; i
++) asm_args
[3 + i
] = nonce
[i
];
2311 asm_args
[16] = counter
/ 4294967296 >>> 0;
2312 asm_args
[17] = counter
>>> 0;
2313 wlen
= asm
.ccm_encrypt
.apply(asm
, asm_args
);
2314 result
.set(heap
.subarray(pos
, pos
+ wlen
));
2316 pos
= _aes_heap_start
;
2318 asm
.save_state(_aes_heap_start
);
2319 asm_args
[0] = _aes_heap_start
, asm_args
[1] = _aes_block_size
, asm_args
[16] = 0;
2321 asm
.ccm_encrypt
.apply(asm
, asm_args
);
2322 result
.set(heap
.subarray(_aes_heap_start
, _aes_heap_start
+ tagSize
), wlen
);
2323 this.result
= result
;
2324 this.counter
= counter
;
2329 function ccm_aes_encrypt(data
) {
2330 this.dataLength
= this.dataLeft
= data
.byteLength
|| data
.length
|| 0;
2331 var result1
= ccm_aes_encrypt_process
.call(this, data
).result
, result2
= ccm_aes_encrypt_finish
.call(this).result
, result
;
2332 result
= new Uint8Array(result1
.length
+ result2
.length
);
2333 result
.set(result1
);
2334 result
.set(result2
, result1
.length
);
2335 this.result
= result
;
2338 function ccm_aes_decrypt_process(data
) {
2339 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2340 var dpos
= data
.byteOffset
|| 0, dlen
= data
.byteLength
|| data
.length
|| 0, asm
= this.asm
, heap
= this.heap
, nonce
= this.nonce
, counter
= this.counter
, tagSize
= this.tagSize
, pos
= this.pos
, len
= this.len
, rpos
= 0, rlen
= _aes_block_size
* Math
.floor((len
+ dlen
) / _aes_block_size
), wlen
= 0;
2341 if ((counter
- 1 << 4) + len
+ dlen
> _ccm_data_maxLength
) throw new RangeError("counter overflow");
2342 var result
= new Uint8Array(rlen
);
2343 var asm_args
= [ 0, 0, this.lengthSize
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];
2344 for (var i
= 0; i
< nonce
.length
; i
++) asm_args
[3 + i
] = nonce
[i
];
2346 wlen
= _aes_heap_write(heap
, pos
+ len
, data
, dpos
, dlen
);
2351 asm_args
[1] = len
+ dlen
- tagSize
>= _aes_block_size
? dlen
>= tagSize
? len
& ~15 : len
+ dlen
- tagSize
& ~15 : 0;
2352 asm_args
[16] = counter
/ 4294967296 >>> 0;
2353 asm_args
[17] = counter
>>> 0;
2354 wlen
= asm
.ccm_decrypt
.apply(asm
, asm_args
);
2355 result
.set(heap
.subarray(pos
, pos
+ wlen
), rpos
);
2356 counter
+= wlen
>>> 4;
2362 pos
= _aes_heap_start
;
2366 this.result
= result
.subarray(0, rpos
);
2367 this.counter
= counter
;
2372 function ccm_aes_decrypt_finish() {
2373 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2374 var asm
= this.asm
, heap
= this.heap
, nonce
= this.nonce
, counter
= this.counter
, tagSize
= this.tagSize
, pos
= this.pos
, len
= this.len
, rlen
= len
- tagSize
, wlen
= 0;
2375 if (len
< tagSize
) throw new IllegalStateError("authentication tag not found");
2376 var result
= new Uint8Array(rlen
), atag
= new Uint8Array(heap
.subarray(pos
+ rlen
, pos
+ len
));
2377 var asm_args
= [ 0, 0, this.lengthSize
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];
2378 for (var i
= 0; i
< nonce
.length
; i
++) asm_args
[3 + i
] = nonce
[i
];
2381 asm_args
[16] = counter
/ 4294967296 >>> 0;
2382 asm_args
[17] = counter
>>> 0;
2383 wlen
= asm
.ccm_decrypt
.apply(asm
, asm_args
);
2384 result
.set(heap
.subarray(pos
, pos
+ wlen
));
2386 pos
= _aes_heap_start
;
2388 asm
.save_state(_aes_heap_start
);
2389 asm_args
[0] = _aes_heap_start
, asm_args
[1] = _aes_block_size
, asm_args
[16] = 0;
2391 asm
.ccm_encrypt
.apply(asm
, asm_args
);
2393 for (var i
= 0; i
< tagSize
; ++i
) acheck
|= atag
[i
] ^ heap
[_aes_heap_start
+ i
];
2394 if (acheck
) throw new SecurityError("data integrity check failed");
2395 this.result
= result
;
2396 this.counter
= counter
;
2401 function ccm_aes_decrypt(data
) {
2402 this.dataLength
= this.dataLeft
= data
.byteLength
|| data
.length
|| 0;
2403 var result1
= ccm_aes_decrypt_process
.call(this, data
).result
, result2
= ccm_aes_decrypt_finish
.call(this).result
, result
;
2404 result
= new Uint8Array(result1
.length
+ result2
.length
);
2405 result
.set(result1
);
2406 result
.set(result2
, result1
.length
);
2407 this.result
= result
;
2410 var ccm_aes_prototype
= ccm_aes_constructor
.prototype;
2411 ccm_aes_prototype
.reset
= ccm_aes_reset
;
2412 ccm_aes_prototype
.encrypt
= ccm_aes_encrypt
;
2413 ccm_aes_prototype
.decrypt
= ccm_aes_decrypt
;
2414 var ccm_aes_encrypt_prototype
= ccm_aes_encrypt_constructor
.prototype;
2415 ccm_aes_encrypt_prototype
.reset
= ccm_aes_reset
;
2416 ccm_aes_encrypt_prototype
.process
= ccm_aes_encrypt_process
;
2417 ccm_aes_encrypt_prototype
.finish
= ccm_aes_encrypt_finish
;
2418 var ccm_aes_decrypt_prototype
= ccm_aes_decrypt_constructor
.prototype;
2419 ccm_aes_decrypt_prototype
.reset
= ccm_aes_reset
;
2420 ccm_aes_decrypt_prototype
.process
= ccm_aes_decrypt_process
;
2421 ccm_aes_decrypt_prototype
.finish
= ccm_aes_decrypt_finish
;
2422 function cfb_aes_constructor(options
) {
2423 this.padding
= false;
2426 _aes_constructor
.call(this, options
);
2428 function cfb_aes_encrypt_constructor(options
) {
2429 cfb_aes_constructor
.call(this, options
);
2431 function cfb_aes_decrypt_constructor(options
) {
2432 cfb_aes_constructor
.call(this, options
);
2434 function cfb_aes_reset(options
) {
2435 options
= options
|| {};
2436 _aes_reset
.call(this, options
);
2437 _aes_init_iv
.call(this, options
.iv
);
2440 function cfb_aes_encrypt_process(data
) {
2441 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2442 var dpos
= data
.byteOffset
|| 0, dlen
= data
.byteLength
|| data
.length
|| 0, asm
= this.asm
, heap
= this.heap
, pos
= this.pos
, len
= this.len
, rpos
= 0, rlen
= _aes_block_size
* Math
.floor((len
+ dlen
) / _aes_block_size
), wlen
= 0;
2443 var result
= new Uint8Array(rlen
);
2445 wlen
= _aes_heap_write(heap
, pos
+ len
, data
, dpos
, dlen
);
2449 wlen
= asm
.cfb_encrypt(pos
, _aes_block_size
* Math
.floor(len
/ _aes_block_size
));
2450 result
.set(heap
.subarray(pos
, pos
+ wlen
), rpos
);
2456 pos
= _aes_heap_start
;
2460 this.result
= result
;
2465 function cfb_aes_encrypt_finish() {
2466 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2467 var asm
= this.asm
, heap
= this.heap
, pos
= this.pos
, len
= this.len
;
2468 var result
= new Uint8Array(len
);
2469 asm
.cfb_encrypt(pos
, len
);
2470 result
.set(heap
.subarray(pos
, pos
+ len
));
2471 this.result
= result
;
2472 this.pos
= _aes_heap_start
;
2476 function cfb_aes_encrypt(data
) {
2477 var result1
= cfb_aes_encrypt_process
.call(this, data
).result
, result2
= cfb_aes_encrypt_finish
.call(this).result
, result
;
2478 result
= new Uint8Array(result1
.length
+ result2
.length
);
2479 result
.set(result1
);
2480 result
.set(result2
, result1
.length
);
2481 this.result
= result
;
2484 function cfb_aes_decrypt_process(data
) {
2485 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2486 var dpos
= data
.byteOffset
|| 0, dlen
= data
.byteLength
|| data
.length
|| 0, asm
= this.asm
, heap
= this.heap
, pos
= this.pos
, len
= this.len
, rpos
= 0, rlen
= _aes_block_size
* Math
.floor((len
+ dlen
) / _aes_block_size
), wlen
= 0;
2487 var result
= new Uint8Array(rlen
);
2489 wlen
= _aes_heap_write(heap
, pos
+ len
, data
, dpos
, dlen
);
2493 wlen
= asm
.cfb_decrypt(pos
, _aes_block_size
* Math
.floor(len
/ _aes_block_size
));
2494 result
.set(heap
.subarray(pos
, pos
+ wlen
), rpos
);
2500 pos
= _aes_heap_start
;
2504 this.result
= result
.subarray(0, rpos
);
2509 function cfb_aes_decrypt_finish() {
2510 if (!this.key
) throw new IllegalStateError("no key is associated with the instance");
2511 var asm
= this.asm
, heap
= this.heap
, pos
= this.pos
, len
= this.len
;
2513 this.result
= new Uint8Array(0);
2514 this.pos
= _aes_heap_start
;
2518 var result
= new Uint8Array(len
);
2519 asm
.cfb_decrypt(pos
, len
);
2520 result
.set(heap
.subarray(pos
, pos
+ len
));
2521 this.result
= result
;
2522 this.pos
= _aes_heap_start
;
2526 function cfb_aes_decrypt(data
) {
2527 var result1
= cfb_aes_decrypt_process
.call(this, data
).result
, result2
= cfb_aes_decrypt_finish
.call(this).result
, result
;
2528 result
= new Uint8Array(result1
.length
+ result2
.length
);
2529 result
.set(result1
);
2530 result
.set(result2
, result1
.length
);
2531 this.result
= result
;
2534 var cfb_aes_encrypt_prototype
= cfb_aes_encrypt_constructor
.prototype;
2535 cfb_aes_encrypt_prototype
.reset
= cfb_aes_reset
;
2536 cfb_aes_encrypt_prototype
.process
= cfb_aes_encrypt_process
;
2537 cfb_aes_encrypt_prototype
.finish
= cfb_aes_encrypt_finish
;
2538 var cfb_aes_decrypt_prototype
= cfb_aes_decrypt_constructor
.prototype;
2539 cfb_aes_decrypt_prototype
.reset
= cfb_aes_reset
;
2540 cfb_aes_decrypt_prototype
.process
= cfb_aes_decrypt_process
;
2541 cfb_aes_decrypt_prototype
.finish
= cfb_aes_decrypt_finish
;
2542 var cfb_aes_prototype
= cfb_aes_constructor
.prototype;
2543 cfb_aes_prototype
.reset
= cfb_aes_reset
;
2544 cfb_aes_prototype
.encrypt
= cfb_aes_encrypt
;
2545 cfb_aes_prototype
.decrypt
= cfb_aes_decrypt
;
2546 function sha256_asm(stdlib
, foreign
, buffer
) {
2547 // Closure Compiler warning - commented out
2549 var H0
= 0, H1
= 0, H2
= 0, H3
= 0, H4
= 0, H5
= 0, H6
= 0, H7
= 0, TOTAL
= 0;
2550 var I0
= 0, I1
= 0, I2
= 0, I3
= 0, I4
= 0, I5
= 0, I6
= 0, I7
= 0, O0
= 0, O1
= 0, O2
= 0, O3
= 0, O4
= 0, O5
= 0, O6
= 0, O7
= 0;
2551 var HEAP
= new stdlib
.Uint8Array(buffer
);
2552 function _core(w0
, w1
, w2
, w3
, w4
, w5
, w6
, w7
, w8
, w9
, w10
, w11
, w12
, w13
, w14
, w15
) {
2569 var a
= 0, b
= 0, c
= 0, d
= 0, e
= 0, f
= 0, g
= 0, h
= 0, t
= 0;
2578 t
= w0
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1116352408 | 0;
2586 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2587 t
= w1
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1899447441 | 0;
2595 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2596 t
= w2
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3049323471 | 0;
2604 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2605 t
= w3
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3921009573 | 0;
2613 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2614 t
= w4
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 961987163 | 0;
2622 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2623 t
= w5
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1508970993 | 0;
2631 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2632 t
= w6
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2453635748 | 0;
2640 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2641 t
= w7
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2870763221 | 0;
2649 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2650 t
= w8
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3624381080 | 0;
2658 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2659 t
= w9
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 310598401 | 0;
2667 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2668 t
= w10
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 607225278 | 0;
2676 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2677 t
= w11
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1426881987 | 0;
2685 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2686 t
= w12
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1925078388 | 0;
2694 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2695 t
= w13
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2162078206 | 0;
2703 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2704 t
= w14
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2614888103 | 0;
2712 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2713 t
= w15
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3248222580 | 0;
2721 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2722 w0
= t
= (w1
>>> 7 ^ w1
>>> 18 ^ w1
>>> 3 ^ w1
<< 25 ^ w1
<< 14) + (w14
>>> 17 ^ w14
>>> 19 ^ w14
>>> 10 ^ w14
<< 15 ^ w14
<< 13) + w0
+ w9
| 0;
2723 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3835390401 | 0;
2731 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2732 w1
= t
= (w2
>>> 7 ^ w2
>>> 18 ^ w2
>>> 3 ^ w2
<< 25 ^ w2
<< 14) + (w15
>>> 17 ^ w15
>>> 19 ^ w15
>>> 10 ^ w15
<< 15 ^ w15
<< 13) + w1
+ w10
| 0;
2733 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 4022224774 | 0;
2741 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2742 w2
= t
= (w3
>>> 7 ^ w3
>>> 18 ^ w3
>>> 3 ^ w3
<< 25 ^ w3
<< 14) + (w0
>>> 17 ^ w0
>>> 19 ^ w0
>>> 10 ^ w0
<< 15 ^ w0
<< 13) + w2
+ w11
| 0;
2743 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 264347078 | 0;
2751 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2752 w3
= t
= (w4
>>> 7 ^ w4
>>> 18 ^ w4
>>> 3 ^ w4
<< 25 ^ w4
<< 14) + (w1
>>> 17 ^ w1
>>> 19 ^ w1
>>> 10 ^ w1
<< 15 ^ w1
<< 13) + w3
+ w12
| 0;
2753 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 604807628 | 0;
2761 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2762 w4
= t
= (w5
>>> 7 ^ w5
>>> 18 ^ w5
>>> 3 ^ w5
<< 25 ^ w5
<< 14) + (w2
>>> 17 ^ w2
>>> 19 ^ w2
>>> 10 ^ w2
<< 15 ^ w2
<< 13) + w4
+ w13
| 0;
2763 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 770255983 | 0;
2771 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2772 w5
= t
= (w6
>>> 7 ^ w6
>>> 18 ^ w6
>>> 3 ^ w6
<< 25 ^ w6
<< 14) + (w3
>>> 17 ^ w3
>>> 19 ^ w3
>>> 10 ^ w3
<< 15 ^ w3
<< 13) + w5
+ w14
| 0;
2773 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1249150122 | 0;
2781 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2782 w6
= t
= (w7
>>> 7 ^ w7
>>> 18 ^ w7
>>> 3 ^ w7
<< 25 ^ w7
<< 14) + (w4
>>> 17 ^ w4
>>> 19 ^ w4
>>> 10 ^ w4
<< 15 ^ w4
<< 13) + w6
+ w15
| 0;
2783 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1555081692 | 0;
2791 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2792 w7
= t
= (w8
>>> 7 ^ w8
>>> 18 ^ w8
>>> 3 ^ w8
<< 25 ^ w8
<< 14) + (w5
>>> 17 ^ w5
>>> 19 ^ w5
>>> 10 ^ w5
<< 15 ^ w5
<< 13) + w7
+ w0
| 0;
2793 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1996064986 | 0;
2801 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2802 w8
= t
= (w9
>>> 7 ^ w9
>>> 18 ^ w9
>>> 3 ^ w9
<< 25 ^ w9
<< 14) + (w6
>>> 17 ^ w6
>>> 19 ^ w6
>>> 10 ^ w6
<< 15 ^ w6
<< 13) + w8
+ w1
| 0;
2803 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2554220882 | 0;
2811 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2812 w9
= t
= (w10
>>> 7 ^ w10
>>> 18 ^ w10
>>> 3 ^ w10
<< 25 ^ w10
<< 14) + (w7
>>> 17 ^ w7
>>> 19 ^ w7
>>> 10 ^ w7
<< 15 ^ w7
<< 13) + w9
+ w2
| 0;
2813 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2821834349 | 0;
2821 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2822 w10
= t
= (w11
>>> 7 ^ w11
>>> 18 ^ w11
>>> 3 ^ w11
<< 25 ^ w11
<< 14) + (w8
>>> 17 ^ w8
>>> 19 ^ w8
>>> 10 ^ w8
<< 15 ^ w8
<< 13) + w10
+ w3
| 0;
2823 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2952996808 | 0;
2831 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2832 w11
= t
= (w12
>>> 7 ^ w12
>>> 18 ^ w12
>>> 3 ^ w12
<< 25 ^ w12
<< 14) + (w9
>>> 17 ^ w9
>>> 19 ^ w9
>>> 10 ^ w9
<< 15 ^ w9
<< 13) + w11
+ w4
| 0;
2833 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3210313671 | 0;
2841 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2842 w12
= t
= (w13
>>> 7 ^ w13
>>> 18 ^ w13
>>> 3 ^ w13
<< 25 ^ w13
<< 14) + (w10
>>> 17 ^ w10
>>> 19 ^ w10
>>> 10 ^ w10
<< 15 ^ w10
<< 13) + w12
+ w5
| 0;
2843 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3336571891 | 0;
2851 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2852 w13
= t
= (w14
>>> 7 ^ w14
>>> 18 ^ w14
>>> 3 ^ w14
<< 25 ^ w14
<< 14) + (w11
>>> 17 ^ w11
>>> 19 ^ w11
>>> 10 ^ w11
<< 15 ^ w11
<< 13) + w13
+ w6
| 0;
2853 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3584528711 | 0;
2861 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2862 w14
= t
= (w15
>>> 7 ^ w15
>>> 18 ^ w15
>>> 3 ^ w15
<< 25 ^ w15
<< 14) + (w12
>>> 17 ^ w12
>>> 19 ^ w12
>>> 10 ^ w12
<< 15 ^ w12
<< 13) + w14
+ w7
| 0;
2863 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 113926993 | 0;
2871 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2872 w15
= t
= (w0
>>> 7 ^ w0
>>> 18 ^ w0
>>> 3 ^ w0
<< 25 ^ w0
<< 14) + (w13
>>> 17 ^ w13
>>> 19 ^ w13
>>> 10 ^ w13
<< 15 ^ w13
<< 13) + w15
+ w8
| 0;
2873 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 338241895 | 0;
2881 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2882 w0
= t
= (w1
>>> 7 ^ w1
>>> 18 ^ w1
>>> 3 ^ w1
<< 25 ^ w1
<< 14) + (w14
>>> 17 ^ w14
>>> 19 ^ w14
>>> 10 ^ w14
<< 15 ^ w14
<< 13) + w0
+ w9
| 0;
2883 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 666307205 | 0;
2891 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2892 w1
= t
= (w2
>>> 7 ^ w2
>>> 18 ^ w2
>>> 3 ^ w2
<< 25 ^ w2
<< 14) + (w15
>>> 17 ^ w15
>>> 19 ^ w15
>>> 10 ^ w15
<< 15 ^ w15
<< 13) + w1
+ w10
| 0;
2893 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 773529912 | 0;
2901 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2902 w2
= t
= (w3
>>> 7 ^ w3
>>> 18 ^ w3
>>> 3 ^ w3
<< 25 ^ w3
<< 14) + (w0
>>> 17 ^ w0
>>> 19 ^ w0
>>> 10 ^ w0
<< 15 ^ w0
<< 13) + w2
+ w11
| 0;
2903 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1294757372 | 0;
2911 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2912 w3
= t
= (w4
>>> 7 ^ w4
>>> 18 ^ w4
>>> 3 ^ w4
<< 25 ^ w4
<< 14) + (w1
>>> 17 ^ w1
>>> 19 ^ w1
>>> 10 ^ w1
<< 15 ^ w1
<< 13) + w3
+ w12
| 0;
2913 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1396182291 | 0;
2921 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2922 w4
= t
= (w5
>>> 7 ^ w5
>>> 18 ^ w5
>>> 3 ^ w5
<< 25 ^ w5
<< 14) + (w2
>>> 17 ^ w2
>>> 19 ^ w2
>>> 10 ^ w2
<< 15 ^ w2
<< 13) + w4
+ w13
| 0;
2923 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1695183700 | 0;
2931 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2932 w5
= t
= (w6
>>> 7 ^ w6
>>> 18 ^ w6
>>> 3 ^ w6
<< 25 ^ w6
<< 14) + (w3
>>> 17 ^ w3
>>> 19 ^ w3
>>> 10 ^ w3
<< 15 ^ w3
<< 13) + w5
+ w14
| 0;
2933 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1986661051 | 0;
2941 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2942 w6
= t
= (w7
>>> 7 ^ w7
>>> 18 ^ w7
>>> 3 ^ w7
<< 25 ^ w7
<< 14) + (w4
>>> 17 ^ w4
>>> 19 ^ w4
>>> 10 ^ w4
<< 15 ^ w4
<< 13) + w6
+ w15
| 0;
2943 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2177026350 | 0;
2951 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2952 w7
= t
= (w8
>>> 7 ^ w8
>>> 18 ^ w8
>>> 3 ^ w8
<< 25 ^ w8
<< 14) + (w5
>>> 17 ^ w5
>>> 19 ^ w5
>>> 10 ^ w5
<< 15 ^ w5
<< 13) + w7
+ w0
| 0;
2953 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2456956037 | 0;
2961 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2962 w8
= t
= (w9
>>> 7 ^ w9
>>> 18 ^ w9
>>> 3 ^ w9
<< 25 ^ w9
<< 14) + (w6
>>> 17 ^ w6
>>> 19 ^ w6
>>> 10 ^ w6
<< 15 ^ w6
<< 13) + w8
+ w1
| 0;
2963 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2730485921 | 0;
2971 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2972 w9
= t
= (w10
>>> 7 ^ w10
>>> 18 ^ w10
>>> 3 ^ w10
<< 25 ^ w10
<< 14) + (w7
>>> 17 ^ w7
>>> 19 ^ w7
>>> 10 ^ w7
<< 15 ^ w7
<< 13) + w9
+ w2
| 0;
2973 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2820302411 | 0;
2981 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2982 w10
= t
= (w11
>>> 7 ^ w11
>>> 18 ^ w11
>>> 3 ^ w11
<< 25 ^ w11
<< 14) + (w8
>>> 17 ^ w8
>>> 19 ^ w8
>>> 10 ^ w8
<< 15 ^ w8
<< 13) + w10
+ w3
| 0;
2983 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3259730800 | 0;
2991 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
2992 w11
= t
= (w12
>>> 7 ^ w12
>>> 18 ^ w12
>>> 3 ^ w12
<< 25 ^ w12
<< 14) + (w9
>>> 17 ^ w9
>>> 19 ^ w9
>>> 10 ^ w9
<< 15 ^ w9
<< 13) + w11
+ w4
| 0;
2993 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3345764771 | 0;
3001 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3002 w12
= t
= (w13
>>> 7 ^ w13
>>> 18 ^ w13
>>> 3 ^ w13
<< 25 ^ w13
<< 14) + (w10
>>> 17 ^ w10
>>> 19 ^ w10
>>> 10 ^ w10
<< 15 ^ w10
<< 13) + w12
+ w5
| 0;
3003 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3516065817 | 0;
3011 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3012 w13
= t
= (w14
>>> 7 ^ w14
>>> 18 ^ w14
>>> 3 ^ w14
<< 25 ^ w14
<< 14) + (w11
>>> 17 ^ w11
>>> 19 ^ w11
>>> 10 ^ w11
<< 15 ^ w11
<< 13) + w13
+ w6
| 0;
3013 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3600352804 | 0;
3021 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3022 w14
= t
= (w15
>>> 7 ^ w15
>>> 18 ^ w15
>>> 3 ^ w15
<< 25 ^ w15
<< 14) + (w12
>>> 17 ^ w12
>>> 19 ^ w12
>>> 10 ^ w12
<< 15 ^ w12
<< 13) + w14
+ w7
| 0;
3023 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 4094571909 | 0;
3031 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3032 w15
= t
= (w0
>>> 7 ^ w0
>>> 18 ^ w0
>>> 3 ^ w0
<< 25 ^ w0
<< 14) + (w13
>>> 17 ^ w13
>>> 19 ^ w13
>>> 10 ^ w13
<< 15 ^ w13
<< 13) + w15
+ w8
| 0;
3033 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 275423344 | 0;
3041 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3042 w0
= t
= (w1
>>> 7 ^ w1
>>> 18 ^ w1
>>> 3 ^ w1
<< 25 ^ w1
<< 14) + (w14
>>> 17 ^ w14
>>> 19 ^ w14
>>> 10 ^ w14
<< 15 ^ w14
<< 13) + w0
+ w9
| 0;
3043 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 430227734 | 0;
3051 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3052 w1
= t
= (w2
>>> 7 ^ w2
>>> 18 ^ w2
>>> 3 ^ w2
<< 25 ^ w2
<< 14) + (w15
>>> 17 ^ w15
>>> 19 ^ w15
>>> 10 ^ w15
<< 15 ^ w15
<< 13) + w1
+ w10
| 0;
3053 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 506948616 | 0;
3061 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3062 w2
= t
= (w3
>>> 7 ^ w3
>>> 18 ^ w3
>>> 3 ^ w3
<< 25 ^ w3
<< 14) + (w0
>>> 17 ^ w0
>>> 19 ^ w0
>>> 10 ^ w0
<< 15 ^ w0
<< 13) + w2
+ w11
| 0;
3063 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 659060556 | 0;
3071 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3072 w3
= t
= (w4
>>> 7 ^ w4
>>> 18 ^ w4
>>> 3 ^ w4
<< 25 ^ w4
<< 14) + (w1
>>> 17 ^ w1
>>> 19 ^ w1
>>> 10 ^ w1
<< 15 ^ w1
<< 13) + w3
+ w12
| 0;
3073 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 883997877 | 0;
3081 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3082 w4
= t
= (w5
>>> 7 ^ w5
>>> 18 ^ w5
>>> 3 ^ w5
<< 25 ^ w5
<< 14) + (w2
>>> 17 ^ w2
>>> 19 ^ w2
>>> 10 ^ w2
<< 15 ^ w2
<< 13) + w4
+ w13
| 0;
3083 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 958139571 | 0;
3091 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3092 w5
= t
= (w6
>>> 7 ^ w6
>>> 18 ^ w6
>>> 3 ^ w6
<< 25 ^ w6
<< 14) + (w3
>>> 17 ^ w3
>>> 19 ^ w3
>>> 10 ^ w3
<< 15 ^ w3
<< 13) + w5
+ w14
| 0;
3093 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1322822218 | 0;
3101 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3102 w6
= t
= (w7
>>> 7 ^ w7
>>> 18 ^ w7
>>> 3 ^ w7
<< 25 ^ w7
<< 14) + (w4
>>> 17 ^ w4
>>> 19 ^ w4
>>> 10 ^ w4
<< 15 ^ w4
<< 13) + w6
+ w15
| 0;
3103 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1537002063 | 0;
3111 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3112 w7
= t
= (w8
>>> 7 ^ w8
>>> 18 ^ w8
>>> 3 ^ w8
<< 25 ^ w8
<< 14) + (w5
>>> 17 ^ w5
>>> 19 ^ w5
>>> 10 ^ w5
<< 15 ^ w5
<< 13) + w7
+ w0
| 0;
3113 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1747873779 | 0;
3121 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3122 w8
= t
= (w9
>>> 7 ^ w9
>>> 18 ^ w9
>>> 3 ^ w9
<< 25 ^ w9
<< 14) + (w6
>>> 17 ^ w6
>>> 19 ^ w6
>>> 10 ^ w6
<< 15 ^ w6
<< 13) + w8
+ w1
| 0;
3123 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 1955562222 | 0;
3131 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3132 w9
= t
= (w10
>>> 7 ^ w10
>>> 18 ^ w10
>>> 3 ^ w10
<< 25 ^ w10
<< 14) + (w7
>>> 17 ^ w7
>>> 19 ^ w7
>>> 10 ^ w7
<< 15 ^ w7
<< 13) + w9
+ w2
| 0;
3133 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2024104815 | 0;
3141 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3142 w10
= t
= (w11
>>> 7 ^ w11
>>> 18 ^ w11
>>> 3 ^ w11
<< 25 ^ w11
<< 14) + (w8
>>> 17 ^ w8
>>> 19 ^ w8
>>> 10 ^ w8
<< 15 ^ w8
<< 13) + w10
+ w3
| 0;
3143 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2227730452 | 0;
3151 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3152 w11
= t
= (w12
>>> 7 ^ w12
>>> 18 ^ w12
>>> 3 ^ w12
<< 25 ^ w12
<< 14) + (w9
>>> 17 ^ w9
>>> 19 ^ w9
>>> 10 ^ w9
<< 15 ^ w9
<< 13) + w11
+ w4
| 0;
3153 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2361852424 | 0;
3161 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3162 w12
= t
= (w13
>>> 7 ^ w13
>>> 18 ^ w13
>>> 3 ^ w13
<< 25 ^ w13
<< 14) + (w10
>>> 17 ^ w10
>>> 19 ^ w10
>>> 10 ^ w10
<< 15 ^ w10
<< 13) + w12
+ w5
| 0;
3163 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2428436474 | 0;
3171 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3172 w13
= t
= (w14
>>> 7 ^ w14
>>> 18 ^ w14
>>> 3 ^ w14
<< 25 ^ w14
<< 14) + (w11
>>> 17 ^ w11
>>> 19 ^ w11
>>> 10 ^ w11
<< 15 ^ w11
<< 13) + w13
+ w6
| 0;
3173 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 2756734187 | 0;
3181 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3182 w14
= t
= (w15
>>> 7 ^ w15
>>> 18 ^ w15
>>> 3 ^ w15
<< 25 ^ w15
<< 14) + (w12
>>> 17 ^ w12
>>> 19 ^ w12
>>> 10 ^ w12
<< 15 ^ w12
<< 13) + w14
+ w7
| 0;
3183 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3204031479 | 0;
3191 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3192 w15
= t
= (w0
>>> 7 ^ w0
>>> 18 ^ w0
>>> 3 ^ w0
<< 25 ^ w0
<< 14) + (w13
>>> 17 ^ w13
>>> 19 ^ w13
>>> 10 ^ w13
<< 15 ^ w13
<< 13) + w15
+ w8
| 0;
3193 t
= t
+ h
+ (e
>>> 6 ^ e
>>> 11 ^ e
>>> 25 ^ e
<< 26 ^ e
<< 21 ^ e
<< 7) + (g
^ e
& (f
^ g
)) + 3329325298 | 0;
3201 a
= t
+ (b
& c
^ d
& (b
^ c
)) + (b
>>> 2 ^ b
>>> 13 ^ b
>>> 22 ^ b
<< 30 ^ b
<< 19 ^ b
<< 10) | 0;
3211 function _core_heap(offset
) {
3212 offset
= offset
| 0;
3213 _core(HEAP
[offset
| 0] << 24 | HEAP
[offset
| 1] << 16 | HEAP
[offset
| 2] << 8 | HEAP
[offset
| 3], HEAP
[offset
| 4] << 24 | HEAP
[offset
| 5] << 16 | HEAP
[offset
| 6] << 8 | HEAP
[offset
| 7], HEAP
[offset
| 8] << 24 | HEAP
[offset
| 9] << 16 | HEAP
[offset
| 10] << 8 | HEAP
[offset
| 11], HEAP
[offset
| 12] << 24 | HEAP
[offset
| 13] << 16 | HEAP
[offset
| 14] << 8 | HEAP
[offset
| 15], HEAP
[offset
| 16] << 24 | HEAP
[offset
| 17] << 16 | HEAP
[offset
| 18] << 8 | HEAP
[offset
| 19], HEAP
[offset
| 20] << 24 | HEAP
[offset
| 21] << 16 | HEAP
[offset
| 22] << 8 | HEAP
[offset
| 23], HEAP
[offset
| 24] << 24 | HEAP
[offset
| 25] << 16 | HEAP
[offset
| 26] << 8 | HEAP
[offset
| 27], HEAP
[offset
| 28] << 24 | HEAP
[offset
| 29] << 16 | HEAP
[offset
| 30] << 8 | HEAP
[offset
| 31], HEAP
[offset
| 32] << 24 | HEAP
[offset
| 33] << 16 | HEAP
[offset
| 34] << 8 | HEAP
[offset
| 35], HEAP
[offset
| 36] << 24 | HEAP
[offset
| 37] << 16 | HEAP
[offset
| 38] << 8 | HEAP
[offset
| 39], HEAP
[offset
| 40] << 24 | HEAP
[offset
| 41] << 16 | HEAP
[offset
| 42] << 8 | HEAP
[offset
| 43], HEAP
[offset
| 44] << 24 | HEAP
[offset
| 45] << 16 | HEAP
[offset
| 46] << 8 | HEAP
[offset
| 47], HEAP
[offset
| 48] << 24 | HEAP
[offset
| 49] << 16 | HEAP
[offset
| 50] << 8 | HEAP
[offset
| 51], HEAP
[offset
| 52] << 24 | HEAP
[offset
| 53] << 16 | HEAP
[offset
| 54] << 8 | HEAP
[offset
| 55], HEAP
[offset
| 56] << 24 | HEAP
[offset
| 57] << 16 | HEAP
[offset
| 58] << 8 | HEAP
[offset
| 59], HEAP
[offset
| 60] << 24 | HEAP
[offset
| 61] << 16 | HEAP
[offset
| 62] << 8 | HEAP
[offset
| 63]);
3215 function _state_to_heap(output
) {
3216 output
= output
| 0;
3217 HEAP
[output
| 0] = H0
>>> 24;
3218 HEAP
[output
| 1] = H0
>>> 16 & 255;
3219 HEAP
[output
| 2] = H0
>>> 8 & 255;
3220 HEAP
[output
| 3] = H0
& 255;
3221 HEAP
[output
| 4] = H1
>>> 24;
3222 HEAP
[output
| 5] = H1
>>> 16 & 255;
3223 HEAP
[output
| 6] = H1
>>> 8 & 255;
3224 HEAP
[output
| 7] = H1
& 255;
3225 HEAP
[output
| 8] = H2
>>> 24;
3226 HEAP
[output
| 9] = H2
>>> 16 & 255;
3227 HEAP
[output
| 10] = H2
>>> 8 & 255;
3228 HEAP
[output
| 11] = H2
& 255;
3229 HEAP
[output
| 12] = H3
>>> 24;
3230 HEAP
[output
| 13] = H3
>>> 16 & 255;
3231 HEAP
[output
| 14] = H3
>>> 8 & 255;
3232 HEAP
[output
| 15] = H3
& 255;
3233 HEAP
[output
| 16] = H4
>>> 24;
3234 HEAP
[output
| 17] = H4
>>> 16 & 255;
3235 HEAP
[output
| 18] = H4
>>> 8 & 255;
3236 HEAP
[output
| 19] = H4
& 255;
3237 HEAP
[output
| 20] = H5
>>> 24;
3238 HEAP
[output
| 21] = H5
>>> 16 & 255;
3239 HEAP
[output
| 22] = H5
>>> 8 & 255;
3240 HEAP
[output
| 23] = H5
& 255;
3241 HEAP
[output
| 24] = H6
>>> 24;
3242 HEAP
[output
| 25] = H6
>>> 16 & 255;
3243 HEAP
[output
| 26] = H6
>>> 8 & 255;
3244 HEAP
[output
| 27] = H6
& 255;
3245 HEAP
[output
| 28] = H7
>>> 24;
3246 HEAP
[output
| 29] = H7
>>> 16 & 255;
3247 HEAP
[output
| 30] = H7
>>> 8 & 255;
3248 HEAP
[output
| 31] = H7
& 255;
3261 function init(h0
, h1
, h2
, h3
, h4
, h5
, h6
, h7
, total
) {
3281 function process(offset
, length
) {
3282 offset
= offset
| 0;
3283 length
= length
| 0;
3285 if (offset
& 63) return -1;
3286 while ((length
| 0) >= 64) {
3288 offset
= offset
+ 64 | 0;
3289 length
= length
- 64 | 0;
3290 hashed
= hashed
+ 64 | 0;
3292 TOTAL
= TOTAL
+ hashed
| 0;
3295 function finish(offset
, length
, output
) {
3296 offset
= offset
| 0;
3297 length
= length
| 0;
3298 output
= output
| 0;
3299 var hashed
= 0, i
= 0;
3300 if (offset
& 63) return -1;
3301 if (~output
) if (output
& 31) return -1;
3302 if ((length
| 0) >= 64) {
3303 hashed
= process(offset
, length
) | 0;
3304 if ((hashed
| 0) == -1) return -1;
3305 offset
= offset
+ hashed
| 0;
3306 length
= length
- hashed
| 0;
3308 hashed
= hashed
+ length
| 0;
3309 TOTAL
= TOTAL
+ length
| 0;
3310 HEAP
[offset
| length
] = 128;
3311 if ((length
| 0) >= 56) {
3312 for (i
= length
+ 1 | 0; (i
| 0) < 64; i
= i
+ 1 | 0) HEAP
[offset
| i
] = 0;
3315 HEAP
[offset
| 0] = 0;
3317 for (i
= length
+ 1 | 0; (i
| 0) < 59; i
= i
+ 1 | 0) HEAP
[offset
| i
] = 0;
3318 HEAP
[offset
| 59] = TOTAL
>>> 29;
3319 HEAP
[offset
| 60] = TOTAL
>>> 21 & 255;
3320 HEAP
[offset
| 61] = TOTAL
>>> 13 & 255;
3321 HEAP
[offset
| 62] = TOTAL
>>> 5 & 255;
3322 HEAP
[offset
| 63] = TOTAL
<< 3 & 255;
3324 if (~output
) _state_to_heap(output
);
3327 function hmac_reset() {
3338 function _hmac_opad() {
3349 function hmac_init(p0
, p1
, p2
, p3
, p4
, p5
, p6
, p7
, p8
, p9
, p10
, p11
, p12
, p13
, p14
, p15
) {
3367 _core(p0
^ 1549556828, p1
^ 1549556828, p2
^ 1549556828, p3
^ 1549556828, p4
^ 1549556828, p5
^ 1549556828, p6
^ 1549556828, p7
^ 1549556828, p8
^ 1549556828, p9
^ 1549556828, p10
^ 1549556828, p11
^ 1549556828, p12
^ 1549556828, p13
^ 1549556828, p14
^ 1549556828, p15
^ 1549556828);
3377 _core(p0
^ 909522486, p1
^ 909522486, p2
^ 909522486, p3
^ 909522486, p4
^ 909522486, p5
^ 909522486, p6
^ 909522486, p7
^ 909522486, p8
^ 909522486, p9
^ 909522486, p10
^ 909522486, p11
^ 909522486, p12
^ 909522486, p13
^ 909522486, p14
^ 909522486, p15
^ 909522486);
3388 function hmac_finish(offset
, length
, output
) {
3389 offset
= offset
| 0;
3390 length
= length
| 0;
3391 output
= output
| 0;
3392 var t0
= 0, t1
= 0, t2
= 0, t3
= 0, t4
= 0, t5
= 0, t6
= 0, t7
= 0, hashed
= 0;
3393 if (offset
& 63) return -1;
3394 if (~output
) if (output
& 31) return -1;
3395 hashed
= finish(offset
, length
, -1) | 0;
3396 t0
= H0
, t1
= H1
, t2
= H2
, t3
= H3
, t4
= H4
, t5
= H5
, t6
= H6
, t7
= H7
;
3398 _core(t0
, t1
, t2
, t3
, t4
, t5
, t6
, t7
, 2147483648, 0, 0, 0, 0, 0, 0, 768);
3399 if (~output
) _state_to_heap(output
);
3402 function pbkdf2_generate_block(offset
, length
, block
, count
, output
) {
3403 offset
= offset
| 0;
3404 length
= length
| 0;
3407 output
= output
| 0;
3408 var h0
= 0, h1
= 0, h2
= 0, h3
= 0, h4
= 0, h5
= 0, h6
= 0, h7
= 0, t0
= 0, t1
= 0, t2
= 0, t3
= 0, t4
= 0, t5
= 0, t6
= 0, t7
= 0;
3409 if (offset
& 63) return -1;
3410 if (~output
) if (output
& 31) return -1;
3411 HEAP
[offset
+ length
| 0] = block
>>> 24;
3412 HEAP
[offset
+ length
+ 1 | 0] = block
>>> 16 & 255;
3413 HEAP
[offset
+ length
+ 2 | 0] = block
>>> 8 & 255;
3414 HEAP
[offset
+ length
+ 3 | 0] = block
& 255;
3415 // Closure compiler warning - The result of the 'bitor' operator is not being used
3416 //hmac_finish(offset, length + 4 | 0, -1) | 0;
3417 hmac_finish(offset
, length
+ 4 | 0, -1);
3418 h0
= t0
= H0
, h1
= t1
= H1
, h2
= t2
= H2
, h3
= t3
= H3
, h4
= t4
= H4
, h5
= t5
= H5
,
3419 h6
= t6
= H6
, h7
= t7
= H7
;
3420 count
= count
- 1 | 0;
3421 while ((count
| 0) > 0) {
3423 _core(t0
, t1
, t2
, t3
, t4
, t5
, t6
, t7
, 2147483648, 0, 0, 0, 0, 0, 0, 768);
3424 t0
= H0
, t1
= H1
, t2
= H2
, t3
= H3
, t4
= H4
, t5
= H5
, t6
= H6
, t7
= H7
;
3426 _core(t0
, t1
, t2
, t3
, t4
, t5
, t6
, t7
, 2147483648, 0, 0, 0, 0, 0, 0, 768);
3427 t0
= H0
, t1
= H1
, t2
= H2
, t3
= H3
, t4
= H4
, t5
= H5
, t6
= H6
, t7
= H7
;
3436 count
= count
- 1 | 0;
3446 if (~output
) _state_to_heap(output
);
3454 hmac_reset: hmac_reset
,
3455 hmac_init: hmac_init
,
3456 hmac_finish: hmac_finish
,
3457 pbkdf2_generate_block: pbkdf2_generate_block
3460 var _sha256_block_size
= 64, _sha256_hash_size
= 32;
3461 function sha256_constructor(options
) {
3462 options
= options
|| {};
3463 options
.heapSize
= options
.heapSize
|| 4096;
3464 if (options
.heapSize
<= 0 || options
.heapSize
% 4096) throw new IllegalArgumentError("heapSize must be a positive number and multiple of 4096");
3465 this.heap
= options
.heap
|| new Uint8Array(options
.heapSize
);
3466 this.asm
= options
.asm
|| sha256_asm(global
, null, this.heap
.buffer
);
3467 this.BLOCK_SIZE
= _sha256_block_size
;
3468 this.HASH_SIZE
= _sha256_hash_size
;
3471 function sha256_reset() {
3478 function sha256_process(data
) {
3479 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
3480 var dpos
= 0, dlen
= 0, clen
= 0;
3481 if (is_buffer(data
) || is_bytes(data
)) {
3482 dpos
= data
.byteOffset
|| 0;
3483 dlen
= data
.byteLength
;
3484 } else if (is_string(data
)) {
3487 throw new TypeError("data isn't of expected type");
3490 clen
= this.heap
.byteLength
- this.pos
- this.len
;
3491 clen
= clen
< dlen
? clen : dlen
;
3492 if (is_buffer(data
) || is_bytes(data
)) {
3493 this.heap
.set(new Uint8Array(data
.buffer
|| data
, dpos
, clen
), this.pos
+ this.len
);
3495 for (var i
= 0; i
< clen
; i
++) this.heap
[this.pos
+ this.len
+ i
] = data
.charCodeAt(dpos
+ i
);
3500 clen
= this.asm
.process(this.pos
, this.len
);
3501 if (clen
< this.len
) {
3511 function sha256_finish() {
3512 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
3513 this.asm
.finish(this.pos
, this.len
, 0);
3514 this.result
= new Uint8Array(_sha256_hash_size
);
3515 this.result
.set(this.heap
.subarray(0, _sha256_hash_size
));
3520 sha256_constructor
.BLOCK_SIZE
= _sha256_block_size
;
3521 sha256_constructor
.HASH_SIZE
= _sha256_hash_size
;
3522 var sha256_prototype
= sha256_constructor
.prototype;
3523 sha256_prototype
.reset
= sha256_reset
;
3524 sha256_prototype
.process
= sha256_process
;
3525 sha256_prototype
.finish
= sha256_finish
;
3526 function sha512_asm(stdlib
, foreign
, buffer
) {
3527 // Closure Compiler warning - commented out
3529 var H0h
= 0, H0l
= 0, H1h
= 0, H1l
= 0, H2h
= 0, H2l
= 0, H3h
= 0, H3l
= 0, H4h
= 0, H4l
= 0, H5h
= 0, H5l
= 0, H6h
= 0, H6l
= 0, H7h
= 0, H7l
= 0, TOTAL
= 0;
3530 var I0h
= 0, I0l
= 0, I1h
= 0, I1l
= 0, I2h
= 0, I2l
= 0, I3h
= 0, I3l
= 0, I4h
= 0, I4l
= 0, I5h
= 0, I5l
= 0, I6h
= 0, I6l
= 0, I7h
= 0, I7l
= 0, O0h
= 0, O0l
= 0, O1h
= 0, O1l
= 0, O2h
= 0, O2l
= 0, O3h
= 0, O3l
= 0, O4h
= 0, O4l
= 0, O5h
= 0, O5l
= 0, O6h
= 0, O6l
= 0, O7h
= 0, O7l
= 0;
3531 var HEAP
= new stdlib
.Uint8Array(buffer
);
3532 function _core(w0h
, w0l
, w1h
, w1l
, w2h
, w2l
, w3h
, w3l
, w4h
, w4l
, w5h
, w5l
, w6h
, w6l
, w7h
, w7l
, w8h
, w8l
, w9h
, w9l
, w10h
, w10l
, w11h
, w11l
, w12h
, w12l
, w13h
, w13l
, w14h
, w14l
, w15h
, w15l
) {
3565 var ah
= 0, al
= 0, bh
= 0, bl
= 0, ch
= 0, cl
= 0, dh
= 0, dl
= 0, eh
= 0, el
= 0, fh
= 0, fl
= 0, gh
= 0, gl
= 0, hh
= 0, hl
= 0, th
= 0, tl
= 0, xl
= 0;
3582 tl
= 3609767458 + w0l
| 0;
3583 th
= 1116352408 + w0h
+ (tl
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
3585 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3586 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3588 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3589 xl
= gl
^ el
& (fl
^ gl
) | 0;
3591 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3599 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3606 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3607 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3608 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3610 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3611 tl
= 602891725 + w1l
| 0;
3612 th
= 1899447441 + w1h
+ (tl
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
3614 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3615 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3617 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3618 xl
= gl
^ el
& (fl
^ gl
) | 0;
3620 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3628 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3635 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3636 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3637 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3639 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3640 tl
= 3964484399 + w2l
| 0;
3641 th
= 3049323471 + w2h
+ (tl
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
3643 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3644 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3646 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3647 xl
= gl
^ el
& (fl
^ gl
) | 0;
3649 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3657 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3664 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3665 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3666 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3668 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3669 tl
= 2173295548 + w3l
| 0;
3670 th
= 3921009573 + w3h
+ (tl
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
3672 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3673 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3675 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3676 xl
= gl
^ el
& (fl
^ gl
) | 0;
3678 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3686 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3693 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3694 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3695 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3697 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3698 tl
= 4081628472 + w4l
| 0;
3699 th
= 961987163 + w4h
+ (tl
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
3701 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3702 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3704 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3705 xl
= gl
^ el
& (fl
^ gl
) | 0;
3707 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3715 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3722 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3723 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3724 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3726 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3727 tl
= 3053834265 + w5l
| 0;
3728 th
= 1508970993 + w5h
+ (tl
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
3730 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3731 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3733 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3734 xl
= gl
^ el
& (fl
^ gl
) | 0;
3736 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3744 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3751 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3752 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3753 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3755 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3756 tl
= 2937671579 + w6l
| 0;
3757 th
= 2453635748 + w6h
+ (tl
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
3759 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3760 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3762 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3763 xl
= gl
^ el
& (fl
^ gl
) | 0;
3765 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3773 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3780 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3781 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3782 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3784 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3785 tl
= 3664609560 + w7l
| 0;
3786 th
= 2870763221 + w7h
+ (tl
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
3788 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3789 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3791 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3792 xl
= gl
^ el
& (fl
^ gl
) | 0;
3794 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3802 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3809 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3810 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3811 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3813 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3814 tl
= 2734883394 + w8l
| 0;
3815 th
= 3624381080 + w8h
+ (tl
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
3817 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3818 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3820 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3821 xl
= gl
^ el
& (fl
^ gl
) | 0;
3823 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3831 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3838 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3839 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3840 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3842 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3843 tl
= 1164996542 + w9l
| 0;
3844 th
= 310598401 + w9h
+ (tl
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
3846 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3847 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3849 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3850 xl
= gl
^ el
& (fl
^ gl
) | 0;
3852 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3860 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3867 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3868 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3869 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3871 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3872 tl
= 1323610764 + w10l
| 0;
3873 th
= 607225278 + w10h
+ (tl
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
3875 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3876 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3878 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3879 xl
= gl
^ el
& (fl
^ gl
) | 0;
3881 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3889 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3896 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3897 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3898 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3900 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3901 tl
= 3590304994 + w11l
| 0;
3902 th
= 1426881987 + w11h
+ (tl
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
3904 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3905 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3907 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3908 xl
= gl
^ el
& (fl
^ gl
) | 0;
3910 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3918 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3925 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3926 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3927 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3929 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3930 tl
= 4068182383 + w12l
| 0;
3931 th
= 1925078388 + w12h
+ (tl
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
3933 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3934 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3936 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3937 xl
= gl
^ el
& (fl
^ gl
) | 0;
3939 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3947 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3954 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3955 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3956 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3958 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3959 tl
= 991336113 + w13l
| 0;
3960 th
= 2162078206 + w13h
+ (tl
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
3962 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3963 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3965 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3966 xl
= gl
^ el
& (fl
^ gl
) | 0;
3968 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3976 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
3983 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
3984 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
3985 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
3987 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3988 tl
= 633803317 + w14l
| 0;
3989 th
= 2614888103 + w14h
+ (tl
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
3991 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
3992 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
3994 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
3995 xl
= gl
^ el
& (fl
^ gl
) | 0;
3997 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4005 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4012 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4013 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4014 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4016 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4017 tl
= 3479774868 + w15l
| 0;
4018 th
= 3248222580 + w15h
+ (tl
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
4020 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4021 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4023 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4024 xl
= gl
^ el
& (fl
^ gl
) | 0;
4026 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4034 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4041 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4042 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4043 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4045 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4046 w0l
= w0l
+ w9l
| 0;
4047 w0h
= w0h
+ w9h
+ (w0l
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
4048 xl
= (w1l
>>> 1 | w1h
<< 31) ^ (w1l
>>> 8 | w1h
<< 24) ^ (w1l
>>> 7 | w1h
<< 25) | 0;
4050 w0h
= w0h
+ ((w1h
>>> 1 | w1l
<< 31) ^ (w1h
>>> 8 | w1l
<< 24) ^ w1h
>>> 7) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4051 xl
= (w14l
>>> 19 | w14h
<< 13) ^ (w14l
<< 3 | w14h
>>> 29) ^ (w14l
>>> 6 | w14h
<< 26) | 0;
4053 w0h
= w0h
+ ((w14h
>>> 19 | w14l
<< 13) ^ (w14h
<< 3 | w14l
>>> 29) ^ w14h
>>> 6) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4054 tl
= 2666613458 + w0l
| 0;
4055 th
= 3835390401 + w0h
+ (tl
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
4057 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4058 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4060 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4061 xl
= gl
^ el
& (fl
^ gl
) | 0;
4063 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4071 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4078 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4079 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4080 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4082 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4083 w1l
= w1l
+ w10l
| 0;
4084 w1h
= w1h
+ w10h
+ (w1l
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
4085 xl
= (w2l
>>> 1 | w2h
<< 31) ^ (w2l
>>> 8 | w2h
<< 24) ^ (w2l
>>> 7 | w2h
<< 25) | 0;
4087 w1h
= w1h
+ ((w2h
>>> 1 | w2l
<< 31) ^ (w2h
>>> 8 | w2l
<< 24) ^ w2h
>>> 7) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4088 xl
= (w15l
>>> 19 | w15h
<< 13) ^ (w15l
<< 3 | w15h
>>> 29) ^ (w15l
>>> 6 | w15h
<< 26) | 0;
4090 w1h
= w1h
+ ((w15h
>>> 19 | w15l
<< 13) ^ (w15h
<< 3 | w15l
>>> 29) ^ w15h
>>> 6) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4091 tl
= 944711139 + w1l
| 0;
4092 th
= 4022224774 + w1h
+ (tl
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
4094 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4095 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4097 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4098 xl
= gl
^ el
& (fl
^ gl
) | 0;
4100 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4108 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4115 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4116 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4117 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4119 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4120 w2l
= w2l
+ w11l
| 0;
4121 w2h
= w2h
+ w11h
+ (w2l
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
4122 xl
= (w3l
>>> 1 | w3h
<< 31) ^ (w3l
>>> 8 | w3h
<< 24) ^ (w3l
>>> 7 | w3h
<< 25) | 0;
4124 w2h
= w2h
+ ((w3h
>>> 1 | w3l
<< 31) ^ (w3h
>>> 8 | w3l
<< 24) ^ w3h
>>> 7) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4125 xl
= (w0l
>>> 19 | w0h
<< 13) ^ (w0l
<< 3 | w0h
>>> 29) ^ (w0l
>>> 6 | w0h
<< 26) | 0;
4127 w2h
= w2h
+ ((w0h
>>> 19 | w0l
<< 13) ^ (w0h
<< 3 | w0l
>>> 29) ^ w0h
>>> 6) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4128 tl
= 2341262773 + w2l
| 0;
4129 th
= 264347078 + w2h
+ (tl
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
4131 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4132 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4134 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4135 xl
= gl
^ el
& (fl
^ gl
) | 0;
4137 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4145 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4152 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4153 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4154 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4156 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4157 w3l
= w3l
+ w12l
| 0;
4158 w3h
= w3h
+ w12h
+ (w3l
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
4159 xl
= (w4l
>>> 1 | w4h
<< 31) ^ (w4l
>>> 8 | w4h
<< 24) ^ (w4l
>>> 7 | w4h
<< 25) | 0;
4161 w3h
= w3h
+ ((w4h
>>> 1 | w4l
<< 31) ^ (w4h
>>> 8 | w4l
<< 24) ^ w4h
>>> 7) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4162 xl
= (w1l
>>> 19 | w1h
<< 13) ^ (w1l
<< 3 | w1h
>>> 29) ^ (w1l
>>> 6 | w1h
<< 26) | 0;
4164 w3h
= w3h
+ ((w1h
>>> 19 | w1l
<< 13) ^ (w1h
<< 3 | w1l
>>> 29) ^ w1h
>>> 6) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4165 tl
= 2007800933 + w3l
| 0;
4166 th
= 604807628 + w3h
+ (tl
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
4168 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4169 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4171 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4172 xl
= gl
^ el
& (fl
^ gl
) | 0;
4174 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4182 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4189 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4190 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4191 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4193 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4194 w4l
= w4l
+ w13l
| 0;
4195 w4h
= w4h
+ w13h
+ (w4l
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
4196 xl
= (w5l
>>> 1 | w5h
<< 31) ^ (w5l
>>> 8 | w5h
<< 24) ^ (w5l
>>> 7 | w5h
<< 25) | 0;
4198 w4h
= w4h
+ ((w5h
>>> 1 | w5l
<< 31) ^ (w5h
>>> 8 | w5l
<< 24) ^ w5h
>>> 7) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4199 xl
= (w2l
>>> 19 | w2h
<< 13) ^ (w2l
<< 3 | w2h
>>> 29) ^ (w2l
>>> 6 | w2h
<< 26) | 0;
4201 w4h
= w4h
+ ((w2h
>>> 19 | w2l
<< 13) ^ (w2h
<< 3 | w2l
>>> 29) ^ w2h
>>> 6) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4202 tl
= 1495990901 + w4l
| 0;
4203 th
= 770255983 + w4h
+ (tl
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
4205 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4206 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4208 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4209 xl
= gl
^ el
& (fl
^ gl
) | 0;
4211 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4219 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4226 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4227 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4228 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4230 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4231 w5l
= w5l
+ w14l
| 0;
4232 w5h
= w5h
+ w14h
+ (w5l
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
4233 xl
= (w6l
>>> 1 | w6h
<< 31) ^ (w6l
>>> 8 | w6h
<< 24) ^ (w6l
>>> 7 | w6h
<< 25) | 0;
4235 w5h
= w5h
+ ((w6h
>>> 1 | w6l
<< 31) ^ (w6h
>>> 8 | w6l
<< 24) ^ w6h
>>> 7) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4236 xl
= (w3l
>>> 19 | w3h
<< 13) ^ (w3l
<< 3 | w3h
>>> 29) ^ (w3l
>>> 6 | w3h
<< 26) | 0;
4238 w5h
= w5h
+ ((w3h
>>> 19 | w3l
<< 13) ^ (w3h
<< 3 | w3l
>>> 29) ^ w3h
>>> 6) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4239 tl
= 1856431235 + w5l
| 0;
4240 th
= 1249150122 + w5h
+ (tl
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
4242 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4243 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4245 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4246 xl
= gl
^ el
& (fl
^ gl
) | 0;
4248 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4256 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4263 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4264 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4265 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4267 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4268 w6l
= w6l
+ w15l
| 0;
4269 w6h
= w6h
+ w15h
+ (w6l
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
4270 xl
= (w7l
>>> 1 | w7h
<< 31) ^ (w7l
>>> 8 | w7h
<< 24) ^ (w7l
>>> 7 | w7h
<< 25) | 0;
4272 w6h
= w6h
+ ((w7h
>>> 1 | w7l
<< 31) ^ (w7h
>>> 8 | w7l
<< 24) ^ w7h
>>> 7) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4273 xl
= (w4l
>>> 19 | w4h
<< 13) ^ (w4l
<< 3 | w4h
>>> 29) ^ (w4l
>>> 6 | w4h
<< 26) | 0;
4275 w6h
= w6h
+ ((w4h
>>> 19 | w4l
<< 13) ^ (w4h
<< 3 | w4l
>>> 29) ^ w4h
>>> 6) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4276 tl
= 3175218132 + w6l
| 0;
4277 th
= 1555081692 + w6h
+ (tl
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
4279 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4280 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4282 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4283 xl
= gl
^ el
& (fl
^ gl
) | 0;
4285 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4293 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4300 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4301 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4302 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4304 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4305 w7l
= w7l
+ w0l
| 0;
4306 w7h
= w7h
+ w0h
+ (w7l
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
4307 xl
= (w8l
>>> 1 | w8h
<< 31) ^ (w8l
>>> 8 | w8h
<< 24) ^ (w8l
>>> 7 | w8h
<< 25) | 0;
4309 w7h
= w7h
+ ((w8h
>>> 1 | w8l
<< 31) ^ (w8h
>>> 8 | w8l
<< 24) ^ w8h
>>> 7) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4310 xl
= (w5l
>>> 19 | w5h
<< 13) ^ (w5l
<< 3 | w5h
>>> 29) ^ (w5l
>>> 6 | w5h
<< 26) | 0;
4312 w7h
= w7h
+ ((w5h
>>> 19 | w5l
<< 13) ^ (w5h
<< 3 | w5l
>>> 29) ^ w5h
>>> 6) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4313 tl
= 2198950837 + w7l
| 0;
4314 th
= 1996064986 + w7h
+ (tl
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
4316 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4317 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4319 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4320 xl
= gl
^ el
& (fl
^ gl
) | 0;
4322 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4330 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4337 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4338 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4339 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4341 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4342 w8l
= w8l
+ w1l
| 0;
4343 w8h
= w8h
+ w1h
+ (w8l
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
4344 xl
= (w9l
>>> 1 | w9h
<< 31) ^ (w9l
>>> 8 | w9h
<< 24) ^ (w9l
>>> 7 | w9h
<< 25) | 0;
4346 w8h
= w8h
+ ((w9h
>>> 1 | w9l
<< 31) ^ (w9h
>>> 8 | w9l
<< 24) ^ w9h
>>> 7) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4347 xl
= (w6l
>>> 19 | w6h
<< 13) ^ (w6l
<< 3 | w6h
>>> 29) ^ (w6l
>>> 6 | w6h
<< 26) | 0;
4349 w8h
= w8h
+ ((w6h
>>> 19 | w6l
<< 13) ^ (w6h
<< 3 | w6l
>>> 29) ^ w6h
>>> 6) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4350 tl
= 3999719339 + w8l
| 0;
4351 th
= 2554220882 + w8h
+ (tl
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
4353 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4354 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4356 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4357 xl
= gl
^ el
& (fl
^ gl
) | 0;
4359 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4367 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4374 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4375 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4376 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4378 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4379 w9l
= w9l
+ w2l
| 0;
4380 w9h
= w9h
+ w2h
+ (w9l
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
4381 xl
= (w10l
>>> 1 | w10h
<< 31) ^ (w10l
>>> 8 | w10h
<< 24) ^ (w10l
>>> 7 | w10h
<< 25) | 0;
4383 w9h
= w9h
+ ((w10h
>>> 1 | w10l
<< 31) ^ (w10h
>>> 8 | w10l
<< 24) ^ w10h
>>> 7) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4384 xl
= (w7l
>>> 19 | w7h
<< 13) ^ (w7l
<< 3 | w7h
>>> 29) ^ (w7l
>>> 6 | w7h
<< 26) | 0;
4386 w9h
= w9h
+ ((w7h
>>> 19 | w7l
<< 13) ^ (w7h
<< 3 | w7l
>>> 29) ^ w7h
>>> 6) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4387 tl
= 766784016 + w9l
| 0;
4388 th
= 2821834349 + w9h
+ (tl
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
4390 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4391 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4393 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4394 xl
= gl
^ el
& (fl
^ gl
) | 0;
4396 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4404 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4411 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4412 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4413 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4415 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4416 w10l
= w10l
+ w3l
| 0;
4417 w10h
= w10h
+ w3h
+ (w10l
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
4418 xl
= (w11l
>>> 1 | w11h
<< 31) ^ (w11l
>>> 8 | w11h
<< 24) ^ (w11l
>>> 7 | w11h
<< 25) | 0;
4419 w10l
= w10l
+ xl
| 0;
4420 w10h
= w10h
+ ((w11h
>>> 1 | w11l
<< 31) ^ (w11h
>>> 8 | w11l
<< 24) ^ w11h
>>> 7) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4421 xl
= (w8l
>>> 19 | w8h
<< 13) ^ (w8l
<< 3 | w8h
>>> 29) ^ (w8l
>>> 6 | w8h
<< 26) | 0;
4422 w10l
= w10l
+ xl
| 0;
4423 w10h
= w10h
+ ((w8h
>>> 19 | w8l
<< 13) ^ (w8h
<< 3 | w8l
>>> 29) ^ w8h
>>> 6) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4424 tl
= 2566594879 + w10l
| 0;
4425 th
= 2952996808 + w10h
+ (tl
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
4427 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4428 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4430 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4431 xl
= gl
^ el
& (fl
^ gl
) | 0;
4433 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4441 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4448 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4449 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4450 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4452 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4453 w11l
= w11l
+ w4l
| 0;
4454 w11h
= w11h
+ w4h
+ (w11l
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
4455 xl
= (w12l
>>> 1 | w12h
<< 31) ^ (w12l
>>> 8 | w12h
<< 24) ^ (w12l
>>> 7 | w12h
<< 25) | 0;
4456 w11l
= w11l
+ xl
| 0;
4457 w11h
= w11h
+ ((w12h
>>> 1 | w12l
<< 31) ^ (w12h
>>> 8 | w12l
<< 24) ^ w12h
>>> 7) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4458 xl
= (w9l
>>> 19 | w9h
<< 13) ^ (w9l
<< 3 | w9h
>>> 29) ^ (w9l
>>> 6 | w9h
<< 26) | 0;
4459 w11l
= w11l
+ xl
| 0;
4460 w11h
= w11h
+ ((w9h
>>> 19 | w9l
<< 13) ^ (w9h
<< 3 | w9l
>>> 29) ^ w9h
>>> 6) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4461 tl
= 3203337956 + w11l
| 0;
4462 th
= 3210313671 + w11h
+ (tl
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
4464 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4465 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4467 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4468 xl
= gl
^ el
& (fl
^ gl
) | 0;
4470 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4478 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4485 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4486 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4487 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4489 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4490 w12l
= w12l
+ w5l
| 0;
4491 w12h
= w12h
+ w5h
+ (w12l
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
4492 xl
= (w13l
>>> 1 | w13h
<< 31) ^ (w13l
>>> 8 | w13h
<< 24) ^ (w13l
>>> 7 | w13h
<< 25) | 0;
4493 w12l
= w12l
+ xl
| 0;
4494 w12h
= w12h
+ ((w13h
>>> 1 | w13l
<< 31) ^ (w13h
>>> 8 | w13l
<< 24) ^ w13h
>>> 7) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4495 xl
= (w10l
>>> 19 | w10h
<< 13) ^ (w10l
<< 3 | w10h
>>> 29) ^ (w10l
>>> 6 | w10h
<< 26) | 0;
4496 w12l
= w12l
+ xl
| 0;
4497 w12h
= w12h
+ ((w10h
>>> 19 | w10l
<< 13) ^ (w10h
<< 3 | w10l
>>> 29) ^ w10h
>>> 6) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4498 tl
= 1034457026 + w12l
| 0;
4499 th
= 3336571891 + w12h
+ (tl
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
4501 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4502 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4504 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4505 xl
= gl
^ el
& (fl
^ gl
) | 0;
4507 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4515 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4522 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4523 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4524 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4526 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4527 w13l
= w13l
+ w6l
| 0;
4528 w13h
= w13h
+ w6h
+ (w13l
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
4529 xl
= (w14l
>>> 1 | w14h
<< 31) ^ (w14l
>>> 8 | w14h
<< 24) ^ (w14l
>>> 7 | w14h
<< 25) | 0;
4530 w13l
= w13l
+ xl
| 0;
4531 w13h
= w13h
+ ((w14h
>>> 1 | w14l
<< 31) ^ (w14h
>>> 8 | w14l
<< 24) ^ w14h
>>> 7) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4532 xl
= (w11l
>>> 19 | w11h
<< 13) ^ (w11l
<< 3 | w11h
>>> 29) ^ (w11l
>>> 6 | w11h
<< 26) | 0;
4533 w13l
= w13l
+ xl
| 0;
4534 w13h
= w13h
+ ((w11h
>>> 19 | w11l
<< 13) ^ (w11h
<< 3 | w11l
>>> 29) ^ w11h
>>> 6) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4535 tl
= 2466948901 + w13l
| 0;
4536 th
= 3584528711 + w13h
+ (tl
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
4538 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4539 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4541 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4542 xl
= gl
^ el
& (fl
^ gl
) | 0;
4544 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4552 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4559 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4560 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4561 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4563 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4564 w14l
= w14l
+ w7l
| 0;
4565 w14h
= w14h
+ w7h
+ (w14l
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
4566 xl
= (w15l
>>> 1 | w15h
<< 31) ^ (w15l
>>> 8 | w15h
<< 24) ^ (w15l
>>> 7 | w15h
<< 25) | 0;
4567 w14l
= w14l
+ xl
| 0;
4568 w14h
= w14h
+ ((w15h
>>> 1 | w15l
<< 31) ^ (w15h
>>> 8 | w15l
<< 24) ^ w15h
>>> 7) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4569 xl
= (w12l
>>> 19 | w12h
<< 13) ^ (w12l
<< 3 | w12h
>>> 29) ^ (w12l
>>> 6 | w12h
<< 26) | 0;
4570 w14l
= w14l
+ xl
| 0;
4571 w14h
= w14h
+ ((w12h
>>> 19 | w12l
<< 13) ^ (w12h
<< 3 | w12l
>>> 29) ^ w12h
>>> 6) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4572 tl
= 3758326383 + w14l
| 0;
4573 th
= 113926993 + w14h
+ (tl
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
4575 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4576 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4578 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4579 xl
= gl
^ el
& (fl
^ gl
) | 0;
4581 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4589 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4596 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4597 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4598 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4600 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4601 w15l
= w15l
+ w8l
| 0;
4602 w15h
= w15h
+ w8h
+ (w15l
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
4603 xl
= (w0l
>>> 1 | w0h
<< 31) ^ (w0l
>>> 8 | w0h
<< 24) ^ (w0l
>>> 7 | w0h
<< 25) | 0;
4604 w15l
= w15l
+ xl
| 0;
4605 w15h
= w15h
+ ((w0h
>>> 1 | w0l
<< 31) ^ (w0h
>>> 8 | w0l
<< 24) ^ w0h
>>> 7) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4606 xl
= (w13l
>>> 19 | w13h
<< 13) ^ (w13l
<< 3 | w13h
>>> 29) ^ (w13l
>>> 6 | w13h
<< 26) | 0;
4607 w15l
= w15l
+ xl
| 0;
4608 w15h
= w15h
+ ((w13h
>>> 19 | w13l
<< 13) ^ (w13h
<< 3 | w13l
>>> 29) ^ w13h
>>> 6) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4609 tl
= 168717936 + w15l
| 0;
4610 th
= 338241895 + w15h
+ (tl
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
4612 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4613 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4615 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4616 xl
= gl
^ el
& (fl
^ gl
) | 0;
4618 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4626 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4633 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4634 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4635 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4637 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4638 w0l
= w0l
+ w9l
| 0;
4639 w0h
= w0h
+ w9h
+ (w0l
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
4640 xl
= (w1l
>>> 1 | w1h
<< 31) ^ (w1l
>>> 8 | w1h
<< 24) ^ (w1l
>>> 7 | w1h
<< 25) | 0;
4642 w0h
= w0h
+ ((w1h
>>> 1 | w1l
<< 31) ^ (w1h
>>> 8 | w1l
<< 24) ^ w1h
>>> 7) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4643 xl
= (w14l
>>> 19 | w14h
<< 13) ^ (w14l
<< 3 | w14h
>>> 29) ^ (w14l
>>> 6 | w14h
<< 26) | 0;
4645 w0h
= w0h
+ ((w14h
>>> 19 | w14l
<< 13) ^ (w14h
<< 3 | w14l
>>> 29) ^ w14h
>>> 6) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4646 tl
= 1188179964 + w0l
| 0;
4647 th
= 666307205 + w0h
+ (tl
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
4649 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4650 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4652 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4653 xl
= gl
^ el
& (fl
^ gl
) | 0;
4655 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4663 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4670 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4671 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4672 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4674 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4675 w1l
= w1l
+ w10l
| 0;
4676 w1h
= w1h
+ w10h
+ (w1l
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
4677 xl
= (w2l
>>> 1 | w2h
<< 31) ^ (w2l
>>> 8 | w2h
<< 24) ^ (w2l
>>> 7 | w2h
<< 25) | 0;
4679 w1h
= w1h
+ ((w2h
>>> 1 | w2l
<< 31) ^ (w2h
>>> 8 | w2l
<< 24) ^ w2h
>>> 7) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4680 xl
= (w15l
>>> 19 | w15h
<< 13) ^ (w15l
<< 3 | w15h
>>> 29) ^ (w15l
>>> 6 | w15h
<< 26) | 0;
4682 w1h
= w1h
+ ((w15h
>>> 19 | w15l
<< 13) ^ (w15h
<< 3 | w15l
>>> 29) ^ w15h
>>> 6) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4683 tl
= 1546045734 + w1l
| 0;
4684 th
= 773529912 + w1h
+ (tl
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
4686 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4687 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4689 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4690 xl
= gl
^ el
& (fl
^ gl
) | 0;
4692 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4700 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4707 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4708 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4709 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4711 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4712 w2l
= w2l
+ w11l
| 0;
4713 w2h
= w2h
+ w11h
+ (w2l
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
4714 xl
= (w3l
>>> 1 | w3h
<< 31) ^ (w3l
>>> 8 | w3h
<< 24) ^ (w3l
>>> 7 | w3h
<< 25) | 0;
4716 w2h
= w2h
+ ((w3h
>>> 1 | w3l
<< 31) ^ (w3h
>>> 8 | w3l
<< 24) ^ w3h
>>> 7) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4717 xl
= (w0l
>>> 19 | w0h
<< 13) ^ (w0l
<< 3 | w0h
>>> 29) ^ (w0l
>>> 6 | w0h
<< 26) | 0;
4719 w2h
= w2h
+ ((w0h
>>> 19 | w0l
<< 13) ^ (w0h
<< 3 | w0l
>>> 29) ^ w0h
>>> 6) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4720 tl
= 1522805485 + w2l
| 0;
4721 th
= 1294757372 + w2h
+ (tl
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
4723 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4724 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4726 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4727 xl
= gl
^ el
& (fl
^ gl
) | 0;
4729 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4737 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4744 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4745 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4746 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4748 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4749 w3l
= w3l
+ w12l
| 0;
4750 w3h
= w3h
+ w12h
+ (w3l
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
4751 xl
= (w4l
>>> 1 | w4h
<< 31) ^ (w4l
>>> 8 | w4h
<< 24) ^ (w4l
>>> 7 | w4h
<< 25) | 0;
4753 w3h
= w3h
+ ((w4h
>>> 1 | w4l
<< 31) ^ (w4h
>>> 8 | w4l
<< 24) ^ w4h
>>> 7) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4754 xl
= (w1l
>>> 19 | w1h
<< 13) ^ (w1l
<< 3 | w1h
>>> 29) ^ (w1l
>>> 6 | w1h
<< 26) | 0;
4756 w3h
= w3h
+ ((w1h
>>> 19 | w1l
<< 13) ^ (w1h
<< 3 | w1l
>>> 29) ^ w1h
>>> 6) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4757 tl
= 2643833823 + w3l
| 0;
4758 th
= 1396182291 + w3h
+ (tl
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
4760 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4761 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4763 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4764 xl
= gl
^ el
& (fl
^ gl
) | 0;
4766 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4774 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4781 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4782 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4783 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4785 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4786 w4l
= w4l
+ w13l
| 0;
4787 w4h
= w4h
+ w13h
+ (w4l
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
4788 xl
= (w5l
>>> 1 | w5h
<< 31) ^ (w5l
>>> 8 | w5h
<< 24) ^ (w5l
>>> 7 | w5h
<< 25) | 0;
4790 w4h
= w4h
+ ((w5h
>>> 1 | w5l
<< 31) ^ (w5h
>>> 8 | w5l
<< 24) ^ w5h
>>> 7) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4791 xl
= (w2l
>>> 19 | w2h
<< 13) ^ (w2l
<< 3 | w2h
>>> 29) ^ (w2l
>>> 6 | w2h
<< 26) | 0;
4793 w4h
= w4h
+ ((w2h
>>> 19 | w2l
<< 13) ^ (w2h
<< 3 | w2l
>>> 29) ^ w2h
>>> 6) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4794 tl
= 2343527390 + w4l
| 0;
4795 th
= 1695183700 + w4h
+ (tl
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
4797 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4798 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4800 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4801 xl
= gl
^ el
& (fl
^ gl
) | 0;
4803 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4811 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4818 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4819 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4820 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4822 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4823 w5l
= w5l
+ w14l
| 0;
4824 w5h
= w5h
+ w14h
+ (w5l
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
4825 xl
= (w6l
>>> 1 | w6h
<< 31) ^ (w6l
>>> 8 | w6h
<< 24) ^ (w6l
>>> 7 | w6h
<< 25) | 0;
4827 w5h
= w5h
+ ((w6h
>>> 1 | w6l
<< 31) ^ (w6h
>>> 8 | w6l
<< 24) ^ w6h
>>> 7) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4828 xl
= (w3l
>>> 19 | w3h
<< 13) ^ (w3l
<< 3 | w3h
>>> 29) ^ (w3l
>>> 6 | w3h
<< 26) | 0;
4830 w5h
= w5h
+ ((w3h
>>> 19 | w3l
<< 13) ^ (w3h
<< 3 | w3l
>>> 29) ^ w3h
>>> 6) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4831 tl
= 1014477480 + w5l
| 0;
4832 th
= 1986661051 + w5h
+ (tl
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
4834 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4835 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4837 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4838 xl
= gl
^ el
& (fl
^ gl
) | 0;
4840 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4848 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4855 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4856 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4857 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4859 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4860 w6l
= w6l
+ w15l
| 0;
4861 w6h
= w6h
+ w15h
+ (w6l
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
4862 xl
= (w7l
>>> 1 | w7h
<< 31) ^ (w7l
>>> 8 | w7h
<< 24) ^ (w7l
>>> 7 | w7h
<< 25) | 0;
4864 w6h
= w6h
+ ((w7h
>>> 1 | w7l
<< 31) ^ (w7h
>>> 8 | w7l
<< 24) ^ w7h
>>> 7) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4865 xl
= (w4l
>>> 19 | w4h
<< 13) ^ (w4l
<< 3 | w4h
>>> 29) ^ (w4l
>>> 6 | w4h
<< 26) | 0;
4867 w6h
= w6h
+ ((w4h
>>> 19 | w4l
<< 13) ^ (w4h
<< 3 | w4l
>>> 29) ^ w4h
>>> 6) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4868 tl
= 1206759142 + w6l
| 0;
4869 th
= 2177026350 + w6h
+ (tl
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
4871 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4872 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4874 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4875 xl
= gl
^ el
& (fl
^ gl
) | 0;
4877 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4885 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4892 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4893 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4894 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4896 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4897 w7l
= w7l
+ w0l
| 0;
4898 w7h
= w7h
+ w0h
+ (w7l
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
4899 xl
= (w8l
>>> 1 | w8h
<< 31) ^ (w8l
>>> 8 | w8h
<< 24) ^ (w8l
>>> 7 | w8h
<< 25) | 0;
4901 w7h
= w7h
+ ((w8h
>>> 1 | w8l
<< 31) ^ (w8h
>>> 8 | w8l
<< 24) ^ w8h
>>> 7) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4902 xl
= (w5l
>>> 19 | w5h
<< 13) ^ (w5l
<< 3 | w5h
>>> 29) ^ (w5l
>>> 6 | w5h
<< 26) | 0;
4904 w7h
= w7h
+ ((w5h
>>> 19 | w5l
<< 13) ^ (w5h
<< 3 | w5l
>>> 29) ^ w5h
>>> 6) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4905 tl
= 344077627 + w7l
| 0;
4906 th
= 2456956037 + w7h
+ (tl
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
4908 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4909 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4911 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4912 xl
= gl
^ el
& (fl
^ gl
) | 0;
4914 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4922 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4929 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4930 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4931 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4933 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4934 w8l
= w8l
+ w1l
| 0;
4935 w8h
= w8h
+ w1h
+ (w8l
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
4936 xl
= (w9l
>>> 1 | w9h
<< 31) ^ (w9l
>>> 8 | w9h
<< 24) ^ (w9l
>>> 7 | w9h
<< 25) | 0;
4938 w8h
= w8h
+ ((w9h
>>> 1 | w9l
<< 31) ^ (w9h
>>> 8 | w9l
<< 24) ^ w9h
>>> 7) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4939 xl
= (w6l
>>> 19 | w6h
<< 13) ^ (w6l
<< 3 | w6h
>>> 29) ^ (w6l
>>> 6 | w6h
<< 26) | 0;
4941 w8h
= w8h
+ ((w6h
>>> 19 | w6l
<< 13) ^ (w6h
<< 3 | w6l
>>> 29) ^ w6h
>>> 6) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4942 tl
= 1290863460 + w8l
| 0;
4943 th
= 2730485921 + w8h
+ (tl
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
4945 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4946 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4948 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4949 xl
= gl
^ el
& (fl
^ gl
) | 0;
4951 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4959 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
4966 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
4967 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
4968 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
4970 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4971 w9l
= w9l
+ w2l
| 0;
4972 w9h
= w9h
+ w2h
+ (w9l
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
4973 xl
= (w10l
>>> 1 | w10h
<< 31) ^ (w10l
>>> 8 | w10h
<< 24) ^ (w10l
>>> 7 | w10h
<< 25) | 0;
4975 w9h
= w9h
+ ((w10h
>>> 1 | w10l
<< 31) ^ (w10h
>>> 8 | w10l
<< 24) ^ w10h
>>> 7) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4976 xl
= (w7l
>>> 19 | w7h
<< 13) ^ (w7l
<< 3 | w7h
>>> 29) ^ (w7l
>>> 6 | w7h
<< 26) | 0;
4978 w9h
= w9h
+ ((w7h
>>> 19 | w7l
<< 13) ^ (w7h
<< 3 | w7l
>>> 29) ^ w7h
>>> 6) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4979 tl
= 3158454273 + w9l
| 0;
4980 th
= 2820302411 + w9h
+ (tl
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
4982 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
4983 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
4985 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4986 xl
= gl
^ el
& (fl
^ gl
) | 0;
4988 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
4996 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5003 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5004 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5005 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5007 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5008 w10l
= w10l
+ w3l
| 0;
5009 w10h
= w10h
+ w3h
+ (w10l
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
5010 xl
= (w11l
>>> 1 | w11h
<< 31) ^ (w11l
>>> 8 | w11h
<< 24) ^ (w11l
>>> 7 | w11h
<< 25) | 0;
5011 w10l
= w10l
+ xl
| 0;
5012 w10h
= w10h
+ ((w11h
>>> 1 | w11l
<< 31) ^ (w11h
>>> 8 | w11l
<< 24) ^ w11h
>>> 7) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5013 xl
= (w8l
>>> 19 | w8h
<< 13) ^ (w8l
<< 3 | w8h
>>> 29) ^ (w8l
>>> 6 | w8h
<< 26) | 0;
5014 w10l
= w10l
+ xl
| 0;
5015 w10h
= w10h
+ ((w8h
>>> 19 | w8l
<< 13) ^ (w8h
<< 3 | w8l
>>> 29) ^ w8h
>>> 6) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5016 tl
= 3505952657 + w10l
| 0;
5017 th
= 3259730800 + w10h
+ (tl
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
5019 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5020 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5022 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5023 xl
= gl
^ el
& (fl
^ gl
) | 0;
5025 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5033 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5040 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5041 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5042 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5044 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5045 w11l
= w11l
+ w4l
| 0;
5046 w11h
= w11h
+ w4h
+ (w11l
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
5047 xl
= (w12l
>>> 1 | w12h
<< 31) ^ (w12l
>>> 8 | w12h
<< 24) ^ (w12l
>>> 7 | w12h
<< 25) | 0;
5048 w11l
= w11l
+ xl
| 0;
5049 w11h
= w11h
+ ((w12h
>>> 1 | w12l
<< 31) ^ (w12h
>>> 8 | w12l
<< 24) ^ w12h
>>> 7) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5050 xl
= (w9l
>>> 19 | w9h
<< 13) ^ (w9l
<< 3 | w9h
>>> 29) ^ (w9l
>>> 6 | w9h
<< 26) | 0;
5051 w11l
= w11l
+ xl
| 0;
5052 w11h
= w11h
+ ((w9h
>>> 19 | w9l
<< 13) ^ (w9h
<< 3 | w9l
>>> 29) ^ w9h
>>> 6) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5053 tl
= 106217008 + w11l
| 0;
5054 th
= 3345764771 + w11h
+ (tl
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
5056 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5057 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5059 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5060 xl
= gl
^ el
& (fl
^ gl
) | 0;
5062 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5070 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5077 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5078 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5079 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5081 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5082 w12l
= w12l
+ w5l
| 0;
5083 w12h
= w12h
+ w5h
+ (w12l
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
5084 xl
= (w13l
>>> 1 | w13h
<< 31) ^ (w13l
>>> 8 | w13h
<< 24) ^ (w13l
>>> 7 | w13h
<< 25) | 0;
5085 w12l
= w12l
+ xl
| 0;
5086 w12h
= w12h
+ ((w13h
>>> 1 | w13l
<< 31) ^ (w13h
>>> 8 | w13l
<< 24) ^ w13h
>>> 7) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5087 xl
= (w10l
>>> 19 | w10h
<< 13) ^ (w10l
<< 3 | w10h
>>> 29) ^ (w10l
>>> 6 | w10h
<< 26) | 0;
5088 w12l
= w12l
+ xl
| 0;
5089 w12h
= w12h
+ ((w10h
>>> 19 | w10l
<< 13) ^ (w10h
<< 3 | w10l
>>> 29) ^ w10h
>>> 6) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5090 tl
= 3606008344 + w12l
| 0;
5091 th
= 3516065817 + w12h
+ (tl
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
5093 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5094 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5096 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5097 xl
= gl
^ el
& (fl
^ gl
) | 0;
5099 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5107 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5114 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5115 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5116 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5118 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5119 w13l
= w13l
+ w6l
| 0;
5120 w13h
= w13h
+ w6h
+ (w13l
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
5121 xl
= (w14l
>>> 1 | w14h
<< 31) ^ (w14l
>>> 8 | w14h
<< 24) ^ (w14l
>>> 7 | w14h
<< 25) | 0;
5122 w13l
= w13l
+ xl
| 0;
5123 w13h
= w13h
+ ((w14h
>>> 1 | w14l
<< 31) ^ (w14h
>>> 8 | w14l
<< 24) ^ w14h
>>> 7) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5124 xl
= (w11l
>>> 19 | w11h
<< 13) ^ (w11l
<< 3 | w11h
>>> 29) ^ (w11l
>>> 6 | w11h
<< 26) | 0;
5125 w13l
= w13l
+ xl
| 0;
5126 w13h
= w13h
+ ((w11h
>>> 19 | w11l
<< 13) ^ (w11h
<< 3 | w11l
>>> 29) ^ w11h
>>> 6) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5127 tl
= 1432725776 + w13l
| 0;
5128 th
= 3600352804 + w13h
+ (tl
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
5130 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5131 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5133 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5134 xl
= gl
^ el
& (fl
^ gl
) | 0;
5136 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5144 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5151 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5152 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5153 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5155 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5156 w14l
= w14l
+ w7l
| 0;
5157 w14h
= w14h
+ w7h
+ (w14l
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
5158 xl
= (w15l
>>> 1 | w15h
<< 31) ^ (w15l
>>> 8 | w15h
<< 24) ^ (w15l
>>> 7 | w15h
<< 25) | 0;
5159 w14l
= w14l
+ xl
| 0;
5160 w14h
= w14h
+ ((w15h
>>> 1 | w15l
<< 31) ^ (w15h
>>> 8 | w15l
<< 24) ^ w15h
>>> 7) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5161 xl
= (w12l
>>> 19 | w12h
<< 13) ^ (w12l
<< 3 | w12h
>>> 29) ^ (w12l
>>> 6 | w12h
<< 26) | 0;
5162 w14l
= w14l
+ xl
| 0;
5163 w14h
= w14h
+ ((w12h
>>> 19 | w12l
<< 13) ^ (w12h
<< 3 | w12l
>>> 29) ^ w12h
>>> 6) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5164 tl
= 1467031594 + w14l
| 0;
5165 th
= 4094571909 + w14h
+ (tl
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
5167 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5168 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5170 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5171 xl
= gl
^ el
& (fl
^ gl
) | 0;
5173 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5181 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5188 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5189 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5190 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5192 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5193 w15l
= w15l
+ w8l
| 0;
5194 w15h
= w15h
+ w8h
+ (w15l
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
5195 xl
= (w0l
>>> 1 | w0h
<< 31) ^ (w0l
>>> 8 | w0h
<< 24) ^ (w0l
>>> 7 | w0h
<< 25) | 0;
5196 w15l
= w15l
+ xl
| 0;
5197 w15h
= w15h
+ ((w0h
>>> 1 | w0l
<< 31) ^ (w0h
>>> 8 | w0l
<< 24) ^ w0h
>>> 7) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5198 xl
= (w13l
>>> 19 | w13h
<< 13) ^ (w13l
<< 3 | w13h
>>> 29) ^ (w13l
>>> 6 | w13h
<< 26) | 0;
5199 w15l
= w15l
+ xl
| 0;
5200 w15h
= w15h
+ ((w13h
>>> 19 | w13l
<< 13) ^ (w13h
<< 3 | w13l
>>> 29) ^ w13h
>>> 6) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5201 tl
= 851169720 + w15l
| 0;
5202 th
= 275423344 + w15h
+ (tl
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
5204 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5205 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5207 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5208 xl
= gl
^ el
& (fl
^ gl
) | 0;
5210 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5218 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5225 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5226 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5227 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5229 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5230 w0l
= w0l
+ w9l
| 0;
5231 w0h
= w0h
+ w9h
+ (w0l
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
5232 xl
= (w1l
>>> 1 | w1h
<< 31) ^ (w1l
>>> 8 | w1h
<< 24) ^ (w1l
>>> 7 | w1h
<< 25) | 0;
5234 w0h
= w0h
+ ((w1h
>>> 1 | w1l
<< 31) ^ (w1h
>>> 8 | w1l
<< 24) ^ w1h
>>> 7) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5235 xl
= (w14l
>>> 19 | w14h
<< 13) ^ (w14l
<< 3 | w14h
>>> 29) ^ (w14l
>>> 6 | w14h
<< 26) | 0;
5237 w0h
= w0h
+ ((w14h
>>> 19 | w14l
<< 13) ^ (w14h
<< 3 | w14l
>>> 29) ^ w14h
>>> 6) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5238 tl
= 3100823752 + w0l
| 0;
5239 th
= 430227734 + w0h
+ (tl
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
5241 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5242 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5244 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5245 xl
= gl
^ el
& (fl
^ gl
) | 0;
5247 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5255 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5262 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5263 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5264 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5266 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5267 w1l
= w1l
+ w10l
| 0;
5268 w1h
= w1h
+ w10h
+ (w1l
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
5269 xl
= (w2l
>>> 1 | w2h
<< 31) ^ (w2l
>>> 8 | w2h
<< 24) ^ (w2l
>>> 7 | w2h
<< 25) | 0;
5271 w1h
= w1h
+ ((w2h
>>> 1 | w2l
<< 31) ^ (w2h
>>> 8 | w2l
<< 24) ^ w2h
>>> 7) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5272 xl
= (w15l
>>> 19 | w15h
<< 13) ^ (w15l
<< 3 | w15h
>>> 29) ^ (w15l
>>> 6 | w15h
<< 26) | 0;
5274 w1h
= w1h
+ ((w15h
>>> 19 | w15l
<< 13) ^ (w15h
<< 3 | w15l
>>> 29) ^ w15h
>>> 6) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5275 tl
= 1363258195 + w1l
| 0;
5276 th
= 506948616 + w1h
+ (tl
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
5278 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5279 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5281 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5282 xl
= gl
^ el
& (fl
^ gl
) | 0;
5284 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5292 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5299 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5300 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5301 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5303 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5304 w2l
= w2l
+ w11l
| 0;
5305 w2h
= w2h
+ w11h
+ (w2l
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
5306 xl
= (w3l
>>> 1 | w3h
<< 31) ^ (w3l
>>> 8 | w3h
<< 24) ^ (w3l
>>> 7 | w3h
<< 25) | 0;
5308 w2h
= w2h
+ ((w3h
>>> 1 | w3l
<< 31) ^ (w3h
>>> 8 | w3l
<< 24) ^ w3h
>>> 7) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5309 xl
= (w0l
>>> 19 | w0h
<< 13) ^ (w0l
<< 3 | w0h
>>> 29) ^ (w0l
>>> 6 | w0h
<< 26) | 0;
5311 w2h
= w2h
+ ((w0h
>>> 19 | w0l
<< 13) ^ (w0h
<< 3 | w0l
>>> 29) ^ w0h
>>> 6) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5312 tl
= 3750685593 + w2l
| 0;
5313 th
= 659060556 + w2h
+ (tl
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
5315 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5316 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5318 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5319 xl
= gl
^ el
& (fl
^ gl
) | 0;
5321 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5329 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5336 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5337 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5338 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5340 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5341 w3l
= w3l
+ w12l
| 0;
5342 w3h
= w3h
+ w12h
+ (w3l
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
5343 xl
= (w4l
>>> 1 | w4h
<< 31) ^ (w4l
>>> 8 | w4h
<< 24) ^ (w4l
>>> 7 | w4h
<< 25) | 0;
5345 w3h
= w3h
+ ((w4h
>>> 1 | w4l
<< 31) ^ (w4h
>>> 8 | w4l
<< 24) ^ w4h
>>> 7) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5346 xl
= (w1l
>>> 19 | w1h
<< 13) ^ (w1l
<< 3 | w1h
>>> 29) ^ (w1l
>>> 6 | w1h
<< 26) | 0;
5348 w3h
= w3h
+ ((w1h
>>> 19 | w1l
<< 13) ^ (w1h
<< 3 | w1l
>>> 29) ^ w1h
>>> 6) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5349 tl
= 3785050280 + w3l
| 0;
5350 th
= 883997877 + w3h
+ (tl
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
5352 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5353 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5355 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5356 xl
= gl
^ el
& (fl
^ gl
) | 0;
5358 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5366 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5373 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5374 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5375 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5377 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5378 w4l
= w4l
+ w13l
| 0;
5379 w4h
= w4h
+ w13h
+ (w4l
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
5380 xl
= (w5l
>>> 1 | w5h
<< 31) ^ (w5l
>>> 8 | w5h
<< 24) ^ (w5l
>>> 7 | w5h
<< 25) | 0;
5382 w4h
= w4h
+ ((w5h
>>> 1 | w5l
<< 31) ^ (w5h
>>> 8 | w5l
<< 24) ^ w5h
>>> 7) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5383 xl
= (w2l
>>> 19 | w2h
<< 13) ^ (w2l
<< 3 | w2h
>>> 29) ^ (w2l
>>> 6 | w2h
<< 26) | 0;
5385 w4h
= w4h
+ ((w2h
>>> 19 | w2l
<< 13) ^ (w2h
<< 3 | w2l
>>> 29) ^ w2h
>>> 6) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5386 tl
= 3318307427 + w4l
| 0;
5387 th
= 958139571 + w4h
+ (tl
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
5389 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5390 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5392 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5393 xl
= gl
^ el
& (fl
^ gl
) | 0;
5395 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5403 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5410 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5411 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5412 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5414 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5415 w5l
= w5l
+ w14l
| 0;
5416 w5h
= w5h
+ w14h
+ (w5l
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
5417 xl
= (w6l
>>> 1 | w6h
<< 31) ^ (w6l
>>> 8 | w6h
<< 24) ^ (w6l
>>> 7 | w6h
<< 25) | 0;
5419 w5h
= w5h
+ ((w6h
>>> 1 | w6l
<< 31) ^ (w6h
>>> 8 | w6l
<< 24) ^ w6h
>>> 7) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5420 xl
= (w3l
>>> 19 | w3h
<< 13) ^ (w3l
<< 3 | w3h
>>> 29) ^ (w3l
>>> 6 | w3h
<< 26) | 0;
5422 w5h
= w5h
+ ((w3h
>>> 19 | w3l
<< 13) ^ (w3h
<< 3 | w3l
>>> 29) ^ w3h
>>> 6) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5423 tl
= 3812723403 + w5l
| 0;
5424 th
= 1322822218 + w5h
+ (tl
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
5426 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5427 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5429 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5430 xl
= gl
^ el
& (fl
^ gl
) | 0;
5432 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5440 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5447 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5448 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5449 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5451 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5452 w6l
= w6l
+ w15l
| 0;
5453 w6h
= w6h
+ w15h
+ (w6l
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
5454 xl
= (w7l
>>> 1 | w7h
<< 31) ^ (w7l
>>> 8 | w7h
<< 24) ^ (w7l
>>> 7 | w7h
<< 25) | 0;
5456 w6h
= w6h
+ ((w7h
>>> 1 | w7l
<< 31) ^ (w7h
>>> 8 | w7l
<< 24) ^ w7h
>>> 7) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5457 xl
= (w4l
>>> 19 | w4h
<< 13) ^ (w4l
<< 3 | w4h
>>> 29) ^ (w4l
>>> 6 | w4h
<< 26) | 0;
5459 w6h
= w6h
+ ((w4h
>>> 19 | w4l
<< 13) ^ (w4h
<< 3 | w4l
>>> 29) ^ w4h
>>> 6) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5460 tl
= 2003034995 + w6l
| 0;
5461 th
= 1537002063 + w6h
+ (tl
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
5463 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5464 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5466 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5467 xl
= gl
^ el
& (fl
^ gl
) | 0;
5469 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5477 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5484 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5485 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5486 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5488 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5489 w7l
= w7l
+ w0l
| 0;
5490 w7h
= w7h
+ w0h
+ (w7l
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
5491 xl
= (w8l
>>> 1 | w8h
<< 31) ^ (w8l
>>> 8 | w8h
<< 24) ^ (w8l
>>> 7 | w8h
<< 25) | 0;
5493 w7h
= w7h
+ ((w8h
>>> 1 | w8l
<< 31) ^ (w8h
>>> 8 | w8l
<< 24) ^ w8h
>>> 7) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5494 xl
= (w5l
>>> 19 | w5h
<< 13) ^ (w5l
<< 3 | w5h
>>> 29) ^ (w5l
>>> 6 | w5h
<< 26) | 0;
5496 w7h
= w7h
+ ((w5h
>>> 19 | w5l
<< 13) ^ (w5h
<< 3 | w5l
>>> 29) ^ w5h
>>> 6) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5497 tl
= 3602036899 + w7l
| 0;
5498 th
= 1747873779 + w7h
+ (tl
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
5500 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5501 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5503 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5504 xl
= gl
^ el
& (fl
^ gl
) | 0;
5506 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5514 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5521 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5522 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5523 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5525 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5526 w8l
= w8l
+ w1l
| 0;
5527 w8h
= w8h
+ w1h
+ (w8l
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
5528 xl
= (w9l
>>> 1 | w9h
<< 31) ^ (w9l
>>> 8 | w9h
<< 24) ^ (w9l
>>> 7 | w9h
<< 25) | 0;
5530 w8h
= w8h
+ ((w9h
>>> 1 | w9l
<< 31) ^ (w9h
>>> 8 | w9l
<< 24) ^ w9h
>>> 7) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5531 xl
= (w6l
>>> 19 | w6h
<< 13) ^ (w6l
<< 3 | w6h
>>> 29) ^ (w6l
>>> 6 | w6h
<< 26) | 0;
5533 w8h
= w8h
+ ((w6h
>>> 19 | w6l
<< 13) ^ (w6h
<< 3 | w6l
>>> 29) ^ w6h
>>> 6) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5534 tl
= 1575990012 + w8l
| 0;
5535 th
= 1955562222 + w8h
+ (tl
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
5537 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5538 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5540 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5541 xl
= gl
^ el
& (fl
^ gl
) | 0;
5543 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5551 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5558 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5559 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5560 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5562 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5563 w9l
= w9l
+ w2l
| 0;
5564 w9h
= w9h
+ w2h
+ (w9l
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
5565 xl
= (w10l
>>> 1 | w10h
<< 31) ^ (w10l
>>> 8 | w10h
<< 24) ^ (w10l
>>> 7 | w10h
<< 25) | 0;
5567 w9h
= w9h
+ ((w10h
>>> 1 | w10l
<< 31) ^ (w10h
>>> 8 | w10l
<< 24) ^ w10h
>>> 7) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5568 xl
= (w7l
>>> 19 | w7h
<< 13) ^ (w7l
<< 3 | w7h
>>> 29) ^ (w7l
>>> 6 | w7h
<< 26) | 0;
5570 w9h
= w9h
+ ((w7h
>>> 19 | w7l
<< 13) ^ (w7h
<< 3 | w7l
>>> 29) ^ w7h
>>> 6) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5571 tl
= 1125592928 + w9l
| 0;
5572 th
= 2024104815 + w9h
+ (tl
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
5574 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5575 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5577 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5578 xl
= gl
^ el
& (fl
^ gl
) | 0;
5580 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5588 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5595 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5596 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5597 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5599 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5600 w10l
= w10l
+ w3l
| 0;
5601 w10h
= w10h
+ w3h
+ (w10l
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
5602 xl
= (w11l
>>> 1 | w11h
<< 31) ^ (w11l
>>> 8 | w11h
<< 24) ^ (w11l
>>> 7 | w11h
<< 25) | 0;
5603 w10l
= w10l
+ xl
| 0;
5604 w10h
= w10h
+ ((w11h
>>> 1 | w11l
<< 31) ^ (w11h
>>> 8 | w11l
<< 24) ^ w11h
>>> 7) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5605 xl
= (w8l
>>> 19 | w8h
<< 13) ^ (w8l
<< 3 | w8h
>>> 29) ^ (w8l
>>> 6 | w8h
<< 26) | 0;
5606 w10l
= w10l
+ xl
| 0;
5607 w10h
= w10h
+ ((w8h
>>> 19 | w8l
<< 13) ^ (w8h
<< 3 | w8l
>>> 29) ^ w8h
>>> 6) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5608 tl
= 2716904306 + w10l
| 0;
5609 th
= 2227730452 + w10h
+ (tl
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
5611 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5612 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5614 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5615 xl
= gl
^ el
& (fl
^ gl
) | 0;
5617 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5625 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5632 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5633 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5634 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5636 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5637 w11l
= w11l
+ w4l
| 0;
5638 w11h
= w11h
+ w4h
+ (w11l
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
5639 xl
= (w12l
>>> 1 | w12h
<< 31) ^ (w12l
>>> 8 | w12h
<< 24) ^ (w12l
>>> 7 | w12h
<< 25) | 0;
5640 w11l
= w11l
+ xl
| 0;
5641 w11h
= w11h
+ ((w12h
>>> 1 | w12l
<< 31) ^ (w12h
>>> 8 | w12l
<< 24) ^ w12h
>>> 7) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5642 xl
= (w9l
>>> 19 | w9h
<< 13) ^ (w9l
<< 3 | w9h
>>> 29) ^ (w9l
>>> 6 | w9h
<< 26) | 0;
5643 w11l
= w11l
+ xl
| 0;
5644 w11h
= w11h
+ ((w9h
>>> 19 | w9l
<< 13) ^ (w9h
<< 3 | w9l
>>> 29) ^ w9h
>>> 6) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5645 tl
= 442776044 + w11l
| 0;
5646 th
= 2361852424 + w11h
+ (tl
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
5648 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5649 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5651 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5652 xl
= gl
^ el
& (fl
^ gl
) | 0;
5654 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5662 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5669 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5670 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5671 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5673 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5674 w12l
= w12l
+ w5l
| 0;
5675 w12h
= w12h
+ w5h
+ (w12l
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
5676 xl
= (w13l
>>> 1 | w13h
<< 31) ^ (w13l
>>> 8 | w13h
<< 24) ^ (w13l
>>> 7 | w13h
<< 25) | 0;
5677 w12l
= w12l
+ xl
| 0;
5678 w12h
= w12h
+ ((w13h
>>> 1 | w13l
<< 31) ^ (w13h
>>> 8 | w13l
<< 24) ^ w13h
>>> 7) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5679 xl
= (w10l
>>> 19 | w10h
<< 13) ^ (w10l
<< 3 | w10h
>>> 29) ^ (w10l
>>> 6 | w10h
<< 26) | 0;
5680 w12l
= w12l
+ xl
| 0;
5681 w12h
= w12h
+ ((w10h
>>> 19 | w10l
<< 13) ^ (w10h
<< 3 | w10l
>>> 29) ^ w10h
>>> 6) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5682 tl
= 593698344 + w12l
| 0;
5683 th
= 2428436474 + w12h
+ (tl
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
5685 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5686 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5688 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5689 xl
= gl
^ el
& (fl
^ gl
) | 0;
5691 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5699 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5706 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5707 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5708 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5710 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5711 w13l
= w13l
+ w6l
| 0;
5712 w13h
= w13h
+ w6h
+ (w13l
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
5713 xl
= (w14l
>>> 1 | w14h
<< 31) ^ (w14l
>>> 8 | w14h
<< 24) ^ (w14l
>>> 7 | w14h
<< 25) | 0;
5714 w13l
= w13l
+ xl
| 0;
5715 w13h
= w13h
+ ((w14h
>>> 1 | w14l
<< 31) ^ (w14h
>>> 8 | w14l
<< 24) ^ w14h
>>> 7) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5716 xl
= (w11l
>>> 19 | w11h
<< 13) ^ (w11l
<< 3 | w11h
>>> 29) ^ (w11l
>>> 6 | w11h
<< 26) | 0;
5717 w13l
= w13l
+ xl
| 0;
5718 w13h
= w13h
+ ((w11h
>>> 19 | w11l
<< 13) ^ (w11h
<< 3 | w11l
>>> 29) ^ w11h
>>> 6) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5719 tl
= 3733110249 + w13l
| 0;
5720 th
= 2756734187 + w13h
+ (tl
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
5722 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5723 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5725 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5726 xl
= gl
^ el
& (fl
^ gl
) | 0;
5728 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5736 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5743 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5744 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5745 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5747 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5748 w14l
= w14l
+ w7l
| 0;
5749 w14h
= w14h
+ w7h
+ (w14l
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
5750 xl
= (w15l
>>> 1 | w15h
<< 31) ^ (w15l
>>> 8 | w15h
<< 24) ^ (w15l
>>> 7 | w15h
<< 25) | 0;
5751 w14l
= w14l
+ xl
| 0;
5752 w14h
= w14h
+ ((w15h
>>> 1 | w15l
<< 31) ^ (w15h
>>> 8 | w15l
<< 24) ^ w15h
>>> 7) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5753 xl
= (w12l
>>> 19 | w12h
<< 13) ^ (w12l
<< 3 | w12h
>>> 29) ^ (w12l
>>> 6 | w12h
<< 26) | 0;
5754 w14l
= w14l
+ xl
| 0;
5755 w14h
= w14h
+ ((w12h
>>> 19 | w12l
<< 13) ^ (w12h
<< 3 | w12l
>>> 29) ^ w12h
>>> 6) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5756 tl
= 2999351573 + w14l
| 0;
5757 th
= 3204031479 + w14h
+ (tl
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
5759 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5760 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5762 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5763 xl
= gl
^ el
& (fl
^ gl
) | 0;
5765 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5773 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5780 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5781 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5782 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5784 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5785 w15l
= w15l
+ w8l
| 0;
5786 w15h
= w15h
+ w8h
+ (w15l
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
5787 xl
= (w0l
>>> 1 | w0h
<< 31) ^ (w0l
>>> 8 | w0h
<< 24) ^ (w0l
>>> 7 | w0h
<< 25) | 0;
5788 w15l
= w15l
+ xl
| 0;
5789 w15h
= w15h
+ ((w0h
>>> 1 | w0l
<< 31) ^ (w0h
>>> 8 | w0l
<< 24) ^ w0h
>>> 7) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5790 xl
= (w13l
>>> 19 | w13h
<< 13) ^ (w13l
<< 3 | w13h
>>> 29) ^ (w13l
>>> 6 | w13h
<< 26) | 0;
5791 w15l
= w15l
+ xl
| 0;
5792 w15h
= w15h
+ ((w13h
>>> 19 | w13l
<< 13) ^ (w13h
<< 3 | w13l
>>> 29) ^ w13h
>>> 6) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5793 tl
= 3815920427 + w15l
| 0;
5794 th
= 3329325298 + w15h
+ (tl
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
5796 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5797 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5799 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5800 xl
= gl
^ el
& (fl
^ gl
) | 0;
5802 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5810 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5817 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5818 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5819 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5821 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5822 w0l
= w0l
+ w9l
| 0;
5823 w0h
= w0h
+ w9h
+ (w0l
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
5824 xl
= (w1l
>>> 1 | w1h
<< 31) ^ (w1l
>>> 8 | w1h
<< 24) ^ (w1l
>>> 7 | w1h
<< 25) | 0;
5826 w0h
= w0h
+ ((w1h
>>> 1 | w1l
<< 31) ^ (w1h
>>> 8 | w1l
<< 24) ^ w1h
>>> 7) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5827 xl
= (w14l
>>> 19 | w14h
<< 13) ^ (w14l
<< 3 | w14h
>>> 29) ^ (w14l
>>> 6 | w14h
<< 26) | 0;
5829 w0h
= w0h
+ ((w14h
>>> 19 | w14l
<< 13) ^ (w14h
<< 3 | w14l
>>> 29) ^ w14h
>>> 6) + (w0l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5830 tl
= 3928383900 + w0l
| 0;
5831 th
= 3391569614 + w0h
+ (tl
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
5833 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5834 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5836 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5837 xl
= gl
^ el
& (fl
^ gl
) | 0;
5839 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5847 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5854 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5855 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5856 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5858 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5859 w1l
= w1l
+ w10l
| 0;
5860 w1h
= w1h
+ w10h
+ (w1l
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
5861 xl
= (w2l
>>> 1 | w2h
<< 31) ^ (w2l
>>> 8 | w2h
<< 24) ^ (w2l
>>> 7 | w2h
<< 25) | 0;
5863 w1h
= w1h
+ ((w2h
>>> 1 | w2l
<< 31) ^ (w2h
>>> 8 | w2l
<< 24) ^ w2h
>>> 7) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5864 xl
= (w15l
>>> 19 | w15h
<< 13) ^ (w15l
<< 3 | w15h
>>> 29) ^ (w15l
>>> 6 | w15h
<< 26) | 0;
5866 w1h
= w1h
+ ((w15h
>>> 19 | w15l
<< 13) ^ (w15h
<< 3 | w15l
>>> 29) ^ w15h
>>> 6) + (w1l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5867 tl
= 566280711 + w1l
| 0;
5868 th
= 3515267271 + w1h
+ (tl
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
5870 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5871 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5873 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5874 xl
= gl
^ el
& (fl
^ gl
) | 0;
5876 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5884 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5891 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5892 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5893 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5895 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5896 w2l
= w2l
+ w11l
| 0;
5897 w2h
= w2h
+ w11h
+ (w2l
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
5898 xl
= (w3l
>>> 1 | w3h
<< 31) ^ (w3l
>>> 8 | w3h
<< 24) ^ (w3l
>>> 7 | w3h
<< 25) | 0;
5900 w2h
= w2h
+ ((w3h
>>> 1 | w3l
<< 31) ^ (w3h
>>> 8 | w3l
<< 24) ^ w3h
>>> 7) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5901 xl
= (w0l
>>> 19 | w0h
<< 13) ^ (w0l
<< 3 | w0h
>>> 29) ^ (w0l
>>> 6 | w0h
<< 26) | 0;
5903 w2h
= w2h
+ ((w0h
>>> 19 | w0l
<< 13) ^ (w0h
<< 3 | w0l
>>> 29) ^ w0h
>>> 6) + (w2l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5904 tl
= 3454069534 + w2l
| 0;
5905 th
= 3940187606 + w2h
+ (tl
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
5907 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5908 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5910 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5911 xl
= gl
^ el
& (fl
^ gl
) | 0;
5913 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5921 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5928 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5929 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5930 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5932 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5933 w3l
= w3l
+ w12l
| 0;
5934 w3h
= w3h
+ w12h
+ (w3l
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
5935 xl
= (w4l
>>> 1 | w4h
<< 31) ^ (w4l
>>> 8 | w4h
<< 24) ^ (w4l
>>> 7 | w4h
<< 25) | 0;
5937 w3h
= w3h
+ ((w4h
>>> 1 | w4l
<< 31) ^ (w4h
>>> 8 | w4l
<< 24) ^ w4h
>>> 7) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5938 xl
= (w1l
>>> 19 | w1h
<< 13) ^ (w1l
<< 3 | w1h
>>> 29) ^ (w1l
>>> 6 | w1h
<< 26) | 0;
5940 w3h
= w3h
+ ((w1h
>>> 19 | w1l
<< 13) ^ (w1h
<< 3 | w1l
>>> 29) ^ w1h
>>> 6) + (w3l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5941 tl
= 4000239992 + w3l
| 0;
5942 th
= 4118630271 + w3h
+ (tl
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
5944 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5945 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5947 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5948 xl
= gl
^ el
& (fl
^ gl
) | 0;
5950 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5958 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
5965 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
5966 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
5967 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
5969 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5970 w4l
= w4l
+ w13l
| 0;
5971 w4h
= w4h
+ w13h
+ (w4l
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
5972 xl
= (w5l
>>> 1 | w5h
<< 31) ^ (w5l
>>> 8 | w5h
<< 24) ^ (w5l
>>> 7 | w5h
<< 25) | 0;
5974 w4h
= w4h
+ ((w5h
>>> 1 | w5l
<< 31) ^ (w5h
>>> 8 | w5l
<< 24) ^ w5h
>>> 7) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5975 xl
= (w2l
>>> 19 | w2h
<< 13) ^ (w2l
<< 3 | w2h
>>> 29) ^ (w2l
>>> 6 | w2h
<< 26) | 0;
5977 w4h
= w4h
+ ((w2h
>>> 19 | w2l
<< 13) ^ (w2h
<< 3 | w2l
>>> 29) ^ w2h
>>> 6) + (w4l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5978 tl
= 1914138554 + w4l
| 0;
5979 th
= 116418474 + w4h
+ (tl
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
5981 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
5982 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
5984 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5985 xl
= gl
^ el
& (fl
^ gl
) | 0;
5987 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
5995 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6002 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6003 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6004 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6006 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6007 w5l
= w5l
+ w14l
| 0;
6008 w5h
= w5h
+ w14h
+ (w5l
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
6009 xl
= (w6l
>>> 1 | w6h
<< 31) ^ (w6l
>>> 8 | w6h
<< 24) ^ (w6l
>>> 7 | w6h
<< 25) | 0;
6011 w5h
= w5h
+ ((w6h
>>> 1 | w6l
<< 31) ^ (w6h
>>> 8 | w6l
<< 24) ^ w6h
>>> 7) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6012 xl
= (w3l
>>> 19 | w3h
<< 13) ^ (w3l
<< 3 | w3h
>>> 29) ^ (w3l
>>> 6 | w3h
<< 26) | 0;
6014 w5h
= w5h
+ ((w3h
>>> 19 | w3l
<< 13) ^ (w3h
<< 3 | w3l
>>> 29) ^ w3h
>>> 6) + (w5l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6015 tl
= 2731055270 + w5l
| 0;
6016 th
= 174292421 + w5h
+ (tl
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
6018 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6019 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6021 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6022 xl
= gl
^ el
& (fl
^ gl
) | 0;
6024 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6032 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6039 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6040 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6041 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6043 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6044 w6l
= w6l
+ w15l
| 0;
6045 w6h
= w6h
+ w15h
+ (w6l
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
6046 xl
= (w7l
>>> 1 | w7h
<< 31) ^ (w7l
>>> 8 | w7h
<< 24) ^ (w7l
>>> 7 | w7h
<< 25) | 0;
6048 w6h
= w6h
+ ((w7h
>>> 1 | w7l
<< 31) ^ (w7h
>>> 8 | w7l
<< 24) ^ w7h
>>> 7) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6049 xl
= (w4l
>>> 19 | w4h
<< 13) ^ (w4l
<< 3 | w4h
>>> 29) ^ (w4l
>>> 6 | w4h
<< 26) | 0;
6051 w6h
= w6h
+ ((w4h
>>> 19 | w4l
<< 13) ^ (w4h
<< 3 | w4l
>>> 29) ^ w4h
>>> 6) + (w6l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6052 tl
= 3203993006 + w6l
| 0;
6053 th
= 289380356 + w6h
+ (tl
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
6055 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6056 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6058 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6059 xl
= gl
^ el
& (fl
^ gl
) | 0;
6061 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6069 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6076 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6077 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6078 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6080 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6081 w7l
= w7l
+ w0l
| 0;
6082 w7h
= w7h
+ w0h
+ (w7l
>>> 0 < w0l
>>> 0 ? 1 : 0) | 0;
6083 xl
= (w8l
>>> 1 | w8h
<< 31) ^ (w8l
>>> 8 | w8h
<< 24) ^ (w8l
>>> 7 | w8h
<< 25) | 0;
6085 w7h
= w7h
+ ((w8h
>>> 1 | w8l
<< 31) ^ (w8h
>>> 8 | w8l
<< 24) ^ w8h
>>> 7) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6086 xl
= (w5l
>>> 19 | w5h
<< 13) ^ (w5l
<< 3 | w5h
>>> 29) ^ (w5l
>>> 6 | w5h
<< 26) | 0;
6088 w7h
= w7h
+ ((w5h
>>> 19 | w5l
<< 13) ^ (w5h
<< 3 | w5l
>>> 29) ^ w5h
>>> 6) + (w7l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6089 tl
= 320620315 + w7l
| 0;
6090 th
= 460393269 + w7h
+ (tl
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
6092 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6093 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6095 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6096 xl
= gl
^ el
& (fl
^ gl
) | 0;
6098 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6106 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6113 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6114 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6115 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6117 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6118 w8l
= w8l
+ w1l
| 0;
6119 w8h
= w8h
+ w1h
+ (w8l
>>> 0 < w1l
>>> 0 ? 1 : 0) | 0;
6120 xl
= (w9l
>>> 1 | w9h
<< 31) ^ (w9l
>>> 8 | w9h
<< 24) ^ (w9l
>>> 7 | w9h
<< 25) | 0;
6122 w8h
= w8h
+ ((w9h
>>> 1 | w9l
<< 31) ^ (w9h
>>> 8 | w9l
<< 24) ^ w9h
>>> 7) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6123 xl
= (w6l
>>> 19 | w6h
<< 13) ^ (w6l
<< 3 | w6h
>>> 29) ^ (w6l
>>> 6 | w6h
<< 26) | 0;
6125 w8h
= w8h
+ ((w6h
>>> 19 | w6l
<< 13) ^ (w6h
<< 3 | w6l
>>> 29) ^ w6h
>>> 6) + (w8l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6126 tl
= 587496836 + w8l
| 0;
6127 th
= 685471733 + w8h
+ (tl
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
6129 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6130 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6132 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6133 xl
= gl
^ el
& (fl
^ gl
) | 0;
6135 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6143 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6150 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6151 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6152 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6154 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6155 w9l
= w9l
+ w2l
| 0;
6156 w9h
= w9h
+ w2h
+ (w9l
>>> 0 < w2l
>>> 0 ? 1 : 0) | 0;
6157 xl
= (w10l
>>> 1 | w10h
<< 31) ^ (w10l
>>> 8 | w10h
<< 24) ^ (w10l
>>> 7 | w10h
<< 25) | 0;
6159 w9h
= w9h
+ ((w10h
>>> 1 | w10l
<< 31) ^ (w10h
>>> 8 | w10l
<< 24) ^ w10h
>>> 7) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6160 xl
= (w7l
>>> 19 | w7h
<< 13) ^ (w7l
<< 3 | w7h
>>> 29) ^ (w7l
>>> 6 | w7h
<< 26) | 0;
6162 w9h
= w9h
+ ((w7h
>>> 19 | w7l
<< 13) ^ (w7h
<< 3 | w7l
>>> 29) ^ w7h
>>> 6) + (w9l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6163 tl
= 1086792851 + w9l
| 0;
6164 th
= 852142971 + w9h
+ (tl
>>> 0 < w9l
>>> 0 ? 1 : 0) | 0;
6166 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6167 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6169 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6170 xl
= gl
^ el
& (fl
^ gl
) | 0;
6172 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6180 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6187 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6188 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6189 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6191 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6192 w10l
= w10l
+ w3l
| 0;
6193 w10h
= w10h
+ w3h
+ (w10l
>>> 0 < w3l
>>> 0 ? 1 : 0) | 0;
6194 xl
= (w11l
>>> 1 | w11h
<< 31) ^ (w11l
>>> 8 | w11h
<< 24) ^ (w11l
>>> 7 | w11h
<< 25) | 0;
6195 w10l
= w10l
+ xl
| 0;
6196 w10h
= w10h
+ ((w11h
>>> 1 | w11l
<< 31) ^ (w11h
>>> 8 | w11l
<< 24) ^ w11h
>>> 7) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6197 xl
= (w8l
>>> 19 | w8h
<< 13) ^ (w8l
<< 3 | w8h
>>> 29) ^ (w8l
>>> 6 | w8h
<< 26) | 0;
6198 w10l
= w10l
+ xl
| 0;
6199 w10h
= w10h
+ ((w8h
>>> 19 | w8l
<< 13) ^ (w8h
<< 3 | w8l
>>> 29) ^ w8h
>>> 6) + (w10l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6200 tl
= 365543100 + w10l
| 0;
6201 th
= 1017036298 + w10h
+ (tl
>>> 0 < w10l
>>> 0 ? 1 : 0) | 0;
6203 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6204 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6206 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6207 xl
= gl
^ el
& (fl
^ gl
) | 0;
6209 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6217 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6224 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6225 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6226 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6228 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6229 w11l
= w11l
+ w4l
| 0;
6230 w11h
= w11h
+ w4h
+ (w11l
>>> 0 < w4l
>>> 0 ? 1 : 0) | 0;
6231 xl
= (w12l
>>> 1 | w12h
<< 31) ^ (w12l
>>> 8 | w12h
<< 24) ^ (w12l
>>> 7 | w12h
<< 25) | 0;
6232 w11l
= w11l
+ xl
| 0;
6233 w11h
= w11h
+ ((w12h
>>> 1 | w12l
<< 31) ^ (w12h
>>> 8 | w12l
<< 24) ^ w12h
>>> 7) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6234 xl
= (w9l
>>> 19 | w9h
<< 13) ^ (w9l
<< 3 | w9h
>>> 29) ^ (w9l
>>> 6 | w9h
<< 26) | 0;
6235 w11l
= w11l
+ xl
| 0;
6236 w11h
= w11h
+ ((w9h
>>> 19 | w9l
<< 13) ^ (w9h
<< 3 | w9l
>>> 29) ^ w9h
>>> 6) + (w11l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6237 tl
= 2618297676 + w11l
| 0;
6238 th
= 1126000580 + w11h
+ (tl
>>> 0 < w11l
>>> 0 ? 1 : 0) | 0;
6240 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6241 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6243 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6244 xl
= gl
^ el
& (fl
^ gl
) | 0;
6246 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6254 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6261 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6262 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6263 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6265 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6266 w12l
= w12l
+ w5l
| 0;
6267 w12h
= w12h
+ w5h
+ (w12l
>>> 0 < w5l
>>> 0 ? 1 : 0) | 0;
6268 xl
= (w13l
>>> 1 | w13h
<< 31) ^ (w13l
>>> 8 | w13h
<< 24) ^ (w13l
>>> 7 | w13h
<< 25) | 0;
6269 w12l
= w12l
+ xl
| 0;
6270 w12h
= w12h
+ ((w13h
>>> 1 | w13l
<< 31) ^ (w13h
>>> 8 | w13l
<< 24) ^ w13h
>>> 7) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6271 xl
= (w10l
>>> 19 | w10h
<< 13) ^ (w10l
<< 3 | w10h
>>> 29) ^ (w10l
>>> 6 | w10h
<< 26) | 0;
6272 w12l
= w12l
+ xl
| 0;
6273 w12h
= w12h
+ ((w10h
>>> 19 | w10l
<< 13) ^ (w10h
<< 3 | w10l
>>> 29) ^ w10h
>>> 6) + (w12l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6274 tl
= 3409855158 + w12l
| 0;
6275 th
= 1288033470 + w12h
+ (tl
>>> 0 < w12l
>>> 0 ? 1 : 0) | 0;
6277 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6278 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6280 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6281 xl
= gl
^ el
& (fl
^ gl
) | 0;
6283 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6291 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6298 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6299 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6300 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6302 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6303 w13l
= w13l
+ w6l
| 0;
6304 w13h
= w13h
+ w6h
+ (w13l
>>> 0 < w6l
>>> 0 ? 1 : 0) | 0;
6305 xl
= (w14l
>>> 1 | w14h
<< 31) ^ (w14l
>>> 8 | w14h
<< 24) ^ (w14l
>>> 7 | w14h
<< 25) | 0;
6306 w13l
= w13l
+ xl
| 0;
6307 w13h
= w13h
+ ((w14h
>>> 1 | w14l
<< 31) ^ (w14h
>>> 8 | w14l
<< 24) ^ w14h
>>> 7) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6308 xl
= (w11l
>>> 19 | w11h
<< 13) ^ (w11l
<< 3 | w11h
>>> 29) ^ (w11l
>>> 6 | w11h
<< 26) | 0;
6309 w13l
= w13l
+ xl
| 0;
6310 w13h
= w13h
+ ((w11h
>>> 19 | w11l
<< 13) ^ (w11h
<< 3 | w11l
>>> 29) ^ w11h
>>> 6) + (w13l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6311 tl
= 4234509866 + w13l
| 0;
6312 th
= 1501505948 + w13h
+ (tl
>>> 0 < w13l
>>> 0 ? 1 : 0) | 0;
6314 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6315 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6317 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6318 xl
= gl
^ el
& (fl
^ gl
) | 0;
6320 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6328 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6335 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6336 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6337 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6339 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6340 w14l
= w14l
+ w7l
| 0;
6341 w14h
= w14h
+ w7h
+ (w14l
>>> 0 < w7l
>>> 0 ? 1 : 0) | 0;
6342 xl
= (w15l
>>> 1 | w15h
<< 31) ^ (w15l
>>> 8 | w15h
<< 24) ^ (w15l
>>> 7 | w15h
<< 25) | 0;
6343 w14l
= w14l
+ xl
| 0;
6344 w14h
= w14h
+ ((w15h
>>> 1 | w15l
<< 31) ^ (w15h
>>> 8 | w15l
<< 24) ^ w15h
>>> 7) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6345 xl
= (w12l
>>> 19 | w12h
<< 13) ^ (w12l
<< 3 | w12h
>>> 29) ^ (w12l
>>> 6 | w12h
<< 26) | 0;
6346 w14l
= w14l
+ xl
| 0;
6347 w14h
= w14h
+ ((w12h
>>> 19 | w12l
<< 13) ^ (w12h
<< 3 | w12l
>>> 29) ^ w12h
>>> 6) + (w14l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6348 tl
= 987167468 + w14l
| 0;
6349 th
= 1607167915 + w14h
+ (tl
>>> 0 < w14l
>>> 0 ? 1 : 0) | 0;
6351 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6352 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6354 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6355 xl
= gl
^ el
& (fl
^ gl
) | 0;
6357 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6365 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6372 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6373 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6374 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6376 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6377 w15l
= w15l
+ w8l
| 0;
6378 w15h
= w15h
+ w8h
+ (w15l
>>> 0 < w8l
>>> 0 ? 1 : 0) | 0;
6379 xl
= (w0l
>>> 1 | w0h
<< 31) ^ (w0l
>>> 8 | w0h
<< 24) ^ (w0l
>>> 7 | w0h
<< 25) | 0;
6380 w15l
= w15l
+ xl
| 0;
6381 w15h
= w15h
+ ((w0h
>>> 1 | w0l
<< 31) ^ (w0h
>>> 8 | w0l
<< 24) ^ w0h
>>> 7) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6382 xl
= (w13l
>>> 19 | w13h
<< 13) ^ (w13l
<< 3 | w13h
>>> 29) ^ (w13l
>>> 6 | w13h
<< 26) | 0;
6383 w15l
= w15l
+ xl
| 0;
6384 w15h
= w15h
+ ((w13h
>>> 19 | w13l
<< 13) ^ (w13h
<< 3 | w13l
>>> 29) ^ w13h
>>> 6) + (w15l
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6385 tl
= 1246189591 + w15l
| 0;
6386 th
= 1816402316 + w15h
+ (tl
>>> 0 < w15l
>>> 0 ? 1 : 0) | 0;
6388 th
= th
+ hh
+ (tl
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6389 xl
= (el
>>> 14 | eh
<< 18) ^ (el
>>> 18 | eh
<< 14) ^ (el
<< 23 | eh
>>> 9) | 0;
6391 th
= th
+ ((eh
>>> 14 | el
<< 18) ^ (eh
>>> 18 | el
<< 14) ^ (eh
<< 23 | el
>>> 9)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6392 xl
= gl
^ el
& (fl
^ gl
) | 0;
6394 th
= th
+ (gh
^ eh
& (fh
^ gh
)) + (tl
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6402 eh
= dh
+ th
+ (el
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6409 al
= tl
+ (bl
& cl
^ dl
& (bl
^ cl
)) | 0;
6410 ah
= th
+ (bh
& ch
^ dh
& (bh
^ ch
)) + (al
>>> 0 < tl
>>> 0 ? 1 : 0) | 0;
6411 xl
= (bl
>>> 28 | bh
<< 4) ^ (bl
<< 30 | bh
>>> 2) ^ (bl
<< 25 | bh
>>> 7) | 0;
6413 ah
= ah
+ ((bh
>>> 28 | bl
<< 4) ^ (bh
<< 30 | bl
>>> 2) ^ (bh
<< 25 | bl
>>> 7)) + (al
>>> 0 < xl
>>> 0 ? 1 : 0) | 0;
6415 H0h
= H0h
+ ah
+ (H0l
>>> 0 < al
>>> 0 ? 1 : 0) | 0;
6417 H1h
= H1h
+ bh
+ (H1l
>>> 0 < bl
>>> 0 ? 1 : 0) | 0;
6419 H2h
= H2h
+ ch
+ (H2l
>>> 0 < cl
>>> 0 ? 1 : 0) | 0;
6421 H3h
= H3h
+ dh
+ (H3l
>>> 0 < dl
>>> 0 ? 1 : 0) | 0;
6423 H4h
= H4h
+ eh
+ (H4l
>>> 0 < el
>>> 0 ? 1 : 0) | 0;
6425 H5h
= H5h
+ fh
+ (H5l
>>> 0 < fl
>>> 0 ? 1 : 0) | 0;
6427 H6h
= H6h
+ gh
+ (H6l
>>> 0 < gl
>>> 0 ? 1 : 0) | 0;
6429 H7h
= H7h
+ hh
+ (H7l
>>> 0 < hl
>>> 0 ? 1 : 0) | 0;
6431 function _core_heap(offset
) {
6432 offset
= offset
| 0;
6433 _core(HEAP
[offset
| 0] << 24 | HEAP
[offset
| 1] << 16 | HEAP
[offset
| 2] << 8 | HEAP
[offset
| 3], HEAP
[offset
| 4] << 24 | HEAP
[offset
| 5] << 16 | HEAP
[offset
| 6] << 8 | HEAP
[offset
| 7], HEAP
[offset
| 8] << 24 | HEAP
[offset
| 9] << 16 | HEAP
[offset
| 10] << 8 | HEAP
[offset
| 11], HEAP
[offset
| 12] << 24 | HEAP
[offset
| 13] << 16 | HEAP
[offset
| 14] << 8 | HEAP
[offset
| 15], HEAP
[offset
| 16] << 24 | HEAP
[offset
| 17] << 16 | HEAP
[offset
| 18] << 8 | HEAP
[offset
| 19], HEAP
[offset
| 20] << 24 | HEAP
[offset
| 21] << 16 | HEAP
[offset
| 22] << 8 | HEAP
[offset
| 23], HEAP
[offset
| 24] << 24 | HEAP
[offset
| 25] << 16 | HEAP
[offset
| 26] << 8 | HEAP
[offset
| 27], HEAP
[offset
| 28] << 24 | HEAP
[offset
| 29] << 16 | HEAP
[offset
| 30] << 8 | HEAP
[offset
| 31], HEAP
[offset
| 32] << 24 | HEAP
[offset
| 33] << 16 | HEAP
[offset
| 34] << 8 | HEAP
[offset
| 35], HEAP
[offset
| 36] << 24 | HEAP
[offset
| 37] << 16 | HEAP
[offset
| 38] << 8 | HEAP
[offset
| 39], HEAP
[offset
| 40] << 24 | HEAP
[offset
| 41] << 16 | HEAP
[offset
| 42] << 8 | HEAP
[offset
| 43], HEAP
[offset
| 44] << 24 | HEAP
[offset
| 45] << 16 | HEAP
[offset
| 46] << 8 | HEAP
[offset
| 47], HEAP
[offset
| 48] << 24 | HEAP
[offset
| 49] << 16 | HEAP
[offset
| 50] << 8 | HEAP
[offset
| 51], HEAP
[offset
| 52] << 24 | HEAP
[offset
| 53] << 16 | HEAP
[offset
| 54] << 8 | HEAP
[offset
| 55], HEAP
[offset
| 56] << 24 | HEAP
[offset
| 57] << 16 | HEAP
[offset
| 58] << 8 | HEAP
[offset
| 59], HEAP
[offset
| 60] << 24 | HEAP
[offset
| 61] << 16 | HEAP
[offset
| 62] << 8 | HEAP
[offset
| 63], HEAP
[offset
| 64] << 24 | HEAP
[offset
| 65] << 16 | HEAP
[offset
| 66] << 8 | HEAP
[offset
| 67], HEAP
[offset
| 68] << 24 | HEAP
[offset
| 69] << 16 | HEAP
[offset
| 70] << 8 | HEAP
[offset
| 71], HEAP
[offset
| 72] << 24 | HEAP
[offset
| 73] << 16 | HEAP
[offset
| 74] << 8 | HEAP
[offset
| 75], HEAP
[offset
| 76] << 24 | HEAP
[offset
| 77] << 16 | HEAP
[offset
| 78] << 8 | HEAP
[offset
| 79], HEAP
[offset
| 80] << 24 | HEAP
[offset
| 81] << 16 | HEAP
[offset
| 82] << 8 | HEAP
[offset
| 83], HEAP
[offset
| 84] << 24 | HEAP
[offset
| 85] << 16 | HEAP
[offset
| 86] << 8 | HEAP
[offset
| 87], HEAP
[offset
| 88] << 24 | HEAP
[offset
| 89] << 16 | HEAP
[offset
| 90] << 8 | HEAP
[offset
| 91], HEAP
[offset
| 92] << 24 | HEAP
[offset
| 93] << 16 | HEAP
[offset
| 94] << 8 | HEAP
[offset
| 95], HEAP
[offset
| 96] << 24 | HEAP
[offset
| 97] << 16 | HEAP
[offset
| 98] << 8 | HEAP
[offset
| 99], HEAP
[offset
| 100] << 24 | HEAP
[offset
| 101] << 16 | HEAP
[offset
| 102] << 8 | HEAP
[offset
| 103], HEAP
[offset
| 104] << 24 | HEAP
[offset
| 105] << 16 | HEAP
[offset
| 106] << 8 | HEAP
[offset
| 107], HEAP
[offset
| 108] << 24 | HEAP
[offset
| 109] << 16 | HEAP
[offset
| 110] << 8 | HEAP
[offset
| 111], HEAP
[offset
| 112] << 24 | HEAP
[offset
| 113] << 16 | HEAP
[offset
| 114] << 8 | HEAP
[offset
| 115], HEAP
[offset
| 116] << 24 | HEAP
[offset
| 117] << 16 | HEAP
[offset
| 118] << 8 | HEAP
[offset
| 119], HEAP
[offset
| 120] << 24 | HEAP
[offset
| 121] << 16 | HEAP
[offset
| 122] << 8 | HEAP
[offset
| 123], HEAP
[offset
| 124] << 24 | HEAP
[offset
| 125] << 16 | HEAP
[offset
| 126] << 8 | HEAP
[offset
| 127]);
6435 function _state_to_heap(output
) {
6436 output
= output
| 0;
6437 HEAP
[output
| 0] = H0h
>>> 24;
6438 HEAP
[output
| 1] = H0h
>>> 16 & 255;
6439 HEAP
[output
| 2] = H0h
>>> 8 & 255;
6440 HEAP
[output
| 3] = H0h
& 255;
6441 HEAP
[output
| 4] = H0l
>>> 24;
6442 HEAP
[output
| 5] = H0l
>>> 16 & 255;
6443 HEAP
[output
| 6] = H0l
>>> 8 & 255;
6444 HEAP
[output
| 7] = H0l
& 255;
6445 HEAP
[output
| 8] = H1h
>>> 24;
6446 HEAP
[output
| 9] = H1h
>>> 16 & 255;
6447 HEAP
[output
| 10] = H1h
>>> 8 & 255;
6448 HEAP
[output
| 11] = H1h
& 255;
6449 HEAP
[output
| 12] = H1l
>>> 24;
6450 HEAP
[output
| 13] = H1l
>>> 16 & 255;
6451 HEAP
[output
| 14] = H1l
>>> 8 & 255;
6452 HEAP
[output
| 15] = H1l
& 255;
6453 HEAP
[output
| 16] = H2h
>>> 24;
6454 HEAP
[output
| 17] = H2h
>>> 16 & 255;
6455 HEAP
[output
| 18] = H2h
>>> 8 & 255;
6456 HEAP
[output
| 19] = H2h
& 255;
6457 HEAP
[output
| 20] = H2l
>>> 24;
6458 HEAP
[output
| 21] = H2l
>>> 16 & 255;
6459 HEAP
[output
| 22] = H2l
>>> 8 & 255;
6460 HEAP
[output
| 23] = H2l
& 255;
6461 HEAP
[output
| 24] = H3h
>>> 24;
6462 HEAP
[output
| 25] = H3h
>>> 16 & 255;
6463 HEAP
[output
| 26] = H3h
>>> 8 & 255;
6464 HEAP
[output
| 27] = H3h
& 255;
6465 HEAP
[output
| 28] = H3l
>>> 24;
6466 HEAP
[output
| 29] = H3l
>>> 16 & 255;
6467 HEAP
[output
| 30] = H3l
>>> 8 & 255;
6468 HEAP
[output
| 31] = H3l
& 255;
6469 HEAP
[output
| 32] = H4h
>>> 24;
6470 HEAP
[output
| 33] = H4h
>>> 16 & 255;
6471 HEAP
[output
| 34] = H4h
>>> 8 & 255;
6472 HEAP
[output
| 35] = H4h
& 255;
6473 HEAP
[output
| 36] = H4l
>>> 24;
6474 HEAP
[output
| 37] = H4l
>>> 16 & 255;
6475 HEAP
[output
| 38] = H4l
>>> 8 & 255;
6476 HEAP
[output
| 39] = H4l
& 255;
6477 HEAP
[output
| 40] = H5h
>>> 24;
6478 HEAP
[output
| 41] = H5h
>>> 16 & 255;
6479 HEAP
[output
| 42] = H5h
>>> 8 & 255;
6480 HEAP
[output
| 43] = H5h
& 255;
6481 HEAP
[output
| 44] = H5l
>>> 24;
6482 HEAP
[output
| 45] = H5l
>>> 16 & 255;
6483 HEAP
[output
| 46] = H5l
>>> 8 & 255;
6484 HEAP
[output
| 47] = H5l
& 255;
6485 HEAP
[output
| 48] = H6h
>>> 24;
6486 HEAP
[output
| 49] = H6h
>>> 16 & 255;
6487 HEAP
[output
| 50] = H6h
>>> 8 & 255;
6488 HEAP
[output
| 51] = H6h
& 255;
6489 HEAP
[output
| 52] = H6l
>>> 24;
6490 HEAP
[output
| 53] = H6l
>>> 16 & 255;
6491 HEAP
[output
| 54] = H6l
>>> 8 & 255;
6492 HEAP
[output
| 55] = H6l
& 255;
6493 HEAP
[output
| 56] = H7h
>>> 24;
6494 HEAP
[output
| 57] = H7h
>>> 16 & 255;
6495 HEAP
[output
| 58] = H7h
>>> 8 & 255;
6496 HEAP
[output
| 59] = H7h
& 255;
6497 HEAP
[output
| 60] = H7l
>>> 24;
6498 HEAP
[output
| 61] = H7l
>>> 16 & 255;
6499 HEAP
[output
| 62] = H7l
>>> 8 & 255;
6500 HEAP
[output
| 63] = H7l
& 255;
6521 function init(h0h
, h0l
, h1h
, h1l
, h2h
, h2l
, h3h
, h3l
, h4h
, h4l
, h5h
, h5l
, h6h
, h6l
, h7h
, h7l
, total
) {
6557 function process(offset
, length
) {
6558 offset
= offset
| 0;
6559 length
= length
| 0;
6561 if (offset
& 127) return -1;
6562 while ((length
| 0) >= 128) {
6564 offset
= offset
+ 128 | 0;
6565 length
= length
- 128 | 0;
6566 hashed
= hashed
+ 128 | 0;
6568 TOTAL
= TOTAL
+ hashed
| 0;
6571 function finish(offset
, length
, output
) {
6572 offset
= offset
| 0;
6573 length
= length
| 0;
6574 output
= output
| 0;
6575 var hashed
= 0, i
= 0;
6576 if (offset
& 127) return -1;
6577 if (~output
) if (output
& 63) return -1;
6578 if ((length
| 0) >= 128) {
6579 hashed
= process(offset
, length
) | 0;
6580 if ((hashed
| 0) == -1) return -1;
6581 offset
= offset
+ hashed
| 0;
6582 length
= length
- hashed
| 0;
6584 hashed
= hashed
+ length
| 0;
6585 TOTAL
= TOTAL
+ length
| 0;
6586 HEAP
[offset
| length
] = 128;
6587 if ((length
| 0) >= 112) {
6588 for (i
= length
+ 1 | 0; (i
| 0) < 128; i
= i
+ 1 | 0) HEAP
[offset
| i
] = 0;
6591 HEAP
[offset
| 0] = 0;
6593 for (i
= length
+ 1 | 0; (i
| 0) < 123; i
= i
+ 1 | 0) HEAP
[offset
| i
] = 0;
6594 HEAP
[offset
| 123] = TOTAL
>>> 29;
6595 HEAP
[offset
| 124] = TOTAL
>>> 21 & 255;
6596 HEAP
[offset
| 125] = TOTAL
>>> 13 & 255;
6597 HEAP
[offset
| 126] = TOTAL
>>> 5 & 255;
6598 HEAP
[offset
| 127] = TOTAL
<< 3 & 255;
6600 if (~output
) _state_to_heap(output
);
6603 function hmac_reset() {
6622 function _hmac_opad() {
6641 function hmac_init(p0h
, p0l
, p1h
, p1l
, p2h
, p2l
, p3h
, p3l
, p4h
, p4l
, p5h
, p5l
, p6h
, p6l
, p7h
, p7l
, p8h
, p8l
, p9h
, p9l
, p10h
, p10l
, p11h
, p11l
, p12h
, p12l
, p13h
, p13l
, p14h
, p14l
, p15h
, p15l
) {
6675 _core(p0h
^ 1549556828, p0l
^ 1549556828, p1h
^ 1549556828, p1l
^ 1549556828, p2h
^ 1549556828, p2l
^ 1549556828, p3h
^ 1549556828, p3l
^ 1549556828, p4h
^ 1549556828, p4l
^ 1549556828, p5h
^ 1549556828, p5l
^ 1549556828, p6h
^ 1549556828, p6l
^ 1549556828, p7h
^ 1549556828, p7l
^ 1549556828, p8h
^ 1549556828, p8l
^ 1549556828, p9h
^ 1549556828, p9l
^ 1549556828, p10h
^ 1549556828, p10l
^ 1549556828, p11h
^ 1549556828, p11l
^ 1549556828, p12h
^ 1549556828, p12l
^ 1549556828, p13h
^ 1549556828, p13l
^ 1549556828, p14h
^ 1549556828, p14l
^ 1549556828, p15h
^ 1549556828, p15l
^ 1549556828);
6693 _core(p0h
^ 909522486, p0l
^ 909522486, p1h
^ 909522486, p1l
^ 909522486, p2h
^ 909522486, p2l
^ 909522486, p3h
^ 909522486, p3l
^ 909522486, p4h
^ 909522486, p4l
^ 909522486, p5h
^ 909522486, p5l
^ 909522486, p6h
^ 909522486, p6l
^ 909522486, p7h
^ 909522486, p7l
^ 909522486, p8h
^ 909522486, p8l
^ 909522486, p9h
^ 909522486, p9l
^ 909522486, p10h
^ 909522486, p10l
^ 909522486, p11h
^ 909522486, p11l
^ 909522486, p12h
^ 909522486, p12l
^ 909522486, p13h
^ 909522486, p13l
^ 909522486, p14h
^ 909522486, p14l
^ 909522486, p15h
^ 909522486, p15l
^ 909522486);
6712 function hmac_finish(offset
, length
, output
) {
6713 offset
= offset
| 0;
6714 length
= length
| 0;
6715 output
= output
| 0;
6716 var t0h
= 0, t0l
= 0, t1h
= 0, t1l
= 0, t2h
= 0, t2l
= 0, t3h
= 0, t3l
= 0, t4h
= 0, t4l
= 0, t5h
= 0, t5l
= 0, t6h
= 0, t6l
= 0, t7h
= 0, t7l
= 0, hashed
= 0;
6717 if (offset
& 127) return -1;
6718 if (~output
) if (output
& 63) return -1;
6719 hashed
= finish(offset
, length
, -1) | 0;
6737 _core(t0h
, t0l
, t1h
, t1l
, t2h
, t2l
, t3h
, t3l
, t4h
, t4l
, t5h
, t5l
, t6h
, t6l
, t7h
, t7l
, 2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536);
6738 if (~output
) _state_to_heap(output
);
6741 function pbkdf2_generate_block(offset
, length
, block
, count
, output
) {
6742 offset
= offset
| 0;
6743 length
= length
| 0;
6746 output
= output
| 0;
6747 var h0h
= 0, h0l
= 0, h1h
= 0, h1l
= 0, h2h
= 0, h2l
= 0, h3h
= 0, h3l
= 0, h4h
= 0, h4l
= 0, h5h
= 0, h5l
= 0, h6h
= 0, h6l
= 0, h7h
= 0, h7l
= 0, t0h
= 0, t0l
= 0, t1h
= 0, t1l
= 0, t2h
= 0, t2l
= 0, t3h
= 0, t3l
= 0, t4h
= 0, t4l
= 0, t5h
= 0, t5l
= 0, t6h
= 0, t6l
= 0, t7h
= 0, t7l
= 0;
6748 if (offset
& 127) return -1;
6749 if (~output
) if (output
& 63) return -1;
6750 HEAP
[offset
+ length
| 0] = block
>>> 24;
6751 HEAP
[offset
+ length
+ 1 | 0] = block
>>> 16 & 255;
6752 HEAP
[offset
+ length
+ 2 | 0] = block
>>> 8 & 255;
6753 HEAP
[offset
+ length
+ 3 | 0] = block
& 255;
6754 // Closure compiler warning - The result of the 'bitor' operator is not being used
6755 //hmac_finish(offset, length + 4 | 0, -1) | 0;
6756 hmac_finish(offset
, length
+ 4 | 0, -1);
6773 count
= count
- 1 | 0;
6774 while ((count
| 0) > 0) {
6776 _core(t0h
, t0l
, t1h
, t1l
, t2h
, t2l
, t3h
, t3l
, t4h
, t4l
, t5h
, t5l
, t6h
, t6l
, t7h
, t7l
, 2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536);
6794 _core(t0h
, t0l
, t1h
, t1l
, t2h
, t2l
, t3h
, t3l
, t4h
, t4l
, t5h
, t5l
, t6h
, t6l
, t7h
, t7l
, 2147483648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1536);
6827 count
= count
- 1 | 0;
6845 if (~output
) _state_to_heap(output
);
6853 hmac_reset: hmac_reset
,
6854 hmac_init: hmac_init
,
6855 hmac_finish: hmac_finish
,
6856 pbkdf2_generate_block: pbkdf2_generate_block
6859 var _sha512_block_size
= 128, _sha512_hash_size
= 64;
6860 function sha512_constructor(options
) {
6861 options
= options
|| {};
6862 options
.heapSize
= options
.heapSize
|| 4096;
6863 if (options
.heapSize
<= 0 || options
.heapSize
% 4096) throw new IllegalArgumentError("heapSize must be a positive number and multiple of 4096");
6864 this.heap
= options
.heap
|| new Uint8Array(options
.heapSize
);
6865 this.asm
= options
.asm
|| sha512_asm(global
, null, this.heap
.buffer
);
6866 this.BLOCK_SIZE
= _sha512_block_size
;
6867 this.HASH_SIZE
= _sha512_hash_size
;
6870 function sha512_reset() {
6877 function sha512_process(data
) {
6878 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
6879 var dpos
= 0, dlen
= 0, clen
= 0;
6880 if (is_buffer(data
) || is_bytes(data
)) {
6881 dpos
= data
.byteOffset
|| 0;
6882 dlen
= data
.byteLength
;
6883 } else if (is_string(data
)) {
6886 throw new TypeError("data isn't of expected type");
6889 clen
= this.heap
.byteLength
- this.pos
- this.len
;
6890 clen
= clen
< dlen
? clen : dlen
;
6891 if (is_buffer(data
) || is_bytes(data
)) {
6892 this.heap
.set(new Uint8Array(data
.buffer
|| data
, dpos
, clen
), this.pos
+ this.len
);
6894 for (var i
= 0; i
< clen
; i
++) this.heap
[this.pos
+ this.len
+ i
] = data
.charCodeAt(dpos
+ i
);
6899 clen
= this.asm
.process(this.pos
, this.len
);
6900 if (clen
< this.len
) {
6910 function sha512_finish() {
6911 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
6912 this.asm
.finish(this.pos
, this.len
, 0);
6913 this.result
= new Uint8Array(_sha512_hash_size
);
6914 this.result
.set(this.heap
.subarray(0, _sha512_hash_size
));
6919 sha512_constructor
.BLOCK_SIZE
= _sha512_block_size
;
6920 sha512_constructor
.HASH_SIZE
= _sha512_hash_size
;
6921 var sha512_prototype
= sha512_constructor
.prototype;
6922 sha512_prototype
.reset
= sha512_reset
;
6923 sha512_prototype
.process
= sha512_process
;
6924 sha512_prototype
.finish
= sha512_finish
;
6925 function hmac_constructor(options
) {
6926 options
= options
|| {};
6927 if (!options
.hash
) throw new SyntaxError("option 'hash' is required");
6928 if (!options
.hash
.HASH_SIZE
) throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");
6929 this.hash
= options
.hash
;
6930 this.BLOCK_SIZE
= this.hash
.BLOCK_SIZE
;
6931 this.HMAC_SIZE
= this.hash
.HASH_SIZE
;
6935 if (options
.password
!== undefined || options
.verify
!== undefined) this.reset(options
);
6938 function hmac_sha256_constructor(options
) {
6939 options
= options
|| {};
6940 if (!(options
.hash
instanceof sha256_constructor
)) options
.hash
= new sha256_constructor(options
);
6941 hmac_constructor
.call(this, options
);
6944 function hmac_sha512_constructor(options
) {
6945 options
= options
|| {};
6946 if (!(options
.hash
instanceof sha512_constructor
)) options
.hash
= new sha512_constructor(options
);
6947 hmac_constructor
.call(this, options
);
6950 function _hmac_key(hash
, password
) {
6952 if (is_buffer(password
) || is_bytes(password
)) {
6953 key
= new Uint8Array(hash
.BLOCK_SIZE
);
6954 if (password
.byteLength
> hash
.BLOCK_SIZE
) {
6955 key
.set(new Uint8Array(hash
.reset().process(password
).finish().result
));
6956 } else if (is_buffer(password
)) {
6957 key
.set(new Uint8Array(password
));
6961 } else if (is_string(password
)) {
6962 key
= new Uint8Array(hash
.BLOCK_SIZE
);
6963 if (password
.length
> hash
.BLOCK_SIZE
) {
6964 key
.set(new Uint8Array(hash
.reset().process(password
).finish().result
));
6966 for (var i
= 0; i
< password
.length
; ++i
) key
[i
] = password
.charCodeAt(i
);
6969 throw new TypeError("password isn't of expected type");
6973 function _hmac_init_verify(verify
) {
6974 if (is_buffer(verify
) || is_bytes(verify
)) {
6975 verify
= new Uint8Array(verify
);
6976 } else if (is_string(verify
)) {
6977 verify
= string_to_bytes(verify
);
6979 throw new TypeError("verify tag isn't of expected type");
6981 if (verify
.length
!== this.HMAC_SIZE
) throw new IllegalArgumentError("illegal verification tag size");
6982 this.verify
= verify
;
6984 function hmac_reset(options
) {
6985 options
= options
|| {};
6986 var password
= options
.password
;
6987 if (this.key
=== null && !is_string(password
) && !password
) throw new IllegalStateError("no key is associated with the instance");
6990 if (password
|| is_string(password
)) this.key
= _hmac_key(this.hash
, password
);
6991 var ipad
= new Uint8Array(this.key
);
6992 for (var i
= 0; i
< ipad
.length
; ++i
) ipad
[i
] ^= 54;
6993 this.hash
.process(ipad
);
6994 var verify
= options
.verify
;
6995 if (verify
!== undefined) {
6996 _hmac_init_verify
.call(this, verify
);
7002 function hmac_sha256_reset(options
) {
7003 options
= options
|| {};
7004 var password
= options
.password
;
7005 if (this.key
=== null && !is_string(password
) && !password
) throw new IllegalStateError("no key is associated with the instance");
7008 if (password
|| is_string(password
)) {
7009 this.key
= _hmac_key(this.hash
, password
);
7010 this.hash
.reset().asm
.hmac_init(this.key
[0] << 24 | this.key
[1] << 16 | this.key
[2] << 8 | this.key
[3], this.key
[4] << 24 | this.key
[5] << 16 | this.key
[6] << 8 | this.key
[7], this.key
[8] << 24 | this.key
[9] << 16 | this.key
[10] << 8 | this.key
[11], this.key
[12] << 24 | this.key
[13] << 16 | this.key
[14] << 8 | this.key
[15], this.key
[16] << 24 | this.key
[17] << 16 | this.key
[18] << 8 | this.key
[19], this.key
[20] << 24 | this.key
[21] << 16 | this.key
[22] << 8 | this.key
[23], this.key
[24] << 24 | this.key
[25] << 16 | this.key
[26] << 8 | this.key
[27], this.key
[28] << 24 | this.key
[29] << 16 | this.key
[30] << 8 | this.key
[31], this.key
[32] << 24 | this.key
[33] << 16 | this.key
[34] << 8 | this.key
[35], this.key
[36] << 24 | this.key
[37] << 16 | this.key
[38] << 8 | this.key
[39], this.key
[40] << 24 | this.key
[41] << 16 | this.key
[42] << 8 | this.key
[43], this.key
[44] << 24 | this.key
[45] << 16 | this.key
[46] << 8 | this.key
[47], this.key
[48] << 24 | this.key
[49] << 16 | this.key
[50] << 8 | this.key
[51], this.key
[52] << 24 | this.key
[53] << 16 | this.key
[54] << 8 | this.key
[55], this.key
[56] << 24 | this.key
[57] << 16 | this.key
[58] << 8 | this.key
[59], this.key
[60] << 24 | this.key
[61] << 16 | this.key
[62] << 8 | this.key
[63]);
7012 this.hash
.asm
.hmac_reset();
7014 var verify
= options
.verify
;
7015 if (verify
!== undefined) {
7016 _hmac_init_verify
.call(this, verify
);
7022 function hmac_sha512_reset(options
) {
7023 options
= options
|| {};
7024 var password
= options
.password
;
7025 if (this.key
=== null && !is_string(password
) && !password
) throw new IllegalStateError("no key is associated with the instance");
7028 if (password
|| is_string(password
)) {
7029 this.key
= _hmac_key(this.hash
, password
);
7030 this.hash
.reset().asm
.hmac_init(this.key
[0] << 24 | this.key
[1] << 16 | this.key
[2] << 8 | this.key
[3], this.key
[4] << 24 | this.key
[5] << 16 | this.key
[6] << 8 | this.key
[7], this.key
[8] << 24 | this.key
[9] << 16 | this.key
[10] << 8 | this.key
[11], this.key
[12] << 24 | this.key
[13] << 16 | this.key
[14] << 8 | this.key
[15], this.key
[16] << 24 | this.key
[17] << 16 | this.key
[18] << 8 | this.key
[19], this.key
[20] << 24 | this.key
[21] << 16 | this.key
[22] << 8 | this.key
[23], this.key
[24] << 24 | this.key
[25] << 16 | this.key
[26] << 8 | this.key
[27], this.key
[28] << 24 | this.key
[29] << 16 | this.key
[30] << 8 | this.key
[31], this.key
[32] << 24 | this.key
[33] << 16 | this.key
[34] << 8 | this.key
[35], this.key
[36] << 24 | this.key
[37] << 16 | this.key
[38] << 8 | this.key
[39], this.key
[40] << 24 | this.key
[41] << 16 | this.key
[42] << 8 | this.key
[43], this.key
[44] << 24 | this.key
[45] << 16 | this.key
[46] << 8 | this.key
[47], this.key
[48] << 24 | this.key
[49] << 16 | this.key
[50] << 8 | this.key
[51], this.key
[52] << 24 | this.key
[53] << 16 | this.key
[54] << 8 | this.key
[55], this.key
[56] << 24 | this.key
[57] << 16 | this.key
[58] << 8 | this.key
[59], this.key
[60] << 24 | this.key
[61] << 16 | this.key
[62] << 8 | this.key
[63], this.key
[64] << 24 | this.key
[65] << 16 | this.key
[66] << 8 | this.key
[67], this.key
[68] << 24 | this.key
[69] << 16 | this.key
[70] << 8 | this.key
[71], this.key
[72] << 24 | this.key
[73] << 16 | this.key
[74] << 8 | this.key
[75], this.key
[76] << 24 | this.key
[77] << 16 | this.key
[78] << 8 | this.key
[79], this.key
[80] << 24 | this.key
[81] << 16 | this.key
[82] << 8 | this.key
[83], this.key
[84] << 24 | this.key
[85] << 16 | this.key
[86] << 8 | this.key
[87], this.key
[88] << 24 | this.key
[89] << 16 | this.key
[90] << 8 | this.key
[91], this.key
[92] << 24 | this.key
[93] << 16 | this.key
[94] << 8 | this.key
[95], this.key
[96] << 24 | this.key
[97] << 16 | this.key
[98] << 8 | this.key
[99], this.key
[100] << 24 | this.key
[101] << 16 | this.key
[102] << 8 | this.key
[103], this.key
[104] << 24 | this.key
[105] << 16 | this.key
[106] << 8 | this.key
[107], this.key
[108] << 24 | this.key
[109] << 16 | this.key
[110] << 8 | this.key
[111], this.key
[112] << 24 | this.key
[113] << 16 | this.key
[114] << 8 | this.key
[115], this.key
[116] << 24 | this.key
[117] << 16 | this.key
[118] << 8 | this.key
[119], this.key
[120] << 24 | this.key
[121] << 16 | this.key
[122] << 8 | this.key
[123], this.key
[124] << 24 | this.key
[125] << 16 | this.key
[126] << 8 | this.key
[127]);
7032 this.hash
.asm
.hmac_reset();
7034 var verify
= options
.verify
;
7035 if (verify
!== undefined) {
7036 _hmac_init_verify
.call(this, verify
);
7042 function hmac_process(data
) {
7043 if (this.key
=== null) throw new IllegalStateError("no key is associated with the instance");
7044 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
7045 this.hash
.process(data
);
7048 function hmac_finish() {
7049 if (this.key
=== null) throw new IllegalStateError("no key is associated with the instance");
7050 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
7051 var inner_result
= this.hash
.finish().result
;
7052 var opad
= new Uint8Array(this.key
);
7053 for (var i
= 0; i
< opad
.length
; ++i
) opad
[i
] ^= 92;
7054 var verify
= this.verify
;
7055 var result
= this.hash
.reset().process(opad
).process(inner_result
).finish().result
;
7057 if (verify
.length
=== result
.length
) {
7059 for (var i
= 0; i
< verify
.length
; i
++) {
7060 diff
|= verify
[i
] ^ result
[i
];
7062 this.result
= !diff
;
7064 this.result
= false;
7067 this.result
= result
;
7071 function hmac_sha256_finish() {
7072 if (this.key
=== null) throw new IllegalStateError("no key is associated with the instance");
7073 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
7074 var hash
= this.hash
, asm
= this.hash
.asm
, heap
= this.hash
.heap
;
7075 asm
.hmac_finish(hash
.pos
, hash
.len
, 0);
7076 var verify
= this.verify
;
7077 var result
= new Uint8Array(_sha256_hash_size
);
7078 result
.set(heap
.subarray(0, _sha256_hash_size
));
7080 if (verify
.length
=== result
.length
) {
7082 for (var i
= 0; i
< verify
.length
; i
++) {
7083 diff
|= verify
[i
] ^ result
[i
];
7085 this.result
= !diff
;
7087 this.result
= false;
7090 this.result
= result
;
7094 function hmac_sha512_finish() {
7095 if (this.key
=== null) throw new IllegalStateError("no key is associated with the instance");
7096 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
7097 var hash
= this.hash
, asm
= this.hash
.asm
, heap
= this.hash
.heap
;
7098 asm
.hmac_finish(hash
.pos
, hash
.len
, 0);
7099 var verify
= this.verify
;
7100 var result
= new Uint8Array(_sha512_hash_size
);
7101 result
.set(heap
.subarray(0, _sha512_hash_size
));
7103 if (verify
.length
=== result
.length
) {
7105 for (var i
= 0; i
< verify
.length
; i
++) {
7106 diff
|= verify
[i
] ^ result
[i
];
7108 this.result
= !diff
;
7110 this.result
= false;
7113 this.result
= result
;
7117 var hmac_prototype
= hmac_constructor
.prototype;
7118 hmac_prototype
.reset
= hmac_reset
;
7119 hmac_prototype
.process
= hmac_process
;
7120 hmac_prototype
.finish
= hmac_finish
;
7121 hmac_sha256_constructor
.BLOCK_SIZE
= sha256_constructor
.BLOCK_SIZE
;
7122 hmac_sha256_constructor
.HMAC_SIZE
= sha256_constructor
.HASH_SIZE
;
7123 var hmac_sha256_prototype
= hmac_sha256_constructor
.prototype;
7124 hmac_sha256_prototype
.reset
= hmac_sha256_reset
;
7125 hmac_sha256_prototype
.process
= hmac_process
;
7126 hmac_sha256_prototype
.finish
= hmac_sha256_finish
;
7127 hmac_sha512_constructor
.BLOCK_SIZE
= sha512_constructor
.BLOCK_SIZE
;
7128 hmac_sha512_constructor
.HMAC_SIZE
= sha512_constructor
.HASH_SIZE
;
7129 var hmac_sha512_prototype
= hmac_sha512_constructor
.prototype;
7130 hmac_sha512_prototype
.reset
= hmac_sha512_reset
;
7131 hmac_sha512_prototype
.process
= hmac_process
;
7132 hmac_sha512_prototype
.finish
= hmac_sha512_finish
;
7133 function pbkdf2_constructor(options
) {
7134 options
= options
|| {};
7135 if (!options
.hmac
) throw new SyntaxError("option 'hmac' is required");
7136 if (!options
.hmac
.HMAC_SIZE
) throw new SyntaxError("option 'hmac' supplied doesn't seem to be a valid HMAC function");
7137 this.hmac
= options
.hmac
;
7138 this.count
= options
.count
|| 4096;
7139 this.length
= options
.length
|| this.hmac
.HMAC_SIZE
;
7141 var password
= options
.password
;
7142 if (password
|| is_string(password
)) this.reset(options
);
7145 function pbkdf2_hmac_sha256_constructor(options
) {
7146 options
= options
|| {};
7147 if (!(options
.hmac
instanceof hmac_sha256_constructor
)) options
.hmac
= new hmac_sha256_constructor(options
);
7148 pbkdf2_constructor
.call(this, options
);
7151 function pbkdf2_hmac_sha512_constructor(options
) {
7152 options
= options
|| {};
7153 if (!(options
.hmac
instanceof hmac_sha512_constructor
)) options
.hmac
= new hmac_sha512_constructor(options
);
7154 pbkdf2_constructor
.call(this, options
);
7157 function pbkdf2_reset(options
) {
7159 this.hmac
.reset(options
);
7162 function pbkdf2_generate(salt
, count
, length
) {
7163 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
7164 if (!salt
&& !is_string(salt
)) throw new IllegalArgumentError("bad 'salt' value");
7165 count
= count
|| this.count
;
7166 length
= length
|| this.length
;
7167 this.result
= new Uint8Array(length
);
7168 var blocks
= Math
.ceil(length
/ this.hmac
.HMAC_SIZE
);
7169 for (var i
= 1; i
<= blocks
; ++i
) {
7170 var j
= (i
- 1) * this.hmac
.HMAC_SIZE
;
7171 var l
= (i
< blocks
? 0 : length
% this.hmac
.HMAC_SIZE
) || this.hmac
.HMAC_SIZE
;
7172 var tmp
= new Uint8Array(this.hmac
.reset().process(salt
).process(new Uint8Array([ i
>>> 24 & 255, i
>>> 16 & 255, i
>>> 8 & 255, i
& 255 ])).finish().result
);
7173 this.result
.set(tmp
.subarray(0, l
), j
);
7174 for (var k
= 1; k
< count
; ++k
) {
7175 tmp
= new Uint8Array(this.hmac
.reset().process(tmp
).finish().result
);
7176 for (var r
= 0; r
< l
; ++r
) this.result
[j
+ r
] ^= tmp
[r
];
7181 function pbkdf2_hmac_sha256_generate(salt
, count
, length
) {
7182 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
7183 if (!salt
&& !is_string(salt
)) throw new IllegalArgumentError("bad 'salt' value");
7184 count
= count
|| this.count
;
7185 length
= length
|| this.length
;
7186 this.result
= new Uint8Array(length
);
7187 var blocks
= Math
.ceil(length
/ this.hmac
.HMAC_SIZE
);
7188 for (var i
= 1; i
<= blocks
; ++i
) {
7189 var j
= (i
- 1) * this.hmac
.HMAC_SIZE
;
7190 var l
= (i
< blocks
? 0 : length
% this.hmac
.HMAC_SIZE
) || this.hmac
.HMAC_SIZE
;
7191 this.hmac
.reset().process(salt
);
7192 this.hmac
.hash
.asm
.pbkdf2_generate_block(this.hmac
.hash
.pos
, this.hmac
.hash
.len
, i
, count
, 0);
7193 this.result
.set(this.hmac
.hash
.heap
.subarray(0, l
), j
);
7197 function pbkdf2_hmac_sha512_generate(salt
, count
, length
) {
7198 if (this.result
!== null) throw new IllegalStateError("state must be reset before processing new data");
7199 if (!salt
&& !is_string(salt
)) throw new IllegalArgumentError("bad 'salt' value");
7200 count
= count
|| this.count
;
7201 length
= length
|| this.length
;
7202 this.result
= new Uint8Array(length
);
7203 var blocks
= Math
.ceil(length
/ this.hmac
.HMAC_SIZE
);
7204 for (var i
= 1; i
<= blocks
; ++i
) {
7205 var j
= (i
- 1) * this.hmac
.HMAC_SIZE
;
7206 var l
= (i
< blocks
? 0 : length
% this.hmac
.HMAC_SIZE
) || this.hmac
.HMAC_SIZE
;
7207 this.hmac
.reset().process(salt
);
7208 this.hmac
.hash
.asm
.pbkdf2_generate_block(this.hmac
.hash
.pos
, this.hmac
.hash
.len
, i
, count
, 0);
7209 this.result
.set(this.hmac
.hash
.heap
.subarray(0, l
), j
);
7213 var pbkdf2_prototype
= pbkdf2_constructor
.prototype;
7214 pbkdf2_prototype
.reset
= pbkdf2_reset
;
7215 pbkdf2_prototype
.generate
= pbkdf2_generate
;
7216 var pbkdf2_hmac_sha256_prototype
= pbkdf2_hmac_sha256_constructor
.prototype;
7217 pbkdf2_hmac_sha256_prototype
.reset
= pbkdf2_reset
;
7218 pbkdf2_hmac_sha256_prototype
.generate
= pbkdf2_hmac_sha256_generate
;
7219 var pbkdf2_hmac_sha512_prototype
= pbkdf2_hmac_sha512_constructor
.prototype;
7220 pbkdf2_hmac_sha512_prototype
.reset
= pbkdf2_reset
;
7221 pbkdf2_hmac_sha512_prototype
.generate
= pbkdf2_hmac_sha512_generate
;
7222 global
.IllegalStateError
= IllegalStateError
;
7223 global
.IllegalArgumentError
= IllegalArgumentError
;
7224 global
.SecurityError
= SecurityError
;
7225 exports
.string_to_bytes
= string_to_bytes
;
7226 exports
.hex_to_bytes
= hex_to_bytes
;
7227 exports
.base64_to_bytes
= base64_to_bytes
;
7228 exports
.bytes_to_string
= bytes_to_string
;
7229 exports
.bytes_to_hex
= bytes_to_hex
;
7230 exports
.bytes_to_base64
= bytes_to_base64
;
7231 var SHA256_instance
= new sha256_constructor({
7234 function sha256_bytes(data
) {
7235 if (data
=== undefined) throw new SyntaxError("data required");
7236 return SHA256_instance
.reset().process(data
).finish().result
;
7238 function sha256_hex(data
) {
7239 var result
= sha256_bytes(data
);
7240 return bytes_to_hex(result
);
7242 function sha256_base64(data
) {
7243 var result
= sha256_bytes(data
);
7244 return bytes_to_base64(result
);
7247 bytes: sha256_bytes
,
7249 base64: sha256_base64
7251 var SHA512_instance
= new sha512_constructor({
7254 function sha512_bytes(data
) {
7255 if (data
=== undefined) throw new SyntaxError("data required");
7256 return SHA512_instance
.reset().process(data
).finish().result
;
7258 function sha512_hex(data
) {
7259 var result
= sha512_bytes(data
);
7260 return bytes_to_hex(result
);
7262 function sha512_base64(data
) {
7263 var result
= sha512_bytes(data
);
7264 return bytes_to_base64(result
);
7267 bytes: sha512_bytes
,
7269 base64: sha512_base64
7271 var hmac_sha256_instance
= new hmac_sha256_constructor({
7272 hash: SHA256_instance
7274 function hmac_sha256_bytes(data
, password
) {
7275 if (data
=== undefined) throw new SyntaxError("data required");
7276 if (password
=== undefined) throw new SyntaxError("password required");
7277 return hmac_sha256_instance
.reset({
7279 }).process(data
).finish().result
;
7281 function hmac_sha256_hex(data
, password
) {
7282 var result
= hmac_sha256_bytes(data
, password
);
7283 return bytes_to_hex(result
);
7285 function hmac_sha256_base64(data
, password
) {
7286 var result
= hmac_sha256_bytes(data
, password
);
7287 return bytes_to_base64(result
);
7289 exports
.HMAC
= exports
.HMAC_SHA256
= {
7290 bytes: hmac_sha256_bytes
,
7291 hex: hmac_sha256_hex
,
7292 base64: hmac_sha256_base64
7294 var hmac_sha512_instance
= new hmac_sha512_constructor({
7295 hash: SHA512_instance
7297 function hmac_sha512_bytes(data
, password
) {
7298 if (data
=== undefined) throw new SyntaxError("data required");
7299 if (password
=== undefined) throw new SyntaxError("password required");
7300 return hmac_sha512_instance
.reset({
7302 }).process(data
).finish().result
;
7304 function hmac_sha512_hex(data
, password
) {
7305 var result
= hmac_sha512_bytes(data
, password
);
7306 return bytes_to_hex(result
);
7308 function hmac_sha512_base64(data
, password
) {
7309 var result
= hmac_sha512_bytes(data
, password
);
7310 return bytes_to_base64(result
);
7312 exports
.HMAC_SHA512
= {
7313 bytes: hmac_sha512_bytes
,
7314 hex: hmac_sha512_hex
,
7315 base64: hmac_sha512_base64
7317 var pbkdf2_hmac_sha256_instance
= new pbkdf2_hmac_sha256_constructor({
7318 hmac: hmac_sha256_instance
7320 function pbkdf2_hmac_sha256_bytes(password
, salt
, iterations
, dklen
) {
7321 if (password
=== undefined) throw new SyntaxError("password required");
7322 if (salt
=== undefined) throw new SyntaxError("salt required");
7323 return pbkdf2_hmac_sha256_instance
.reset({
7325 }).generate(salt
, iterations
, dklen
).result
;
7327 function pbkdf2_hmac_sha256_hex(password
, salt
, iterations
, dklen
) {
7328 var result
= pbkdf2_hmac_sha256_bytes(password
, salt
, iterations
, dklen
);
7329 return bytes_to_hex(result
);
7331 function pbkdf2_hmac_sha256_base64(password
, salt
, iterations
, dklen
) {
7332 var result
= pbkdf2_hmac_sha256_bytes(password
, salt
, iterations
, dklen
);
7333 return bytes_to_base64(result
);
7335 exports
.PBKDF2
= exports
.PBKDF2_HMAC_SHA256
= {
7336 bytes: pbkdf2_hmac_sha256_bytes
,
7337 hex: pbkdf2_hmac_sha256_hex
,
7338 base64: pbkdf2_hmac_sha256_base64
7340 var pbkdf2_hmac_sha512_instance
= new pbkdf2_hmac_sha512_constructor({
7341 hmac: hmac_sha512_instance
7343 function pbkdf2_hmac_sha512_bytes(password
, salt
, iterations
, dklen
) {
7344 if (password
=== undefined) throw new SyntaxError("password required");
7345 if (salt
=== undefined) throw new SyntaxError("salt required");
7346 return pbkdf2_hmac_sha512_instance
.reset({
7348 }).generate(salt
, iterations
, dklen
).result
;
7350 function pbkdf2_hmac_sha512_hex(password
, salt
, iterations
, dklen
) {
7351 var result
= pbkdf2_hmac_sha512_bytes(password
, salt
, iterations
, dklen
);
7352 return bytes_to_hex(result
);
7354 function pbkdf2_hmac_sha512_base64(password
, salt
, iterations
, dklen
) {
7355 var result
= pbkdf2_hmac_sha512_bytes(password
, salt
, iterations
, dklen
);
7356 return bytes_to_base64(result
);
7358 exports
.PBKDF2_HMAC_SHA512
= {
7359 bytes: pbkdf2_hmac_sha512_bytes
,
7360 hex: pbkdf2_hmac_sha512_hex
,
7361 base64: pbkdf2_hmac_sha512_base64
7363 var cbc_aes_instance
= new cbc_aes_constructor({
7366 function cbc_aes_encrypt_bytes(data
, key
, padding
, iv
) {
7367 if (data
=== undefined) throw new SyntaxError("data required");
7368 if (key
=== undefined) throw new SyntaxError("key required");
7369 return cbc_aes_instance
.reset({
7373 }).encrypt(data
).result
;
7375 function cbc_aes_decrypt_bytes(data
, key
, padding
, iv
) {
7376 if (data
=== undefined) throw new SyntaxError("data required");
7377 if (key
=== undefined) throw new SyntaxError("key required");
7378 return cbc_aes_instance
.reset({
7382 }).decrypt(data
).result
;
7384 exports
.AES
= exports
.AES_CBC
= {
7385 encrypt: cbc_aes_encrypt_bytes
,
7386 decrypt: cbc_aes_decrypt_bytes
7388 var ccm_aes_instance
= new ccm_aes_constructor({
7389 heap: cbc_aes_instance
.heap
,
7390 asm: cbc_aes_instance
.asm
7392 function ccm_aes_encrypt_bytes(data
, key
, nonce
, adata
, tagSize
) {
7393 if (data
=== undefined) throw new SyntaxError("data required");
7394 if (key
=== undefined) throw new SyntaxError("key required");
7395 if (nonce
=== undefined) throw new SyntaxError("nonce required");
7396 var dataLength
= data
.byteLength
|| data
.length
|| 0;
7397 return ccm_aes_instance
.reset({
7402 dataLength: dataLength
7403 }).encrypt(data
).result
;
7405 function ccm_aes_decrypt_bytes(data
, key
, nonce
, adata
, tagSize
) {
7406 if (data
=== undefined) throw new SyntaxError("data required");
7407 if (key
=== undefined) throw new SyntaxError("key required");
7408 if (nonce
=== undefined) throw new SyntaxError("nonce required");
7409 var dataLength
= data
.byteLength
|| data
.length
|| 0;
7410 tagSize
= tagSize
|| _aes_block_size
;
7411 return ccm_aes_instance
.reset({
7416 dataLength: dataLength
- tagSize
7417 }).decrypt(data
).result
;
7420 encrypt: ccm_aes_encrypt_bytes
,
7421 decrypt: ccm_aes_decrypt_bytes
7423 var cfb_aes_instance
= new cfb_aes_constructor({
7424 heap: cbc_aes_instance
.heap
,
7425 asm: cbc_aes_instance
.asm
7427 function cfb_aes_encrypt_bytes(data
, key
, padding
, iv
) {
7428 if (data
=== undefined) throw new SyntaxError("data required");
7429 if (key
=== undefined) throw new SyntaxError("key required");
7430 return cfb_aes_instance
.reset({
7434 }).encrypt(data
).result
;
7436 function cfb_aes_decrypt_bytes(data
, key
, padding
, iv
) {
7437 if (data
=== undefined) throw new SyntaxError("data required");
7438 if (key
=== undefined) throw new SyntaxError("key required");
7439 return cfb_aes_instance
.reset({
7443 }).decrypt(data
).result
;
7446 encrypt: cfb_aes_encrypt_bytes
,
7447 decrypt: cfb_aes_decrypt_bytes
7449 var cfb_aes_decrypt_instance
= new cfb_aes_decrypt_constructor({
7450 heap: cbc_aes_instance
.heap
,
7451 asm: cbc_aes_instance
.asm
7453 function cfb_aes_decrypt_init(key
, padding
, iv
) {
7454 if (key
=== undefined) throw new SyntaxError("key required");
7455 return cfb_aes_decrypt_instance
.reset({
7461 exports
.AES_CFB
= exports
.AES_CFB
|| {};
7462 exports
.AES_CFB
.decryptor
= {
7463 init: cfb_aes_decrypt_init