forked from kadena-io/cardano-crypto.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkadena-crypto.js
11022 lines (9617 loc) · 547 KB
/
kadena-crypto.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.lib = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
(function (Buffer){
const Module = require('../lib.js')
const {validateBuffer, validateString, validateArray} = require("../utils/validation")
function blake2b(input, outputLen) {
validateBuffer(input)
const inputLen = input.length
const inputArrPtr = Module._malloc(inputLen)
const inputArr = new Uint8Array(Module.HEAPU8.buffer, inputArrPtr, inputLen)
const outputArrPtr = Module._malloc(outputLen)
const outputArr = new Uint8Array(Module.HEAPU8.buffer, outputArrPtr, outputLen)
inputArr.set(input)
Module._emscripten_blake2b(inputArrPtr, inputLen, outputArrPtr, outputLen)
Module._free(inputArrPtr)
Module._free(outputArrPtr)
return Buffer.from(outputArr)
}
function hmac_sha512(initKey, inputs) {
validateBuffer(initKey)
validateArray(inputs)
inputs.map(validateBuffer)
const ctxLen = Module._emscripten_size_of_hmac_sha512_ctx()
const ctxArrPtr = Module._malloc(ctxLen)
const ctxArr = new Uint8Array(Module.HEAPU8.buffer, ctxArrPtr, ctxLen)
const initKeyLen = initKey.length
const initKeyArrPtr = Module._malloc(initKeyLen)
const initKeyArr = new Uint8Array(Module.HEAPU8.buffer, initKeyArrPtr, initKeyLen)
const outputLen = 64
const outputArrPtr = Module._malloc(outputLen)
const outputArr = new Uint8Array(Module.HEAPU8.buffer, outputArrPtr, outputLen)
initKeyArr.set(initKey)
Module._emscripten_hmac_sha512_init(ctxArrPtr, initKeyArrPtr, initKeyLen)
for (let i = 0; i < inputs.length; i++) {
const inputLen = inputs[i].length
const inputArrPtr = Module._malloc(inputLen)
const inputArr = new Uint8Array(Module.HEAPU8.buffer, inputArrPtr, inputLen)
inputArr.set(inputs[i])
Module._emscripten_hmac_sha512_update(ctxArrPtr, inputArrPtr, inputLen)
Module._free(inputArrPtr)
}
Module._emscripten_hmac_sha512_final(ctxArrPtr, outputArrPtr)
Module._free(initKeyArrPtr)
Module._free(ctxArrPtr)
Module._free(outputArrPtr)
return Buffer.from(outputArr)
}
function chacha20poly1305Encrypt(input, key, nonce) {
validateBuffer(input)
validateBuffer(key, 32)
validateBuffer(nonce, 12)
const inputLen = input.length
const inputArrPtr = Module._malloc(inputLen)
const inputArr = new Uint8Array(Module.HEAPU8.buffer, inputArrPtr, inputLen)
const keyLen = key.length
const keyArrPtr = Module._malloc(keyLen)
const keyArr = new Uint8Array(Module.HEAPU8.buffer, keyArrPtr, keyLen)
const nonceLen = nonce.length
const nonceArrPtr = Module._malloc(nonceLen)
const nonceArr = new Uint8Array(Module.HEAPU8.buffer, nonceArrPtr, nonceLen)
const tagLen = 16
const outputLen = inputLen + tagLen
const outputArrPtr = Module._malloc(outputLen)
const outputArr = new Uint8Array(Module.HEAPU8.buffer, outputArrPtr, outputLen)
inputArr.set(input)
keyArr.set(key)
nonceArr.set(nonce)
const resultCode = Module._emscripten_chacha20poly1305_enc(keyArrPtr, nonceArrPtr, inputArrPtr, inputLen, outputArrPtr, outputArrPtr + inputLen, tagLen, 1)
Module._free(inputArrPtr)
Module._free(keyArrPtr)
Module._free(nonceArrPtr)
Module._free(outputArrPtr)
if (resultCode !== 0) {
throw Error('chacha20poly1305 encryption has failed!')
}
return Buffer.from(outputArr)
}
function chacha20poly1305Decrypt(input, key, nonce) {
validateBuffer(input)
validateBuffer(key, 32)
validateBuffer(nonce, 12)
// extract tag from input
const tagLen = 16
const tag = input.slice(input.length - tagLen, input.length)
input = input.slice(0, input.length - tagLen)
const inputLen = input.length
const inputArrPtr = Module._malloc(inputLen)
const inputArr = new Uint8Array(Module.HEAPU8.buffer, inputArrPtr, inputLen)
const tagArrPtr = Module._malloc(tagLen)
const tagArr = new Uint8Array(Module.HEAPU8.buffer, tagArrPtr, tagLen)
const keyLen = key.length
const keyArrPtr = Module._malloc(keyLen)
const keyArr = new Uint8Array(Module.HEAPU8.buffer, keyArrPtr, keyLen)
const nonceLen = nonce.length
const nonceArrPtr = Module._malloc(nonceLen)
const nonceArr = new Uint8Array(Module.HEAPU8.buffer, nonceArrPtr, nonceLen)
const outputLen = inputLen
const outputArrPtr = Module._malloc(outputLen)
const outputArr = new Uint8Array(Module.HEAPU8.buffer, outputArrPtr, outputLen)
inputArr.set(input)
tagArr.set(tag)
keyArr.set(key)
nonceArr.set(nonce)
const resultCode = Module._emscripten_chacha20poly1305_enc(keyArrPtr, nonceArrPtr, inputArrPtr, inputLen, outputArrPtr, tagArrPtr, tagLen, 0)
Module._free(inputArrPtr)
Module._free(keyArrPtr)
Module._free(nonceArrPtr)
Module._free(outputArrPtr)
Module._free(tagArrPtr)
if (resultCode !== 0) {
throw Error('chacha20poly1305 decryption has failed!')
}
return Buffer.from(outputArr)
}
function sha3_256(input) {
validateBuffer(input)
const inputLen = input.length
const inputArrPtr = Module._malloc(inputLen)
const inputArr = new Uint8Array(Module.HEAPU8.buffer, inputArrPtr, inputLen)
const outputLen = 32
const outputArrPtr = Module._malloc(outputLen)
const outputArr = new Uint8Array(Module.HEAPU8.buffer, outputArrPtr, outputLen)
inputArr.set(input)
Module._emscripten_sha3_256(inputArrPtr, inputLen, outputArrPtr)
Module._free(inputArrPtr)
Module._free(outputArrPtr)
return Buffer.from(outputArr)
}
// used for encoding/decoding seeds to JSON in Daedalus
function cardanoMemoryCombine(input, password) {
validateBuffer(input)
validateString(password)
if (password === '') {
return input
}
const transformedPassword = blake2b(Buffer.from(password, 'utf-8'), 32)
const transformedPasswordLen = transformedPassword.length
const transformedPasswordArrPtr = Module._malloc(transformedPasswordLen)
const transformedPasswordArr = new Uint8Array(Module.HEAPU8.buffer, transformedPasswordArrPtr, transformedPasswordLen)
const inputLen = input.length
const inputArrPtr = Module._malloc(inputLen)
const inputArr = new Uint8Array(Module.HEAPU8.buffer, inputArrPtr, inputLen)
const outputArrPtr = Module._malloc(inputLen)
const outputArr = new Uint8Array(Module.HEAPU8.buffer, outputArrPtr, inputLen)
inputArr.set(input)
transformedPasswordArr.set(transformedPassword)
Module._emscripten_cardano_memory_combine(transformedPasswordArrPtr, transformedPasswordLen, inputArrPtr, outputArrPtr, inputLen)
Module._free(inputArrPtr)
Module._free(outputArrPtr)
Module._free(transformedPasswordArrPtr)
return Buffer.from(outputArr)
}
module.exports = {
blake2b,
chacha20poly1305Decrypt,
chacha20poly1305Encrypt,
hmac_sha512,
sha3_256,
cardanoMemoryCombine,
}
}).call(this,require("buffer").Buffer)
},{"../lib.js":6,"../utils/validation":33,"buffer":37}],2:[function(require,module,exports){
(function (Buffer){
const signing = require("./signing")
const derivation = require("./key-derivation")
const Module = require('../lib.js')
function kadenaMnemonicToRootKeypair(pwd, mnemonic) {
const pwdBuf = Buffer.from(pwd)
return derivation.mnemonicToRootKeypairV3(mnemonic, pwdBuf)
}
function kadenaChangePassword(key, oldPwd, newPwd) {
const keyBuf = Buffer.from(key)
const oldPwdBuf = Buffer.from(oldPwd)
const newPwdBuf = Buffer.from(newPwd)
const newPrv = derivation.changePassword(keyBuf, oldPwdBuf, newPwdBuf)
return newPrv.buffer;
}
function kadenaGenMnemonic() {
return derivation.genMnemonic();
}
function kadenaCheckMnemonic(mnem) {
return derivation.checkMnemonic(mnem);
}
function kadenaGenKeypair(pwd, root, index) {
const derivationScheme = 2;
const rootBuffer = Buffer.from(root)
const pwdBuf = Buffer.from(pwd)
const xprv = derivation.derivePrivate(pwdBuf, rootBuffer, index, derivationScheme);
const xpub = new Buffer(xprv.slice(64, 96))
return [xprv.buffer, xpub.buffer];
}
function kadenaSign(pwd, msg, xprv) {
const xprvBuf = Buffer.from(xprv);
const msgBuf = Buffer.from(msg)
const pwdBuf = Buffer.from(pwd)
return signing.sign(msgBuf, xprvBuf, pwdBuf).buffer;
}
function kadenaGetPublic(prvKey) {
const prvBuffer = Buffer.from(prvKey)
const xpub = new Buffer(prvBuffer.slice(64, 96))
return xpub.buffer;
}
function kadenaVerify(msg, publicKey, sig) {
const msgBuf = Buffer.from(msg);
const pubKeyBuf = Buffer.from(publicKey);
const sigBuf = Buffer.from(sig);
return signing.verify(msgBuf, pubKeyBuf, sigBuf);
}
module.exports = {
kadenaGenMnemonic,
kadenaCheckMnemonic,
kadenaMnemonicToRootKeypair,
kadenaGenKeypair,
kadenaGetPublic,
kadenaSign,
kadenaVerify,
kadenaChangePassword
}
}).call(this,require("buffer").Buffer)
},{"../lib.js":6,"./key-derivation":3,"./signing":4,"buffer":37}],3:[function(require,module,exports){
(function (Buffer){
const bip39 = require('bip39')
const {validateBuffer, validateDerivationIndex, validateDerivationScheme, validateMnemonic} = require("../utils/validation")
const crypto = require("./crypto-primitives")
const pbkdf2 = require('../utils/pbkdf2')
const Module = require('../lib.js')
function genMnemonic() {
return bip39.generateMnemonic()
}
function checkMnemonic(mnem) {
return bip39.validateMnemonic(mnem);
}
async function mnemonicToRootKeypair(mnemonic, derivationScheme) {
if (derivationScheme === 1) {
return mnemonicToRootKeypairV1(mnemonic)
} else if (derivationScheme === 2) {
return mnemonicToRootKeypairV2(mnemonic, '')
} else if (derivationScheme === 3) {
// Note, this is different from the derivation scheme value used by cardano-crypto.hs
return mnemonicToRootKeypairV3(mnemonic, '')
} else {
throw Error(`Derivation scheme ${derivationScheme} not implemented`)
}
}
function mnemonicToRootKeypairV3(mnemonic, pwd) {
validateMnemonic(mnemonic)
const seed = Buffer.from(bip39.mnemonicToSeedSync(mnemonic), 'hex')
return seedToKeypairV1(pwd, seed)
}
function mnemonicToRootKeypairV1(mnemonic) {
const seed = mnemonicToSeedV1(mnemonic)
return seedToKeypairV1(seed)
}
function mnemonicToSeedV1(mnemonic) {
validateMnemonic(mnemonic)
const entropy = Buffer.from(bip39.mnemonicToEntropy(mnemonic), 'hex')
return cborEncodeBuffer(crypto.blake2b(cborEncodeBuffer(entropy), 32))
}
function seedToKeypairV1(pwd, seed) {
let result
for (let i = 1; result === undefined && i <= 1000; i++) {
try {
const digest = crypto.hmac_sha512(seed, [Buffer.from(`Root Seed Chain ${i}`, 'ascii')])
const tempSeed = digest.slice(0, 32)
const chainCode = digest.slice(32, 64)
result = trySeedChainCodeToKeypairV1(pwd, tempSeed, chainCode)
} catch (e) {
if (e.name === 'InvalidKeypair') {
continue
}
throw e
}
}
if (result === undefined) {
const e = new Error('Secret key generation from mnemonic is looping forever')
e.name = 'RuntimeException'
throw e
}
return result
}
function trySeedChainCodeToKeypairV1(pwd, seed, chainCode) {
validateBuffer(seed, 32)
validateBuffer(chainCode, 32)
validateBuffer(pwd)
const pwdLen = pwd.length
const pwdArrPtr = Module._malloc(pwdLen)
const pwdArr = new Uint8Array(Module.HEAPU8.buffer, pwdArrPtr, pwdLen)
const seedArrPtr = Module._malloc(32)
const seedArr = new Uint8Array(Module.HEAPU8.buffer, seedArrPtr, 32)
const chainCodeArrPtr = Module._malloc(32)
const chainCodeArr = new Uint8Array(Module.HEAPU8.buffer, chainCodeArrPtr, 32)
const keypairArrPtr = Module._malloc(128)
const keypairArr = new Uint8Array(Module.HEAPU8.buffer, keypairArrPtr, 128)
pwdArr.set(pwd)
seedArr.set(seed)
chainCodeArr.set(chainCode)
const returnCode = Module._emscripten_wallet_secret_from_seed(pwdArrPtr, pwdLen, seedArrPtr, chainCodeArrPtr, keypairArrPtr)
Module._free(pwdArrPtr)
Module._free(seedArrPtr)
Module._free(chainCodeArrPtr)
Module._free(keypairArrPtr)
if (returnCode === 1) {
const e = new Error('Invalid keypair')
e.name = 'InvalidKeypair'
throw e
}
return Buffer.from(keypairArr)
}
async function mnemonicToRootKeypairV2(mnemonic, password) {
const seed = mnemonicToSeedV2(mnemonic)
const rootSecret = await seedToKeypairV2(seed, password)
return seedToKeypairV2(seed, password)
}
function mnemonicToSeedV2(mnemonic) {
validateMnemonic(mnemonic)
let entropy = Buffer.from(bip39.mnemonicToEntropy(mnemonic), 'hex')
return entropy;
}
async function seedToKeypairV2(seed, password) {
const xprv = await pbkdf2(password, seed, 4096, 96, 'sha512')
xprv[0] &= 248
xprv[31] &= 31
xprv[31] |= 64
const publicKey = toPublic(xprv.slice(0, 64))
return Buffer.concat([xprv.slice(0, 64), publicKey, xprv.slice(64,)])
}
function toPublic(privateKey) {
validateBuffer(privateKey, 64)
const privateKeyArrPtr = Module._malloc(64)
const privateKeyArr = new Uint8Array(Module.HEAPU8.buffer, privateKeyArrPtr, 64)
const publicKeyArrPtr = Module._malloc(32)
const publicKeyArr = new Uint8Array(Module.HEAPU8.buffer, publicKeyArrPtr, 32)
privateKeyArr.set(privateKey)
Module._emscripten_to_public(privateKeyArrPtr, publicKeyArrPtr)
Module._free(privateKeyArrPtr)
Module._free(publicKeyArrPtr)
return Buffer.from(publicKeyArr)
}
function derivePrivate(pwd, parentKey, index, derivationScheme) {
validateBuffer(parentKey, 128)
validateDerivationIndex(index)
validateDerivationScheme(derivationScheme)
validateBuffer(pwd)
const pwdLen = pwd.length
const pwdArrPtr = Module._malloc(pwdLen)
const pwdArr = new Uint8Array(Module.HEAPU8.buffer, pwdArrPtr, pwdLen)
const parentKeyArrPtr = Module._malloc(128)
const parentKeyArr = new Uint8Array(Module.HEAPU8.buffer, parentKeyArrPtr, 128)
const childKeyArrPtr = Module._malloc(128)
const childKeyArr = new Uint8Array(Module.HEAPU8.buffer, childKeyArrPtr, 128)
pwdArr.set(pwd)
parentKeyArr.set(parentKey)
Module._emscripten_derive_private(pwdArrPtr, pwdLen, parentKeyArrPtr, index, childKeyArrPtr, derivationScheme)
Module._free(parentKeyArrPtr)
Module._free(childKeyArrPtr)
return Buffer.from(childKeyArr)
}
function changePassword(inputKey, oldPwd, newPwd) {
validateBuffer(inputKey, 128)
validateBuffer(oldPwd)
validateBuffer(newPwd)
const oldPwdLen = oldPwd.length
const oldPwdArrPtr = Module._malloc(oldPwdLen)
const oldPwdArr = new Uint8Array(Module.HEAPU8.buffer, oldPwdArrPtr, oldPwdLen)
const newPwdLen = newPwd.length
const newPwdArrPtr = Module._malloc(newPwdLen)
const newPwdArr = new Uint8Array(Module.HEAPU8.buffer, newPwdArrPtr, newPwdLen)
const inputKeyArrPtr = Module._malloc(128)
const inputKeyArr = new Uint8Array(Module.HEAPU8.buffer, inputKeyArrPtr, 128)
const newKeyArrPtr = Module._malloc(128)
const newKeyArr = new Uint8Array(Module.HEAPU8.buffer, newKeyArrPtr, 128)
oldPwdArr.set(oldPwd)
newPwdArr.set(newPwd)
inputKeyArr.set(inputKey)
Module._emscripten_wallet_change_pass(inputKeyArrPtr, oldPwdArrPtr, oldPwdLen, newPwdArrPtr, newPwdLen, newKeyArrPtr)
Module._free(oldPwdArrPtr)
Module._free(newPwdArrPtr)
Module._free(inputKeyArrPtr)
Module._free(newKeyArrPtr)
return Buffer.from(newKeyArr)
}
function derivePublic(parentExtPubKey, index, derivationScheme) {
validateBuffer(parentExtPubKey, 64)
validateDerivationIndex(index)
validateDerivationScheme(derivationScheme)
const parentPubKey = parentExtPubKey.slice(0, 32)
const parentChainCode = parentExtPubKey.slice(32, 64)
const parentPubKeyArrPtr = Module._malloc(32)
const parentPubKeyArr = new Uint8Array(Module.HEAPU8.buffer, parentPubKeyArrPtr, 32)
const parentChainCodeArrPtr = Module._malloc(32)
const parentChainCodeArr = new Uint8Array(Module.HEAPU8.buffer, parentChainCodeArrPtr, 32)
const childPubKeyArrPtr = Module._malloc(32)
const childPubKeyArr = new Uint8Array(Module.HEAPU8.buffer, childPubKeyArrPtr, 32)
const childChainCodeArrPtr = Module._malloc(32)
const childChainCodeArr = new Uint8Array(Module.HEAPU8.buffer, childChainCodeArrPtr, 32)
parentPubKeyArr.set(parentPubKey)
parentChainCodeArr.set(parentChainCode)
const resultCode = Module._emscripten_derive_public(parentPubKeyArrPtr, parentChainCodeArrPtr, index, childPubKeyArrPtr, childChainCodeArrPtr, derivationScheme)
Module._free(parentPubKeyArrPtr)
Module._free(parentChainCodeArrPtr)
Module._free(parentPubKeyArrPtr)
Module._free(parentChainCodeArrPtr)
if (resultCode !== 0) {
throw Error(`derivePublic has exited with code ${resultCode}`)
}
return Buffer.concat([Buffer.from(childPubKeyArr), Buffer.from(childChainCodeArr)])
}
function cborEncodeBuffer(input) {
validateBuffer(input)
const len = input.length
let cborPrefix = []
if (len < 24) {
cborPrefix = [0x40 + len]
} else if (len < 256) {
cborPrefix = [0x58, len]
} else {
throw Error('CBOR encode for more than 256 bytes not yet implemented')
}
return Buffer.concat([Buffer.from(cborPrefix), input])
}
module.exports = {
mnemonicToRootKeypair,
mnemonicToRootKeypairV3,
derivePublic,
derivePrivate,
toPublic,
changePassword,
genMnemonic,
checkMnemonic,
_mnemonicToSeedV1: mnemonicToSeedV1,
_seedToKeypairV1: seedToKeypairV1,
_seedToKeypairV2: seedToKeypairV2,
_mnemonicToSeedV2: mnemonicToSeedV2,
}
}).call(this,require("buffer").Buffer)
},{"../lib.js":6,"../utils/pbkdf2":32,"../utils/validation":33,"./crypto-primitives":1,"bip39":8,"buffer":37}],4:[function(require,module,exports){
(function (Buffer){
const {validateBuffer} = require("../utils/validation")
const Module = require('../lib.js')
function sign(msg, keypair, pwd) {
validateBuffer(msg)
validateBuffer(pwd)
validateBuffer(keypair, 128)
const msgLen = msg.length
const msgArrPtr = Module._malloc(msgLen)
const msgArr = new Uint8Array(Module.HEAPU8.buffer, msgArrPtr, msgLen)
const keypairArrPtr = Module._malloc(128)
const keypairArr = new Uint8Array(Module.HEAPU8.buffer, keypairArrPtr, 128)
const sigPtr = Module._malloc(64)
const sigArr = new Uint8Array(Module.HEAPU8.buffer, sigPtr, 64)
const pwdLen = pwd.length
const pwdArrPtr = Module._malloc(pwdLen)
const pwdArr = new Uint8Array(Module.HEAPU8.buffer, pwdArrPtr, pwdLen)
msgArr.set(msg)
keypairArr.set(keypair)
pwdArr.set(pwd)
Module._emscripten_sign(pwdArrPtr, pwdLen, keypairArrPtr, msgArrPtr, msgLen, sigPtr)
Module._free(msgArrPtr)
Module._free(keypairArrPtr)
Module._free(sigPtr)
Module._free(pwdArrPtr)
return Buffer.from(sigArr)
}
function verify(msg, publicKey, sig) {
validateBuffer(msg)
validateBuffer(publicKey, 32)
validateBuffer(sig, 64)
const msgLen = msg.length
const msgArrPtr = Module._malloc(msgLen)
const msgArr = new Uint8Array(Module.HEAPU8.buffer, msgArrPtr, msgLen)
const publicKeyArrPtr = Module._malloc(32)
const publicKeyArr = new Uint8Array(Module.HEAPU8.buffer, publicKeyArrPtr, 32)
const sigPtr = Module._malloc(64)
const sigArr = new Uint8Array(Module.HEAPU8.buffer, sigPtr, 64)
msgArr.set(msg)
publicKeyArr.set(publicKey)
sigArr.set(sig)
const result = Module._emscripten_verify(msgArrPtr, msgLen, publicKeyArrPtr, sigPtr) === 0
Module._free(msgArrPtr)
Module._free(publicKeyArrPtr)
Module._free(sigPtr)
return result
}
module.exports = {
sign,
verify,
}
}).call(this,require("buffer").Buffer)
},{"../lib.js":6,"../utils/validation":33,"buffer":37}],5:[function(require,module,exports){
const kadena = require('./features/kadena-features')
const Module = require('./lib.js')
module.exports = {
...kadena,
}
},{"./features/kadena-features":2,"./lib.js":6}],6:[function(require,module,exports){
(function (process,Buffer,__dirname){
var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){var ret=tryParseAsDataURI(filename);if(ret){return binary?ret:ret.toString()}if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536);this.grow=function(amount){var ret=__growWasmMemory(amount);return ret}},Table:function(opts){var ret=new Array(opts["initial"]);ret.set=function(i,func){ret[i]=func};ret.get=function(i){return ret[i]};return ret},Module:function(binary){},Instance:function(module,info){this.exports=(
// EMSCRIPTEN_START_ASM
function a(asmLibraryArg,wasmMemory,wasmTable){function b(global,env,buffer){var memory=env.memory;var c=wasmTable;var d=new global.Int8Array(buffer);var e=new global.Int16Array(buffer);var f=new global.Int32Array(buffer);var g=new global.Uint8Array(buffer);var h=new global.Uint16Array(buffer);var i=new global.Uint32Array(buffer);var j=new global.Float32Array(buffer);var k=new global.Float64Array(buffer);var l=global.Math.imul;var m=global.Math.fround;var n=global.Math.abs;var o=global.Math.clz32;var p=global.Math.min;var q=global.Math.max;var r=global.Math.floor;var s=global.Math.ceil;var t=global.Math.sqrt;var u=env.abort;var v=global.NaN;var w=global.Infinity;var x=env.a;var y=env.b;var z=env.c;var A=5274608;var B=0;
// EMSCRIPTEN_START_FUNCS
function fa(a,b){var c=0,d=0,e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0;c=A-256|0;A=c;while(1){Y=R<<3;ga=Y+(c+128|0)|0;Y=b+Y|0;ba=g[Y+4|0]|g[Y+5|0]<<8|(g[Y+6|0]<<16|g[Y+7|0]<<24);f[ga>>2]=g[Y|0]|g[Y+1|0]<<8|(g[Y+2|0]<<16|g[Y+3|0]<<24);f[ga+4>>2]=ba;R=R+1|0;if((R|0)!=16){continue}break}b=f[a+60>>2];f[c+56>>2]=f[a+56>>2];f[c+60>>2]=b;b=f[a+52>>2];f[c+48>>2]=f[a+48>>2];f[c+52>>2]=b;b=f[a+44>>2];f[c+40>>2]=f[a+40>>2];f[c+44>>2]=b;b=f[a+36>>2];f[c+32>>2]=f[a+32>>2];f[c+36>>2]=b;b=f[a+28>>2];f[c+24>>2]=f[a+24>>2];f[c+28>>2]=b;b=f[a+20>>2];f[c+16>>2]=f[a+16>>2];f[c+20>>2]=b;b=f[a+4>>2];f[c>>2]=f[a>>2];f[c+4>>2]=b;b=f[a+12>>2];f[c+8>>2]=f[a+8>>2];f[c+12>>2]=b;f[c+88>>2]=1595750129;f[c+92>>2]=-1521486534;f[c+80>>2]=-23791573;f[c+84>>2]=1013904242;F=f[a+72>>2];ha=f[a+76>>2];la=f[a+80>>2];ea=f[a+84>>2];T=f[a+64>>2];aa=f[a+68>>2];b=f[a+92>>2]^1541459225;k=b;o=f[a+88>>2]^327033209;f[c+120>>2]=o;f[c+124>>2]=b;Y=c;ga=f[c+136>>2];Z=ga;ja=f[c+140>>2];ba=ja;X=f[c+132>>2];ka=f[c+36>>2];b=ka+f[c+4>>2]|0;$=f[c+32>>2];R=f[c>>2];J=$+R|0;if(J>>>0<R>>>0){b=b+1|0}R=J+f[c+128>>2]|0;b=b+X|0;b=R>>>0<J>>>0?b+1|0:b;d=ba;ba=b;b=d+b|0;X=R+Z|0;if(X>>>0<R>>>0){b=b+1|0}Z=b;aa=jb(R^T^-1377402159,aa^ba^1359893119,32);b=B;v=b;b=b+1779033703|0;R=aa+ -205731576|0;if(R>>>0<4089235720){b=b+1|0}ba=R;T=b;R=jb($^R,ka^b,40);ka=B;b=ka+Z|0;X=R+X|0;if(X>>>0<R>>>0){b=b+1|0}C=X;f[Y>>2]=C;f[Y+4>>2]=b;J=b;x=jb(C^aa,v^b,48);b=B;I=b;f[c+96>>2]=x;f[c+100>>2]=b;b=b+T|0;Z=x+ba|0;if(Z>>>0<ba>>>0){b=b+1|0}aa=Z;f[c+64>>2]=aa;f[Y+68>>2]=b;H=b;e=jb(R^aa,b^ka,1);b=B;m=b;f[c+32>>2]=e;f[c+36>>2]=b;b=f[c+148>>2];u=b;R=b;ba=f[c+44>>2];b=ba+f[c+12>>2]|0;T=f[c+40>>2];Z=f[c+8>>2];X=T+Z|0;if(X>>>0<Z>>>0){b=b+1|0}v=f[c+144>>2];Z=v+X|0;b=b+R|0;b=Z>>>0<X>>>0?b+1|0:b;X=Z;ka=f[c+152>>2];Z=X+ka|0;R=b;b=b+f[c+156>>2]|0;b=Z>>>0<ka>>>0?b+1|0:b;ka=Z;Z=b;F=jb(F^X^725511199,R^ha^-1694144372,32);b=B;ha=b;d=T;b=b+ -1150833019|0;R=F+ -2067093701|0;if(R>>>0<2227873595){b=b+1|0}T=R;i=ba;ba=b;R=jb(d^R,i^b,40);E=B;b=E+Z|0;X=R+ka|0;if(X>>>0<R>>>0){b=b+1|0}M=X;f[Y+8>>2]=M;f[Y+12>>2]=b;s=b;N=jb(F^M,ha^b,48);b=B;S=b;f[c+104>>2]=N;f[c+108>>2]=b;b=b+ba|0;ba=N+T|0;if(ba>>>0<T>>>0){b=b+1|0}t=ba;j=b;f[Y+72>>2]=t;f[Y+76>>2]=b;ba=f[c+168>>2];F=ba;ka=f[c+172>>2];ha=ka;b=f[c+164>>2];ia=b;Z=b;X=f[c+52>>2];b=X+f[c+20>>2]|0;$=f[c+48>>2];T=f[c+16>>2];K=$+T|0;if(K>>>0<T>>>0){b=b+1|0}z=f[c+160>>2];T=z+K|0;b=b+Z|0;Z=T;T=T>>>0<K>>>0?b+1|0:b;b=T+ha|0;d=F;F=Z;ha=d+F|0;if(ha>>>0<F>>>0){b=b+1|0}F=b;T=jb(Z^la^-79577749,T^ea^528734635,32);b=B;la=b;b=b+1013904242|0;Z=T+ -23791573|0;if(Z>>>0<4271175723){b=b+1|0}q=Z;K=b;ea=jb($^q,X^b,40);U=B;b=U+F|0;Z=ea;F=Z+ha|0;if(F>>>0<Z>>>0){b=b+1|0}X=F;f[Y+16>>2]=F;f[Y+20>>2]=b;w=b;h=jb(T^F,la^b,48);b=B;P=b;f[c+112>>2]=h;f[c+116>>2]=b;T=c;b=f[c+188>>2];ha=b;Y=f[c+184>>2];i=Y;$=b;la=f[c+180>>2];d=la;r=f[c+60>>2];b=r+f[c+28>>2]|0;n=f[c+56>>2];F=f[c+24>>2];l=n+F|0;if(l>>>0<F>>>0){b=b+1|0}Z=f[c+176>>2];F=Z+l|0;b=b+d|0;b=F>>>0<l>>>0?b+1|0:b;d=$;$=b;b=d+b|0;d=i;i=F;d=d+i|0;if(d>>>0<i>>>0){b=b+1|0}i=b;l=jb(o^F,k^$,32);b=B;y=b;b=b+ -1521486534|0;F=l+1595750129|0;if(F>>>0<1595750129){b=b+1|0}O=F;k=n^F;n=b;$=jb(k,r^b,40);V=B;b=V+i|0;F=$;i=F+d|0;if(i>>>0<F>>>0){b=b+1|0}Q=i;d=b;f[T+24>>2]=i;f[T+28>>2]=b;D=f[c+200>>2];r=D;na=f[c+204>>2];G=na;b=f[c+196>>2];k=b;o=f[c+192>>2];i=o;F=b;R=jb(t^R,j^E,1);p=i;b=J;J=B;b=b+J|0;i=R;C=i+C|0;if(C>>>0<i>>>0){b=b+1|0}i=p+C|0;b=b+F|0;F=i;i=i>>>0<C>>>0?b+1|0:b;b=i+G|0;C=F;E=C+r|0;if(E>>>0<C>>>0){b=b+1|0}G=E;C=b;E=R;r=jb(l^Q,d^y,48);ca=B;R=jb(F^r,i^ca,32);b=B;p=b;F=R;l=b;b=K+P|0;i=h+q|0;if(i>>>0<h>>>0){b=b+1|0}q=b;b=b+l|0;K=i+F|0;if(K>>>0<i>>>0){b=b+1|0}l=J;J=b;F=jb(K^E,l^b,40);L=B;b=L+C|0;C=F;E=C+G|0;if(E>>>0<C>>>0){b=b+1|0}f[T>>2]=E;f[T+4>>2]=b;y=b;W=jb(E^R,p^b,48);b=B;fa=b;f[c+120>>2]=W;f[c+124>>2]=b;b=J+b|0;T=K+W|0;if(T>>>0<K>>>0){b=b+1|0}R=c;l=T;f[c+80>>2]=l;f[c+84>>2]=b;G=b;L=jb(l^F,L^b,1);b=B;_=b;f[c+40>>2]=L;f[c+44>>2]=b;b=f[c+220>>2];C=b;K=f[c+216>>2];sa=K;p=b;F=f[c+208>>2];J=f[c+212>>2];ma=J;T=jb(i^ea,q^U,1);U=B;b=U+s|0;i=M+T|0;if(i>>>0<T>>>0){b=b+1|0}ea=i+F|0;b=b+ma|0;b=ea>>>0<i>>>0?b+1|0:b;i=b;b=b+p|0;s=ea;q=s+sa|0;if(q>>>0<s>>>0){b=b+1|0}p=q;s=b;ea=jb(x^ea,i^I,32);b=B;I=b;i=ea;q=b;b=n+ca|0;n=r+O|0;if(n>>>0<r>>>0){b=b+1|0}r=q;q=b;b=r+b|0;r=i;i=n;r=r+i|0;if(r>>>0<i>>>0){b=b+1|0}i=r;r=b;T=jb(T^i,U^b,40);M=B;b=M+s|0;s=T;p=s+p|0;if(p>>>0<s>>>0){b=b+1|0}x=b;ca=jb(ea^p,I^b,48);oa=B;b=r+oa|0;ea=i+ca|0;if(ea>>>0<i>>>0){b=b+1|0}r=ea;f[R+88>>2]=r;f[R+92>>2]=b;I=b;O=jb(r^T,b^M,1);b=B;sa=b;f[c+48>>2]=O;f[c+52>>2]=b;T=c;b=f[c+236>>2];s=b;i=f[c+232>>2];U=i;M=b;R=f[c+224>>2];ea=f[c+228>>2];ma=ea;q=jb(n^$,q^V,1);$=B;b=w+$|0;n=q+X|0;if(n>>>0<X>>>0){b=b+1|0}X=n+R|0;b=b+ma|0;b=X>>>0<n>>>0?b+1|0:b;n=b;b=b+M|0;w=X;M=w+U|0;if(M>>>0<w>>>0){b=b+1|0}U=M;w=b;M=jb(N^X,n^S,32);N=B;b=H+N|0;X=M+aa|0;if(X>>>0<aa>>>0){b=b+1|0}n=$;$=b;aa=jb(X^q,n^b,40);H=B;b=H+w|0;n=aa;w=n+U|0;if(w>>>0<n>>>0){b=b+1|0}q=w;n=M^q;M=b;ma=jb(n,N^b,48);da=B;b=$+da|0;$=X+ma|0;if($>>>0<X>>>0){b=b+1|0}w=$;N=b;V=jb(aa^w,H^b,1);b=B;H=b;f[T+56>>2]=V;f[T+60>>2]=b;n=c;S=F;U=J;$=f[c+244>>2];b=y+$|0;T=f[c+240>>2];aa=E+T|0;if(aa>>>0<E>>>0){b=b+1|0}ra=aa;E=b;aa=f[c+248>>2];qa=aa;X=f[c+252>>2];pa=X;b=d+m|0;y=e+Q|0;if(y>>>0<e>>>0){b=b+1|0}d=T;y=d+y|0;b=b+$|0;b=y>>>0<d>>>0?b+1|0:b;d=y;y=b;b=b+pa|0;qa=d+qa|0;if(qa>>>0<d>>>0){b=b+1|0}Q=b;d=jb(d^h,y^P,32);y=e;P=B;b=j+P|0;e=d+t|0;if(e>>>0<t>>>0){b=b+1|0}t=e;h=b;e=jb(y^e,b^m,40);j=B;b=j+Q|0;y=e+qa|0;if(y>>>0<e>>>0){b=b+1|0}Q=b;P=jb(d^y,P^b,48);qa=B;b=h+qa|0;h=t+P|0;if(h>>>0<t>>>0){b=b+1|0}pa=h;m=b;e=jb(e^h,j^b,1);h=B;b=h+E|0;j=e+ra|0;if(j>>>0<e>>>0){b=b+1|0}t=j;j=b;b=b+U|0;d=t;E=d+S|0;if(E>>>0<d>>>0){b=b+1|0}d=b;j=jb(t^ca,j^oa,32);S=e;U=B;b=N+U|0;e=j+w|0;if(e>>>0<w>>>0){b=b+1|0}w=e;t=b;e=jb(S^e,b^h,40);ra=B;b=ra+d|0;d=e+E|0;if(d>>>0<e>>>0){b=b+1|0}N=d;S=b;d=jb(j^d,U^b,48);b=B;ca=b;f[n+96>>2]=d;f[n+100>>2]=b;b=t+b|0;j=d+w|0;if(j>>>0<d>>>0){b=b+1|0}oa=j;f[c+64>>2]=j;f[c+68>>2]=b;U=b;e=jb(e^j,b^ra,1);b=B;w=b;f[c+32>>2]=e;f[c+36>>2]=b;t=c;j=o;E=k;b=_+ia|0;h=z+L|0;if(h>>>0<z>>>0){b=b+1|0}h=h+p|0;b=b+x|0;b=h>>>0<p>>>0?b+1|0:b;n=E;E=b;b=n+b|0;n=h+j|0;if(n>>>0<h>>>0){b=b+1|0}z=n;j=b;h=jb(h^ma,E^da,32);E=B;b=E+m|0;n=h+pa|0;if(n>>>0<h>>>0){b=b+1|0}ia=n;n=b;m=jb(L^ia,_^b,40);da=B;b=da+j|0;z=m+z|0;if(z>>>0<m>>>0){b=b+1|0}p=z;x=b;E=jb(h^p,E^b,48);b=B;ma=b;f[t+104>>2]=E;f[t+108>>2]=b;h=c;b=n+b|0;t=E;j=t+ia|0;if(j>>>0<t>>>0){b=b+1|0}n=j;t=b;f[h+72>>2]=j;f[h+76>>2]=b;z=aa;L=X;b=na+sa|0;j=D+O|0;if(j>>>0<D>>>0){b=b+1|0}j=j+q|0;b=b+M|0;b=j>>>0<q>>>0?b+1|0:b;D=b;b=b+L|0;q=j+z|0;if(q>>>0<j>>>0){b=b+1|0}L=q;z=b;M=jb(j^P,D^qa,32);P=B;b=G+P|0;j=l+M|0;if(j>>>0<l>>>0){b=b+1|0}D=j;q=b;l=jb(O^j,sa^b,40);na=B;b=na+z|0;j=l;z=j+L|0;if(z>>>0<j>>>0){b=b+1|0}G=z;j=M^z;M=b;_=jb(j,P^b,48);b=B;sa=b;f[h+112>>2]=_;f[h+116>>2]=b;z=c;L=R;j=ea;h=jb(m^n,t^da,1);O=B;b=O+ja|0;P=h+ga|0;if(P>>>0<h>>>0){b=b+1|0}m=N+P|0;b=b+S|0;b=m>>>0<N>>>0?b+1|0:b;N=j;j=b;b=N+b|0;S=m+L|0;if(S>>>0<m>>>0){b=b+1|0}ia=S;N=b;S=h;L=m;m=Z;P=la;b=s+H|0;h=i;da=h+V|0;if(da>>>0<h>>>0){b=b+1|0}h=y+da|0;b=b+Q|0;b=h>>>0<y>>>0?b+1|0:b;y=b;b=b+P|0;Q=h+m|0;if(Q>>>0<h>>>0){b=b+1|0}da=Q;Q=b;P=jb(h^W,y^fa,32);W=B;b=I+W|0;h=r+P|0;if(h>>>0<r>>>0){b=b+1|0}ra=h;y=b;m=jb(h^V,b^H,40);qa=B;b=qa+Q|0;h=m;r=h+da|0;if(r>>>0<h>>>0){b=b+1|0}da=r;I=b;Q=jb(P^r,W^b,48);pa=B;h=jb(Q^L,pa^j,32);b=B;L=b;r=h;H=b;b=q+sa|0;j=D+_|0;if(j>>>0<D>>>0){b=b+1|0}D=b;b=b+H|0;H=j+r|0;if(H>>>0<j>>>0){b=b+1|0}q=b;r=jb(H^S,b^O,40);O=B;b=O+N|0;S=r+ia|0;if(S>>>0<r>>>0){b=b+1|0}N=S;S=b;W=jb(h^N,L^b,48);b=B;fa=b;f[z+120>>2]=W;f[z+124>>2]=b;b=q+b|0;z=H+W|0;if(z>>>0<H>>>0){b=b+1|0}h=c;ia=z;f[c+80>>2]=z;f[c+84>>2]=b;z=b;V=jb(r^ia,O^b,1);b=B;r=b;f[c+40>>2]=V;f[c+44>>2]=b;q=v;L=u;H=f[c+128>>2];b=f[c+132>>2];O=b;P=b;j=jb(j^l,D^na,1);D=B;b=x+D|0;l=j+p|0;if(l>>>0<p>>>0){b=b+1|0}p=l;l=l+H|0;b=b+P|0;b=l>>>0<p>>>0?b+1|0:b;p=b;b=b+L|0;x=l+q|0;if(x>>>0<l>>>0){b=b+1|0}L=x;q=b;x=j;j=jb(d^l,p^ca,32);b=B;P=b;l=j;p=b;b=y+pa|0;d=Q+ra|0;if(d>>>0<Q>>>0){b=b+1|0}y=b;b=b+p|0;p=d+l|0;if(p>>>0<d>>>0){b=b+1|0}l=D;D=b;l=jb(p^x,l^b,40);Q=B;b=Q+q|0;x=l+L|0;if(x>>>0<l>>>0){b=b+1|0}q=x;x=b;L=jb(j^q,P^b,48);na=B;b=D+na|0;j=p+L|0;if(j>>>0<p>>>0){b=b+1|0}P=j;f[h+88>>2]=j;f[h+92>>2]=b;D=b;h=jb(l^j,Q^b,1);b=B;j=b;f[c+48>>2]=h;f[c+52>>2]=b;l=c;p=Y;Q=ha;ca=jb(d^m,y^qa,1);b=B;ra=b;m=b;b=C+M|0;d=G+K|0;if(d>>>0<G>>>0){b=b+1|0}y=d;d=d+ca|0;b=b+m|0;m=d;d=d>>>0<y>>>0?b+1|0:b;b=d+Q|0;G=m+p|0;if(G>>>0<m>>>0){b=b+1|0}p=G;y=b;m=jb(m^E,d^ma,32);M=B;b=M+U|0;d=m;E=d+oa|0;if(E>>>0<d>>>0){b=b+1|0}G=b;d=jb(ca^E,ra^b,40);Q=B;b=Q+y|0;p=d+p|0;if(p>>>0<d>>>0){b=b+1|0}ra=p;y=b;U=jb(m^p,M^b,48);qa=B;b=G+qa|0;m=E+U|0;if(m>>>0<E>>>0){b=b+1|0}E=m;m=d^m;d=b;M=jb(m,Q^b,1);b=B;ca=b;f[l+56>>2]=M;f[l+60>>2]=b;m=c;ma=f[c+152>>2];Q=ma;oa=f[c+156>>2];pa=oa;l=e;G=w;b=I+ka|0;p=ba;I=p+da|0;if(I>>>0<p>>>0){b=b+1|0}p=e+I|0;b=b+w|0;w=p;p=p>>>0<e>>>0?b+1|0:b;e=jb(_^w,sa^p,32);I=B;b=I+t|0;n=e+n|0;if(n>>>0<e>>>0){b=b+1|0}t=n;n=b;G=jb(t^l,b^G,40);_=Q;Q=B;b=p+Q|0;l=w+G|0;if(l>>>0<w>>>0){b=b+1|0}w=l;l=_+l|0;b=b+pa|0;b=l>>>0<w>>>0?b+1|0:b;w=b;p=jb(e^l,I^b,48);da=B;b=n+da|0;e=p+t|0;if(e>>>0<t>>>0){b=b+1|0}pa=e;t=b;G=jb(G^e,Q^b,1);b=B;n=b;e=b;b=C+S|0;I=K+N|0;if(I>>>0<N>>>0){b=b+1|0}N=I;I=I+G|0;b=b+e|0;e=I;I=k;k=e>>>0<N>>>0?b+1|0:b;b=I+k|0;I=e+o|0;if(I>>>0<e>>>0){b=b+1|0}N=I;o=b;I=jb(e^L,k^na,32);k=G;G=B;b=d+G|0;e=E+I|0;if(e>>>0<E>>>0){b=b+1|0}d=e;E=b;k=jb(k^e,b^n,40);n=B;b=n+o|0;e=k;o=e+N|0;if(o>>>0<e>>>0){b=b+1|0}N=o;e=b;S=jb(I^o,G^b,48);b=B;_=b;f[m+96>>2]=S;f[m+100>>2]=b;b=E+b|0;m=d+S|0;if(m>>>0<d>>>0){b=b+1|0}sa=m;f[c+64>>2]=m;f[c+68>>2]=b;G=b;Q=jb(k^m,n^b,1);b=B;d=b;f[c+32>>2]=Q;f[c+36>>2]=b;k=c;b=r+ea|0;o=R;m=o+V|0;if(m>>>0<o>>>0){b=b+1|0}o=m+q|0;b=b+x|0;b=o>>>0<q>>>0?b+1|0:b;m=b;b=b+O|0;n=o+H|0;if(n>>>0<o>>>0){b=b+1|0}H=n;E=b;o=jb(o^U,m^qa,32);q=B;b=q+t|0;m=o+pa|0;if(m>>>0<o>>>0){b=b+1|0}t=m;n=b;m=jb(m^V,b^r,40);x=B;b=x+E|0;r=m+H|0;if(r>>>0<m>>>0){b=b+1|0}H=b;U=jb(o^r,q^b,48);b=B;O=b;f[k+104>>2]=U;f[k+108>>2]=b;b=n+b|0;o=t+U|0;if(o>>>0<t>>>0){b=b+1|0}t=o;E=b;f[k+72>>2]=o;f[k+76>>2]=b;n=v;q=u;b=y+ka|0;o=ba;y=o+ra|0;if(y>>>0<o>>>0){b=b+1|0}y=h+y|0;b=b+j|0;o=y;y=q;q=o>>>0<h>>>0?b+1|0:b;b=y+q|0;y=o+n|0;if(y>>>0<o>>>0){b=b+1|0}n=b;o=jb(o^p,q^da,32);I=h;p=B;b=p+z|0;h=o;z=h+ia|0;if(z>>>0<h>>>0){b=b+1|0}q=b;h=jb(I^z,b^j,40);V=B;b=V+n|0;n=h+y|0;if(n>>>0<h>>>0){b=b+1|0}na=n;y=b;L=jb(o^n,p^b,48);b=B;ia=b;f[k+112>>2]=L;f[k+116>>2]=b;j=c;n=T;o=$;k=e;e=jb(m^t,x^E,1);m=B;b=m+J|0;x=e+F|0;if(x>>>0<e>>>0){b=b+1|0}p=x+N|0;b=b+k|0;k=p;p=o;o=k>>>0<x>>>0?b+1|0:b;b=p+o|0;p=k+n|0;if(p>>>0<k>>>0){b=b+1|0}N=p;p=b;x=e;n=i;I=s;b=X+ca|0;e=aa;da=e+M|0;if(da>>>0<e>>>0){b=b+1|0}e=l+da|0;b=b+w|0;b=e>>>0<l>>>0?b+1|0:b;l=b;b=b+I|0;w=e+n|0;if(w>>>0<e>>>0){b=b+1|0}I=w;w=b;e=jb(e^W,l^fa,32);l=B;b=l+D|0;D=e+P|0;if(D>>>0<e>>>0){b=b+1|0}P=D;D=b;n=jb(M^P,ca^b,40);fa=k;ca=B;b=ca+w|0;k=n;w=k+I|0;if(w>>>0<k>>>0){b=b+1|0}I=w;M=b;w=jb(e^w,l^b,48);W=B;e=jb(fa^w,W^o,32);b=B;fa=b;k=e;l=b;b=q+ia|0;o=z+L|0;if(o>>>0<z>>>0){b=b+1|0}q=x;z=b;b=b+l|0;l=k;k=o;l=l+k|0;if(l>>>0<k>>>0){b=b+1|0}x=l;l=b;k=jb(q^x,b^m,40);da=B;b=da+p|0;q=k+N|0;if(q>>>0<k>>>0){b=b+1|0}ra=q;q=b;m=jb(e^ra,fa^b,48);b=B;fa=b;f[j+120>>2]=m;f[j+124>>2]=b;b=l+b|0;l=m+x|0;if(l>>>0<m>>>0){b=b+1|0}e=c;f[c+80>>2]=l;f[c+84>>2]=b;p=b;k=jb(k^l,da^b,1);b=B;j=b;f[c+40>>2]=k;f[c+44>>2]=b;x=Z;N=la;o=jb(h^o,z^V,1);b=B;z=b;h=b;b=H+oa|0;H=r+ma|0;if(H>>>0<r>>>0){b=b+1|0}r=H+o|0;b=b+h|0;h=r;r=h>>>0<H>>>0?b+1|0:b;b=r+N|0;x=h+x|0;if(x>>>0<h>>>0){b=b+1|0}V=x;H=b;x=o;o=jb(h^S,r^_,32);b=B;S=b;r=o;N=b;b=D+W|0;h=w+P|0;if(h>>>0<w>>>0){b=b+1|0}w=b;b=b+N|0;D=h+r|0;if(D>>>0<h>>>0){b=b+1|0}r=z;z=b;r=jb(D^x,r^b,40);W=B;b=W+H|0;x=r+V|0;if(x>>>0<r>>>0){b=b+1|0}N=b;P=jb(o^x,S^b,48);_=B;b=z+_|0;o=D+P|0;if(o>>>0<D>>>0){b=b+1|0}H=o;f[e+88>>2]=o;f[e+92>>2]=b;S=b;o=jb(r^o,W^b,1);b=B;W=b;f[c+48>>2]=o;f[c+52>>2]=b;r=ga;z=ja;D=jb(h^n,w^ca,1);b=B;V=b;h=b;b=y+ha|0;n=Y;w=n+na|0;if(w>>>0<n>>>0){b=b+1|0}n=w+D|0;b=b+h|0;h=n;n=h>>>0<w>>>0?b+1|0:b;b=n+z|0;w=h+r|0;if(w>>>0<h>>>0){b=b+1|0}y=w;r=b;h=jb(h^U,n^O,32);O=B;b=O+G|0;w=h+sa|0;if(w>>>0<h>>>0){b=b+1|0}z=b;n=jb(D^w,V^b,40);V=B;b=V+r|0;D=n+y|0;if(D>>>0<n>>>0){b=b+1|0}G=D;U=b;ca=jb(h^D,O^b,48);da=B;b=z+da|0;h=w+ca|0;if(h>>>0<w>>>0){b=b+1|0}D=h;y=b;V=jb(n^h,V^b,1);b=B;n=b;f[e+56>>2]=V;f[e+60>>2]=b;r=f[c+160>>2];O=r;w=f[c+164>>2];na=w;b=f[c+204>>2];sa=b;h=b;b=d+M|0;M=I+Q|0;if(M>>>0<I>>>0){b=b+1|0}z=f[c+200>>2];I=z+M|0;b=b+h|0;h=I;I=h>>>0<M>>>0?b+1|0:b;b=I+na|0;O=h+O|0;if(O>>>0<h>>>0){b=b+1|0}M=b;L=jb(h^L,I^ia,32);I=Q;Q=B;b=E+Q|0;h=t+L|0;if(h>>>0<t>>>0){b=b+1|0}t=d;d=b;t=jb(I^h,t^b,40);na=B;b=na+M|0;I=t+O|0;if(I>>>0<t>>>0){b=b+1|0}M=b;ia=jb(L^I,Q^b,48);qa=B;b=d+qa|0;d=h+ia|0;if(d>>>0<h>>>0){b=b+1|0}pa=d;Q=b;E=jb(t^d,na^b,1);b=B;t=b;h=b;b=q+ha|0;d=Y;q=d+ra|0;if(q>>>0<d>>>0){b=b+1|0}d=q+E|0;b=b+h|0;b=d>>>0<q>>>0?b+1|0:b;q=d;h=b;b=sa+b|0;d=z;L=d+q|0;if(L>>>0<d>>>0){b=b+1|0}d=b;q=jb(q^P,h^_,32);P=B;b=y+P|0;h=q+D|0;if(h>>>0<D>>>0){b=b+1|0}y=h^E;E=b;t=jb(y,b^t,40);D=B;b=D+d|0;d=t;y=d+L|0;if(y>>>0<d>>>0){b=b+1|0}L=y;O=b;_=jb(q^y,P^b,48);b=B;na=b;f[e+96>>2]=_;f[e+100>>2]=b;b=E+b|0;d=h+_|0;if(d>>>0<h>>>0){b=b+1|0}E=d;f[c+64>>2]=d;f[e+68>>2]=b;d=t^d;t=b;e=jb(d,D^b,1);b=B;D=b;f[c+32>>2]=e;f[c+36>>2]=b;h=c;q=ga;y=ja;b=N+oa|0;d=x+ma|0;if(d>>>0<x>>>0){b=b+1|0}x=d;d=k;x=x+d|0;b=b+j|0;b=x>>>0<d>>>0?b+1|0:b;d=x;x=y;y=b;b=x+b|0;x=d+q|0;if(x>>>0<d>>>0){b=b+1|0}N=x;x=b;q=j;j=jb(d^ca,y^da,32);P=k;y=B;b=y+Q|0;k=j;d=k+pa|0;if(d>>>0<k>>>0){b=b+1|0}Q=d;k=b;q=jb(P^d,b^q,40);ca=B;b=ca+x|0;d=q;x=d+N|0;if(x>>>0<d>>>0){b=b+1|0}oa=x;x=b;j=jb(j^oa,y^b,48);b=B;y=b;f[h+104>>2]=j;f[h+108>>2]=b;b=k+b|0;k=j;d=k+Q|0;if(d>>>0<k>>>0){b=b+1|0}k=b;f[h+72>>2]=d;f[h+76>>2]=b;N=R;Q=ea;b=s+U|0;i=i+G|0;if(i>>>0<G>>>0){b=b+1|0}s=i;i=o;s=s+i|0;b=b+W|0;b=s>>>0<i>>>0?b+1|0:b;i=s;s=b;b=b+Q|0;N=i+N|0;if(N>>>0<i>>>0){b=b+1|0}U=N;G=b;s=jb(i^ia,s^qa,32);P=B;b=p+P|0;i=l+s|0;if(i>>>0<l>>>0){b=b+1|0}ma=i;N=b;l=jb(o^i,W^b,40);ia=B;b=ia+G|0;i=l;o=i+U|0;if(o>>>0<i>>>0){b=b+1|0}U=o;Q=b;s=jb(s^o,P^b,48);b=B;G=b;f[h+112>>2]=s;f[h+116>>2]=b;p=c;P=Z;h=la;i=jb(d^q,k^ca,1);q=B;b=q+u|0;W=i+v|0;if(W>>>0<i>>>0){b=b+1|0}o=L+W|0;b=b+O|0;b=o>>>0<L>>>0?b+1|0:b;L=h;h=b;b=L+b|0;O=o+P|0;if(O>>>0<o>>>0){b=b+1|0}ca=O;L=b;O=i;P=o;o=T;W=$;b=n+C|0;i=K;da=i+V|0;if(da>>>0<i>>>0){b=b+1|0}i=I+da|0;b=b+M|0;b=i>>>0<I>>>0?b+1|0:b;I=b;b=b+W|0;M=i+o|0;if(M>>>0<i>>>0){b=b+1|0}W=M;M=b;m=jb(i^m,I^fa,32);o=V;V=B;b=S+V|0;i=m+H|0;if(i>>>0<H>>>0){b=b+1|0}fa=i;I=b;o=jb(o^i,b^n,40);H=P;da=B;b=da+M|0;i=o;n=i+W|0;if(n>>>0<i>>>0){b=b+1|0}M=n;S=b;P=jb(m^n,V^b,48);V=B;i=jb(H^P,V^h,32);b=B;W=b;h=i;m=b;b=G+N|0;n=s;H=n+ma|0;if(H>>>0<n>>>0){b=b+1|0}n=H;N=b;b=b+m|0;m=h;h=n;m=m+h|0;if(m>>>0<h>>>0){b=b+1|0}ma=m;H=b;m=jb(m^O,b^q,40);q=B;b=q+L|0;h=m;L=h+ca|0;if(L>>>0<h>>>0){b=b+1|0}O=b;h=jb(i^L,W^b,48);b=B;ca=b;f[p+120>>2]=h;f[p+124>>2]=b;b=H+b|0;p=h+ma|0;if(p>>>0<h>>>0){b=b+1|0}i=c;ma=p;f[c+80>>2]=p;f[c+84>>2]=b;W=b;m=jb(m^p,b^q,1);b=B;H=b;f[c+40>>2]=m;f[c+44>>2]=b;q=F;p=J;N=jb(l^n,N^ia,1);b=B;ia=b;n=b;b=x+ka|0;l=ba;x=l+oa|0;if(x>>>0<l>>>0){b=b+1|0}l=x+N|0;b=b+n|0;n=l;l=l>>>0<x>>>0?b+1|0:b;b=l+p|0;p=n+q|0;if(p>>>0<n>>>0){b=b+1|0}oa=p;p=b;n=jb(n^_,l^na,32);b=B;_=b;q=n;x=b;b=I+V|0;l=P+fa|0;if(l>>>0<P>>>0){b=b+1|0}I=b;b=b+x|0;x=l+q|0;if(x>>>0<l>>>0){b=b+1|0}q=N^x;N=b;q=jb(q,ia^b,40);V=B;b=V+p|0;P=q+oa|0;if(P>>>0<q>>>0){b=b+1|0}ra=P;P=b;oa=jb(n^ra,_^b,48);qa=B;b=N+qa|0;n=x+oa|0;if(n>>>0<x>>>0){b=b+1|0}f[i+88>>2]=n;f[i+92>>2]=b;N=b;_=jb(n^q,V^b,1);b=B;q=b;f[c+48>>2]=_;f[c+52>>2]=b;p=c;i=f[c+128>>2];V=i;x=f[c+132>>2];fa=x;I=jb(l^o,I^da,1);b=B;ia=b;o=b;pa=j;b=w+Q|0;j=r+U|0;if(j>>>0<U>>>0){b=b+1|0}l=j;j=j+I|0;b=b+o|0;b=j>>>0<l>>>0?b+1|0:b;l=b;o=jb(pa^j,b^y,32);Q=B;b=Q+t|0;E=o+E|0;if(E>>>0<o>>>0){b=b+1|0}t=E;E=b;U=jb(I^t,ia^b,40);y=V;V=B;b=l+V|0;l=j+U|0;if(l>>>0<j>>>0){b=b+1|0}j=y+l|0;b=b+fa|0;y=j;I=j>>>0<l>>>0?b+1|0:b;ia=jb(o^j,Q^I,48);da=B;b=E+da|0;o=t+ia|0;if(o>>>0<t>>>0){b=b+1|0}j=o;l=b;fa=jb(U^j,V^b,1);b=B;na=b;f[p+56>>2]=fa;f[p+60>>2]=b;t=c;p=i;U=x;o=f[c+192>>2];pa=o;E=f[c+196>>2];ta=E;Q=e;V=D;ua=s;b=S+X|0;s=M+aa|0;if(s>>>0<M>>>0){b=b+1|0}s=e+s|0;b=b+D|0;b=s>>>0<e>>>0?b+1|0:b;D=b;e=jb(ua^s,b^G,32);S=B;b=S+k|0;d=e+d|0;if(d>>>0<e>>>0){b=b+1|0}k=d;d=b;M=jb(k^Q,b^V,40);V=B;b=D+V|0;D=s+M|0;if(D>>>0<s>>>0){b=b+1|0}s=D+pa|0;b=b+ta|0;b=s>>>0<D>>>0?b+1|0:b;D=s;G=b;Q=jb(e^s,S^b,48);pa=B;b=d+pa|0;e=k+Q|0;if(e>>>0<k>>>0){b=b+1|0}ta=e;s=b;M=jb(M^e,V^b,1);b=B;k=b;e=b;b=O+sa|0;d=z+L|0;if(d>>>0<L>>>0){b=b+1|0}z=d;d=d+M|0;b=b+e|0;e=d;d=e>>>0<z>>>0?b+1|0:b;b=d+U|0;p=e+p|0;if(p>>>0<e>>>0){b=b+1|0}z=b;d=jb(e^oa,d^qa,32);L=M;M=B;b=l+M|0;e=d+j|0;if(e>>>0<j>>>0){b=b+1|0}l=e;j=k;k=b;e=jb(L^e,j^b,40);S=B;b=S+z|0;z=e+p|0;if(z>>>0<e>>>0){b=b+1|0}p=b;j=jb(d^z,M^b,48);b=B;sa=b;f[t+96>>2]=j;f[t+100>>2]=b;b=k+b|0;k=j;d=k+l|0;if(d>>>0<k>>>0){b=b+1|0}f[c+64>>2]=d;f[t+68>>2]=b;M=b;V=jb(e^d,S^b,1);b=B;oa=b;f[c+32>>2]=V;f[c+36>>2]=b;e=c;t=Y;l=ha;b=P+ka|0;k=ba;S=k+ra|0;if(S>>>0<k>>>0){b=b+1|0}k=m;S=k+S|0;b=b+H|0;b=S>>>0<k>>>0?b+1|0:b;k=S;L=l;l=b;b=L+b|0;S=k+t|0;if(S>>>0<k>>>0){b=b+1|0}U=S;S=b;k=jb(k^ia,l^da,32);t=m;L=B;b=L+s|0;m=k+ta|0;if(m>>>0<k>>>0){b=b+1|0}s=b;t=jb(t^m,b^H,40);O=B;b=O+S|0;l=t;H=l+U|0;if(H>>>0<l>>>0){b=b+1|0}S=H;U=b;P=jb(k^H,L^b,48);b=B;ia=b;f[e+104>>2]=P;f[e+108>>2]=b;b=s+b|0;k=m+P|0;if(k>>>0<m>>>0){b=b+1|0}m=k;l=b;f[e+72>>2]=k;f[e+76>>2]=b;b=u+q|0;k=v;s=k+_|0;if(s>>>0<k>>>0){b=b+1|0}k=s+y|0;b=b+I|0;b=k>>>0<y>>>0?b+1|0:b;s=b;b=b+w|0;H=k+r|0;if(H>>>0<k>>>0){b=b+1|0}y=H;H=b;k=jb(k^Q,s^pa,32);I=B;b=I+W|0;r=k+ma|0;if(r>>>0<k>>>0){b=b+1|0}L=r;w=b;r=jb(r^_,b^q,40);W=B;b=W+H|0;s=r;H=s+y|0;if(H>>>0<s>>>0){b=b+1|0}_=H;q=b;s=jb(k^H,I^b,48);b=B;ma=b;f[e+112>>2]=s;f[e+116>>2]=b;H=c;y=ga;I=ja;e=jb(m^t,l^O,1);Q=B;b=Q+$|0;t=e+T|0;if(t>>>0<e>>>0){b=b+1|0}k=t+z|0;b=b+p|0;b=k>>>0<z>>>0?b+1|0:b;t=b;b=b+I|0;y=k+y|0;if(y>>>0<k>>>0){b=b+1|0}O=y;z=b;y=e;p=aa;I=X;b=J+na|0;e=F;da=e+fa|0;if(da>>>0<e>>>0){b=b+1|0}e=D+da|0;b=b+G|0;b=e>>>0<D>>>0?b+1|0:b;D=b;b=b+I|0;p=e+p|0;if(p>>>0<e>>>0){b=b+1|0}I=p;G=b;p=jb(e^h,D^ca,32);ca=B;b=N+ca|0;e=n+p|0;if(e>>>0<n>>>0){b=b+1|0}da=e;D=b;h=jb(fa^e,na^b,40);n=k;ra=B;b=ra+G|0;e=h;k=e+I|0;if(k>>>0<e>>>0){b=b+1|0}G=k;k=p^k;p=b;I=jb(k,ca^b,48);ca=B;e=jb(n^I,ca^t,32);b=B;fa=b;k=e;t=b;b=w+ma|0;n=s;w=n+L|0;if(w>>>0<n>>>0){b=b+1|0}n=w;N=y;y=b;b=b+t|0;t=k;k=n;t=t+k|0;if(t>>>0<k>>>0){b=b+1|0}L=t;w=b;t=jb(N^t,b^Q,40);na=B;b=na+z|0;k=t;z=k+O|0;if(z>>>0<k>>>0){b=b+1|0}N=b;k=jb(e^z,fa^b,48);b=B;fa=b;f[H+120>>2]=k;f[H+124>>2]=b;b=w+b|0;w=k+L|0;if(w>>>0<k>>>0){b=b+1|0}e=c;H=w;f[c+80>>2]=w;f[c+84>>2]=b;Q=b;t=jb(t^w,b^na,1);b=B;w=b;f[c+40>>2]=t;f[c+44>>2]=b;L=R;O=ea;n=jb(n^r,y^W,1);b=B;y=b;r=b;b=C+U|0;U=K+S|0;if(U>>>0<S>>>0){b=b+1|0}S=U+n|0;b=b+r|0;r=S;S=r>>>0<U>>>0?b+1|0:b;b=S+O|0;L=r+L|0;if(L>>>0<r>>>0){b=b+1|0}O=L;U=b;L=n;j=jb(j^r,S^sa,32);b=B;W=b;r=j;S=b;b=D+ca|0;n=I+da|0;if(n>>>0<I>>>0){b=b+1|0}D=b;b=b+S|0;I=n+r|0;if(I>>>0<n>>>0){b=b+1|0}r=y;y=b;r=jb(I^L,r^b,40);L=B;b=L+U|0;U=r+O|0;if(U>>>0<r>>>0){b=b+1|0}S=U;U=b;ca=jb(j^S,W^b,48);da=B;b=y+da|0;j=I+ca|0;if(j>>>0<I>>>0){b=b+1|0}sa=j;f[e+88>>2]=j;f[e+92>>2]=b;y=b;e=jb(r^j,L^b,1);b=B;na=b;f[c+48>>2]=e;f[c+52>>2]=b;j=c;r=o;I=E;D=jb(h^n,D^ra,1);b=B;L=b;h=b;b=q+la|0;n=Z;q=n+_|0;if(q>>>0<n>>>0){b=b+1|0}n=q+D|0;b=b+h|0;h=n;n=h>>>0<q>>>0?b+1|0:b;b=n+I|0;q=h+r|0;if(q>>>0<h>>>0){b=b+1|0}I=q;r=b;q=jb(h^P,n^ia,32);O=B;b=M+O|0;h=d+q|0;if(h>>>0<d>>>0){b=b+1|0}d=h;n=b;h=jb(D^d,L^b,40);M=B;b=M+r|0;D=h+I|0;if(D>>>0<h>>>0){b=b+1|0}ra=D;r=b;ia=jb(q^D,O^b,48);qa=B;b=n+qa|0;n=d+ia|0;if(n>>>0<d>>>0){b=b+1|0}D=b;_=jb(h^n,M^b,1);b=B;d=b;f[j+56>>2]=_;f[j+60>>2]=b;q=R;I=ea;b=f[c+236>>2];M=b;L=f[c+232>>2];pa=L;O=b;b=f[c+156>>2];P=b;h=b;b=p+oa|0;p=G+V|0;if(p>>>0<G>>>0){b=b+1|0}W=f[c+152>>2];G=W+p|0;b=b+h|0;h=G;G=h>>>0<p>>>0?b+1|0:b;b=G+O|0;O=h+pa|0;if(O>>>0<h>>>0){b=b+1|0}pa=O;p=b;O=jb(h^s,G^ma,32);ma=B;b=l+ma|0;h=m+O|0;if(h>>>0<m>>>0){b=b+1|0}m=h;s=b;h=jb(V^h,oa^b,40);V=B;b=V+p|0;G=h+pa|0;if(G>>>0<h>>>0){b=b+1|0}p=b;O=jb(O^G,ma^b,48);ma=B;b=s+ma|0;s=m+O|0;if(s>>>0<m>>>0){b=b+1|0}oa=s;s=b;l=jb(h^oa,V^b,1);b=B;h=b;m=b;b=u+N|0;v=v+z|0;if(v>>>0<z>>>0){b=b+1|0}u=v;v=u+l|0;b=b+m|0;b=v>>>0<u>>>0?b+1|0:b;u=b;b=b+I|0;m=v;z=m+q|0;if(z>>>0<m>>>0){b=b+1|0}q=z;m=b;z=jb(v^ca,u^da,32);N=l;l=B;b=D+l|0;v=n+z|0;if(v>>>0<n>>>0){b=b+1|0}n=v;u=b;v=jb(N^n,b^h,40);I=B;b=I+m|0;h=v;m=h+q|0;if(m>>>0<h>>>0){b=b+1|0}ca=m;h=z^m;z=b;h=jb(h,l^b,48);b=B;N=b;f[j+96>>2]=h;f[j+100>>2]=b;b=u+b|0;j=h+n|0;if(j>>>0<h>>>0){b=b+1|0}V=j;f[c+64>>2]=j;f[c+68>>2]=b;D=b;v=jb(v^j,b^I,1);b=B;j=b;f[c+32>>2]=v;f[c+36>>2]=b;u=c;n=F;l=J;b=U+la|0;m=S+Z|0;if(m>>>0<S>>>0){b=b+1|0}q=m;m=t;q=q+m|0;b=b+w|0;b=q>>>0<m>>>0?b+1|0:b;m=q;q=l;l=b;b=q+b|0;q=m+n|0;if(q>>>0<m>>>0){b=b+1|0}n=b;m=jb(m^ia,l^qa,32);I=B;b=I+s|0;s=m+oa|0;if(s>>>0<m>>>0){b=b+1|0}U=s;l=b;s=jb(s^t,b^w,40);oa=B;b=oa+n|0;n=q+s|0;if(n>>>0<s>>>0){b=b+1|0}ia=n;w=b;t=jb(m^n,I^b,48);b=B;S=b;f[u+104>>2]=t;f[u+108>>2]=b;b=l+b|0;m=t;n=m+U|0;if(n>>>0<m>>>0){b=b+1|0}m=n;n=b;f[u+72>>2]=m;f[u+76>>2]=b;l=K;b=r+x|0;K=i+ra|0;if(K>>>0<i>>>0){b=b+1|0}i=e+K|0;b=b+na|0;K=i;i=i>>>0<e>>>0?b+1|0:b;b=i+C|0;C=K;l=C+l|0;if(l>>>0<C>>>0){b=b+1|0}r=l;l=b;i=jb(K^O,i^ma,32);x=B;b=Q+x|0;K=i+H|0;if(K>>>0<H>>>0){b=b+1|0}U=K;H=b;C=jb(e^K,na^b,40);Q=B;b=Q+l|0;e=r+C|0;if(e>>>0<C>>>0){b=b+1|0}O=e;q=b;e=jb(i^e,x^b,48);b=B;l=b;f[u+112>>2]=e;f[u+116>>2]=b;r=c;b=f[c+160>>2];i=f[c+164>>2];u=jb(m^s,n^oa,1);x=b;s=B;b=s+z|0;z=u+ca|0;if(z>>>0<u>>>0){b=b+1|0}K=x+z|0;b=b+i|0;b=K>>>0<z>>>0?b+1|0:b;i=b;b=b+M|0;z=K;x=z+L|0;if(x>>>0<z>>>0){b=b+1|0}M=x;z=b;x=u;I=s;b=d+E|0;u=o+_|0;if(u>>>0<o>>>0){b=b+1|0}u=u+G|0;b=b+p|0;b=u>>>0<G>>>0?b+1|0:b;o=b;b=b+P|0;E=u+W|0;if(E>>>0<u>>>0){b=b+1|0}s=b;u=jb(k^u,o^fa,32);p=B;b=p+y|0;k=u;o=k+sa|0;if(o>>>0<k>>>0){b=b+1|0}L=o;y=b;o=jb(o^_,b^d,40);P=B;b=P+s|0;k=o+E|0;if(k>>>0<o>>>0){b=b+1|0}W=k;G=b;p=jb(u^k,p^b,48);_=B;u=jb(p^K,_^i,32);b=B;d=b;K=u;i=b;b=l+H|0;s=e+U|0;if(s>>>0<e>>>0){b=b+1|0}H=b;b=b+i|0;i=s+K|0;if(i>>>0<s>>>0){b=b+1|0}E=i;k=b;K=jb(i^x,b^I,40);x=B;b=x+z|0;i=K;z=i+M|0;if(z>>>0<i>>>0){b=b+1|0}fa=z;z=b;i=jb(u^fa,d^b,48);b=B;U=b;f[r+120>>2]=i;f[r+124>>2]=b;b=k+b|0;d=i+E|0;if(d>>>0<i>>>0){b=b+1|0}u=c;f[c+80>>2]=d;f[c+84>>2]=b;k=K;K=b;k=jb(k^d,b^x,1);b=B;E=b;f[c+40>>2]=k;f[c+44>>2]=b;r=ba;x=ka;C=jb(s^C,H^Q,1);b=B;H=b;s=b;b=w+ha|0;w=Y;I=w+ia|0;if(I>>>0<w>>>0){b=b+1|0}w=I+C|0;b=b+s|0;s=w;w=s>>>0<I>>>0?b+1|0:b;b=w+x|0;x=s+r|0;if(x>>>0<s>>>0){b=b+1|0}I=x;r=b;x=C;h=jb(h^s,w^N,32);b=B;M=b;s=h;w=b;b=y+_|0;C=p+L|0;if(C>>>0<p>>>0){b=b+1|0}y=w;w=b;b=y+b|0;y=s;s=C;y=y+s|0;if(y>>>0<s>>>0){b=b+1|0}s=H;H=b;s=jb(y^x,s^b,40);p=B;b=p+r|0;x=s+I|0;if(x>>>0<s>>>0){b=b+1|0}Q=x;r=b;I=jb(h^x,M^b,48);L=B;b=H+L|0;h=y+I|0;if(h>>>0<y>>>0){b=b+1|0}N=h;f[u+88>>2]=h;f[u+92>>2]=b;H=b;u=jb(s^h,b^p,1);b=B;h=b;f[c+48>>2]=u;f[c+52>>2]=b;s=c;y=T;p=$;x=jb(o^C,w^P,1);b=B;M=b;o=b;b=q+X|0;C=aa;w=C+O|0;if(w>>>0<C>>>0){b=b+1|0}C=w+x|0;b=b+o|0;o=C;C=o>>>0<w>>>0?b+1|0:b;b=C+p|0;q=o+y|0;if(q>>>0<o>>>0){b=b+1|0}w=b;o=jb(o^t,C^S,32);y=B;b=y+D|0;C=o+V|0;if(C>>>0<o>>>0){b=b+1|0}D=b;t=jb(x^C,M^b,40);x=B;b=x+w|0;q=q+t|0;if(q>>>0<t>>>0){b=b+1|0}O=q;w=b;p=jb(o^q,y^b,48);P=B;b=D+P|0;o=p+C|0;if(o>>>0<C>>>0){b=b+1|0}C=o;o=t^o;t=b;x=jb(o,x^b,1);b=B;S=b;f[s+56>>2]=x;f[s+60>>2]=b;o=c;s=ba;D=ka;M=f[c+200>>2];V=f[c+204>>2];q=v;y=j;ia=e;b=G+ja|0;e=ga;G=e+W|0;if(G>>>0<e>>>0){b=b+1|0}e=v+G|0;b=b+j|0;b=e>>>0<v>>>0?b+1|0:b;v=e;e=b;l=jb(ia^v,b^l,32);G=q;q=B;b=n+q|0;j=m+l|0;if(j>>>0<m>>>0){b=b+1|0}m=j;j=b;y=jb(G^m,b^y,40);n=M;M=B;b=e+M|0;e=v+y|0;if(e>>>0<v>>>0){b=b+1|0}v=n+e|0;b=b+V|0;n=v;v=l^n;l=n>>>0<e>>>0?b+1|0:b;G=jb(v,q^l,48);q=B;b=j+q|0;v=m+G|0;if(v>>>0<m>>>0){b=b+1|0}W=v;j=y^v;y=b;M=jb(j,M^b,1);b=B;e=b;v=b;b=z+ea|0;m=R;j=m+fa|0;if(j>>>0<m>>>0){b=b+1|0}m=j+M|0;b=b+v|0;v=m;m=m>>>0<j>>>0?b+1|0:b;b=m+D|0;j=v;s=j+s|0;if(s>>>0<j>>>0){b=b+1|0}z=s;j=b;s=jb(v^I,m^L,32);D=B;b=t+D|0;v=s+C|0;if(v>>>0<C>>>0){b=b+1|0}C=v;m=b;v=jb(v^M,b^e,40);b=j;j=B;b=b+j|0;e=v;t=e+z|0;if(t>>>0<e>>>0){b=b+1|0}V=t;z=b;e=jb(s^t,D^b,48);b=B;t=b;f[o+96>>2]=e;f[o+100>>2]=b;b=m+b|0;C=e+C|0;if(C>>>0<e>>>0){b=b+1|0}m=C;f[c+64>>2]=m;f[o+68>>2]=b;D=b;I=jb(m^v,b^j,1);b=B;j=b;f[c+32>>2]=I;f[c+36>>2]=b;v=c;C=aa;s=X;b=r+ja|0;o=ga;r=o+Q|0;if(r>>>0<o>>>0){b=b+1|0}r=k+r|0;b=b+E|0;o=r;r=s;s=o>>>0<k>>>0?b+1|0:b;b=r+s|0;r=o+C|0;if(r>>>0<o>>>0){b=b+1|0}M=r;r=b;o=jb(o^p,s^P,32);Q=k;b=y;y=B;b=b+y|0;k=o;C=k+W|0;if(C>>>0<k>>>0){b=b+1|0}p=C;s=b;C=jb(Q^p,b^E,40);P=B;b=P+r|0;k=C;E=k+M|0;if(E>>>0<k>>>0){b=b+1|0}W=E;E=b;k=jb(o^W,y^b,48);b=B;Q=b;f[v+104>>2]=k;f[v+108>>2]=b;b=s+b|0;s=k+p|0;if(s>>>0<k>>>0){b=b+1|0}o=s;s=b;f[v+72>>2]=o;f[v+76>>2]=b;p=f[c+232>>2];M=f[c+236>>2];r=u;y=h;L=G;b=w+$|0;w=T;G=w+O|0;if(G>>>0<w>>>0){b=b+1|0}w=u+G|0;b=b+h|0;h=w;w=h>>>0<u>>>0?b+1|0:b;u=jb(L^h,w^q,32);G=B;b=G+K|0;d=d+u|0;if(d>>>0<u>>>0){b=b+1|0}q=d^r;r=b;L=jb(q,b^y,40);_=B;b=w+_|0;K=h+L|0;if(K>>>0<h>>>0){b=b+1|0}h=K;K=h+p|0;b=b+M|0;w=K;q=w>>>0<h>>>0?b+1|0:b;M=jb(u^w,G^q,48);b=B;O=b;f[v+112>>2]=M;f[v+116>>2]=b;h=c;y=Y;K=ha;b=f[c+128>>2];G=f[c+132>>2];v=jb(o^C,s^P,1);p=b;C=B;b=C+z|0;u=v;z=u+V|0;if(z>>>0<u>>>0){b=b+1|0}u=p+z|0;b=b+G|0;b=u>>>0<z>>>0?b+1|0:b;p=K;K=b;b=p+b|0;y=u+y|0;if(y>>>0<u>>>0){b=b+1|0}P=y;z=b;y=v;G=C;C=F;p=J;V=f[c+164>>2];b=l+S|0;v=n+x|0;if(v>>>0<n>>>0){b=b+1|0}n=v;v=n+f[c+160>>2]|0;b=b+V|0;b=v>>>0<n>>>0?b+1|0:b;n=b;b=b+p|0;l=v+C|0;if(l>>>0<v>>>0){b=b+1|0}C=b;v=jb(i^v,n^U,32);p=B;b=p+H|0;i=v;n=i+N|0;if(n>>>0<i>>>0){b=b+1|0}N=n;n=b;i=jb(x^N,S^b,40);V=B;b=V+C|0;C=i+l|0;if(C>>>0<i>>>0){b=b+1|0}l=C;H=b;p=jb(v^l,p^b,48);x=B;v=jb(p^u,x^K,32);b=B;S=b;u=v;K=b;b=r+O|0;C=d+M|0;if(C>>>0<d>>>0){b=b+1|0}r=b;b=b+K|0;d=u;u=C;K=d+u|0;if(K>>>0<u>>>0){b=b+1|0}U=K;d=b;u=jb(K^y,b^G,40);fa=B;b=fa+z|0;z=u+P|0;if(z>>>0<u>>>0){b=b+1|0}y=b;K=jb(v^z,S^b,48);b=B;S=b;f[h+120>>2]=K;f[h+124>>2]=b;b=d+b|0;h=K;d=h+U|0;if(d>>>0<h>>>0){b=b+1|0}v=c;U=d;f[c+80>>2]=d;f[c+84>>2]=b;G=b;u=jb(u^d,b^fa,1);b=B;h=b;f[c+40>>2]=u;f[c+44>>2]=b;P=f[c+152>>2];fa=f[c+156>>2];b=n+x|0;d=p+N|0;if(d>>>0<p>>>0){b=b+1|0}n=b;p=d;x=b;r=jb(C^L,r^_,1);b=B;N=b;C=b;L=e;b=E+la|0;e=Z;E=e+W|0;if(E>>>0<e>>>0){b=b+1|0}e=E+r|0;b=b+C|0;C=e;W=t;t=e>>>0<E>>>0?b+1|0:b;e=jb(L^e,W^t,32);L=B;b=L+x|0;p=e+p|0;if(p>>>0<e>>>0){b=b+1|0}E=p;p=r^p;r=b;x=jb(p,N^b,40);N=B;b=t+N|0;t=C+x|0;if(t>>>0<C>>>0){b=b+1|0}C=t;t=t+P|0;b=b+fa|0;P=t;p=t>>>0<C>>>0?b+1|0:b;L=jb(e^t,L^p,48);W=B;b=r+W|0;e=E+L|0;if(e>>>0<E>>>0){b=b+1|0}t=e;f[v+88>>2]=e;f[v+92>>2]=b;E=b;x=jb(e^x,b^N,1);b=B;C=b;f[c+48>>2]=x;f[c+52>>2]=b;b=f[c+200>>2];e=f[c+204>>2];d=jb(d^i,n^V,1);N=b;n=B;b=q+n|0;i=d+w|0;if(i>>>0<w>>>0){b=b+1|0}r=i;i=N+i|0;b=b+e|0;b=i>>>0<r>>>0?b+1|0:b;r=i;w=f[c+144>>2];e=i+w|0;i=b;b=b+f[c+148>>2]|0;b=e>>>0<w>>>0?b+1|0:b;w=e;e=b;r=jb(k^r,i^Q,32);q=B;b=D+q|0;i=m+r|0;if(i>>>0<m>>>0){b=b+1|0}k=i;m=b;i=jb(d^i,n^b,40);d=B;b=d+e|0;e=i;n=e+w|0;if(n>>>0<e>>>0){b=b+1|0}e=r^n;r=b;D=jb(e,q^b,48);V=B;b=m+V|0;e=k+D|0;if(e>>>0<k>>>0){b=b+1|0}k=e;e=i^e;i=b;N=jb(e,d^b,1);b=B;Q=b;f[v+56>>2]=N;f[v+60>>2]=b;e=c;m=f[c+216>>2];w=m;q=f[c+220>>2];d=q;_=f[c+196>>2];b=j+H|0;v=l+I|0;if(v>>>0<l>>>0){b=b+1|0}l=v;v=l+f[c+192>>2]|0;b=b+_|0;b=v>>>0<l>>>0?b+1|0:b;l=d;d=b;b=l+b|0;l=v;H=l+w|0;if(H>>>0<l>>>0){b=b+1|0}l=b;d=jb(v^M,d^O,32);w=B;b=s+w|0;v=d+o|0;if(v>>>0<o>>>0){b=b+1|0}o=v;v=j;j=b;v=jb(o^I,v^b,40);I=B;b=I+l|0;l=v+H|0;if(l>>>0<v>>>0){b=b+1|0}H=b;M=jb(d^l,w^b,48);O=B;b=j+O|0;j=o+M|0;if(j>>>0<o>>>0){b=b+1|0}_=j;o=b;s=jb(v^j,I^b,1);b=B;v=b;j=b;b=y+f[c+236>>2]|0;d=z+f[c+232>>2]|0;if(d>>>0<z>>>0){b=b+1|0}w=d;d=d+s|0;b=b+j|0;b=d>>>0<w>>>0?b+1|0:b;j=b;b=q+b|0;w=d+m|0;if(w>>>0<m>>>0){b=b+1|0}m=b;d=jb(d^L,j^W,32);q=s;s=B;b=i+s|0;i=d+k|0;if(i>>>0<k>>>0){b=b+1|0}z=i;j=b;k=jb(q^i,b^v,40);q=B;b=q+m|0;i=k+w|0;if(i>>>0<k>>>0){b=b+1|0}y=i;v=b;i=jb(d^i,s^b,48);b=B;m=b;f[e+96>>2]=i;f[e+100>>2]=b;b=b+j|0;s=i+z|0;if(s>>>0<i>>>0){b=b+1|0}j=s;f[c+64>>2]=j;f[e+68>>2]=b;w=b;I=jb(k^j,b^q,1);b=B;s=b;f[c+32>>2]=I;f[c+36>>2]=b;k=c;d=T;z=$;b=p+ha|0;e=Y;q=e+P|0;if(q>>>0<e>>>0){b=b+1|0}e=u;q=e+q|0;b=b+h|0;b=q>>>0<e>>>0?b+1|0:b;e=q;q=z;z=b;b=q+b|0;q=e+d|0;if(q>>>0<e>>>0){b=b+1|0}d=b;e=jb(e^D,z^V,32);D=B;b=D+o|0;o=e+_|0;if(o>>>0<e>>>0){b=b+1|0}p=o;z=h;h=b;u=jb(o^u,z^b,40);P=B;b=P+d|0;o=u;d=o+q|0;if(d>>>0<o>>>0){b=b+1|0}W=d;z=b;e=jb(e^d,D^b,48);b=B;L=b;f[k+104>>2]=e;f[k+108>>2]=b;o=c;b=h+b|0;h=e+p|0;if(h>>>0<e>>>0){b=b+1|0}k=h;h=b;f[o+72>>2]=k;f[o+76>>2]=b;d=c;D=ga;q=ja;b=C+ea|0;o=R;p=o+x|0;if(p>>>0<o>>>0){b=b+1|0}o=n+p|0;b=b+r|0;b=o>>>0<n>>>0?b+1|0:b;n=b;b=b+q|0;D=o+D|0;if(D>>>0<o>>>0){b=b+1|0}r=b;o=jb(o^M,n^O,32);q=B;b=q+G|0;G=o+U|0;if(G>>>0<o>>>0){b=b+1|0}M=G;n=b;C=jb(G^x,b^C,40);O=B;b=O+r|0;r=C;D=r+D|0;if(D>>>0<r>>>0){b=b+1|0}r=D;D=b;o=jb(o^r,q^b,48);b=B;U=b;f[d+112>>2]=o;f[d+116>>2]=b;q=v;v=jb(k^u,h^P,1);p=y;y=B;b=y+ka|0;u=v;G=u+ba|0;if(G>>>0<u>>>0){b=b+1|0}u=p+G|0;b=b+q|0;b=u>>>0<G>>>0?b+1|0:b;q=u;p=f[c+128>>2];G=u+p|0;u=b;b=b+f[c+132>>2]|0;P=G;G=G>>>0<p>>>0?b+1|0:b;p=v;x=f[c+156>>2];b=H+Q|0;v=l+N|0;if(v>>>0<l>>>0){b=b+1|0}l=v;v=l+f[c+152>>2]|0;b=b+x|0;b=v>>>0<l>>>0?b+1|0:b;H=v;x=f[c+200>>2];l=v+x|0;v=b;b=b+f[c+204>>2]|0;b=l>>>0<x>>>0?b+1|0:b;x=l;l=b;H=jb(H^K,v^S,32);S=B;b=E+S|0;v=t+H|0;if(v>>>0<t>>>0){b=b+1|0}V=v;E=b;K=jb(N^v,Q^b,40);N=q;_=B;b=_+l|0;v=K;t=v+x|0;if(t>>>0<v>>>0){b=b+1|0}l=t;v=H^l;H=b;q=jb(v,S^b,48);S=B;v=jb(N^q,S^u,32);b=B;N=b;u=v;x=b;b=n+U|0;n=o+M|0;if(n>>>0<o>>>0){b=b+1|0}t=n;M=p;n=b;b=b+x|0;p=u;u=t;p=p+u|0;if(p>>>0<u>>>0){b=b+1|0}u=y;y=b;u=jb(M^p,u^b,40);x=B;b=x+G|0;M=u+P|0;if(M>>>0<u>>>0){b=b+1|0}P=M;G=b;M=jb(v^M,N^b,48);b=B;N=b;f[d+120>>2]=M;f[d+124>>2]=b;b=y+b|0;d=p+M|0;if(d>>>0<p>>>0){b=b+1|0}Q=d;f[c+80>>2]=d;f[c+84>>2]=b;y=b;v=jb(u^d,b^x,1);b=B;d=b;f[c+40>>2]=v;f[c+44>>2]=b;u=c;fa=f[c+160>>2];ca=f[c+164>>2];b=E+S|0;E=q+V|0;if(E>>>0<q>>>0){b=b+1|0}q=b;p=E;x=b;n=jb(t^C,n^O,1);b=B;S=b;t=b;O=i;b=z+X|0;i=aa;C=i+W|0;if(C>>>0<i>>>0){b=b+1|0}i=C+n|0;b=b+t|0;t=i;z=m;m=i>>>0<C>>>0?b+1|0:b;i=jb(O^i,z^m,32);b=x;x=B;b=b+x|0;z=i+p|0;if(z>>>0<i>>>0){b=b+1|0}C=z;p=n^C;n=b;p=jb(p,S^b,40);O=B;b=m+O|0;m=p+t|0;if(m>>>0<t>>>0){b=b+1|0}t=m+fa|0;b=b+ca|0;W=t;z=t>>>0<m>>>0?b+1|0:b;S=jb(i^t,x^z,48);V=B;b=n+V|0;i=C+S|0;if(i>>>0<C>>>0){b=b+1|0}t=i;f[u+88>>2]=i;f[u+92>>2]=b;n=b;x=jb(p^i,b^O,1);b=B;m=b;f[c+48>>2]=x;f[c+52>>2]=b;i=Z;C=la;b=f[c+192>>2];p=f[c+196>>2];E=jb(E^K,q^_,1);O=b;q=B;b=D+q|0;K=r+E|0;if(K>>>0<r>>>0){b=b+1|0}r=K;K=O+r|0;b=b+p|0;b=K>>>0<r>>>0?b+1|0:b;r=C;C=b;b=r+b|0;r=i;i=K;r=r+i|0;if(r>>>0<i>>>0){b=b+1|0}i=b;C=jb(e^K,C^L,32);D=B;b=w+D|0;K=j+C|0;if(K>>>0<j>>>0){b=b+1|0}e=K;j=b;K=jb(E^e,q^b,40);q=B;b=q+i|0;i=K;E=i+r|0;if(E>>>0<i>>>0){b=b+1|0}r=b;L=jb(C^E,D^b,48);C=B;b=j+C|0;i=e+L|0;if(i>>>0<e>>>0){b=b+1|0}j=i;w=b;i=jb(K^i,q^b,1);b=B;O=b;f[u+56>>2]=i;f[u+60>>2]=b;K=c;D=aa;q=X;e=F;p=J;_=f[c+148>>2];b=s+H|0;u=l+I|0;if(u>>>0<l>>>0){b=b+1|0}l=u;u=l+f[c+144>>2]|0;b=b+_|0;b=u>>>0<l>>>0?b+1|0:b;l=b;b=b+p|0;p=e;e=u;H=p+e|0;if(H>>>0<e>>>0){b=b+1|0}e=b;l=jb(o^u,l^U,32);p=B;b=h+p|0;u=k+l|0;if(u>>>0<k>>>0){b=b+1|0}k=u;o=b;u=jb(k^I,b^s,40);h=B;b=h+e|0;e=u;s=e+H|0;if(s>>>0<e>>>0){b=b+1|0}_=s;e=l^s;l=b;p=jb(e,p^b,48);fa=B;b=o+fa|0;e=k+p|0;if(e>>>0<k>>>0){b=b+1|0}s=e;k=u^e;u=b;H=jb(k,h^b,1);b=B;k=b;e=b;b=G+la|0;o=Z;h=o+P|0;if(h>>>0<o>>>0){b=b+1|0}o=h+H|0;b=b+e|0;e=o;o=e>>>0<h>>>0?b+1|0:b;b=o+q|0;D=e+D|0;if(D>>>0<e>>>0){b=b+1|0}q=D;h=b;D=jb(e^S,o^V,32);G=B;b=w+G|0;e=j+D|0;if(e>>>0<j>>>0){b=b+1|0}j=e;o=b;k=jb(e^H,b^k,40);b=h;h=B;b=b+h|0;e=k;H=e+q|0;if(H>>>0<e>>>0){b=b+1|0}q=H;H=b;e=jb(D^q,G^b,48);b=B;I=b;f[K+96>>2]=e;f[K+100>>2]=b;b=o+b|0;j=e+j|0;if(j>>>0<e>>>0){b=b+1|0}o=j;f[c+64>>2]=j;f[K+68>>2]=b;K=b;S=jb(k^j,b^h,1);b=B;h=b;f[c+32>>2]=S;f[c+36>>2]=b;k=c;G=f[c+200>>2];U=f[c+204>>2];j=v;w=d;b=z+$|0;z=T;D=z+W|0;if(D>>>0<z>>>0){b=b+1|0}z=v+D|0;b=b+d|0;d=z;z=C;C=d>>>0<v>>>0?b+1|0:b;v=jb(d^L,z^C,32);z=j;L=B;b=L+u|0;u=v;j=u+s|0;if(j>>>0<u>>>0){b=b+1|0}u=j;s=b;D=jb(z^j,b^w,40);w=G;G=B;b=C+G|0;j=d+D|0;if(j>>>0<d>>>0){b=b+1|0}C=j;j=w+j|0;b=b+U|0;w=j;z=j>>>0<C>>>0?b+1|0:b;U=jb(v^j,L^z,48);b=B;j=b;f[k+104>>2]=U;f[k+108>>2]=b;v=c;b=b+s|0;k=u+U|0;if(k>>>0<u>>>0){b=b+1|0}u=k;C=b;f[v+72>>2]=k;f[v+76>>2]=b;s=f[c+220>>2];b=m+r|0;k=x+E|0;if(k>>>0<E>>>0){b=b+1|0}d=k;k=d+f[c+216>>2]|0;b=b+s|0;b=k>>>0<d>>>0?b+1|0:b;d=k;E=f[c+152>>2];s=d+E|0;k=b;b=b+f[c+156>>2]|0;r=s;s=s>>>0<E>>>0?b+1|0:b;k=jb(d^p,k^fa,32);p=x;b=y;y=B;b=b+y|0;d=k;E=d+Q|0;if(E>>>0<d>>>0){b=b+1|0}x=E;E=b;m=jb(p^x,b^m,40);W=B;b=W+s|0;d=m+r|0;if(d>>>0<m>>>0){b=b+1|0}V=d;r=b;k=jb(k^d,y^b,48);b=B;L=b;f[v+112>>2]=k;f[v+116>>2]=b;s=c;d=jb(u^D,C^G,1);b=B;D=b;v=b;b=H+ea|0;H=R;q=H+q|0;if(q>>>0<H>>>0){b=b+1|0}H=q+d|0;b=b+v|0;b=H>>>0<q>>>0?b+1|0:b;y=f[c+144>>2];q=H+y|0;v=b;b=b+f[c+148>>2]|0;Q=q;q=q>>>0<y>>>0?b+1|0:b;y=d;G=f[c+132>>2];b=l+O|0;d=i;l=d+_|0;if(l>>>0<d>>>0){b=b+1|0}d=l+f[c+128>>2]|0;b=b+G|0;b=d>>>0<l>>>0?b+1|0:b;G=d;p=f[c+192>>2];l=d+p|0;d=b;b=b+f[c+196>>2]|0;b=l>>>0<p>>>0?b+1|0:b;p=l;l=b;d=jb(G^M,d^N,32);G=B;b=n+G|0;n=d+t|0;if(n>>>0<t>>>0){b=b+1|0}M=n;n=b;t=jb(i^M,O^b,40);O=H;_=B;b=_+l|0;i=t;l=i+p|0;if(l>>>0<i>>>0){b=b+1|0}H=b;G=jb(d^l,G^b,48);N=B;v=jb(O^G,N^v,32);b=B;O=b;i=v;p=b;b=E+L|0;d=k;E=d+x|0;if(E>>>0<d>>>0){b=b+1|0}d=E;x=y;y=b;b=b+p|0;E=d+i|0;if(E>>>0<d>>>0){b=b+1|0}p=E;i=D;D=b;E=jb(x^p,i^b,40);x=B;b=x+q|0;i=E;q=i+Q|0;if(q>>>0<i>>>0){b=b+1|0}fa=q;q=b;i=jb(v^fa,O^b,48);b=B;O=b;f[s+120>>2]=i;f[s+124>>2]=b;b=D+b|0;D=i+p|0;if(D>>>0<i>>>0){b=b+1|0}v=c;P=D;f[c+80>>2]=D;f[c+84>>2]=b;D=b;Q=jb(E^P,b^x,1);b=B;s=b;f[c+40>>2]=Q;f[c+44>>2]=b;E=Y;p=ha;b=f[c+232>>2];x=f[c+236>>2];m=jb(d^m,y^W,1);W=b;y=B;b=z+y|0;d=m+w|0;if(d>>>0<w>>>0){b=b+1|0}w=d;d=W+d|0;b=b+x|0;b=d>>>0<w>>>0?b+1|0:b;w=b;b=b+p|0;z=d+E|0;if(z>>>0<d>>>0){b=b+1|0}p=z;E=b;z=m;e=jb(e^d,w^I,32);b=B;x=b;d=e;w=b;b=n+N|0;m=G+M|0;if(m>>>0<G>>>0){b=b+1|0}n=w;w=b;b=n+b|0;n=d;d=m;n=n+d|0;if(n>>>0<d>>>0){b=b+1|0}d=n^z;z=b;d=jb(d,b^y,40);I=B;b=I+E|0;y=d+p|0;if(y>>>0<d>>>0){b=b+1|0}G=b;e=jb(e^y,x^b,48);p=B;b=z+p|0;E=e+n|0;if(E>>>0<n>>>0){b=b+1|0}f[v+88>>2]=E;f[v+92>>2]=b;z=b;v=jb(d^E,I^b,1);b=B;d=b;f[c+48>>2]=v;f[c+52>>2]=b;n=c;b=f[c+164>>2];x=b;I=f[c+160>>2];W=I;M=b;N=K;w=jb(m^t,w^_,1);b=B;_=b;K=b;b=r+ja|0;t=ga;m=t+V|0;if(m>>>0<t>>>0){b=b+1|0}t=m+w|0;b=b+K|0;b=t>>>0<m>>>0?b+1|0:b;m=b;K=jb(t^U,b^j,32);b=N;N=B;b=b+N|0;j=o;o=K;j=j+o|0;if(j>>>0<o>>>0){b=b+1|0}o=j;j=b;r=jb(w^o,_^b,40);w=B;b=m+w|0;m=r+t|0;if(m>>>0<t>>>0){b=b+1|0}t=m+W|0;b=b+M|0;W=t;m=t>>>0<m>>>0?b+1|0:b;M=jb(K^t,N^m,48);V=B;b=j+V|0;K=o+M|0;if(K>>>0<o>>>0){b=b+1|0}t=K;K=jb(r^t,b^w,1);o=B;N=o;f[n+56>>2]=K;f[n+60>>2]=o;o=c;U=f[c+144>>2];_=f[c+148>>2];j=b;n=e;r=ba;w=ka;b=h+J|0;e=F;ca=e+S|0;if(ca>>>0<e>>>0){b=b+1|0}e=l+ca|0;b=b+H|0;b=e>>>0<l>>>0?b+1|0:b;l=b;b=b+w|0;H=e+r|0;if(H>>>0<e>>>0){b=b+1|0}r=b;l=jb(e^k,l^L,32);w=B;b=C+w|0;e=l+u|0;if(e>>>0<u>>>0){b=b+1|0}k=b;u=jb(e^S,b^h,40);b=r;r=B;b=b+r|0;h=u;C=h+H|0;if(C>>>0<h>>>0){b=b+1|0}L=C;C=b;H=jb(l^L,w^b,48);w=B;b=k+w|0;k=e+H|0;if(k>>>0<e>>>0){b=b+1|0}e=k;k=b;h=jb(u^e,r^b,1);b=B;l=b;u=b;b=q+J|0;J=F+fa|0;if(J>>>0<F>>>0){b=b+1|0}F=J+h|0;b=b+u|0;b=F>>>0<J>>>0?b+1|0:b;J=F;u=b;F=jb(F^n,b^p,32);n=B;b=n+j|0;j=t;t=F;j=j+t|0;if(j>>>0<t>>>0){b=b+1|0}r=j;t=b;h=jb(h^j,l^b,40);l=B;b=u+l|0;u=h+J|0;if(u>>>0<J>>>0){b=b+1|0}J=u+U|0;b=b+_|0;q=J;j=q>>>0<u>>>0?b+1|0:b;u=jb(F^q,n^j,48);b=B;S=b;f[o+96>>2]=u;f[o+100>>2]=b;b=t+b|0;o=u+r|0;if(o>>>0<u>>>0){b=b+1|0}F=c;U=o;f[c+64>>2]=o;f[c+68>>2]=b;n=b;p=jb(h^o,l^b,1);b=B;o=b;f[c+32>>2]=p;f[c+36>>2]=b;t=f[c+196>>2];b=s+G|0;J=y+Q|0;if(J>>>0<y>>>0){b=b+1|0}h=J;J=h+f[c+192>>2]|0;b=b+t|0;b=J>>>0<h>>>0?b+1|0:b;t=b;b=b+x|0;h=J;l=h+I|0;if(l>>>0<h>>>0){b=b+1|0}h=b;t=jb(J^M,t^V,32);r=B;b=k+r|0;J=e+t|0;if(J>>>0<e>>>0){b=b+1|0}y=J;k=b;J=jb(y^Q,b^s,40);G=B;b=G+h|0;e=J;h=e+l|0;if(h>>>0<e>>>0){b=b+1|0}x=h;s=b;e=jb(t^h,r^b,48);b=B;I=b;f[F+104>>2]=e;f[F+108>>2]=b;b=k+b|0;t=e+y|0;if(t>>>0<e>>>0){b=b+1|0}k=t;t=b;f[F+72>>2]=k;f[F+76>>2]=b;l=Z;r=la;b=m+ha|0;h=Y;m=h+W|0;if(m>>>0<h>>>0){b=b+1|0}h=v;m=h+m|0;b=b+d|0;b=m>>>0<h>>>0?b+1|0:b;h=m;m=b;b=b+r|0;r=h+l|0;if(r>>>0<h>>>0){b=b+1|0}l=b;h=jb(h^H,m^w,32);H=B;b=H+D|0;m=h+P|0;if(m>>>0<h>>>0){b=b+1|0}Q=m;y=d;d=b;m=jb(m^v,y^b,40);P=B;b=P+l|0;l=m+r|0;if(l>>>0<m>>>0){b=b+1|0}r=b;v=jb(h^l,H^b,48);b=B;M=b;f[F+112>>2]=v;f[F+116>>2]=b;h=c;W=f[c+216>>2];V=f[c+220>>2];y=jb(k^J,t^G,1);b=B;G=b;F=b;b=j+X|0;J=aa;j=J+q|0;if(j>>>0<J>>>0){b=b+1|0}J=j+y|0;b=b+F|0;F=J;b=F>>>0<j>>>0?b+1|0:b;H=b;j=F;w=b;D=ba;q=ka;b=C+ja|0;J=ga;C=J+L|0;if(C>>>0<J>>>0){b=b+1|0}J=K;C=J+C|0;b=b+N|0;b=C>>>0<J>>>0?b+1|0:b;J=C;C=b;b=b+q|0;q=D+J|0;if(q>>>0<J>>>0){b=b+1|0}L=q;D=b;q=jb(i^J,C^O,32);O=B;b=z+O|0;J=q+E|0;if(J>>>0<E>>>0){b=b+1|0}_=J;C=b;i=jb(K^J,N^b,40);fa=B;b=fa+D|0;K=i+L|0;if(K>>>0<i>>>0){b=b+1|0}E=K;z=b;D=jb(q^E,O^b,48);L=B;J=jb(D^j,L^w,32);b=B;N=b;K=J;w=b;b=d+M|0;j=v;d=j+Q|0;if(d>>>0<j>>>0){b=b+1|0}j=d;d=b;b=b+w|0;w=j+K|0;if(w>>>0<j>>>0){b=b+1|0}Q=w;w=b;q=jb(y^Q,G^b,40);y=B;b=H+y|0;K=q+F|0;if(K>>>0<F>>>0){b=b+1|0}F=K+W|0;b=b+V|0;O=F;H=F>>>0<K>>>0?b+1|0:b;K=jb(J^F,N^H,48);b=B;N=b;f[h+120>>2]=K;f[h+124>>2]=b;b=w+b|0;J=K;h=J+Q|0;if(h>>>0<J>>>0){b=b+1|0}Q=h;f[c+80>>2]=h;f[c+84>>2]=b;w=b;G=jb(q^h,b^y,1);b=B;h=b;f[c+40>>2]=G;f[c+44>>2]=b;J=c;q=T;y=$;b=f[c+200>>2];W=f[c+204>>2];F=jb(m^j,d^P,1);d=b;j=B;b=j+s|0;m=F;s=m+x|0;if(s>>>0<m>>>0){b=b+1|0}m=d+s|0;b=b+W|0;b=m>>>0<s>>>0?b+1|0:b;s=b;b=b+y|0;d=m;q=d+q|0;if(q>>>0<d>>>0){b=b+1|0}y=q;d=b;q=F;F=jb(m^u,s^S,32);b=B;x=b;m=F;s=b;b=C+L|0;u=D+_|0;if(u>>>0<D>>>0){b=b+1|0}C=b;b=b+s|0;s=m;m=u;s=s+m|0;if(s>>>0<m>>>0){b=b+1|0}m=j;j=b;m=jb(s^q,m^b,40);L=B;b=L+d|0;d=m;D=d+y|0;if(D>>>0<d>>>0){b=b+1|0}d=D;D=b;y=jb(F^d,x^b,48);P=B;b=j+P|0;F=s+y|0;if(F>>>0<s>>>0){b=b+1|0}S=F;f[J+88>>2]=F;f[J+92>>2]=b;q=b;x=jb(m^F,b^L,1);b=B;J=b;f[c+48>>2]=x;f[c+52>>2]=b;F=c;m=R;j=ea;b=f[c+152>>2];s=f[c+156>>2];C=jb(i^u,C^fa,1);W=b;L=B;b=r+L|0;u=l+C|0;if(u>>>0<l>>>0){b=b+1|0}i=u;u=W+i|0;b=b+s|0;b=u>>>0<i>>>0?b+1|0:b;i=b;b=b+j|0;j=m;m=u;j=j+m|0;if(j>>>0<m>>>0){b=b+1|0}s=j;m=b;u=jb(e^u,i^I,32);l=B;b=l+n|0;i=u;e=i+U|0;if(e>>>0<i>>>0){b=b+1|0}j=b;i=jb(C^e,L^b,40);C=B;b=C+m|0;s=i+s|0;if(s>>>0<i>>>0){b=b+1|0}n=b;U=jb(u^s,l^b,48);W=B;b=j+W|0;u=e+U|0;if(u>>>0<e>>>0){b=b+1|0}e=u;j=i^e;i=b;I=jb(j,C^b,1);b=B;L=b;f[F+56>>2]=I;f[F+60>>2]=b;m=ga;j=ja;u=f[c+132>>2];b=u+H|0;C=f[c+128>>2];l=C;r=l+O|0;if(r>>>0<l>>>0){b=b+1|0}H=r;l=b;r=u;O=f[c+236>>2];b=o+z|0;u=p+E|0;if(u>>>0<E>>>0){b=b+1|0}E=u;u=u+f[c+232>>2]|0;b=b+O|0;b=u>>>0<E>>>0?b+1|0:b;E=b;b=b+r|0;r=u+C|0;if(r>>>0<u>>>0){b=b+1|0}z=r;C=b;r=jb(u^v,E^M,32);E=p;p=B;b=t+p|0;v=k+r|0;if(v>>>0<k>>>0){b=b+1|0}u=v;k=b;v=jb(E^u,b^o,40);t=B;b=t+C|0;o=v;C=o+z|0;if(C>>>0<o>>>0){b=b+1|0}E=C;o=r^C;r=b;p=jb(o,p^b,48);O=B;b=k+O|0;k=u+p|0;if(k>>>0<u>>>0){b=b+1|0}o=b;v=jb(v^k,t^b,1);t=B;b=t+l|0;u=v;C=u+H|0;if(C>>>0<u>>>0){b=b+1|0}u=C;l=j;j=b;b=l+b|0;l=m;m=u;C=l+m|0;if(C>>>0<m>>>0){b=b+1|0}m=b;j=jb(u^y,j^P,32);l=v;z=B;b=i+z|0;v=e+j|0;if(v>>>0<e>>>0){b=b+1|0}e=v;i=b;u=jb(l^e,b^t,40);b=m;m=B;b=b+m|0;t=u+C|0;if(t>>>0<u>>>0){b=b+1|0}l=t;H=b;v=jb(j^l,z^b,48);b=B;M=b;f[F+96>>2]=v;f[F+100>>2]=b;b=i+b|0;i=v;e=i+e|0;if(e>>>0<i>>>0){b=b+1|0}t=e;f[c+64>>2]=e;f[F+68>>2]=b;F=b;u=jb(u^e,b^m,1);b=B;m=b;f[c+32>>2]=u;f[c+36>>2]=b;e=c;j=f[c+148>>2];b=h+D|0;i=d+G|0;if(i>>>0<d>>>0){b=b+1|0}C=i;i=i+f[c+144>>2]|0;b=b+j|0;b=i>>>0<C>>>0?b+1|0:b;C=i;d=f[c+152>>2];j=i+d|0;i=b;b=b+f[c+156>>2]|0;z=j;j=j>>>0<d>>>0?b+1|0:b;d=jb(C^U,i^W,32);D=G;y=B;b=o+y|0;i=d+k|0;if(i>>>0<k>>>0){b=b+1|0}G=i;C=b;o=jb(D^i,b^h,40);P=B;b=P+j|0;i=o;k=i+z|0;if(k>>>0<i>>>0){b=b+1|0}z=k;D=b;i=jb(d^k,y^b,48);b=B;h=b;f[e+104>>2]=i;f[e+108>>2]=b;k=c;b=b+C|0;e=i;j=e+G|0;if(j>>>0<e>>>0){b=b+1|0}e=j;j=b;f[k+72>>2]=e;f[k+76>>2]=b;C=c;d=ba;y=ka;G=f[c+164>>2];b=n+J|0;k=s+x|0;if(k>>>0<s>>>0){b=b+1|0}s=k;k=k+f[c+160>>2]|0;b=b+G|0;b=k>>>0<s>>>0?b+1|0:b;s=b;b=b+y|0;n=d;d=k;n=n+d|0;if(n>>>0<d>>>0){b=b+1|0}y=n;d=b;n=J;J=jb(k^p,s^O,32);G=B;b=G+w|0;k=J;s=k+Q|0;if(s>>>0<k>>>0){b=b+1|0}Q=s;k=n;n=b;s=jb(s^x,k^b,40);O=B;b=O+d|0;k=s;d=k+y|0;if(d>>>0<k>>>0){b=b+1|0}w=d;y=b;k=jb(J^d,G^b,48);b=B;U=b;f[C+112>>2]=k;f[C+116>>2]=b;b=f[c+192>>2];G=f[c+196>>2];o=jb(e^o,j^P,1);p=b;d=B;b=H+d|0;J=l+o|0;if(J>>>0<l>>>0){b=b+1|0}l=J;J=p+l|0;b=b+G|0;b=J>>>0<l>>>0?b+1|0:b;l=J;G=f[c+200>>2];H=l+G|0;J=b;b=b+f[c+204>>2]|0;P=H;H=H>>>0<G>>>0?b+1|0:b;G=d;p=J;d=Y;x=ha;b=L+la|0;J=Z;W=J+I|0;if(W>>>0<J>>>0){b=b+1|0}J=E+W|0;b=b+r|0;b=J>>>0<E>>>0?b+1|0:b;E=b;b=b+x|0;r=d;d=J;r=r+d|0;if(r>>>0<d>>>0){b=b+1|0}x=r;r=b;J=jb(J^K,E^N,32);E=B;b=E+q|0;d=J+S|0;if(d>>>0<J>>>0){b=b+1|0}N=d;q=b;d=jb(I^d,L^b,40);K=l;S=B;b=S+r|0;l=d+x|0;if(l>>>0<d>>>0){b=b+1|0}L=l;r=b;l=jb(J^l,E^b,48);W=B;J=jb(K^l,W^p,32);b=B;x=b;K=J;p=b;b=n+U|0;n=k+Q|0;if(n>>>0<k>>>0){b=b+1|0}E=n;I=o;o=p;p=b;b=o+b|0;o=n+K|0;if(o>>>0<n>>>0){b=b+1|0}Q=o;n=b;o=jb(I^o,b^G,40);V=B;b=V+H|0;H=o+P|0;if(H>>>0<o>>>0){b=b+1|0}P=H;H=b;K=jb(J^P,x^b,48);b=B;I=b;f[C+120>>2]=K;f[C+124>>2]=b;b=n+b|0;C=K;n=C+Q|0;if(n>>>0<C>>>0){b=b+1|0}J=c;C=n;f[c+80>>2]=n;f[c+84>>2]=b;G=b;o=jb(o^n,V^b,1);b=B;n=b;f[c+40>>2]=o;f[c+44>>2]=b;b=f[c+208>>2];x=f[c+212>>2];s=jb(s^E,p^O,1);p=b;E=B;b=D+E|0;D=s+z|0;if(D>>>0<z>>>0){b=b+1|0}z=p+D|0;b=b+x|0;b=z>>>0<D>>>0?b+1|0:b;x=z;p=f[c+216>>2];D=x+p|0;z=b;b=b+f[c+220>>2]|0;Q=D;D=D>>>0<p>>>0?b+1|0:b;p=s;v=jb(v^x,z^M,32);b=B;M=b;z=v;x=b;b=q+W|0;s=l+N|0;if(s>>>0<l>>>0){b=b+1|0}q=b;b=b+x|0;l=s;z=l+z|0;if(z>>>0<l>>>0){b=b+1|0}l=z;z=b;E=jb(l^p,b^E,40);x=B;b=x+D|0;p=E+Q|0;if(p>>>0<E>>>0){b=b+1|0}N=p;D=b;v=jb(v^p,M^b,48);p=B;b=z+p|0;z=l+v|0;if(z>>>0<l>>>0){b=b+1|0}l=z;f[J+88>>2]=l;f[J+92>>2]=b;z=E;E=b;x=jb(z^l,b^x,1);b=B;M=b;f[c+48>>2]=x;f[c+52>>2]=b;Q=f[c+232>>2];O=f[c+236>>2];z=F;F=jb(d^s,q^S,1);q=i;d=B;b=d+ea|0;i=F;s=i+R|0;if(s>>>0<i>>>0){b=b+1|0}i=s+w|0;b=b+y|0;s=i;y=h;h=i>>>0<w>>>0?b+1|0:b;i=jb(q^i,y^h,32);w=B;b=w+z|0;z=i+t|0;if(z>>>0<i>>>0){b=b+1|0}t=z;q=F^t;F=b;d=jb(q,d^b,40);z=B;b=h+z|0;h=d+s|0;if(h>>>0<s>>>0){b=b+1|0}s=h;h=h+Q|0;b=b+O|0;b=h>>>0<s>>>0?b+1|0:b;s=b;q=jb(i^h,w^b,48);S=B;b=F+S|0;F=q+t|0;if(F>>>0<t>>>0){b=b+1|0}i=F;F=jb(d^i,b^z,1);t=B;y=t;f[J+56>>2]=F;f[J+60>>2]=t;Q=f[c+208>>2];O=f[c+212>>2];t=b;d=v;w=aa;z=X;b=r+$|0;v=T;r=v+L|0;if(r>>>0<v>>>0){b=b+1|0}r=u+r|0;b=b+m|0;v=r;r=v>>>0<u>>>0?b+1|0:b;b=r+z|0;z=v+w|0;if(z>>>0<v>>>0){b=b+1|0}w=b;r=jb(k^v,r^U,32);k=u;U=B;b=j+U|0;v=e+r|0;if(v>>>0<e>>>0){b=b+1|0}u=v;e=b;v=jb(k^u,b^m,40);m=B;b=m+w|0;k=v;j=k+z|0;if(j>>>0<k>>>0){b=b+1|0}L=j;k=b;w=jb(r^j,U^b,48);U=B;b=e+U|0;e=u+w|0;if(e>>>0<u>>>0){b=b+1|0}j=v^e;v=b;m=jb(j,m^b,1);b=B;j=b;u=b;b=H+$|0;$=T+P|0;if($>>>0<T>>>0){b=b+1|0}T=$+m|0;b=b+u|0;b=T>>>0<$>>>0?b+1|0:b;$=T;u=b;T=jb(T^d,b^p,32);d=B;b=d+t|0;t=i;i=T;t=t+i|0;if(t>>>0<i>>>0){b=b+1|0}r=t;i=b;m=jb(m^t,j^b,40);j=B;b=u+j|0;u=m+$|0;if(u>>>0<$>>>0){b=b+1|0}$=u+Q|0;b=b+O|0;p=$;t=p>>>0<u>>>0?b+1|0:b;$=jb(T^p,d^t,48);b=B;H=b;f[J+96>>2]=$;f[J+100>>2]=b;b=i+b|0;J=$;u=J+r|0;if(u>>>0<J>>>0){b=b+1|0}T=c;f[c+64>>2]=u;f[c+68>>2]=b;d=m^u;m=b;r=jb(d,j^b,1);b=B;z=b;f[c+32>>2]=r;f[c+36>>2]=b;i=f[c+164>>2];b=n+D|0;j=o+N|0;if(j>>>0<o>>>0){b=b+1|0}J=j+f[c+160>>2]|0;b=b+i|0;b=J>>>0<j>>>0?b+1|0:b;d=J;j=f[c+192>>2];i=d+j|0;J=b;b=b+f[c+196>>2]|0;D=i;j=i>>>0<j>>>0?b+1|0:b;d=jb(d^q,J^S,32);q=B;b=v+q|0;J=e+d|0;if(J>>>0<e>>>0){b=b+1|0}e=J;v=b;i=jb(e^o,b^n,40);N=B;b=N+j|0;o=i+D|0;if(o>>>0<i>>>0){b=b+1|0}j=b;J=jb(d^o,q^b,48);b=B;n=b;f[T+104>>2]=J;f[T+108>>2]=b;b=b+v|0;v=J;e=v+e|0;if(e>>>0<v>>>0){b=b+1|0}v=e;e=b;f[T+72>>2]=v;f[T+76>>2]=b;d=aa;D=f[c+204>>2];b=s+M|0;aa=h+x|0;if(aa>>>0<h>>>0){b=b+1|0}h=aa;aa=h+f[c+200>>2]|0;b=b+D|0;b=aa>>>0<h>>>0?b+1|0:b;h=X;X=b;b=h+b|0;h=aa;s=h+d|0;if(s>>>0<h>>>0){b=b+1|0}d=s;h=b;s=jb(w^aa,U^X,32);w=B;b=G+w|0;aa=s+C|0;if(aa>>>0<C>>>0){b=b+1|0}q=aa;C=b;X=jb(x^q,M^b,40);G=B;b=G+h|0;h=d+X|0;if(h>>>0<X>>>0){b=b+1|0}d=s^h;s=b;aa=jb(d,w^b,48);b=B;w=b;f[T+112>>2]=aa;f[T+116>>2]=b;d=R;D=jb(i^v,e^N,1);b=B;x=b;R=b;b=t+ja|0;ja=p+ga|0;if(ja>>>0<ga>>>0){b=b+1|0}ga=ja+D|0;b=b+R|0;R=ga;ga=R>>>0<ja>>>0?b+1|0:b;b=ga+ea|0;ja=d+R|0;if(ja>>>0<R>>>0){b=b+1|0}d=ja;ea=b;ja=R;i=f[c+236>>2];b=k+y|0;k=F+L|0;if(k>>>0<F>>>0){b=b+1|0}R=k+f[c+232>>2]|0;b=b+i|0;b=R>>>0<k>>>0?b+1|0:b;i=la;la=b;b=i+b|0;i=R+Z|0;if(i>>>0<R>>>0){b=b+1|0}k=i;i=b;K=jb(K^R,I^la,32);t=B;b=E+t|0;R=l+K|0;if(R>>>0<l>>>0){b=b+1|0}E=R;la=b;Z=jb(F^E,y^b,40);p=ja;l=B;b=l+i|0;R=Z;F=R+k|0;if(F>>>0<R>>>0){b=b+1|0}ja=F;i=K^F;K=b;i=jb(i,t^b,48);y=B;R=jb(p^i,y^ga,32);b=B;p=b;F=R;k=b;b=C+w|0;t=q+aa|0;if(t>>>0<aa>>>0){b=b+1|0}ga=t;q=k;k=b;b=q+b|0;q=F;F=t;t=q+t|0;if(t>>>0<F>>>0){b=b+1|0}C=t;t=b;F=jb(D^C,x^b,40);D=B;b=D+ea|0;d=d+F|0;if(d>>>0<F>>>0){b=b+1|0}f[T>>2]=d;f[T+4>>2]=b;R=jb(R^d,b^p,48);b=B;f[c+120>>2]=R;f[c+124>>2]=b;b=t+b|0;ea=C+R|0;if(ea>>>0<R>>>0){b=b+1|0}R=ea;f[c+80>>2]=R;f[T+84>>2]=b;f[c+40>>2]=jb(F^R,b^D,1);f[c+44>>2]=B;R=c;b=f[c+128>>2];ea=f[c+132>>2];ga=jb(X^ga,k^G,1);d=b;T=B;b=j+T|0;F=o+ga|0;if(F>>>0<o>>>0){b=b+1|0}X=F;F=d+F|0;b=b+ea|0;b=F>>>0<X>>>0?b+1|0:b;o=F;X=f[c+144>>2];ea=o+X|0;F=b;b=b+f[c+148>>2]|0;t=ea;ea=t>>>0<X>>>0?b+1|0:b;X=ga;k=T;ga=jb(o^$,F^H,32);b=B;o=b;F=ga;$=b;b=y+la|0;T=i+E|0;if(T>>>0<i>>>0){b=b+1|0}d=X;la=b;b=b+$|0;i=F;F=T;X=i+F|0;if(X>>>0<F>>>0){b=b+1|0}j=X;X=b;F=jb(d^j,b^k,40);C=B;b=C+ea|0;$=t+F|0;if($>>>0<F>>>0){b=b+1|0}f[R+8>>2]=$;f[R+12>>2]=b;ea=b;ga=jb($^ga,b^o,48);b=B;i=b;f[c+96>>2]=ga;f[c+100>>2]=b;b=b+X|0;X=ga;k=X+j|0;if(k>>>0<X>>>0){b=b+1|0}f[c+88>>2]=k;f[R+92>>2]=b;d=F;F=b;o=jb(d^k,b^C,1);b=B;t=b;f[c+48>>2]=o;f[c+52>>2]=b;X=Y;b=f[c+216>>2];j=f[c+220>>2];la=jb(T^Z,l^la,1);d=b;Z=B;b=s+Z|0;Y=h+la|0;if(Y>>>0<h>>>0){b=b+1|0}T=Y;Y=d+T|0;b=b+j|0;b=Y>>>0<T>>>0?b+1|0:b;T=b;b=b+ha|0;X=X+Y|0;if(X>>>0<Y>>>0){b=b+1|0}h=X;ha=b;X=jb(J^Y,n^T,32);J=B;b=m+J|0;Y=u+X|0;if(Y>>>0<u>>>0){b=b+1|0}u=Y;d=Z;Z=b;Y=jb(u^la,d^b,40);m=B;b=m+ha|0;T=Y;ha=T+h|0;if(ha>>>0<T>>>0){b=b+1|0}la=ha;f[R+16>>2]=ha;f[R+20>>2]=b;T=b;R=jb(X^ha,b^J,48);b=B;X=b;f[c+104>>2]=R;f[c+108>>2]=b;b=b+Z|0;J=u+R|0;if(J>>>0<R>>>0){b=b+1|0}f[c+64>>2]=J;f[c+68>>2]=b;Z=b;u=jb(J^Y,b^m,1);b=B;h=b;f[c+56>>2]=u;f[c+60>>2]=b;Y=c;m=f[c+152>>2];j=f[c+156>>2];b=z+ka|0;ha=r+ba|0;if(ha>>>0<ba>>>0){b=b+1|0}ba=ha+ja|0;b=b+K|0;b=ba>>>0<ja>>>0?b+1|0:b;d=aa^ba;aa=b;ja=jb(d,w^b,32);K=B;b=e+K|0;ha=v+ja|0;if(ha>>>0<v>>>0){b=b+1|0}e=ha;ha=b;ka=jb(r^e,z^b,40);d=m;m=B;b=aa+m|0;aa=ba+ka|0;if(aa>>>0<ba>>>0){b=b+1|0}ba=d+aa|0;b=b+j|0;v=ba;f[Y+24>>2]=v;b=v>>>0<aa>>>0?b+1|0:b;f[Y+28>>2]=b;ba=b;Y=jb(v^ja,b^K,48);b=B;ja=b;f[c+112>>2]=Y;f[c+116>>2]=b;b=ha+b|0;K=e+Y|0;if(K>>>0<Y>>>0){b=b+1|0}ha=K;f[c+72>>2]=K;f[c+76>>2]=b;aa=jb(K^ka,b^m,1);ka=B;K=ka;f[c+32>>2]=aa;f[c+36>>2]=K;Z=Z^(f[c+4>>2]^f[a+4>>2]);f[a>>2]=J^(f[c>>2]^f[a>>2]);f[a+4>>2]=Z;b=b^(f[a+12>>2]^ea);f[a+8>>2]=ha^(f[a+8>>2]^$);f[a+12>>2]=b;b=f[c+80>>2];Z=f[c+84>>2];ba=F^(f[a+28>>2]^ba);f[a+24>>2]=k^(f[a+24>>2]^v);f[a+28>>2]=ba;ba=i^(f[a+36>>2]^K);f[a+32>>2]=ga^(f[a+32>>2]^aa);f[a+36>>2]=ba;ga=f[a+20>>2]^T^Z;f[a+16>>2]=f[a+16>>2]^la^b;f[a+20>>2]=ga;b=f[c+40>>2];ga=f[c+44>>2];ba=ja^(f[a+52>>2]^t);f[a+48>>2]=Y^(f[a+48>>2]^o);f[a+52>>2]=ba;Y=X^(f[a+44>>2]^ga);f[a+40>>2]=R^(f[a+40>>2]^b);f[a+44>>2]=Y;b=f[c+124>>2]^(f[a+60>>2]^h);f[a+56>>2]=f[c+120>>2]^(f[a+56>>2]^u);f[a+60>>2]=b;A=c+256|0}function Qa(a,b,c,d){var e=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0;e=A-2832|0;A=e;m=-1;a:{if(g[d+63|0]>31){break a}if(!ia(e+160|0,c)){break a}R(e+640|0);N(e+640|0,d,32);N(e+640|0,c,32);N(e+640|0,a,b);Q(e+640|0,e+96|0);V(e+48|0,e+96|0,64);V(e,d+32|0,32);pa(e+2176|0,e+48|0,5);pa(e+1920|0,e,7);_(e+2432|0,e+160|0);a=e+2552|0;M(e+480|0,e+2432|0,a);b=e+2472|0;c=e+2512|0;M(e+520|0,b,c);o=e+560|0;M(o,c,a);v=e+600|0;M(v,e+2432|0,b);a=f[e+200>>2];b=f[e+160>>2];c=(a-b|0)+134217690|0;f[e+640>>2]=c&67108863;h=c>>>26|0;c=f[e+204>>2];m=f[e+164>>2];s=((h+c|0)-m|0)+67108862|0;f[e+644>>2]=s&33554431;t=f[e+208>>2];x=f[e+168>>2];s=(t-x+(s>>>25)|0)+134217726|0;f[e+648>>2]=s&67108863;y=f[e+212>>2];j=f[e+172>>2];s=(y-j+(s>>>26)|0)+67108862|0;f[e+652>>2]=s&33554431;h=f[e+216>>2];i=f[e+176>>2];f[e+656>>2]=(h-i+(s>>>25)|0)+134217726;s=f[e+180>>2];n=f[e+220>>2];f[e+700>>2]=s+n;f[e+696>>2]=h+i;f[e+692>>2]=j+y;f[e+688>>2]=t+x;f[e+684>>2]=c+m;c=f[e+196>>2];m=f[e+236>>2];f[e+716>>2]=c+m;t=f[e+192>>2];x=f[e+232>>2];f[e+712>>2]=t+x;y=f[e+188>>2];j=f[e+228>>2];f[e+708>>2]=y+j;h=f[e+184>>2];i=f[e+224>>2];f[e+704>>2]=h+i;f[e+660>>2]=(n-s|0)+67108862;f[e+680>>2]=a+b;f[e+664>>2]=(i-h|0)+134217726;f[e+668>>2]=(j-y|0)+67108862;f[e+672>>2]=(x-t|0)+134217726;f[e+676>>2]=(m-c|0)+67108862;f[e+720>>2]=f[e+240>>2];f[e+724>>2]=f[e+244>>2];f[e+728>>2]=f[e+248>>2];f[e+732>>2]=f[e+252>>2];f[e+736>>2]=f[e+256>>2];f[e+740>>2]=f[e+260>>2];f[e+744>>2]=f[e+264>>2];f[e+748>>2]=f[e+268>>2];f[e+752>>2]=f[e+272>>2];f[e+756>>2]=f[e+276>>2];M(e+760|0,e+280|0,29616);c=0;while(1){a=f[e+520>>2];b=f[e+480>>2];m=(a-b|0)+134217690|0;f[e+2784>>2]=m&67108863;h=m>>>26|0;m=f[e+524>>2];s=f[e+484>>2];t=((h+m|0)-s|0)+67108862|0;f[e+2788>>2]=t&33554431;x=f[e+528>>2];y=f[e+488>>2];t=(x-y+(t>>>25)|0)+134217726|0;f[e+2792>>2]=t&67108863;j=f[e+532>>2];h=f[e+492>>2];t=(j-h+(t>>>26)|0)+67108862|0;f[e+2796>>2]=t&33554431;i=f[e+536>>2];n=f[e+496>>2];f[e+2800>>2]=(i-n+(t>>>25)|0)+134217726;t=f[e+540>>2];p=f[e+500>>2];f[e+2804>>2]=(t-p|0)+67108862;q=f[e+544>>2];r=f[e+504>>2];f[e+2808>>2]=(q-r|0)+134217726;k=f[e+548>>2];u=f[e+508>>2];f[e+2812>>2]=(k-u|0)+67108862;w=f[e+552>>2];z=f[e+512>>2];f[e+2816>>2]=(w-z|0)+134217726;B=f[e+556>>2];C=f[e+516>>2];f[e+2820>>2]=(B-C|0)+67108862;f[e+2772>>2]=B+C;f[e+2768>>2]=w+z;f[e+2764>>2]=k+u;f[e+2760>>2]=q+r;f[e+2756>>2]=p+t;f[e+2752>>2]=i+n;f[e+2748>>2]=h+j;f[e+2744>>2]=x+y;f[e+2740>>2]=m+s;f[e+2736>>2]=a+b;a=(e+640|0)+l(c,160)|0;M(e+2784|0,e+2784|0,a);M(e+2432|0,e+2736|0,a+40|0);b=f[e+2784>>2];m=f[e+2432>>2];f[e+320>>2]=b+m;s=f[e+2788>>2];t=f[e+2436>>2];f[e+324>>2]=s+t;x=f[e+2792>>2];y=f[e+2440>>2];f[e+328>>2]=x+y;j=f[e+2796>>2];h=f[e+2444>>2];f[e+332>>2]=j+h;i=f[e+2800>>2];n=f[e+2448>>2];f[e+336>>2]=i+n;p=f[e+2804>>2];q=f[e+2452>>2];f[e+340>>2]=p+q;f[e+2452>>2]=(q-p|0)+67108862;b=(m-b|0)+134217690|0;f[e+2432>>2]=b&67108863;m=f[e+2808>>2];p=f[e+2456>>2];f[e+344>>2]=m+p;q=f[e+2812>>2];r=f[e+2460>>2];f[e+348>>2]=q+r;k=f[e+2816>>2];u=f[e+2464>>2];f[e+352>>2]=k+u;w=f[e+2820>>2];z=f[e+2468>>2];f[e+356>>2]=w+z;f[e+2460>>2]=(r-q|0)+67108862;f[e+2464>>2]=(u-k|0)+134217726;f[e+2468>>2]=(z-w|0)+67108862;f[e+2456>>2]=(p-m|0)+134217726;b=((t+(b>>>26|0)|0)-s|0)+67108862|0;f[e+2436>>2]=b&33554431;b=(y-x+(b>>>25)|0)+134217726|0;f[e+2440>>2]=b&67108863;b=(h-j+(b>>>26)|0)+67108862|0;f[e+2444>>2]=b&33554431;f[e+2448>>2]=(n-i+(b>>>25)|0)+134217726;M(e+2688|0,v,a+120|0);M(e+2592|0,o,a+80|0);p=f[e+2596>>2];b=f[e+2692>>2];m=f[e+2592>>2]<<1;f[e+2592>>2]=m;s=f[e+2688>>2];t=f[e+2628>>2]<<1;f[e+2628>>2]=t;x=f[e+2624>>2]<<1;f[e+2624>>2]=x;y=f[e+2620>>2]<<1;f[e+2620>>2]=y;j=f[e+2616>>2]<<1;f[e+2616>>2]=j;h=f[e+2612>>2]<<1;f[e+2612>>2]=h;i=f[e+2608>>2]<<1;f[e+2608>>2]=i;n=f[e+2604>>2]<<1;f[e+2604>>2]=n;q=f[e+2600>>2];p=p<<1;r=m+s|0;k=p+b+(r>>>26)|0;f[e+2644>>2]=k&33554431;u=f[e+2696>>2];q=q<<1;k=u+q+(k>>>25)|0;f[e+2648>>2]=k&67108863;w=f[e+2700>>2];k=w+n+(k>>>26)|0;f[e+2652>>2]=k&33554431;z=f[e+2704>>2];k=z+i+(k>>>25)|0;f[e+2656>>2]=k&67108863;B=f[e+2708>>2];k=B+h+(k>>>26)|0;f[e+2660>>2]=k&33554431;C=f[e+2712>>2];k=C+j+(k>>>25)|0;f[e+2664>>2]=k&67108863;D=f[e+2716>>2];k=D+y+(k>>>26)|0;f[e+2668>>2]=k&33554431;E=f[e+2720>>2];k=E+x+(k>>>25)|0;f[e+2672>>2]=k&67108863;F=f[e+2724>>2];k=F+t+(k>>>26)|0;f[e+2676>>2]=k&33554431;f[e+2640>>2]=l(k>>>25|0,19)+(r&67108863);k=t-F|0;r=x-E|0;D=y-D|0;p=p-b|0;b=(m-s|0)+268435380|0;m=(p+(b>>>26|0)|0)+134217724|0;s=(q-u+(m>>>25)|0)+268435452|0;t=(n-w+(s>>>26)|0)+134217724|0;x=(i-z+(t>>>25)|0)+268435452|0;y=(h-B+(x>>>26)|0)+134217724|0;j=(j-C+(y>>>25)|0)+268435452|0;h=(D+(j>>>26|0)|0)+134217724|0;i=(r+(h>>>25|0)|0)+268435452|0;n=(k+(i>>>26|0)|0)+134217724|0;f[e+2628>>2]=n&33554431;f[e+2624>>2]=i&67108863;f[e+2620>>2]=h&33554431;f[e+2616>>2]=j&67108863;f[e+2612>>2]=y&33554431;f[e+2608>>2]=x&67108863;f[e+2604>>2]=t&33554431;f[e+2600>>2]=s&67108863;f[e+2596>>2]=m&33554431;f[e+2592>>2]=l(n>>>25|0,19)+(b&67108863);M(a+200|0,e+2432|0,e+2592|0);M(a+160|0,e+320|0,e+2640|0);M(a+240|0,e+2640|0,e+2592|0);b=a+280|0;M(b,e+2432|0,e+320|0);y=f[a+160>>2];j=f[a+200>>2];m=(y-j|0)+134217690|0;f[a+160>>2]=m&67108863;h=f[a+164>>2];i=f[a+204>>2];m=((h+(m>>>26|0)|0)-i|0)+67108862|0;f[a+164>>2]=m&33554431;n=f[a+168>>2];p=f[a+208>>2];m=(n-p+(m>>>25)|0)+134217726|0;f[a+168>>2]=m&67108863;q=f[a+172>>2];r=f[a+212>>2];m=(q-r+(m>>>26)|0)+67108862|0;f[a+172>>2]=m&33554431;k=f[a+176>>2];u=f[a+216>>2];f[a+176>>2]=(k-u+(m>>>25)|0)+134217726;m=f[a+196>>2];s=f[a+192>>2];t=f[a+188>>2];x=f[a+184>>2];w=f[a+180>>2];z=f[a+220>>2];f[a+180>>2]=(w-z|0)+67108862;B=f[a+224>>2];f[a+184>>2]=(x-B|0)+134217726;C=f[a+228>>2];f[a+188>>2]=(t-C|0)+67108862;D=f[a+232>>2];f[a+192>>2]=(s-D|0)+134217726;f[a+216>>2]=k+u;f[a+204>>2]=h+i;f[a+208>>2]=n+p;f[a+212>>2]=q+r;f[a+220>>2]=w+z;f[a+224>>2]=x+B;f[a+228>>2]=t+C;f[a+232>>2]=s+D;s=f[a+236>>2];f[a+200>>2]=j+y;f[a+236>>2]=m+s;f[a+196>>2]=(m-s|0)+67108862;M(b,b,29616);c=c+1|0;if((c|0)!=7){continue}break}O(e+320|0,0,160);f[e+400>>2]=1;f[e+360>>2]=1;t=e+400|0;y=e+360|0;m=255;b:{while(1){c=m;if(!(g[m+(e+1920|0)|0]|g[(e+2176|0)+m|0])){m=c+ -1|0;if(c){continue}break b}break}if((c|0)<0){break b}x=e+440|0;m=e+2512|0;s=e+2472|0;b=e+2552|0;while(1){_(e+2432|0,e+320|0);a=g[(e+2176|0)+c|0];if(a){M(e+320|0,e+2432|0,b);M(y,s,m);M(t,m,b);M(x,e+2432|0,s);j=f[e+360>>2];h=f[e+320>>2];i=(j-h|0)+134217690|0;f[e+2784>>2]=i&67108863;k=i>>>26|0;i=f[e+364>>2];n=f[e+324>>2];o=((k+i|0)-n|0)+67108862|0;f[e+2788>>2]=o&33554431;v=f[e+368>>2];p=f[e+328>>2];o=(v-p+(o>>>25)|0)+134217726|0;f[e+2792>>2]=o&67108863;q=f[e+372>>2];r=f[e+332>>2];o=(q-r+(o>>>26)|0)+67108862|0;f[e+2796>>2]=o&33554431;k=f[e+376>>2];u=f[e+336>>2];f[e+2800>>2]=(k-u+(o>>>25)|0)+134217726;o=f[e+380>>2];w=f[e+340>>2];f[e+2804>>2]=(o-w|0)+67108862;f[e+2736>>2]=h+j;f[e+2740>>2]=i+n;f[e+2744>>2]=p+v;f[e+2748>>2]=q+r;f[e+2752>>2]=k+u;f[e+2756>>2]=o+w;j=f[e+344>>2];h=f[e+384>>2];f[e+2760>>2]=j+h;i=f[e+348>>2];n=f[e+388>>2];f[e+2764>>2]=i+n;o=f[e+352>>2];v=f[e+392>>2];f[e+2768>>2]=o+v;p=f[e+356>>2];q=f[e+396>>2];f[e+2772>>2]=p+q;f[e+2808>>2]=(h-j|0)+134217726;f[e+2812>>2]=(n-i|0)+67108862;f[e+2816>>2]=(v-o|0)+134217726;f[e+2820>>2]=(q-p|0)+67108862;i=a<<24>>24;j=i>>31;h=a>>>7|0;a=(e+640|0)+l((j^i+j)>>>1|0,160)|0;M(e+2784|0,e+2784|0,l(h,40)+a|0);j=h^1;M(e+2432|0,e+2736|0,a+l(j,40)|0);i=f[e+2784>>2];n=f[e+2432>>2];f[e+2472>>2]=i+n;o=f[e+2788>>2];v=f[e+2436>>2];f[e+2476>>2]=o+v;p=f[e+2792>>2];q=f[e+2440>>2];f[e+2480>>2]=p+q;r=f[e+2796>>2];k=f[e+2444>>2];f[e+2484>>2]=r+k;u=f[e+2800>>2];w=f[e+2448>>2];f[e+2488>>2]=u+w;z=f[e+2804>>2];B=f[e+2452>>2];f[e+2492>>2]=z+B;f[e+2452>>2]=(B-z|0)+67108862;i=(n-i|0)+134217690|0;f[e+2432>>2]=i&67108863;n=f[e+2808>>2];z=f[e+2456>>2];f[e+2496>>2]=n+z;B=f[e+2812>>2];C=f[e+2460>>2];f[e+2500>>2]=B+C;D=f[e+2816>>2];E=f[e+2464>>2];f[e+2504>>2]=D+E;F=f[e+2820>>2];G=f[e+2468>>2];f[e+2508>>2]=F+G;f[e+2460>>2]=(C-B|0)+67108862;f[e+2464>>2]=(E-D|0)+134217726;f[e+2468>>2]=(G-F|0)+67108862;f[e+2456>>2]=(z-n|0)+134217726;i=((v+(i>>>26|0)|0)-o|0)+67108862|0;f[e+2436>>2]=i&33554431;i=(q-p+(i>>>25)|0)+134217726|0;f[e+2440>>2]=i&67108863;i=(k-r+(i>>>26)|0)+67108862|0;f[e+2444>>2]=i&33554431;f[e+2448>>2]=(w-u+(i>>>25)|0)+134217726;M(e+2688|0,x,a+120|0);M(b,t,a+80|0);a=f[e+2552>>2];i=(a>>>25&63)+(f[e+2556>>2]<<1)|0;n=i&33554431;f[e+2556>>2]=n;i=(f[e+2560>>2]<<1)+(i>>>25|0)|0;o=i&67108863;f[e+2560>>2]=o;i=(f[e+2564>>2]<<1)+(i>>>26|0)|0;v=i&33554431;f[e+2564>>2]=v;i=(f[e+2568>>2]<<1)+(i>>>25|0)|0;p=i&67108863;f[e+2568>>2]=p;i=(f[e+2572>>2]<<1)+(i>>>26|0)|0;q=i&33554431;f[e+2572>>2]=q;i=(f[e+2576>>2]<<1)+(i>>>25|0)|0;r=i&67108863;f[e+2576>>2]=r;i=(f[e+2580>>2]<<1)+(i>>>26|0)|0;k=i&33554431;f[e+2580>>2]=k;i=(f[e+2584>>2]<<1)+(i>>>25|0)|0;u=i&67108863;f[e+2584>>2]=u;i=(f[e+2588>>2]<<1)+(i>>>26|0)|0;w=i&33554431;f[e+2588>>2]=w;a=l(i>>>25|0,19)+(a<<1&67108862)|0;f[e+2552>>2]=a;f[e+2548>>2]=w;f[e+2544>>2]=u;f[e+2540>>2]=k;f[e+2536>>2]=r;f[e+2532>>2]=q;f[e+2528>>2]=p;f[e+2524>>2]=v;f[e+2520>>2]=o;f[e+2516>>2]=n;f[e+2512>>2]=a;a=(e+2432|0)+l(h|2,40)|0;h=f[e+2688>>2];f[a>>2]=h+f[a>>2];i=f[e+2692>>2];f[a+4>>2]=i+f[a+4>>2];n=f[e+2696>>2];f[a+8>>2]=n+f[a+8>>2];o=f[e+2700>>2];f[a+12>>2]=o+f[a+12>>2];v=f[e+2704>>2];f[a+16>>2]=v+f[a+16>>2];p=f[e+2708>>2];f[a+20>>2]=p+f[a+20>>2];q=f[e+2712>>2];f[a+24>>2]=q+f[a+24>>2];r=f[e+2716>>2];f[a+28>>2]=r+f[a+28>>2];k=f[e+2720>>2];f[a+32>>2]=k+f[a+32>>2];u=f[e+2724>>2];f[a+36>>2]=u+f[a+36>>2];a=(e+2432|0)+l(j|2,40)|0;f[a+20>>2]=(f[a+20>>2]-p|0)+67108862;f[a+24>>2]=(f[a+24>>2]-q|0)+134217726;f[a+28>>2]=(f[a+28>>2]-r|0)+67108862;f[a+32>>2]=(f[a+32>>2]-k|0)+134217726;f[a+36>>2]=(f[a+36>>2]-u|0)+67108862;j=(f[a>>2]-h|0)+134217690|0;f[a>>2]=j&67108863;j=(f[a+4>>2]-i+(j>>>26)|0)+67108862|0;f[a+4>>2]=j&33554431;j=(f[a+8>>2]-n+(j>>>25)|0)+134217726|0;f[a+8>>2]=j&67108863;j=(f[a+12>>2]-o+(j>>>26)|0)+67108862|0;f[a+12>>2]=j&33554431;f[a+16>>2]=(f[a+16>>2]-v+(j>>>25)|0)+134217726}a=g[(e+1920|0)+c|0];if(a){M(e+320|0,e+2432|0,b);M(y,s,m);M(t,m,b);M(x,e+2432|0,s);j=f[e+360>>2];h=f[e+320>>2];i=(j-h|0)+134217690|0;f[e+2784>>2]=i&67108863;k=i>>>26|0;i=f[e+364>>2];n=f[e+324>>2];o=((k+i|0)-n|0)+67108862|0;f[e+2788>>2]=o&33554431;v=f[e+368>>2];p=f[e+328>>2];o=(v-p+(o>>>25)|0)+134217726|0;f[e+2792>>2]=o&67108863;q=f[e+372>>2];r=f[e+332>>2];o=(q-r+(o>>>26)|0)+67108862|0;f[e+2796>>2]=o&33554431;k=f[e+376>>2];u=f[e+336>>2];f[e+2800>>2]=(k-u+(o>>>25)|0)+134217726;o=f[e+380>>2];w=f[e+340>>2];f[e+2804>>2]=(o-w|0)+67108862;f[e+2736>>2]=h+j;f[e+2740>>2]=i+n;f[e+2744>>2]=p+v;f[e+2748>>2]=q+r;f[e+2752>>2]=k+u;f[e+2756>>2]=o+w;j=f[e+344>>2];h=f[e+384>>2];f[e+2760>>2]=j+h;i=f[e+348>>2];n=f[e+388>>2];f[e+2764>>2]=i+n;o=f[e+352>>2];v=f[e+392>>2];f[e+2768>>2]=o+v;p=f[e+356>>2];q=f[e+396>>2];f[e+2772>>2]=p+q;f[e+2808>>2]=(h-j|0)+134217726;f[e+2812>>2]=(n-i|0)+67108862;f[e+2816>>2]=(v-o|0)+134217726;f[e+2820>>2]=(q-p|0)+67108862;h=a<<24>>24;j=h>>31;j=l((j^h+j)>>>1|0,120);h=j+25776|0;a=a>>>7|0;M(e+2784|0,e+2784|0,h+l(a,40)|0);i=a^1;M(e+2432|0,e+2736|0,h+l(i,40)|0);h=f[e+2784>>2];n=f[e+2432>>2];f[e+2472>>2]=h+n;o=f[e+2788>>2];v=f[e+2436>>2];f[e+2476>>2]=o+v;p=f[e+2792>>2];q=f[e+2440>>2];f[e+2480>>2]=p+q;r=f[e+2796>>2];k=f[e+2444>>2];f[e+2484>>2]=r+k;u=f[e+2800>>2];w=f[e+2448>>2];f[e+2488>>2]=u+w;z=f[e+2804>>2];B=f[e+2452>>2];f[e+2492>>2]=z+B;f[e+2452>>2]=(B-z|0)+67108862;h=(n-h|0)+134217690|0;f[e+2432>>2]=h&67108863;n=f[e+2808>>2];z=f[e+2456>>2];f[e+2496>>2]=n+z;B=f[e+2812>>2];C=f[e+2460>>2];f[e+2500>>2]=B+C;D=f[e+2816>>2];E=f[e+2464>>2];f[e+2504>>2]=D+E;F=f[e+2820>>2];G=f[e+2468>>2];f[e+2508>>2]=F+G;f[e+2460>>2]=(C-B|0)+67108862;f[e+2464>>2]=(E-D|0)+134217726;f[e+2468>>2]=(G-F|0)+67108862;f[e+2456>>2]=(z-n|0)+134217726;h=((v+(h>>>26|0)|0)-o|0)+67108862|0;f[e+2436>>2]=h&33554431;h=(q-p+(h>>>25)|0)+134217726|0;f[e+2440>>2]=h&67108863;h=(k-r+(h>>>26)|0)+67108862|0;f[e+2444>>2]=h&33554431;f[e+2448>>2]=(w-u+(h>>>25)|0)+134217726;M(e+2688|0,x,j+25856|0);j=f[e+400>>2];h=(j>>>25&63)+(f[e+404>>2]<<1)|0;n=h&33554431;f[e+2556>>2]=n;h=(f[e+408>>2]<<1)+(h>>>25|0)|0;o=h&67108863;f[e+2560>>2]=o;h=(f[e+412>>2]<<1)+(h>>>26|0)|0;v=h&33554431;f[e+2564>>2]=v;h=(f[e+416>>2]<<1)+(h>>>25|0)|0;p=h&67108863;f[e+2568>>2]=p;h=(f[e+420>>2]<<1)+(h>>>26|0)|0;q=h&33554431;f[e+2572>>2]=q;h=(f[e+424>>2]<<1)+(h>>>25|0)|0;r=h&67108863;f[e+2576>>2]=r;h=(f[e+428>>2]<<1)+(h>>>26|0)|0;k=h&33554431;f[e+2580>>2]=k;h=(f[e+432>>2]<<1)+(h>>>25|0)|0;u=h&67108863;f[e+2584>>2]=u;h=(f[e+436>>2]<<1)+(h>>>26|0)|0;w=h&33554431;f[e+2588>>2]=w;f[e+2516>>2]=n;f[e+2520>>2]=o;f[e+2524>>2]=v;f[e+2528>>2]=p;f[e+2532>>2]=q;f[e+2536>>2]=r;f[e+2540>>2]=k;f[e+2544>>2]=u;f[e+2548>>2]=w;j=l(h>>>25|0,19)+(j<<1&67108862)|0;f[e+2512>>2]=j;f[e+2552>>2]=j;a=(e+2432|0)+l(a|2,40)|0;j=f[e+2688>>2];f[a>>2]=j+f[a>>2];h=f[e+2692>>2];f[a+4>>2]=h+f[a+4>>2];n=f[e+2696>>2];f[a+8>>2]=n+f[a+8>>2];o=f[e+2700>>2];f[a+12>>2]=o+f[a+12>>2];v=f[e+2704>>2];f[a+16>>2]=v+f[a+16>>2];p=f[e+2708>>2];f[a+20>>2]=p+f[a+20>>2];q=f[e+2712>>2];f[a+24>>2]=q+f[a+24>>2];r=f[e+2716>>2];f[a+28>>2]=r+f[a+28>>2];k=f[e+2720>>2];f[a+32>>2]=k+f[a+32>>2];u=f[e+2724>>2];f[a+36>>2]=u+f[a+36>>2];a=(e+2432|0)+l(i|2,40)|0;f[a+20>>2]=(f[a+20>>2]-p|0)+67108862;f[a+24>>2]=(f[a+24>>2]-q|0)+134217726;f[a+28>>2]=(f[a+28>>2]-r|0)+67108862;f[a+32>>2]=(f[a+32>>2]-k|0)+134217726;f[a+36>>2]=(f[a+36>>2]-u|0)+67108862;j=(f[a>>2]-j|0)+134217690|0;f[a>>2]=j&67108863;j=(f[a+4>>2]-h+(j>>>26)|0)+67108862|0;f[a+4>>2]=j&33554431;j=(f[a+8>>2]-n+(j>>>25)|0)+134217726|0;f[a+8>>2]=j&67108863;j=(f[a+12>>2]-o+(j>>>26)|0)+67108862|0;f[a+12>>2]=j&33554431;f[a+16>>2]=(f[a+16>>2]-v+(j>>>25)|0)+134217726}M(e+320|0,e+2432|0,b);M(y,s,m);M(t,m,b);a=(c|0)>0;c=c+ -1|0;if(a){continue}break}}da(e+640|0,e+320|0);m=ha(d,e+640|0)?0:-1}A=e+2832|0;return m}function xa(a){a=a|0;var b=0,c=0,d=0,e=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=A-16|0;A=o;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){h=f[7765];j=a>>>0<11?16:a+11&-8;a=j>>>3|0;b=h>>>a|0;if(b&3){c=a+((b^-1)&1)|0;e=c<<3;b=f[e+31108>>2];a=b+8|0;d=f[b+8>>2];e=e+31100|0;l:{if((d|0)==(e|0)){f[7765]=ib(-2,c)&h;break l}f[d+12>>2]=e;f[e+8>>2]=d}c=c<<3;f[b+4>>2]=c|3;b=b+c|0;f[b+4>>2]=f[b+4>>2]|1;break a}l=f[7767];if(j>>>0<=l>>>0){break k}if(b){c=2<<a;a=(0-c|c)&b<<a;a=(0-a&a)+ -1|0;b=a>>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;c=(c|b)+(a>>>b|0)|0;d=c<<3;b=f[d+31108>>2];a=f[b+8>>2];d=d+31100|0;m:{if((a|0)==(d|0)){h=ib(-2,c)&h;f[7765]=h;break m}f[a+12>>2]=d;f[d+8>>2]=a}a=b+8|0;f[b+4>>2]=j|3;k=b+j|0;c=c<<3;e=c-j|0;f[k+4>>2]=e|1;f[b+c>>2]=e;if(l){c=l>>>3|0;b=(c<<3)+31100|0;d=f[7770];c=1<<c;n:{if(!(c&h)){f[7765]=c|h;c=b;break n}c=f[b+8>>2]}f[b+8>>2]=d;f[c+12>>2]=d;f[d+12>>2]=b;f[d+8>>2]=c}f[7770]=k;f[7767]=e;break a}n=f[7766];if(!n){break k}a=(n&0-n)+ -1|0;b=a>>>12&16;c=b;a=a>>>b|0;b=a>>>5&8;c=c|b;a=a>>>b|0;b=a>>>2&4;c=c|b;a=a>>>b|0;b=a>>>1&2;c=c|b;a=a>>>b|0;b=a>>>1&1;b=f[((c|b)+(a>>>b|0)<<2)+31364>>2];d=(f[b+4>>2]&-8)-j|0;c=b;while(1){o:{a=f[c+16>>2];if(!a){a=f[c+20>>2];if(!a){break o}}e=(f[a+4>>2]&-8)-j|0;c=e>>>0<d>>>0;d=c?e:d;b=c?a:b;c=a;continue}break}m=f[b+24>>2];e=f[b+12>>2];if((e|0)!=(b|0)){a=f[b+8>>2];f[a+12>>2]=e;f[e+8>>2]=a;break b}c=b+20|0;a=f[c>>2];if(!a){a=f[b+16>>2];if(!a){break j}c=b+16|0}while(1){k=c;e=a;c=a+20|0;a=f[c>>2];if(a){continue}c=e+16|0;a=f[e+16>>2];if(a){continue}break}f[k>>2]=0;break b}j=-1;if(a>>>0>4294967231){break k}b=a+11|0;j=b&-8;l=f[7766];if(!l){break k}c=0-j|0;b=b>>>8|0;h=0;p:{if(!b){break p}h=31;if(j>>>0>16777215){break p}d=b+1048320>>>16&8;b=b<<d;a=b+520192>>>16&4;h=b<<a;b=h+245760>>>16&2;a=(h<<b>>>15|0)-(b|(a|d))|0;h=(a<<1|j>>>a+21&1)+28|0}d=f[(h<<2)+31364>>2];q:{r:{s:{if(!d){a=0;break s}b=j<<((h|0)==31?0:25-(h>>>1|0)|0);a=0;while(1){t:{k=(f[d+4>>2]&-8)-j|0;if(k>>>0>=c>>>0){break t}e=d;c=k;if(c){break t}c=0;a=d;break r}k=f[d+20>>2];d=f[((b>>>29&4)+d|0)+16>>2];a=k?(k|0)==(d|0)?a:k:a;b=b<<((d|0)!=0);if(d){continue}break}}if(!(a|e)){a=2<<h;a=(0-a|a)&l;if(!a){break k}a=(a&0-a)+ -1|0;b=a>>>12&16;d=b;a=a>>>b|0;b=a>>>5&8;d=d|b;a=a>>>b|0;b=a>>>2&4;d=d|b;a=a>>>b|0;b=a>>>1&2;d=d|b;a=a>>>b|0;b=a>>>1&1;a=f[((d|b)+(a>>>b|0)<<2)+31364>>2]}if(!a){break q}}while(1){d=(f[a+4>>2]&-8)-j|0;b=d>>>0<c>>>0;c=b?d:c;e=b?a:e;b=f[a+16>>2];if(b){a=b}else{a=f[a+20>>2]}if(a){continue}break}}if(!e|c>>>0>=f[7767]-j>>>0){break k}k=f[e+24>>2];b=f[e+12>>2];if((e|0)!=(b|0)){a=f[e+8>>2];f[a+12>>2]=b;f[b+8>>2]=a;break c}d=e+20|0;a=f[d>>2];if(!a){a=f[e+16>>2];if(!a){break i}d=e+16|0}while(1){h=d;b=a;d=a+20|0;a=f[d>>2];if(a){continue}d=b+16|0;a=f[b+16>>2];if(a){continue}break}f[h>>2]=0;break c}b=f[7767];if(b>>>0>=j>>>0){a=f[7770];c=b-j|0;u:{if(c>>>0>=16){f[7767]=c;d=a+j|0;f[7770]=d;f[d+4>>2]=c|1;f[a+b>>2]=c;f[a+4>>2]=j|3;break u}f[7770]=0;f[7767]=0;f[a+4>>2]=b|3;b=a+b|0;f[b+4>>2]=f[b+4>>2]|1}a=a+8|0;break a}d=f[7768];if(d>>>0>j>>>0){b=d-j|0;f[7768]=b;a=f[7771];c=a+j|0;f[7771]=c;f[c+4>>2]=b|1;f[a+4>>2]=j|3;a=a+8|0;break a}a=0;e=j+47|0;c=e;if(f[7883]){b=f[7885]}else{f[7886]=-1;f[7887]=-1;f[7884]=4096;f[7885]=4096;f[7883]=o+12&-16^1431655768;f[7888]=0;f[7876]=0;b=4096}h=c+b|0;k=0-b|0;c=h&k;if(c>>>0<=j>>>0){break a}b=f[7875];if(b){l=f[7873];m=l+c|0;if(m>>>0<=l>>>0|m>>>0>b>>>0){break a}}if(g[31504]&4){break f}v:{w:{b=f[7771];if(b){a=31508;while(1){l=f[a>>2];if(l+f[a+4>>2]>>>0>b>>>0?l>>>0<=b>>>0:0){break w}a=f[a+8>>2];if(a){continue}break}}b=W(0);if((b|0)==-1){break g}h=c;a=f[7884];d=a+ -1|0;if(d&b){h=(c-b|0)+(b+d&0-a)|0}if(h>>>0<=j>>>0|h>>>0>2147483646){break g}a=f[7875];if(a){d=f[7873];k=d+h|0;if(k>>>0<=d>>>0|k>>>0>a>>>0){break g}}a=W(h);if((b|0)!=(a|0)){break v}break e}h=k&h-d;if(h>>>0>2147483646){break g}b=W(h);if((b|0)==(f[a>>2]+f[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|j+48>>>0<=h>>>0)){b=f[7885];b=b+(e-h|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((W(b)|0)!=-1){h=b+h|0;b=a;break e}W(0-h|0);break g}b=a;if((a|0)!=-1){break e}break g}e=0;break b}b=0;break c}if((b|0)!=-1){break e}}f[7876]=f[7876]|4}if(c>>>0>2147483646){break d}b=W(c);a=W(0);if(b>>>0>=a>>>0|(b|0)==-1|(a|0)==-1){break d}h=a-b|0;if(h>>>0<=j+40>>>0){break d}}a=f[7873]+h|0;f[7873]=a;if(a>>>0>i[7874]){f[7874]=a}x:{y:{z:{c=f[7771];if(c){a=31508;while(1){d=f[a>>2];e=f[a+4>>2];if((d+e|0)==(b|0)){break z}a=f[a+8>>2];if(a){continue}break}break y}a=f[7769];if(!(b>>>0>=a>>>0?a:0)){f[7769]=b}a=0;f[7878]=h;f[7877]=b;f[7773]=-1;f[7774]=f[7883];f[7880]=0;while(1){c=a<<3;d=c+31100|0;f[c+31108>>2]=d;f[c+31112>>2]=d;a=a+1|0;if((a|0)!=32){continue}break}a=h+ -40|0;c=b+8&7?-8-b&7:0;d=a-c|0;f[7768]=d;c=b+c|0;f[7771]=c;f[c+4>>2]=d|1;f[(a+b|0)+4>>2]=40;f[7772]=f[7887];break x}if(g[a+12|0]&8|b>>>0<=c>>>0|d>>>0>c>>>0){break y}f[a+4>>2]=e+h;a=c+8&7?-8-c&7:0;b=a+c|0;f[7771]=b;d=f[7768]+h|0;a=d-a|0;f[7768]=a;f[b+4>>2]=a|1;f[(c+d|0)+4>>2]=40;f[7772]=f[7887];break x}e=f[7769];if(b>>>0<e>>>0){f[7769]=b;e=0}d=b+h|0;a=31508;A:{B:{C:{D:{E:{F:{while(1){if((d|0)!=f[a>>2]){a=f[a+8>>2];if(a){continue}break F}break}if(!(g[a+12|0]&8)){break E}}a=31508;while(1){d=f[a>>2];if(d>>>0<=c>>>0){e=d+f[a+4>>2]|0;if(e>>>0>c>>>0){break D}}a=f[a+8>>2];continue}}f[a>>2]=b;f[a+4>>2]=f[a+4>>2]+h;m=(b+8&7?-8-b&7:0)+b|0;f[m+4>>2]=j|3;b=d+(d+8&7?-8-d&7:0)|0;a=(b-m|0)-j|0;k=j+m|0;if((b|0)==(c|0)){f[7771]=k;a=f[7768]+a|0;f[7768]=a;f[k+4>>2]=a|1;break B}if(f[7770]==(b|0)){f[7770]=k;a=f[7767]+a|0;f[7767]=a;f[k+4>>2]=a|1;f[a+k>>2]=a;break B}c=f[b+4>>2];if((c&3)==1){n=c&-8;G:{if(c>>>0<=255){e=c>>>3|0;c=f[b+8>>2];d=f[b+12>>2];if((d|0)==(c|0)){f[7765]=f[7765]&ib(-2,e);break G}f[c+12>>2]=d;f[d+8>>2]=c;break G}l=f[b+24>>2];h=f[b+12>>2];H:{if((h|0)!=(b|0)){c=f[b+8>>2];f[c+12>>2]=h;f[h+8>>2]=c;break H}I:{d=b+20|0;j=f[d>>2];if(j){break I}d=b+16|0;j=f[d>>2];if(j){break I}h=0;break H}while(1){c=d;h=j;d=j+20|0;j=f[d>>2];if(j){continue}d=h+16|0;j=f[h+16>>2];if(j){continue}break}f[c>>2]=0}if(!l){break G}c=f[b+28>>2];d=(c<<2)+31364|0;J:{if(f[d>>2]==(b|0)){f[d>>2]=h;if(h){break J}f[7766]=f[7766]&ib(-2,c);break G}f[l+(f[l+16>>2]==(b|0)?16:20)>>2]=h;if(!h){break G}}f[h+24>>2]=l;c=f[b+16>>2];if(c){f[h+16>>2]=c;f[c+24>>2]=h}c=f[b+20>>2];if(!c){break G}f[h+20>>2]=c;f[c+24>>2]=h}b=b+n|0;a=a+n|0}f[b+4>>2]=f[b+4>>2]&-2;f[k+4>>2]=a|1;f[a+k>>2]=a;if(a>>>0<=255){b=a>>>3|0;a=(b<<3)+31100|0;c=f[7765];b=1<<b;K:{if(!(c&b)){f[7765]=b|c;b=a;break K}b=f[a+8>>2]}f[a+8>>2]=k;f[b+12>>2]=k;f[k+12>>2]=a;f[k+8>>2]=b;break B}c=k;d=a>>>8|0;b=0;L:{if(!d){break L}b=31;if(a>>>0>16777215){break L}e=d+1048320>>>16&8;d=d<<e;b=d+520192>>>16&4;j=d<<b;d=j+245760>>>16&2;b=(j<<d>>>15|0)-(d|(b|e))|0;b=(b<<1|a>>>b+21&1)+28|0}f[c+28>>2]=b;f[k+16>>2]=0;f[k+20>>2]=0;c=(b<<2)+31364|0;d=f[7766];e=1<<b;M:{if(!(d&e)){f[7766]=d|e;f[c>>2]=k;break M}d=a<<((b|0)==31?0:25-(b>>>1|0)|0);b=f[c>>2];while(1){c=b;if((f[b+4>>2]&-8)==(a|0)){break C}b=d>>>29|0;d=d<<1;e=(b&4)+c|0;b=f[e+16>>2];if(b){continue}break}f[e+16>>2]=k}f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break B}a=h+ -40|0;d=b+8&7?-8-b&7:0;k=a-d|0;f[7768]=k;d=b+d|0;f[7771]=d;f[d+4>>2]=k|1;f[(a+b|0)+4>>2]=40;f[7772]=f[7887];a=(e+(e+ -39&7?39-e&7:0)|0)+ -47|0;d=a>>>0<c+16>>>0?c:a;f[d+4>>2]=27;a=f[7880];f[d+16>>2]=f[7879];f[d+20>>2]=a;a=f[7878];f[d+8>>2]=f[7877];f[d+12>>2]=a;f[7879]=d+8;f[7878]=h;f[7877]=b;f[7880]=0;a=d+24|0;while(1){f[a+4>>2]=7;b=a+8|0;a=a+4|0;if(e>>>0>b>>>0){continue}break}if((c|0)==(d|0)){break x}f[d+4>>2]=f[d+4>>2]&-2;e=d-c|0;f[c+4>>2]=e|1;f[d>>2]=e;if(e>>>0<=255){b=e>>>3|0;a=(b<<3)+31100|0;d=f[7765];b=1<<b;N:{if(!(d&b)){f[7765]=b|d;b=a;break N}b=f[a+8>>2]}f[a+8>>2]=c;f[b+12>>2]=c;f[c+12>>2]=a;f[c+8>>2]=b;break x}f[c+16>>2]=0;f[c+20>>2]=0;b=c;d=e>>>8|0;a=0;O:{if(!d){break O}a=31;if(e>>>0>16777215){break O}h=d+1048320>>>16&8;d=d<<h;a=d+520192>>>16&4;k=d<<a;d=k+245760>>>16&2;a=(k<<d>>>15|0)-(d|(a|h))|0;a=(a<<1|e>>>a+21&1)+28|0}f[b+28>>2]=a;b=(a<<2)+31364|0;d=f[7766];h=1<<a;P:{if(!(d&h)){f[7766]=d|h;f[b>>2]=c;f[c+24>>2]=b;break P}a=e<<((a|0)==31?0:25-(a>>>1|0)|0);b=f[b>>2];while(1){d=b;if((e|0)==(f[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;h=d+(b&4)|0;b=f[h+16>>2];if(b){continue}break}f[h+16>>2]=c;f[c+24>>2]=d}f[c+12>>2]=c;f[c+8>>2]=c;break x}a=f[c+8>>2];f[a+12>>2]=k;f[c+8>>2]=k;f[k+24>>2]=0;f[k+12>>2]=c;f[k+8>>2]=a}a=m+8|0;break a}a=f[d+8>>2];f[a+12>>2]=c;f[d+8>>2]=c;f[c+24>>2]=0;f[c+12>>2]=d;f[c+8>>2]=a}a=f[7768];if(a>>>0<=j>>>0){break d}b=a-j|0;f[7768]=b;a=f[7771];c=a+j|0;f[7771]=c;f[c+4>>2]=b|1;f[a+4>>2]=j|3;a=a+8|0;break a}f[7764]=48;a=0;break a}Q:{if(!k){break Q}a=f[e+28>>2];d=(a<<2)+31364|0;R:{if(f[d>>2]==(e|0)){f[d>>2]=b;if(b){break R}l=ib(-2,a)&l;f[7766]=l;break Q}f[k+(f[k+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break Q}}f[b+24>>2]=k;a=f[e+16>>2];if(a){f[b+16>>2]=a;f[a+24>>2]=b}a=f[e+20>>2];if(!a){break Q}f[b+20>>2]=a;f[a+24>>2]=b}S:{if(c>>>0<=15){a=c+j|0;f[e+4>>2]=a|3;a=a+e|0;f[a+4>>2]=f[a+4>>2]|1;break S}f[e+4>>2]=j|3;d=e+j|0;f[d+4>>2]=c|1;f[c+d>>2]=c;if(c>>>0<=255){b=c>>>3|0;a=(b<<3)+31100|0;c=f[7765];b=1<<b;T:{if(!(c&b)){f[7765]=b|c;b=a;break T}b=f[a+8>>2]}f[a+8>>2]=d;f[b+12>>2]=d;f[d+12>>2]=a;f[d+8>>2]=b;break S}b=d;j=c>>>8|0;a=0;U:{if(!j){break U}a=31;if(c>>>0>16777215){break U}h=j+1048320>>>16&8;j=j<<h;a=j+520192>>>16&4;k=j<<a;j=k+245760>>>16&2;a=(k<<j>>>15|0)-(j|(a|h))|0;a=(a<<1|c>>>a+21&1)+28|0}f[b+28>>2]=a;f[d+16>>2]=0;f[d+20>>2]=0;b=(a<<2)+31364|0;V:{j=1<<a;W:{if(!(j&l)){f[7766]=j|l;f[b>>2]=d;break W}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);j=f[b>>2];while(1){b=j;if((f[b+4>>2]&-8)==(c|0)){break V}j=a>>>29|0;a=a<<1;h=(j&4)+b|0;j=f[h+16>>2];if(j){continue}break}f[h+16>>2]=d}f[d+24>>2]=b;f[d+12>>2]=d;f[d+8>>2]=d;break S}a=f[b+8>>2];f[a+12>>2]=d;f[b+8>>2]=d;f[d+24>>2]=0;f[d+12>>2]=b;f[d+8>>2]=a}a=e+8|0;break a}X:{if(!m){break X}a=f[b+28>>2];c=(a<<2)+31364|0;Y:{if(f[c>>2]==(b|0)){f[c>>2]=e;if(e){break Y}f[7766]=ib(-2,a)&n;break X}f[m+(f[m+16>>2]==(b|0)?16:20)>>2]=e;if(!e){break X}}f[e+24>>2]=m;a=f[b+16>>2];if(a){f[e+16>>2]=a;f[a+24>>2]=e}a=f[b+20>>2];if(!a){break X}f[e+20>>2]=a;f[a+24>>2]=e}Z:{if(d>>>0<=15){a=d+j|0;f[b+4>>2]=a|3;a=a+b|0;f[a+4>>2]=f[a+4>>2]|1;break Z}f[b+4>>2]=j|3;j=b+j|0;f[j+4>>2]=d|1;f[d+j>>2]=d;if(l){c=l>>>3|0;a=(c<<3)+31100|0;e=f[7770];c=1<<c;_:{if(!(c&h)){f[7765]=c|h;c=a;break _}c=f[a+8>>2]}f[a+8>>2]=e;f[c+12>>2]=e;f[e+12>>2]=a;f[e+8>>2]=c}f[7770]=j;f[7767]=d}a=b+8|0}A=o+16|0;return a|0}function ga(a,b){var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;C=A-640|0;A=C;g=f[b>>2];n=g<<24|g<<8&16711680;e=f[b+4>>2];c=e<<24|g>>>8;t=c&65280;c=e<<8|g>>>24;n=c&255|t|n;c=e;p=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|d;c=n;n=c;h=C;f[h>>2]=p;f[h+4>>2]=c;d=f[b+8>>2];g=d<<24|d<<8&16711680;e=f[b+12>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+8>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+12>>2]=g;d=f[b+16>>2];g=d<<24|d<<8&16711680;e=f[b+20>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+16>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+20>>2]=g;d=f[b+24>>2];g=d<<24|d<<8&16711680;e=f[b+28>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+24>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+28>>2]=g;d=f[b+32>>2];g=d<<24|d<<8&16711680;e=f[b+36>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+32>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+36>>2]=g;d=f[b+40>>2];g=d<<24|d<<8&16711680;e=f[b+44>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+40>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+44>>2]=g;d=f[b+48>>2];g=d<<24|d<<8&16711680;e=f[b+52>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+48>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+52>>2]=g;d=f[b+56>>2];g=d<<24|d<<8&16711680;e=f[b+60>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+56>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+60>>2]=g;d=f[b+64>>2];g=d<<24|d<<8&16711680;e=f[b+68>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+64>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+68>>2]=g;d=f[b+72>>2];g=d<<24|d<<8&16711680;e=f[b+76>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+72>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+76>>2]=g;d=f[b+80>>2];g=d<<24|d<<8&16711680;e=f[b+84>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+80>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+84>>2]=g;d=f[b+88>>2];g=d<<24|d<<8&16711680;e=f[b+92>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+88>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+92>>2]=g;d=f[b+96>>2];g=d<<24|d<<8&16711680;e=f[b+100>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+96>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+100>>2]=g;d=f[b+104>>2];g=d<<24|d<<8&16711680;e=f[b+108>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+104>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+108>>2]=g;d=f[b+112>>2];g=d<<24|d<<8&16711680;e=f[b+116>>2];c=e<<24|d>>>8;i=c&65280;c=e<<8|d>>>24;g=c&255|i|g;c=e;f[h+112>>2]=((c&255)<<24|d>>>8)&-16777216|((c&16777215)<<8|d>>>24)&16711680|(c>>>8&65280|c>>>24)|j;f[h+116>>2]=g;e=f[b+124>>2];g=f[b+120>>2];j=g<<24|g<<8&16711680;c=e<<24|g>>>8;b=0;t=c&65280;c=e<<8|g>>>24;d=c&255|t|j;f[h+120>>2]=((e&255)<<24|g>>>8)&-16777216|((e&16777215)<<8|g>>>24)&16711680|(e>>>8&65280|e>>>24)|b;f[h+124>>2]=d;b=16;while(1){g=(b<<3)+C|0;e=g;c=e+ -56|0;d=f[c>>2];h=d+p|0;c=f[c+4>>2]+n|0;c=h>>>0<d>>>0?c+1|0:c;n=c;d=e+ -16|0;c=f[d+4>>2];d=f[d>>2];j=jb(d,c,3);t=B;g=h;h=c;c=c>>>6|0;d=jb(d,h,45)^(((h&63)<<26|d>>>6)^j);h=g+d|0;c=(B^(c^t))+n|0;c=h>>>0<d>>>0?c+1|0:c;d=h;h=c;c=e+ -120|0;n=f[c+4>>2];p=f[c>>2];c=jb(p,n,56);j=B;o=d;d=c;g=n;c=g>>>7|0;d=d^((g&127)<<25|p>>>7)^jb(p,g,63);g=o+d|0;c=(B^(c^j))+h|0;f[e>>2]=g;f[e+4>>2]=g>>>0<d>>>0?c+1|0:c;b=b+1|0;if((b|0)!=80){continue}break}b=0;c=a;e=f[c+148>>2];F=f[c+144>>2];p=F;N=e;n=e;j=f[c+156>>2];O=j;G=f[c+152>>2];r=G;h=f[c+204>>2];P=h;H=f[c+200>>2];v=H;g=f[c+196>>2];Q=g;I=f[c+192>>2];m=I;d=f[c+188>>2];R=d;J=f[c+184>>2];l=J;e=f[c+180>>2];S=e;K=f[c+176>>2];s=K;t=f[c+172>>2];T=t;L=f[c+168>>2];q=L;i=f[c+164>>2];U=i;M=f[c+160>>2];x=M;while(1){D=b<<3;c=D+29744|0;o=f[c>>2];k=f[c+4>>2];c=jb(s,e,50);w=B;c=jb(s,e,46)^c;w=B^w;y=o;o=v+(jb(s,e,23)^c)|0;c=h+(B^w)|0;c=o>>>0<v>>>0?c+1|0:c;v=m^s&(l^m);h=v+o|0;c=(g^e&(d^g))+c|0;c=h>>>0<v>>>0?c+1|0:c;v=h;h=y+h|0;c=c+k|0;c=h>>>0<v>>>0?c+1|0:c;v=C+D|0;o=f[v>>2];h=o+h|0;c=f[v+4>>2]+c|0;c=h>>>0<o>>>0?c+1|0:c;o=c;c=jb(p,n,36);k=B;c=jb(p,n,30)^c;w=B^k;u=jb(p,n,25)^c;k=u+(x&(r|p)|r&p)|0;c=(i&(j|n)|j&n)+(B^w)|0;c=k>>>0<u>>>0?c+1|0:c;w=k;k=k+h|0;c=c+o|0;c=k>>>0<w>>>0?c+1|0:c;w=k;v=jb(k,c,36);k=B;y=v;v=c;u=y^jb(w,c,30);y=B^k;k=jb(w,c,25)^u;u=r&(p|w)|p&w;k=k+u|0;c=(j&(c|n)|c&n)+(B^y)|0;y=k;k=k>>>0<u>>>0?c+1|0:c;z=D|8;c=z+29744|0;u=m+f[c>>2]|0;c=g+f[c+4>>2]|0;c=u>>>0<m>>>0?c+1|0:c;g=u;m=z+C|0;u=f[m>>2];g=g+u|0;c=f[m+4>>2]+c|0;c=g>>>0<u>>>0?c+1|0:c;u=g;m=c;c=t+o|0;g=h+q|0;if(g>>>0<h>>>0){c=c+1|0}t=c;c=(d^c&(d^e))+m|0;h=l^(l^s)&g;m=h+u|0;if(m>>>0<h>>>0){c=c+1|0}h=m;m=jb(g,t,50);o=B;m=jb(g,t,46)^m;o=B^o;m=jb(g,t,23)^m;h=m+h|0;c=(B^o)+c|0;c=h>>>0<m>>>0?c+1|0:c;m=c;c=c+k|0;k=h+y|0;if(k>>>0<h>>>0){c=c+1|0}u=k;o=jb(k,c,36);k=B;q=o;o=c;q=q^jb(u,c,30);y=B^k;k=jb(u,c,25)^q;q=p&(u|w)|u&w;k=k+q|0;c=(n&(c|v)|c&v)+(B^y)|0;y=k;k=k>>>0<q>>>0?c+1|0:c;z=D|16;c=z+29744|0;q=l+f[c>>2]|0;c=d+f[c+4>>2]|0;c=q>>>0<l>>>0?c+1|0:c;d=q;l=z+C|0;q=f[l>>2];d=d+q|0;c=f[l+4>>2]+c|0;c=d>>>0<q>>>0?c+1|0:c;q=d;l=c;c=i+m|0;d=h+x|0;if(d>>>0<h>>>0){c=c+1|0}i=c;c=(e^c&(e^t))+l|0;h=s^(g^s)&d;m=h+q|0;if(m>>>0<h>>>0){c=c+1|0}h=m;m=jb(d,i,50);l=B;m=jb(d,i,46)^m;l=B^l;m=jb(d,i,23)^m;h=m+h|0;c=(B^l)+c|0;c=h>>>0<m>>>0?c+1|0:c;m=c;c=c+k|0;k=h+y|0;if(k>>>0<h>>>0){c=c+1|0}y=k;l=jb(k,c,36);q=B;k=c;l=jb(y,c,30)^l;q=B^q;x=w&(u|y)|u&y;l=x+(jb(y,c,25)^l)|0;c=(v&(c|o)|c&o)+(B^q)|0;c=l>>>0<x>>>0?c+1|0:c;x=l;l=c;z=D|24;c=z+29744|0;q=s+f[c>>2]|0;c=e+f[c+4>>2]|0;c=q>>>0<s>>>0?c+1|0:c;e=q;s=z+C|0;q=f[s>>2];e=e+q|0;c=f[s+4>>2]+c|0;s=e;e=e>>>0<q>>>0?c+1|0:c;c=j+m|0;j=h+r|0;if(j>>>0<h>>>0){c=c+1|0}m=c;c=(t^c&(t^i))+e|0;e=g^(d^g)&j;h=e+s|0;if(h>>>0<e>>>0){c=c+1|0}e=h;h=jb(j,m,50);s=B;h=jb(j,m,46)^h;s=B^s;h=jb(j,m,23)^h;e=h+e|0;c=(B^s)+c|0;c=e>>>0<h>>>0?c+1|0:c;h=c;c=c+l|0;s=e+x|0;if(s>>>0<e>>>0){c=c+1|0}z=s;l=jb(s,c,36);r=B;s=c;l=jb(z,c,30)^l;r=B^r;q=u&(y|z)|y&z;l=q+(jb(z,c,25)^l)|0;c=(o&(c|k)|c&k)+(B^r)|0;c=l>>>0<q>>>0?c+1|0:c;q=l;r=c;x=D|32;c=x+29744|0;l=g+f[c>>2]|0;c=t+f[c+4>>2]|0;c=l>>>0<g>>>0?c+1|0:c;g=l;t=x+C|0;l=f[t>>2];g=g+l|0;c=f[t+4>>2]+c|0;t=g;g=g>>>0<l>>>0?c+1|0:c;c=h+n|0;n=e+p|0;if(n>>>0<e>>>0){c=c+1|0}l=c;c=(i^c&(i^m))+g|0;e=d^(d^j)&n;h=e+t|0;if(h>>>0<e>>>0){c=c+1|0}e=h;h=jb(n,l,50);g=B;h=jb(n,l,46)^h;g=B^g;h=jb(n,l,23)^h;e=h+e|0;c=(B^g)+c|0;c=e>>>0<h>>>0?c+1|0:c;h=c;c=c+r|0;t=e+q|0;if(t>>>0<e>>>0){c=c+1|0}q=t;g=jb(q,c,36);r=B;t=c;g=jb(q,c,30)^g;r=B^r;p=y&(q|z)|q&z;g=p+(jb(q,c,25)^g)|0;c=(k&(c|s)|c&s)+(B^r)|0;c=g>>>0<p>>>0?c+1|0:c;p=g;g=c;c=D|40;x=c+C|0;c=c+29744|0;E=f[c>>2];r=f[x>>2]+E|0;c=f[x+4>>2]+f[c+4>>2]|0;c=r>>>0<E>>>0?c+1|0:c;r=d+r|0;c=c+i|0;i=r;d=i>>>0<d>>>0?c+1|0:c;c=h+v|0;h=e+w|0;if(h>>>0<e>>>0){c=c+1|0}v=h;h=c;c=(m^c&(l^m))+d|0;e=j^(j^n)&v;d=e+i|0;if(d>>>0<e>>>0){c=c+1|0}e=d;d=jb(v,h,50);i=B;d=jb(v,h,46)^d;i=B^i;d=jb(v,h,23)^d;e=d+e|0;c=(B^i)+c|0;c=e>>>0<d>>>0?c+1|0:c;d=g;g=c;c=d+c|0;d=e;i=d+p|0;if(i>>>0<d>>>0){c=c+1|0}x=i;d=jb(i,c,36);r=B;i=c;d=jb(x,c,30)^d;r=B^r;p=z&(q|x)|q&x;d=p+(jb(x,c,25)^d)|0;c=(s&(c|t)|c&t)+(B^r)|0;c=d>>>0<p>>>0?c+1|0:c;p=d;d=c;c=D|48;w=c+C|0;c=c+29744|0;E=f[c>>2];r=f[w>>2]+E|0;c=f[w+4>>2]+f[c+4>>2]|0;c=r>>>0<E>>>0?c+1|0:c;r=j+r|0;c=c+m|0;c=r>>>0<j>>>0?c+1|0:c;j=c;c=g+o|0;g=e+u|0;if(g>>>0<e>>>0){c=c+1|0}m=g;g=c;c=(l^c&(h^l))+j|0;e=n^(n^v)&m;j=e+r|0;if(j>>>0<e>>>0){c=c+1|0}e=j;j=jb(m,g,50);o=B;j=jb(m,g,46)^j;o=B^o;j=jb(m,g,23)^j;e=j+e|0;c=(B^o)+c|0;c=e>>>0<j>>>0?c+1|0:c;o=d;d=c;c=o+c|0;o=e+p|0;if(o>>>0<e>>>0){c=c+1|0}r=o;j=jb(o,c,36);o=B;p=j;j=c;p=p^jb(r,c,30);w=B^o;o=jb(r,c,25)^p;p=q&(r|x)|r&x;o=o+p|0;c=(t&(c|i)|c&i)+(B^w)|0;w=o;o=o>>>0<p>>>0?c+1|0:c;c=D|56;D=c+C|0;c=c+29744|0;u=f[c>>2];p=f[D>>2]+u|0;c=f[D+4>>2]+f[c+4>>2]|0;c=p>>>0<u>>>0?c+1|0:c;p=n+p|0;c=c+l|0;c=p>>>0<n>>>0?c+1|0:c;n=c;c=d+k|0;d=e+y|0;if(d>>>0<e>>>0){c=c+1|0}l=d;d=c;c=(h^c&(g^h))+n|0;e=v^(m^v)&l;n=e+p|0;if(n>>>0<e>>>0){c=c+1|0}e=n;n=jb(l,d,50);k=B;n=jb(l,d,46)^n;k=B^k;n=jb(l,d,23)^n;e=n+e|0;c=(B^k)+c|0;c=e>>>0<n>>>0?c+1|0:c;k=o;o=c;c=k+c|0;k=e+w|0;if(k>>>0<e>>>0){c=c+1|0}p=k;n=c;c=o+s|0;s=e+z|0;if(s>>>0<e>>>0){c=c+1|0}e=c;c=b>>>0<72;b=b+8|0;if(c){continue}break}c=h+P|0;h=v+H|0;if(h>>>0<H>>>0){c=c+1|0}b=a;f[b+200>>2]=h;f[b+204>>2]=c;c=g+Q|0;h=m+I|0;if(h>>>0<I>>>0){c=c+1|0}f[a+192>>2]=h;f[b+196>>2]=c;c=d+R|0;h=l+J|0;if(h>>>0<J>>>0){c=c+1|0}f[a+184>>2]=h;f[b+188>>2]=c;c=e+S|0;e=s+K|0;if(e>>>0<K>>>0){c=c+1|0}f[a+176>>2]=e;f[b+180>>2]=c;c=t+T|0;e=q+L|0;if(e>>>0<L>>>0){c=c+1|0}f[a+168>>2]=e;f[b+172>>2]=c;c=i+U|0;e=x+M|0;if(e>>>0<M>>>0){c=c+1|0}f[a+160>>2]=e;f[b+164>>2]=c;c=j+O|0;e=r+G|0;if(e>>>0<G>>>0){c=c+1|0}f[a+152>>2]=e;f[b+156>>2]=c;c=n+N|0;b=p+F|0;if(b>>>0<F>>>0){c=c+1|0}f[a+144>>2]=b;f[a+148>>2]=c;A=C+640|0}function Pa(a,b,c,i,j,k){var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=A-1088|0;A=l;a:{b:{switch(k+ -1|0){case 0:m=i<<8&16711680|i<<24|(i>>>8&65280|i>>>24);d[l+76|0]=m;d[l+77|0]=m>>>8;d[l+78|0]=m>>>16;d[l+79|0]=m>>>24;break a;case 1:break b;default:break a}}d[l+76|0]=i;d[l+77|0]=i>>>8;d[l+78|0]=i>>>16;d[l+79|0]=i>>>24}c:{if(c){O(l+656|0,0,131);n=h[529]|h[530]<<16;m=h[527]|h[528]<<16;e[l+814>>1]=m;e[l+816>>1]=m>>>16;e[l+818>>1]=n;e[l+820>>1]=n>>>16;m=f[263];f[l+808>>2]=f[262];f[l+812>>2]=m;m=f[261];f[l+800>>2]=f[260];f[l+804>>2]=m;X(b,c,l+800|0,l+832|0);Z(l+656|0,l+832|0,l+864|0);f[l+856>>2]=0;f[l+860>>2]=0;f[l+848>>2]=0;f[l+852>>2]=0;f[l+864>>2]=0;f[l+868>>2]=0;f[l+840>>2]=0;f[l+844>>2]=0;f[l+832>>2]=0;f[l+836>>2]=0;Y(l+560|0,l+656|0,a,64);O(l+656|0,0,131);break c}m=a;n=g[m+60|0]|g[m+61|0]<<8|(g[m+62|0]<<16|g[m+63|0]<<24);f[l+616>>2]=g[m+56|0]|g[m+57|0]<<8|(g[m+58|0]<<16|g[m+59|0]<<24);f[l+620>>2]=n;n=g[m+52|0]|g[m+53|0]<<8|(g[m+54|0]<<16|g[m+55|0]<<24);f[l+608>>2]=g[m+48|0]|g[m+49|0]<<8|(g[m+50|0]<<16|g[m+51|0]<<24);f[l+612>>2]=n;n=g[m+44|0]|g[m+45|0]<<8|(g[m+46|0]<<16|g[m+47|0]<<24);f[l+600>>2]=g[m+40|0]|g[m+41|0]<<8|(g[m+42|0]<<16|g[m+43|0]<<24);f[l+604>>2]=n;n=g[m+36|0]|g[m+37|0]<<8|(g[m+38|0]<<16|g[m+39|0]<<24);f[l+592>>2]=g[m+32|0]|g[m+33|0]<<8|(g[m+34|0]<<16|g[m+35|0]<<24);f[l+596>>2]=n;n=g[m+28|0]|g[m+29|0]<<8|(g[m+30|0]<<16|g[m+31|0]<<24);f[l+584>>2]=g[m+24|0]|g[m+25|0]<<8|(g[m+26|0]<<16|g[m+27|0]<<24);f[l+588>>2]=n;n=g[m+20|0]|g[m+21|0]<<8|(g[m+22|0]<<16|g[m+23|0]<<24);f[l+576>>2]=g[m+16|0]|g[m+17|0]<<8|(g[m+18|0]<<16|g[m+19|0]<<24);f[l+580>>2]=n;n=g[m+4|0]|g[m+5|0]<<8|(g[m+6|0]<<16|g[m+7|0]<<24);f[l+560>>2]=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);f[l+564>>2]=n;n=g[m+12|0]|g[m+13|0]<<8|(g[m+14|0]<<16|g[m+15|0]<<24);f[l+568>>2]=g[m+8|0]|g[m+9|0]<<8|(g[m+10|0]<<16|g[m+11|0]<<24);f[l+572>>2]=n}m=a;n=g[m+116|0]|g[m+117|0]<<8|(g[m+118|0]<<16|g[m+119|0]<<24);f[l+672>>2]=g[m+112|0]|g[m+113|0]<<8|(g[m+114|0]<<16|g[m+115|0]<<24);f[l+676>>2]=n;n=g[m+124|0]|g[m+125|0]<<8|(g[m+126|0]<<16|g[m+127|0]<<24);f[l+680>>2]=g[m+120|0]|g[m+121|0]<<8|(g[m+122|0]<<16|g[m+123|0]<<24);f[l+684>>2]=n;n=g[m+100|0]|g[m+101|0]<<8|(g[m+102|0]<<16|g[m+103|0]<<24);f[l+656>>2]=g[m+96|0]|g[m+97|0]<<8|(g[m+98|0]<<16|g[m+99|0]<<24);f[l+660>>2]=n;n=g[m+108|0]|g[m+109|0]<<8|(g[m+110|0]<<16|g[m+111|0]<<24);f[l+664>>2]=g[m+104|0]|g[m+105|0]<<8|(g[m+106|0]<<16|g[m+107|0]<<24);f[l+668>>2]=n;q=O(l+688|0,0,96);m=m+96|0;while(1){n=g[(l+656|0)+o|0];d[(l+960|0)+o|0]=n^54;d[(l+832|0)+o|0]=n^92;o=o+1|0;if((o|0)!=128){continue}break}R(l+80|0);N(l+80|0,l+960|0,128);p=l+288|0;R(p);N(p,l+832|0,128);d:{if((i|0)<=-1){N(l+80|0,1024,1);N(l+80|0,l+560|0,64);break d}N(l+80|0,1026,1);N(l+80|0,a- -64|0,32)}N(l+80|0,l+76|0,4);Q(l+80|0,l);N(p,l,64);Q(p,l);f[l+648>>2]=0;f[l+652>>2]=0;f[l+640>>2]=0;f[l+644>>2]=0;f[l+632>>2]=0;f[l+636>>2]=0;f[l+624>>2]=0;f[l+628>>2]=0;e:{f:{g:{h:{i:{j:{n=k+ -1|0;switch(n|0){case 0:break h;case 1:break j;default:break i}}ma(l+624|0,l);o=0;k=0;while(1){k=g[(l+560|0)+o|0]+(g[(l+624|0)+o|0]+k|0)|0;d[(l+496|0)+o|0]=k;k=k>>>8|0;o=o+1|0;if((o|0)!=32){continue}break}}switch(n|0){case 1:break f;case 0:break g;default:break e}}d[l+624|0]=g[l|0]<<3;d[l+625|0]=g[l+1|0]<<3;d[l+626|0]=g[l+2|0]<<3;d[l+627|0]=g[l+3|0]<<3;d[l+628|0]=g[l+4|0]<<3;d[l+629|0]=g[l+5|0]<<3;d[l+630|0]=g[l+6|0]<<3;d[l+631|0]=g[l+7|0]<<3;d[l+632|0]=g[l+8|0]<<3;d[l+633|0]=g[l+9|0]<<3;d[l+634|0]=g[l+10|0]<<3;d[l+635|0]=g[l+11|0]<<3;d[l+636|0]=g[l+12|0]<<3;d[l+637|0]=g[l+13|0]<<3;d[l+638|0]=g[l+14|0]<<3;d[l+639|0]=g[l+15|0]<<3;d[l+640|0]=g[l+16|0]<<3;d[l+641|0]=g[l+17|0]<<3;d[l+642|0]=g[l+18|0]<<3;d[l+643|0]=g[l+19|0]<<3;d[l+644|0]=g[l+20|0]<<3;d[l+645|0]=g[l+21|0]<<3;d[l+646|0]=g[l+22|0]<<3;d[l+647|0]=g[l+23|0]<<3;d[l+648|0]=g[l+24|0]<<3;d[l+649|0]=g[l+25|0]<<3;d[l+650|0]=g[l+26|0]<<3;d[l+651|0]=g[l+27|0]<<3;d[l+652|0]=g[l+28|0]<<3;d[l+653|0]=g[l+29|0]<<3;d[l+654|0]=g[l+30|0]<<3;d[l+655|0]=g[l+31|0]<<3;Oa(l+624|0,l+560|0,l+496|0)}d[l+528|0]=g[l+592|0]+g[l+32|0];d[l+529|0]=g[l+593|0]+g[l+33|0];d[l+530|0]=g[l+594|0]+g[l+34|0];d[l+531|0]=g[l+595|0]+g[l+35|0];d[l+532|0]=g[l+596|0]+g[l+36|0];d[l+533|0]=g[l+597|0]+g[l+37|0];d[l+534|0]=g[l+598|0]+g[l+38|0];d[l+535|0]=g[l+599|0]+g[l+39|0];d[l+536|0]=g[l+600|0]+g[l+40|0];d[l+537|0]=g[l+601|0]+g[l+41|0];d[l+538|0]=g[l+602|0]+g[l+42|0];d[l+539|0]=g[l+603|0]+g[l+43|0];d[l+540|0]=g[l+604|0]+g[l+44|0];d[l+541|0]=g[l+605|0]+g[l+45|0];d[l+542|0]=g[l+606|0]+g[l+46|0];d[l+543|0]=g[l+607|0]+g[l+47|0];d[l+544|0]=g[l+608|0]+g[l+48|0];d[l+545|0]=g[l+609|0]+g[l+49|0];d[l+546|0]=g[l+610|0]+g[l+50|0];d[l+547|0]=g[l+611|0]+g[l+51|0];d[l+548|0]=g[l+612|0]+g[l+52|0];d[l+549|0]=g[l+613|0]+g[l+53|0];d[l+550|0]=g[l+614|0]+g[l+54|0];d[l+551|0]=g[l+615|0]+g[l+55|0];d[l+552|0]=g[l+616|0]+g[l+56|0];d[l+553|0]=g[l+617|0]+g[l+57|0];d[l+554|0]=g[l+618|0]+g[l+58|0];d[l+555|0]=g[l+619|0]+g[l+59|0];d[l+556|0]=g[l+620|0]+g[l+60|0];d[l+557|0]=g[l+621|0]+g[l+61|0];d[l+558|0]=g[l+622|0]+g[l+62|0];d[l+559|0]=g[l+623|0]+g[l+63|0];break e}r=l+592|0;s=l+32|0;n=l+528|0;o=0;k=0;while(1){k=g[o+r|0]+(g[o+s|0]+k|0)|0;d[n+o|0]=k;k=k>>>0>255;o=o+1|0;if((o|0)!=32){continue}break}}k=g[m+20|0]|g[m+21|0]<<8|(g[m+22|0]<<16|g[m+23|0]<<24);f[l+672>>2]=g[m+16|0]|g[m+17|0]<<8|(g[m+18|0]<<16|g[m+19|0]<<24);f[l+676>>2]=k;k=g[m+28|0]|g[m+29|0]<<8|(g[m+30|0]<<16|g[m+31|0]<<24);f[l+680>>2]=g[m+24|0]|g[m+25|0]<<8|(g[m+26|0]<<16|g[m+27|0]<<24);f[l+684>>2]=k;k=g[m+4|0]|g[m+5|0]<<8|(g[m+6|0]<<16|g[m+7|0]<<24);f[l+656>>2]=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24);f[l+660>>2]=k;k=g[m+12|0]|g[m+13|0]<<8|(g[m+14|0]<<16|g[m+15|0]<<24);f[l+664>>2]=g[m+8|0]|g[m+9|0]<<8|(g[m+10|0]<<16|g[m+11|0]<<24);f[l+668>>2]=k;o=0;O(q,0,96);while(1){k=g[(l+656|0)+o|0];d[(l+960|0)+o|0]=k^54;d[(l+832|0)+o|0]=k^92;o=o+1|0;if((o|0)!=128){continue}break}R(l+80|0);N(l+80|0,l+960|0,128);R(p);N(p,l+832|0,128);k:{if((i|0)<=-1){N(l+80|0,1028,1);N(l+80|0,l+560|0,64);break k}N(l+80|0,1030,1);N(l+80|0,a- -64|0,32)}N(l+80|0,l+76|0,4);Q(l+80|0,l+960|0);N(p,l+960|0,64);Q(p,l+960|0);f[l+616>>2]=0;f[l+620>>2]=0;f[l+608>>2]=0;f[l+612>>2]=0;f[l+600>>2]=0;f[l+604>>2]=0;f[l+592>>2]=0;f[l+596>>2]=0;f[l+584>>2]=0;f[l+588>>2]=0;f[l+576>>2]=0;f[l+580>>2]=0;f[l+568>>2]=0;f[l+572>>2]=0;f[l+560>>2]=0;f[l+564>>2]=0;ba(l+496|0,l+624|0);l:{if(c){O(l+656|0,0,131);i=h[529]|h[530]<<16;a=h[527]|h[528]<<16;e[l+814>>1]=a;e[l+816>>1]=a>>>16;e[l+818>>1]=i;e[l+820>>1]=i>>>16;a=f[263];f[l+808>>2]=f[262];f[l+812>>2]=a;a=f[261];f[l+800>>2]=f[260];f[l+804>>2]=a;X(b,c,l+800|0,l+832|0);Z(l+656|0,l+832|0,l+864|0);f[l+856>>2]=0;f[l+860>>2]=0;f[l+848>>2]=0;f[l+852>>2]=0;f[l+864>>2]=0;f[l+868>>2]=0;f[l+840>>2]=0;f[l+844>>2]=0;f[l+832>>2]=0;f[l+836>>2]=0;Y(j,l+656|0,l+496|0,64);O(l+656|0,0,131);break l}b=f[l+500>>2];a=f[l+496>>2];d[j|0]=a;d[j+1|0]=a>>>8;d[j+2|0]=a>>>16;d[j+3|0]=a>>>24;d[j+4|0]=b;d[j+5|0]=b>>>8;d[j+6|0]=b>>>16;d[j+7|0]=b>>>24;b=f[l+508>>2];a=f[l+504>>2];d[j+8|0]=a;d[j+9|0]=a>>>8;d[j+10|0]=a>>>16;d[j+11|0]=a>>>24;d[j+12|0]=b;d[j+13|0]=b>>>8;d[j+14|0]=b>>>16;d[j+15|0]=b>>>24;b=f[l+556>>2];a=f[l+552>>2];d[j+56|0]=a;d[j+57|0]=a>>>8;d[j+58|0]=a>>>16;d[j+59|0]=a>>>24;d[j+60|0]=b;d[j+61|0]=b>>>8;d[j+62|0]=b>>>16;d[j+63|0]=b>>>24;b=f[l+548>>2];a=f[l+544>>2];d[j+48|0]=a;d[j+49|0]=a>>>8;d[j+50|0]=a>>>16;d[j+51|0]=a>>>24;d[j+52|0]=b;d[j+53|0]=b>>>8;d[j+54|0]=b>>>16;d[j+55|0]=b>>>24;b=f[l+540>>2];a=f[l+536>>2];d[j+40|0]=a;d[j+41|0]=a>>>8;d[j+42|0]=a>>>16;d[j+43|0]=a>>>24;d[j+44|0]=b;d[j+45|0]=b>>>8;d[j+46|0]=b>>>16;d[j+47|0]=b>>>24;b=f[l+532>>2];a=f[l+528>>2];d[j+32|0]=a;d[j+33|0]=a>>>8;d[j+34|0]=a>>>16;d[j+35|0]=a>>>24;d[j+36|0]=b;d[j+37|0]=b>>>8;d[j+38|0]=b>>>16;d[j+39|0]=b>>>24;b=f[l+524>>2];a=f[l+520>>2];d[j+24|0]=a;d[j+25|0]=a>>>8;d[j+26|0]=a>>>16;d[j+27|0]=a>>>24;d[j+28|0]=b;d[j+29|0]=b>>>8;d[j+30|0]=b>>>16;d[j+31|0]=b>>>24;b=f[l+516>>2];a=f[l+512>>2];d[j+16|0]=a;d[j+17|0]=a>>>8;d[j+18|0]=a>>>16;d[j+19|0]=a>>>24;d[j+20|0]=b;d[j+21|0]=b>>>8;d[j+22|0]=b>>>16;d[j+23|0]=b>>>24}b=f[l+636>>2];a=f[l+632>>2];d[j+72|0]=a;d[j+73|0]=a>>>8;d[j+74|0]=a>>>16;d[j+75|0]=a>>>24;d[j+76|0]=b;d[j+77|0]=b>>>8;d[j+78|0]=b>>>16;d[j+79|0]=b>>>24;b=f[l+628>>2];a=f[l+624>>2];d[j+64|0]=a;d[j+65|0]=a>>>8;d[j+66|0]=a>>>16;d[j+67|0]=a>>>24;d[j+68|0]=b;d[j+69|0]=b>>>8;d[j+70|0]=b>>>16;d[j+71|0]=b>>>24;b=f[l+652>>2];a=f[l+648>>2];d[j+88|0]=a;d[j+89|0]=a>>>8;d[j+90|0]=a>>>16;d[j+91|0]=a>>>24;d[j+92|0]=b;d[j+93|0]=b>>>8;d[j+94|0]=b>>>16;d[j+95|0]=b>>>24;b=f[l+644>>2];a=f[l+640>>2];d[j+80|0]=a;d[j+81|0]=a>>>8;d[j+82|0]=a>>>16;d[j+83|0]=a>>>24;d[j+84|0]=b;d[j+85|0]=b>>>8;d[j+86|0]=b>>>16;d[j+87|0]=b>>>24;b=f[l+996>>2];a=f[l+992>>2];d[j+96|0]=a;d[j+97|0]=a>>>8;d[j+98|0]=a>>>16;d[j+99|0]=a>>>24;d[j+100|0]=b;d[j+101|0]=b>>>8;d[j+102|0]=b>>>16;d[j+103|0]=b>>>24;b=f[l+1004>>2];a=f[l+1e3>>2];d[j+104|0]=a;d[j+105|0]=a>>>8;d[j+106|0]=a>>>16;d[j+107|0]=a>>>24;d[j+108|0]=b;d[j+109|0]=b>>>8;d[j+110|0]=b>>>16;d[j+111|0]=b>>>24;b=f[l+1012>>2];a=f[l+1008>>2];d[j+112|0]=a;d[j+113|0]=a>>>8;d[j+114|0]=a>>>16;d[j+115|0]=a>>>24;d[j+116|0]=b;d[j+117|0]=b>>>8;d[j+118|0]=b>>>16;d[j+119|0]=b>>>24;b=f[l+1020>>2];a=f[l+1016>>2];d[j+120|0]=a;d[j+121|0]=a>>>8;d[j+122|0]=a>>>16;d[j+123|0]=a>>>24;d[j+124|0]=b;d[j+125|0]=b>>>8;d[j+126|0]=b>>>16;d[j+127|0]=b>>>24;A=l+1088|0}
function Ra(a,b,c,e,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;k=A-960|0;A=k;l=g[c+20|0]|g[c+21|0]<<8|(g[c+22|0]<<16|g[c+23|0]<<24);f[k+144>>2]=g[c+16|0]|g[c+17|0]<<8|(g[c+18|0]<<16|g[c+19|0]<<24);f[k+148>>2]=l;l=g[c+28|0]|g[c+29|0]<<8|(g[c+30|0]<<16|g[c+31|0]<<24);f[k+152>>2]=g[c+24|0]|g[c+25|0]<<8|(g[c+26|0]<<16|g[c+27|0]<<24);f[k+156>>2]=l;j=g[c+36|0]|g[c+37|0]<<8|(g[c+38|0]<<16|g[c+39|0]<<24);l=k+160|0;i=l;f[i>>2]=g[c+32|0]|g[c+33|0]<<8|(g[c+34|0]<<16|g[c+35|0]<<24);f[i+4>>2]=j;i=g[c+44|0]|g[c+45|0]<<8|(g[c+46|0]<<16|g[c+47|0]<<24);f[k+168>>2]=g[c+40|0]|g[c+41|0]<<8|(g[c+42|0]<<16|g[c+43|0]<<24);f[k+172>>2]=i;i=g[c+52|0]|g[c+53|0]<<8|(g[c+54|0]<<16|g[c+55|0]<<24);f[k+176>>2]=g[c+48|0]|g[c+49|0]<<8|(g[c+50|0]<<16|g[c+51|0]<<24);f[k+180>>2]=i;i=g[c+60|0]|g[c+61|0]<<8|(g[c+62|0]<<16|g[c+63|0]<<24);f[k+184>>2]=g[c+56|0]|g[c+57|0]<<8|(g[c+58|0]<<16|g[c+59|0]<<24);f[k+188>>2]=i;i=g[c+4|0]|g[c+5|0]<<8|(g[c+6|0]<<16|g[c+7|0]<<24);f[k+128>>2]=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[k+132>>2]=i;i=g[c+12|0]|g[c+13|0]<<8|(g[c+14|0]<<16|g[c+15|0]<<24);f[k+136>>2]=g[c+8|0]|g[c+9|0]<<8|(g[c+10|0]<<16|g[c+11|0]<<24);f[k+140>>2]=i;R(k+496|0);N(k+496|0,l,32);N(k+496|0,a,b);Q(k+496|0,k- -64|0);V(k+448|0,k- -64|0,64);sa(k+192|0,k+448|0);da(h,k+192|0);R(k+704|0);N(k+704|0,h,32);N(k+704|0,e,32);N(k+704|0,a,b);Q(k+704|0,k);V(k+400|0,k,64);V(k+352|0,k+128|0,32);l=f[k+352>>2];i=f[k+400>>2];a=hb(l,0,i);b=B;f[k+704>>2]=a&1073741823;e=a;a=b>>>30|0;c=k;j=f[c+356>>2];e=(b&1073741823)<<2|e>>>30;b=hb(i,0,j)+e|0;a=a+B|0;a=b>>>0<e>>>0?a+1|0:a;m=f[c+404>>2];e=hb(l,0,m);b=e+b|0;a=B+a|0;y=b;b=b>>>0<e>>>0?a+1|0:a;f[c+708>>2]=y&1073741823;z=f[c+360>>2];a=hb(i,0,z);v=B;u=hb(m,0,j);e=u+a|0;a=B+v|0;v=e;e=e>>>0<u>>>0?a+1|0:a;a=b>>>30|0;y=(b&1073741823)<<2|y>>>30;b=y+v|0;a=a+e|0;a=b>>>0<y>>>0?a+1|0:a;y=f[c+408>>2];e=hb(l,0,y);b=e+b|0;a=B+a|0;r=b;b=b>>>0<e>>>0?a+1|0:a;f[c+712>>2]=r&1073741823;a=hb(y,0,j);v=B;u=hb(m,0,z);e=u+a|0;a=B+v|0;a=e>>>0<u>>>0?a+1|0:a;v=f[c+364>>2];u=hb(i,0,v);e=u+e|0;a=B+a|0;a=e>>>0<u>>>0?a+1|0:a;u=f[c+412>>2];s=hb(l,0,u);e=s+e|0;a=B+a|0;a=e>>>0<s>>>0?a+1|0:a;s=e;e=a;a=b>>>30|0;r=(b&1073741823)<<2|r>>>30;b=r+s|0;a=a+e|0;p=b;b=b>>>0<r>>>0?a+1|0:a;f[c+716>>2]=p&1073741823;a=hb(m,0,v);r=B;s=hb(y,0,z);e=s+a|0;a=B+r|0;a=e>>>0<s>>>0?a+1|0:a;r=hb(j,0,u);e=r+e|0;a=B+a|0;a=e>>>0<r>>>0?a+1|0:a;r=f[c+368>>2];s=hb(i,0,r);e=s+e|0;a=B+a|0;a=e>>>0<s>>>0?a+1|0:a;s=f[c+416>>2];t=hb(l,0,s);e=t+e|0;a=B+a|0;a=e>>>0<t>>>0?a+1|0:a;t=e;e=a;a=b>>>30|0;p=(b&1073741823)<<2|p>>>30;b=p+t|0;a=a+e|0;q=b;b=b>>>0<p>>>0?a+1|0:a;f[c+720>>2]=q&1073741823;a=hb(z,0,u);p=B;t=hb(y,0,v);e=t+a|0;a=B+p|0;a=e>>>0<t>>>0?a+1|0:a;p=hb(m,0,r);e=p+e|0;a=B+a|0;a=e>>>0<p>>>0?a+1|0:a;p=hb(j,0,s);e=p+e|0;a=B+a|0;a=e>>>0<p>>>0?a+1|0:a;p=f[c+372>>2];t=hb(i,0,p);e=t+e|0;a=B+a|0;a=e>>>0<t>>>0?a+1|0:a;t=f[c+420>>2];w=hb(l,0,t);e=w+e|0;a=B+a|0;a=e>>>0<w>>>0?a+1|0:a;w=e;e=a;a=b>>>30|0;q=(b&1073741823)<<2|q>>>30;b=q+w|0;a=a+e|0;o=b;b=b>>>0<q>>>0?a+1|0:a;f[c+724>>2]=o&1073741823;a=hb(y,0,r);q=B;w=hb(v,0,u);e=w+a|0;a=B+q|0;a=e>>>0<w>>>0?a+1|0:a;q=hb(z,0,s);e=q+e|0;a=B+a|0;a=e>>>0<q>>>0?a+1|0:a;q=hb(m,0,p);e=q+e|0;a=B+a|0;a=e>>>0<q>>>0?a+1|0:a;q=hb(j,0,t);e=q+e|0;a=B+a|0;a=e>>>0<q>>>0?a+1|0:a;q=f[c+376>>2];w=hb(i,0,q);e=w+e|0;a=B+a|0;a=e>>>0<w>>>0?a+1|0:a;w=f[c+424>>2];x=hb(l,0,w);e=x+e|0;a=B+a|0;a=e>>>0<x>>>0?a+1|0:a;x=e;e=a;a=b>>>30|0;o=(b&1073741823)<<2|o>>>30;b=o+x|0;a=a+e|0;n=b;b=b>>>0<o>>>0?a+1|0:a;f[c+728>>2]=n&1073741823;a=hb(v,0,s);o=B;x=hb(r,0,u);e=x+a|0;a=B+o|0;a=e>>>0<x>>>0?a+1|0:a;o=hb(y,0,p);e=o+e|0;a=B+a|0;a=e>>>0<o>>>0?a+1|0:a;o=hb(z,0,t);e=o+e|0;a=B+a|0;a=e>>>0<o>>>0?a+1|0:a;o=hb(m,0,q);e=o+e|0;a=B+a|0;a=e>>>0<o>>>0?a+1|0:a;o=hb(j,0,w);e=o+e|0;a=B+a|0;a=e>>>0<o>>>0?a+1|0:a;o=f[c+380>>2];x=hb(i,0,o);e=x+e|0;a=B+a|0;a=e>>>0<x>>>0?a+1|0:a;x=f[c+428>>2];C=hb(l,0,x);e=C+e|0;a=B+a|0;a=e>>>0<C>>>0?a+1|0:a;C=e;e=a;a=b>>>30|0;n=(b&1073741823)<<2|n>>>30;b=n+C|0;a=a+e|0;D=b;b=b>>>0<n>>>0?a+1|0:a;f[c+732>>2]=D&1073741823;e=c;a=hb(p,0,u);n=B;C=hb(r,0,s);c=C+a|0;a=B+n|0;a=c>>>0<C>>>0?a+1|0:a;n=hb(v,0,t);c=n+c|0;a=B+a|0;a=c>>>0<n>>>0?a+1|0:a;n=hb(y,0,q);c=n+c|0;a=B+a|0;a=c>>>0<n>>>0?a+1|0:a;n=hb(z,0,w);c=n+c|0;a=B+a|0;a=c>>>0<n>>>0?a+1|0:a;n=hb(m,0,o);c=n+c|0;a=B+a|0;a=c>>>0<n>>>0?a+1|0:a;n=hb(j,0,x);c=n+c|0;a=B+a|0;a=c>>>0<n>>>0?a+1|0:a;n=f[e+384>>2];i=hb(i,0,n);c=i+c|0;a=B+a|0;a=c>>>0<i>>>0?a+1|0:a;C=f[e+432>>2];l=hb(l,0,C);c=l+c|0;a=B+a|0;a=c>>>0<l>>>0?a+1|0:a;l=c;c=a;e=l;a=b>>>30|0;l=(b&1073741823)<<2|D>>>30;b=e+l|0;a=a+c|0;c=b;b=c>>>0<l>>>0?a+1|0:a;e=c;f[k+736>>2]=c&16777215;a=hb(r,0,t);D=B;E=hb(p,0,s);i=E+a|0;a=B+D|0;a=i>>>0<E>>>0?a+1|0:a;D=hb(q,0,u);i=D+i|0;a=B+a|0;a=i>>>0<D>>>0?a+1|0:a;D=hb(v,0,w);i=D+i|0;a=B+a|0;a=i>>>0<D>>>0?a+1|0:a;D=hb(y,0,o);i=D+i|0;a=B+a|0;a=i>>>0<D>>>0?a+1|0:a;D=hb(z,0,x);i=D+i|0;a=B+a|0;a=i>>>0<D>>>0?a+1|0:a;m=hb(m,0,n);i=m+i|0;a=B+a|0;a=i>>>0<m>>>0?a+1|0:a;j=hb(C,0,j);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=i;i=a;a=b>>>30|0;c=(b&1073741823)<<2|c>>>30;b=c+j|0;a=a+i|0;a=b>>>0<c>>>0?a+1|0:a;c=b;b=a;l=c;f[k+912>>2]=c<<22&1069547520|e>>>8&4194303;a=hb(q,0,s);j=B;m=hb(p,0,t);i=m+a|0;a=B+j|0;a=i>>>0<m>>>0?a+1|0:a;j=hb(r,0,w);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(o,0,u);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(v,0,x);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(y,0,n);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(C,0,z);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=i;i=a;a=b>>>30|0;c=(b&1073741823)<<2|c>>>30;b=c+j|0;a=a+i|0;a=b>>>0<c>>>0?a+1|0:a;c=b;b=a;e=c;f[k+916>>2]=c<<22&1069547520|l>>>8&4194303;a=hb(p,0,w);j=B;m=hb(q,0,t);i=m+a|0;a=B+j|0;a=i>>>0<m>>>0?a+1|0:a;j=hb(o,0,s);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(r,0,x);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(n,0,u);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(C,0,v);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=i;i=a;a=b>>>30|0;c=(b&1073741823)<<2|c>>>30;b=c+j|0;a=a+i|0;a=b>>>0<c>>>0?a+1|0:a;c=b;b=a;l=c;f[k+920>>2]=c<<22&1069547520|e>>>8&4194303;a=hb(o,0,t);j=B;m=hb(q,0,w);i=m+a|0;a=B+j|0;a=i>>>0<m>>>0?a+1|0:a;j=hb(p,0,x);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(n,0,s);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(C,0,r);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=i;i=a;a=b>>>30|0;c=(b&1073741823)<<2|c>>>30;b=c+j|0;a=a+i|0;a=b>>>0<c>>>0?a+1|0:a;c=b;b=a;e=c;f[k+924>>2]=c<<22&1069547520|l>>>8&4194303;a=hb(q,0,x);j=B;m=hb(o,0,w);i=m+a|0;a=B+j|0;a=i>>>0<m>>>0?a+1|0:a;j=hb(n,0,t);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=hb(C,0,p);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=i;i=a;a=b>>>30|0;c=(b&1073741823)<<2|c>>>30;b=c+j|0;a=a+i|0;a=b>>>0<c>>>0?a+1|0:a;c=b;b=a;l=c;f[k+928>>2]=c<<22&1069547520|e>>>8&4194303;a=hb(n,0,w);j=B;m=hb(o,0,x);i=m+a|0;a=B+j|0;a=i>>>0<m>>>0?a+1|0:a;j=hb(C,0,q);i=j+i|0;a=B+a|0;a=i>>>0<j>>>0?a+1|0:a;j=i;i=a;a=b>>>30|0;c=(b&1073741823)<<2|c>>>30;b=c+j|0;a=a+i|0;a=b>>>0<c>>>0?a+1|0:a;c=b;b=a;e=c;f[k+932>>2]=c<<22&1069547520|l>>>8&4194303;a=hb(C,0,o);j=B;m=hb(n,0,x);i=m+a|0;a=B+j|0;j=i;i=i>>>0<m>>>0?a+1|0:a;a=b>>>30|0;c=(b&1073741823)<<2|c>>>30;b=c+j|0;a=a+i|0;a=b>>>0<c>>>0?a+1|0:a;c=b;f[k+936>>2]=c<<22&1069547520|e>>>8&4194303;b=hb(C,0,n)+((a&1073741823)<<2|c>>>30)|0;a=b;f[k+944>>2]=a>>>8&4194303;f[k+940>>2]=a<<22&1069547520|c>>>8&4194303;ra(k+400|0,k+912|0,k+704|0);a=f[k+412>>2];c=f[k+460>>2];e=f[k+404>>2];l=f[k+452>>2];i=f[k+408>>2];j=f[k+456>>2];m=f[k+448>>2]+f[k+400>>2]|0;b=m&1073741823;f[k+400>>2]=b;e=l+(e+(m>>>30|0)|0)|0;m=e&1073741823;f[k+404>>2]=m;e=j+(i+(e>>>30|0)|0)|0;j=e&1073741823;f[k+408>>2]=j;a=a+c+(e>>>30)|0;z=f[k+464>>2]+f[k+416>>2]+(a>>>30)|0;i=f[k+468>>2]+f[k+420>>2]+(z>>>30)|0;l=f[k+472>>2]+f[k+424>>2]+(i>>>30)|0;e=f[k+476>>2]+f[k+428>>2]+(l>>>30)|0;c=f[k+480>>2]+f[k+432>>2]+(e>>>30)|0;e=e&1073741823;l=l&1073741823;i=i&1073741823;z=z&1073741823;y=a&1073741823;v=b+ -485872621|0;u=(m+(v>>31)|0)+ -541690985|0;r=(j+(u>>31)|0)+ -796511589|0;s=r>>>31|0;p=y-(s|935229352)|0;t=p>>>31|0;q=z-(t|20)|0;w=q>>>31|0;o=i-w|0;x=o>>>31|0;n=l-x|0;C=n>>>31|0;D=e-C|0;E=D>>>31|0;F=c-(E|4096)|0;G=F>>>31|0;a=G+ -1|0;b=b^a&(b^v+(v>>>1&1073741824));f[k+400>>2]=b;v=c^a&(c^(G<<16)+F);f[k+432>>2]=v;c=e^a&(e^(E<<30)+D);f[k+428>>2]=c;e=l^a&(l^(C<<30)+n);f[k+424>>2]=e;l=i^a&(i^(x<<30)+o);f[k+420>>2]=l;z=z^a&(z^(w<<30)+q);f[k+416>>2]=z;i=y^a&(y^p+(t<<30));f[k+412>>2]=i;j=j^a&(j^r+(s<<30));f[k+408>>2]=j;a=m^a&(m^u+(u>>>1&1073741824));f[k+404>>2]=a;d[h+33|0]=b>>>8;d[h+34|0]=b>>>16;m=a>>>2|0;d[h+36|0]=m;d[h+37|0]=a>>>10;d[h+38|0]=a>>>18;y=j>>>4|0;d[h+40|0]=y;d[h+41|0]=j>>>12;d[h+42|0]=j>>>20;u=i>>>6|0;d[h+44|0]=u;d[h+45|0]=i>>>14;d[h+46|0]=i>>>22;r=z>>>8|0;d[h+48|0]=r;d[h+49|0]=z>>>16;d[h+51|0]=l>>>2;s=l>>>10|0;d[h+52|0]=s;d[h+53|0]=l>>>18;d[h+55|0]=e>>>4;p=e>>>12|0;d[h+56|0]=p;d[h+57|0]=e>>>20;d[h+59|0]=c>>>6;t=c>>>14|0;d[h+60|0]=t;d[h+61|0]=c>>>22;d[h+32|0]=b;d[h+35|0]=(b|a<<30)>>>24;d[h+39|0]=(m|j<<28)>>>24;d[h+43|0]=(y|i<<26)>>>24;d[h+47|0]=(u|z<<24)>>>24;d[h+50|0]=(r|l<<22)>>>16;d[h+54|0]=(s|e<<20)>>>16;d[h+58|0]=(p|c<<18)>>>16;d[h+63|0]=v>>>8;d[h+62|0]=(t|v<<16)>>>16;A=k+960|0}function X(a,b,c,e){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;h=A-1104|0;A=h;if(e){a:{b:{if(b>>>0>=129){R(h);N(h,a,b);Q(h,h+544|0);b=64;break b}if((h+544|0)!=(a|0)){P(h+544|0,a,b)}if(b>>>0>127){break a}}O((h+544|0)+b|0,0,128-b|0)}b=0;while(1){a=g[(h+544|0)+b|0];d[(h+672|0)+b|0]=a^54;d[(h+416|0)+b|0]=a^92;b=b+1|0;if((b|0)!=128){continue}break}R(h);N(h,h+672|0,128);a=h+208|0;R(a);N(a,h+416|0,128);M=h+880|0;a=1;while(1){b=a<<8&16711680|a<<24|(a>>>8&65280|a>>>24);d[h+1100|0]=b;d[h+1101|0]=b>>>8;d[h+1102|0]=b>>>16;d[h+1103|0]=b>>>24;f[h+664>>2]=0;f[h+656>>2]=0;f[h+660>>2]=0;f[h+648>>2]=0;f[h+652>>2]=0;f[h+640>>2]=0;f[h+644>>2]=0;f[h+632>>2]=0;f[h+636>>2]=0;f[h+624>>2]=0;f[h+628>>2]=0;f[h+616>>2]=0;f[h+620>>2]=0;f[h+608>>2]=0;f[h+612>>2]=0;d[h+608|0]=128;f[h+668>>2]=393216;P(h+672|0,h,416);N(h+672|0,c,22);N(h+672|0,h+1100|0,4);Q(h+672|0,h+544|0);N(M,h+544|0,64);Q(M,h+544|0);E=f[h+1080>>2];S=f[h+1084>>2];F=f[h+1072>>2];T=f[h+1076>>2];G=f[h+1064>>2];U=f[h+1068>>2];H=f[h+1056>>2];V=f[h+1060>>2];I=f[h+1048>>2];W=f[h+1052>>2];J=f[h+1040>>2];X=f[h+1044>>2];K=f[h+1032>>2];Y=f[h+1036>>2];C=f[h+1024>>2];Z=f[h+1028>>2];b=1;while(1){i=f[h+148>>2];f[h+816>>2]=f[h+144>>2];f[h+820>>2]=i;i=f[h+156>>2];f[h+824>>2]=f[h+152>>2];f[h+828>>2]=i;i=f[h+164>>2];f[h+832>>2]=f[h+160>>2];f[h+836>>2]=i;i=f[h+172>>2];f[h+840>>2]=f[h+168>>2];f[h+844>>2]=i;i=f[h+180>>2];f[h+848>>2]=f[h+176>>2];f[h+852>>2]=i;i=f[h+188>>2];f[h+856>>2]=f[h+184>>2];f[h+860>>2]=i;i=f[h+196>>2];f[h+864>>2]=f[h+192>>2];f[h+868>>2]=i;i=f[h+204>>2];f[h+872>>2]=f[h+200>>2];f[h+876>>2]=i;N(h+672|0,h+544|0,128);k=f[h+816>>2];i=k<<24;j=k<<8;n=0;l=j&16711680|i;m=f[h+820>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+544>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+548>>2]=l;k=f[h+824>>2];i=k<<24;j=k<<8;l=j&16711680|i;m=f[h+828>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+552>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+556>>2]=l;k=f[h+832>>2];i=k<<24;j=k<<8;l=j&16711680|i;m=f[h+836>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+560>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+564>>2]=l;k=f[h+840>>2];i=k<<24;j=k<<8;l=j&16711680|i;m=f[h+844>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+568>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+572>>2]=l;k=f[h+848>>2];i=k<<24;j=k<<8;l=j&16711680|i;m=f[h+852>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+576>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+580>>2]=l;k=f[h+856>>2];i=k<<24;j=k<<8;l=j&16711680|i;m=f[h+860>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+584>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+588>>2]=l;k=f[h+864>>2];i=k<<24;j=k<<8;l=j&16711680|i;m=f[h+868>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+592>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+596>>2]=l;k=f[h+872>>2];i=k<<24;j=k<<8;l=j&16711680|i;m=f[h+876>>2];j=m<<24|k>>>8;i=m<<8|k>>>24;l=j&65280|i&255|l;i=m;f[h+600>>2]=((i&255)<<24|k>>>8)&-16777216|((i&16777215)<<8|k>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+604>>2]=l;i=f[h+356>>2];f[h+1024>>2]=f[h+352>>2];f[h+1028>>2]=i;i=f[h+364>>2];f[h+1032>>2]=f[h+360>>2];f[h+1036>>2]=i;i=f[h+372>>2];f[h+1040>>2]=f[h+368>>2];f[h+1044>>2]=i;i=f[h+380>>2];f[h+1048>>2]=f[h+376>>2];f[h+1052>>2]=i;i=f[h+388>>2];f[h+1056>>2]=f[h+384>>2];f[h+1060>>2]=i;i=f[h+396>>2];f[h+1064>>2]=f[h+392>>2];f[h+1068>>2]=i;i=f[h+404>>2];f[h+1072>>2]=f[h+400>>2];f[h+1076>>2]=i;i=f[h+412>>2];f[h+1080>>2]=f[h+408>>2];f[h+1084>>2]=i;N(M,h+544|0,128);s=f[h+1024>>2];i=s<<24;j=s<<8;k=0;n=j&16711680|i;m=f[h+1028>>2];j=m<<24|s>>>8;i=m<<8|s>>>24;n=j&65280|i&255|n;i=m;f[h+544>>2]=((i&255)<<24|s>>>8)&-16777216|((i&16777215)<<8|s>>>24)&16711680|(i>>>8&65280|i>>>24)|k;f[h+548>>2]=n;t=f[h+1032>>2];i=t<<24;j=t<<8;n=0;l=j&16711680|i;L=f[h+1036>>2];j=L<<24|t>>>8;i=L<<8|t>>>24;l=j&65280|i&255|l;i=L;f[h+552>>2]=((i&255)<<24|t>>>8)&-16777216|((i&16777215)<<8|t>>>24)&16711680|(i>>>8&65280|i>>>24)|n;f[h+556>>2]=l;v=f[h+1040>>2];i=v<<24;j=v<<8;l=0;o=j&16711680|i;k=f[h+1044>>2];j=k<<24|v>>>8;i=k<<8|v>>>24;o=j&65280|i&255|o;i=k;f[h+560>>2]=((i&255)<<24|v>>>8)&-16777216|((i&16777215)<<8|v>>>24)&16711680|(i>>>8&65280|i>>>24)|l;f[h+564>>2]=o;w=f[h+1048>>2];i=w<<24;j=w<<8;o=0;p=j&16711680|i;n=f[h+1052>>2];j=n<<24|w>>>8;i=n<<8|w>>>24;p=j&65280|i&255|p;i=n;f[h+568>>2]=((i&255)<<24|w>>>8)&-16777216|((i&16777215)<<8|w>>>24)&16711680|(i>>>8&65280|i>>>24)|o;f[h+572>>2]=p;x=f[h+1056>>2];i=x<<24;j=x<<8;p=0;q=j&16711680|i;l=f[h+1060>>2];j=l<<24|x>>>8;i=l<<8|x>>>24;q=j&65280|i&255|q;i=l;f[h+576>>2]=((i&255)<<24|x>>>8)&-16777216|((i&16777215)<<8|x>>>24)&16711680|(i>>>8&65280|i>>>24)|p;f[h+580>>2]=q;y=f[h+1064>>2];i=y<<24;j=y<<8;q=0;D=j&16711680|i;o=f[h+1068>>2];j=o<<24|y>>>8;i=o<<8|y>>>24;D=j&65280|i&255|D;i=o;f[h+584>>2]=((i&255)<<24|y>>>8)&-16777216|((i&16777215)<<8|y>>>24)&16711680|(i>>>8&65280|i>>>24)|q;f[h+588>>2]=D;B=f[h+1072>>2];i=B<<24;j=B<<8;D=0;r=j&16711680|i;p=f[h+1076>>2];j=p<<24|B>>>8;i=p<<8|B>>>24;j=j&65280|i&255|r;i=p;f[h+592>>2]=((i&255)<<24|B>>>8)&-16777216|((i&16777215)<<8|B>>>24)&16711680|(i>>>8&65280|i>>>24)|D;f[h+596>>2]=j;r=f[h+1080>>2];_=r<<24|r<<8&16711680;q=f[h+1084>>2];j=q<<24|r>>>8;i=q<<8|r>>>24;_=j&65280|i&255|_;i=q;f[h+600>>2]=((i&255)<<24|r>>>8)&-16777216|((i&16777215)<<8|r>>>24)&16711680|(i>>>8&65280|i>>>24)|D;f[h+604>>2]=_;E=r^E;S=i^S;F=B^F;T=p^T;G=y^G;U=o^U;H=x^H;V=l^V;I=w^I;W=n^W;J=v^J;X=k^X;K=t^K;Y=Y^L;C=C^s;Z=m^Z;b=b+1|0;if((b|0)!=15e3){continue}break}b=Z;d[h+419|0]=b;d[h+418|0]=b>>>8;d[h+417|0]=b>>>16;d[h+416|0]=b>>>24;d[h+431|0]=K;b=Y;i=K;d[h+430|0]=(b&255)<<24|i>>>8;d[h+429|0]=(b&65535)<<16|i>>>16;d[h+428|0]=(b&16777215)<<8|i>>>24;d[h+427|0]=b;d[h+426|0]=b>>>8;d[h+425|0]=b>>>16;d[h+424|0]=b>>>24;d[h+439|0]=J;b=X;i=J;d[h+438|0]=(b&255)<<24|i>>>8;d[h+437|0]=(b&65535)<<16|i>>>16;d[h+436|0]=(b&16777215)<<8|i>>>24;f[h+420>>2]=C<<8&16711680|C<<24|(C>>>8&65280|C>>>24);d[h+434|0]=b>>>8;d[h+435|0]=b;d[h+433|0]=b>>>16;d[h+432|0]=b>>>24;d[h+447|0]=I;b=W;i=I;d[h+446|0]=(b&255)<<24|i>>>8;d[h+445|0]=(b&65535)<<16|i>>>16;d[h+444|0]=(b&16777215)<<8|i>>>24;d[h+443|0]=b;d[h+442|0]=b>>>8;d[h+441|0]=b>>>16;d[h+440|0]=b>>>24;d[h+455|0]=H;b=V;i=H;d[h+454|0]=(b&255)<<24|i>>>8;d[h+453|0]=(b&65535)<<16|i>>>16;d[h+452|0]=(b&16777215)<<8|i>>>24;d[h+451|0]=b;d[h+449|0]=b>>>16;d[h+450|0]=b>>>8;d[h+448|0]=b>>>24;d[h+463|0]=G;b=U;i=G;d[h+462|0]=(b&255)<<24|i>>>8;d[h+461|0]=(b&65535)<<16|i>>>16;d[h+460|0]=(b&16777215)<<8|i>>>24;d[h+459|0]=b;d[h+458|0]=b>>>8;d[h+457|0]=b>>>16;d[h+456|0]=b>>>24;d[h+471|0]=F;b=T;i=F;d[h+470|0]=(b&255)<<24|i>>>8;d[h+469|0]=(b&65535)<<16|i>>>16;d[h+468|0]=(b&16777215)<<8|i>>>24;d[h+467|0]=b;d[h+466|0]=b>>>8;d[h+464|0]=b>>>24;d[h+465|0]=b>>>16;d[h+479|0]=E;b=S;i=E;d[h+478|0]=(b&255)<<24|i>>>8;d[h+477|0]=(b&65535)<<16|i>>>16;d[h+476|0]=(b&16777215)<<8|i>>>24;d[h+475|0]=b;d[h+474|0]=b>>>8;d[h+473|0]=b>>>16;d[h+472|0]=b>>>24;i=(a<<6)+ -64|0;b=40-i|0;P(e+i|0,h+416|0,b>>>0<64?b:64);b=(a|0)!=1;a=a+1|0;if(b){continue}break}A=h+1104|0;return}z(29717,29667,363,29729);u()}function ra(a,b,c){var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;m=a;u=f[c>>2];r=f[b+8>>2];g=hb(r,0,1073741823);h=B;q=h;A=f[b+12>>2];p=hb(A,0,1073741823);x=B;w=f[b+16>>2];j=hb(w,0,1073741823);s=B;d=s+x|0;e=j;k=e+p|0;if(k>>>0<e>>>0){d=d+1|0}y=f[b+28>>2];e=hb(y,0,103979646);k=e+k|0;d=B+d|0;d=k>>>0<e>>>0?d+1|0:d;C=f[b+24>>2];e=hb(C,0,25712450);k=e+k|0;d=B+d|0;d=k>>>0<e>>>0?d+1|0:d;v=f[b+20>>2];e=hb(v,0,1073736481);k=e+k|0;d=B+d|0;d=k>>>0<e>>>0?d+1|0:d;e=k;k=e+g|0;d=d+h|0;d=k>>>0<e>>>0?d+1|0:d;i=f[b+4>>2];e=hb(i,0,1048575);h=e+k|0;d=B+d|0;d=h>>>0<e>>>0?d+1|0:d;e=h;z=f[b+32>>2];h=hb(z,0,913544844);k=e+h|0;e=B+d|0;o=k;k=k>>>0<h>>>0?e+1|0:e;n=hb(i,0,1073741823);h=B;l=h;d=q+x|0;e=g;i=e+p|0;if(i>>>0<e>>>0){d=d+1|0}e=hb(y,0,913544844);i=e+i|0;d=B+d|0;d=i>>>0<e>>>0?d+1|0:d;e=hb(C,0,103979646);i=e+i|0;d=B+d|0;d=i>>>0<e>>>0?d+1|0:d;e=hb(v,0,25712450);i=e+i|0;d=B+d|0;d=i>>>0<e>>>0?d+1|0:d;e=i;i=hb(w,0,1073736481);t=e+i|0;e=B+d|0;e=t>>>0<i>>>0?e+1|0:e;i=t;t=i+n|0;d=e+h|0;h=f[b>>2];b=hb(h,0,1048575);e=b+t|0;d=B+(t>>>0<i>>>0?d+1|0:d)|0;d=e>>>0<b>>>0?d+1|0:d;b=hb(z,0,170660635);e=b+e|0;d=B+d|0;d=e>>>0<b>>>0?d+1|0:d;b=d;t=e;d=l+q|0;e=g+n|0;if(e>>>0<g>>>0){d=d+1|0}g=hb(y,0,170660635);i=g+e|0;e=B+d|0;e=i>>>0<g>>>0?e+1|0:e;g=hb(C,0,913544844);i=g+i|0;d=B+e|0;d=i>>>0<g>>>0?d+1|0:d;e=hb(v,0,103979646);g=e+i|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=hb(w,0,25712450);g=e+g|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=hb(A,0,1073736481);g=e+g|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=g;g=hb(h,0,1073741823);h=e+g|0;e=B+d|0;e=h>>>0<g>>>0?e+1|0:e;g=h;d=e>>>30|0;e=(e&1073741823)<<2|g>>>30;g=t+e|0;d=b+d|0;h=g;d=g>>>0<e>>>0?d+1|0:d;g=d;b=(d&1073741823)<<2|h>>>30;i=b+o|0;d=(d>>>30|0)+k|0;d=i>>>0<b>>>0?d+1|0:d;b=d;k=0;t=k;e=i;D=e<<6&1073741760|((g&16777215)<<8|h>>>24)&63;g=hb(D,k,485872621);d=B;e=u-(g&1073741823)|0;f[m>>2]=(e>>>1&1073741824)+e;k=a;n=f[c+4>>2]+(e>>31)|0;e=d;d=d>>>30|0;e=(e&1073741823)<<2|g>>>30;g=hb(D,t,541690985)+e|0;d=d+B|0;u=g;h=g>>>0<e>>>0?d+1|0:d;l=hb(v,0,1073741823);q=B;d=q+s|0;e=l;g=e+j|0;if(g>>>0<e>>>0){d=d+1|0}e=hb(y,0,25712450);g=e+g|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=g;g=hb(C,0,1073736481);m=e+g|0;e=B+d|0;e=m>>>0<g>>>0?e+1|0:e;g=p;m=g+m|0;d=e+x|0;d=m>>>0<g>>>0?d+1|0:d;e=hb(r,0,1048575);g=e+m|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=hb(z,0,103979646);g=e+g|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=d;o=g;g=b;d=g>>>30|0;g=(g&1073741823)<<2|i>>>30;m=o+g|0;d=d+e|0;o=m;g=m>>>0<g>>>0?d+1|0:d;m=0;J=m;e=o;E=e<<6&1073741760|((b&16777215)<<8|i>>>24)&63;b=hb(E,m,485872621);d=b+u|0;e=B+h|0;r=d;h=d>>>0<b>>>0?e+1|0:e;b=n-(d&1073741823)|0;f[k+4>>2]=(b>>>1&1073741824)+b;i=a;n=f[c+8>>2]+(b>>31)|0;b=hb(E,m,541690985);d=B;e=b;b=hb(D,t,796511589);e=e+b|0;d=B+d|0;u=e;m=e>>>0<b>>>0?d+1|0:d;k=hb(C,0,1073741823);x=B;d=x+q|0;b=k;e=b+l|0;if(e>>>0<b>>>0){d=d+1|0}q=e;b=hb(y,0,1073736481);e=e+b|0;l=d;d=d+B|0;d=e>>>0<b>>>0?d+1|0:d;b=e+j|0;d=d+s|0;d=b>>>0<j>>>0?d+1|0:d;e=b;b=hb(A,0,1048575);j=e+b|0;e=B+d|0;e=j>>>0<b>>>0?e+1|0:e;b=hb(z,0,25712450);j=b+j|0;d=B+e|0;e=j;b=e>>>0<b>>>0?d+1|0:d;e=g;d=e>>>30|0;e=(e&1073741823)<<2|o>>>30;j=j+e|0;d=b+d|0;p=j;b=j>>>0<e>>>0?d+1|0:d;j=0;K=j;e=p;F=e<<6&1073741760|((g&16777215)<<8|o>>>24)&63;e=hb(F,j,485872621);g=e+u|0;d=B+m|0;d=g>>>0<e>>>0?d+1|0:d;e=d;o=g;d=h>>>30|0;g=(h&1073741823)<<2|r>>>30;h=o+g|0;e=d+e|0;s=h;h=h>>>0<g>>>0?e+1|0:e;d=n-(s&1073741823)|0;f[i+8>>2]=(d>>>1&1073741824)+d;n=f[c+12>>2]+(d>>31)|0;e=hb(E,J,796511589);d=B;g=e;e=hb(D,t,935229352);g=g+e|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=hb(F,j,541690985);g=e+g|0;d=B+d|0;u=g;m=g>>>0<e>>>0?d+1|0:d;j=hb(y,0,1073741823);r=B;d=r+l|0;e=j;g=e+q|0;if(g>>>0<e>>>0){d=d+1|0}e=hb(w,0,1048575);g=e+g|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;e=g;g=hb(z,0,1073736481);l=e+g|0;e=B+d|0;e=l>>>0<g>>>0?e+1|0:e;g=b;d=g>>>30|0;g=(g&1073741823)<<2|p>>>30;l=g+l|0;d=d+e|0;o=l;g=l>>>0<g>>>0?d+1|0:d;l=0;H=l;e=o;G=e<<6&1073741760|((b&16777215)<<8|p>>>24)&63;b=hb(G,l,485872621);e=b+u|0;d=B+m|0;d=e>>>0<b>>>0?d+1|0:d;l=e;e=h>>>30|0;b=(h&1073741823)<<2|s>>>30;h=l+b|0;d=d+e|0;w=h;h=h>>>0<b>>>0?d+1|0:d;b=n-(w&1073741823)|0;f[i+12>>2]=(b>>>1&1073741824)+b;l=a;q=f[c+16>>2]+(b>>31)|0;b=hb(E,J,935229352);d=B;e=b;b=hb(D,t,20);e=e+b|0;d=B+d|0;d=e>>>0<b>>>0?d+1|0:d;b=hb(F,K,796511589);e=b+e|0;d=B+d|0;d=e>>>0<b>>>0?d+1|0:d;b=hb(G,H,541690985);e=b+e|0;d=B+d|0;n=e;i=e>>>0<b>>>0?d+1|0:d;A=hb(z,0,1073741823);u=B;e=r+u|0;b=j+A|0;if(b>>>0<j>>>0){e=e+1|0}s=b;m=e;b=hb(v,0,1048575)+k|0;d=x+B|0;d=b>>>0<k>>>0?d+1|0:d;j=b+s|0;d=d+e|0;d=j>>>0<b>>>0?d+1|0:d;e=g>>>30|0;b=(g&1073741823)<<2|o>>>30;j=b+j|0;d=d+e|0;p=j;b=j>>>0<b>>>0?d+1|0:d;j=0;I=j;e=p;v=e<<6&1073741760|((g&16777215)<<8|o>>>24)&63;e=hb(v,j,485872621);g=e+n|0;d=B+i|0;d=g>>>0<e>>>0?d+1|0:d;e=d;j=g;d=h>>>30|0;g=(h&1073741823)<<2|w>>>30;h=j+g|0;d=d+e|0;r=h;h=h>>>0<g>>>0?d+1|0:d;n=q-(r&1073741823)|0;f[l+16>>2]=(n>>>1&1073741824)+n;k=a;o=f[c+20>>2];e=hb(F,K,935229352);d=B;a=e;e=hb(E,J,20);g=a+e|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;a=g;g=hb(G,H,796511589);j=a+g|0;e=B+d|0;e=j>>>0<g>>>0?e+1|0:e;g=hb(v,I,541690985);j=g+j|0;d=B+e|0;l=j;j=j>>>0<g>>>0?d+1|0:d;e=hb(C,0,1048575);g=e+s|0;d=B+m|0;d=g>>>0<e>>>0?d+1|0:d;a=g;g=b;e=g>>>30|0;g=(g&1073741823)<<2|p>>>30;m=a+g|0;d=d+e|0;d=m>>>0<g>>>0?d+1|0:d;g=d;i=0;w=i;e=m;s=e<<6&1073741760|((b&16777215)<<8|p>>>24)&63;b=hb(s,i,485872621);e=b+l|0;d=B+j|0;d=e>>>0<b>>>0?d+1|0:d;b=d;a=e;d=h>>>30|0;e=(h&1073741823)<<2|r>>>30;h=a+e|0;d=b+d|0;q=h;h=h>>>0<e>>>0?d+1|0:d;n=(o-(q&1073741823)|0)+(n>>31)|0;f[k+20>>2]=(n>>>1&1073741824)+n;o=f[c+24>>2];b=hb(G,H,935229352);d=B;a=b;b=hb(F,K,20);e=a+b|0;d=B+d|0;d=e>>>0<b>>>0?d+1|0:d;b=hb(v,I,796511589);j=b+e|0;e=B+d|0;e=j>>>0<b>>>0?e+1|0:e;b=hb(s,i,541690985);j=b+j|0;d=B+e|0;p=j;j=j>>>0<b>>>0?d+1|0:d;b=hb(y,0,1048575);e=b+A|0;d=B+u|0;d=e>>>0<b>>>0?d+1|0:d;a=e;e=g>>>30|0;b=(g&1073741823)<<2|m>>>30;i=a+b|0;d=d+e|0;d=i>>>0<b>>>0?d+1|0:d;b=d;l=0;x=l;e=i;r=e<<6&1073741760|((g&16777215)<<8|m>>>24)&63;e=hb(r,l,485872621);g=e+p|0;d=B+j|0;d=g>>>0<e>>>0?d+1|0:d;e=d;a=g;d=h>>>30|0;g=(h&1073741823)<<2|q>>>30;h=a+g|0;d=d+e|0;q=h;h=h>>>0<g>>>0?d+1|0:d;n=(o-(q&1073741823)|0)+(n>>31)|0;f[k+24>>2]=(n>>>1&1073741824)+n;j=k;u=f[c+28>>2];e=hb(v,I,935229352);d=B;a=e;e=hb(G,H,20);g=a+e|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;a=g;g=hb(s,w,796511589);k=a+g|0;e=B+d|0;e=k>>>0<g>>>0?e+1|0:e;g=hb(r,l,541690985);k=g+k|0;d=B+e|0;o=k;e=k>>>0<g>>>0?d+1|0:d;g=b;d=g>>>30|0;g=(g&1073741823)<<2|i>>>30;k=hb(z,0,1048575)+g|0;d=d+B|0;m=k;g=k>>>0<g>>>0?d+1|0:d;p=0;l=p;k=k<<6&1073741760|((b&16777215)<<8|i>>>24)&63;b=hb(k,l,485872621);i=b+o|0;d=B+e|0;e=i;b=e>>>0<b>>>0?d+1|0:d;d=h>>>30|0;h=(h&1073741823)<<2|q>>>30;i=h+e|0;e=b+d|0;o=i;b=i>>>0<h>>>0?e+1|0:e;p=(u-(i&1073741823)|0)+(n>>31)|0;f[j+28>>2]=(p>>>1&1073741824)+p;h=j;j=f[c+32>>2];i=D;d=t<<12|i>>>20;c=i<<12;i=hb(v,I,20)+c|0;d=d+B|0;d=i>>>0<c>>>0?d+1|0:d;c=hb(s,w,935229352);e=c+i|0;d=B+d|0;d=e>>>0<c>>>0?d+1|0:d;a=e;e=hb((g&16777215)<<8|m>>>24,g>>>24|0,485872621);g=a+e|0;d=B+d|0;d=g>>>0<e>>>0?d+1|0:d;c=hb(r,x,796511589);g=c+g|0;e=B+d|0;e=g>>>0<c>>>0?e+1|0:e;c=hb(k,l,541690985);g=c+g|0;e=g;e=((b&1073741823)<<2|o>>>30)+e|0;b=(j-(e&16777215)|0)+(p>>31)|0;f[h+32>>2]=(b>>>7&16777216)+b;oa(h);oa(h)}function M(a,b,c){var d=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;t=f[b+4>>2];h=f[c+4>>2];O=h<<1;d=hb(t,0,O);j=B;u=f[b>>2];g=f[c+8>>2];H=g;o=hb(u,0,g);e=o+d|0;d=B+j|0;d=e>>>0<o>>>0?d+1|0:d;v=f[b+8>>2];w=f[c>>2];j=hb(v,0,w);e=j+e|0;d=B+d|0;d=e>>>0<j>>>0?d+1|0:d;x=f[b+12>>2];Q=f[c+36>>2];M=l(Q,38);j=hb(x,0,M);e=j+e|0;d=B+d|0;d=e>>>0<j>>>0?d+1|0:d;y=f[b+16>>2];K=f[c+32>>2];s=l(K,19);o=hb(y,0,s);j=o+e|0;e=B+d|0;e=j>>>0<o>>>0?e+1|0:e;z=f[b+20>>2];p=f[c+28>>2];L=p&2147483647;n=l(L,38);o=hb(z,0,n);j=o+j|0;d=B+e|0;d=j>>>0<o>>>0?d+1|0:d;e=j;A=f[b+24>>2];m=f[c+24>>2];G=l(m,19);j=hb(A,0,G);e=e+j|0;d=B+d|0;d=e>>>0<j>>>0?d+1|0:d;C=f[b+28>>2];o=f[c+20>>2];q=o&2147483647;R=l(q,38);i=hb(C,0,R);j=i+e|0;e=B+d|0;e=j>>>0<i>>>0?e+1|0:e;D=f[b+32>>2];P=f[c+16>>2];r=l(P,19);i=hb(D,0,r);j=i+j|0;d=B+e|0;d=j>>>0<i>>>0?d+1|0:d;E=f[b+36>>2];i=f[c+12>>2];F=i&2147483647;I=l(F,38);c=hb(E,0,I);b=c+j|0;d=B+d|0;k=b;c=b>>>0<c>>>0?d+1|0:d;b=hb(t,0,w);d=B;j=h;J=hb(u,0,j);b=J+b|0;e=B+d|0;e=b>>>0<J>>>0?e+1|0:e;J=l(Q,19);h=hb(v,0,J);b=h+b|0;d=B+e|0;d=b>>>0<h>>>0?d+1|0:d;e=hb(s,0,x);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;L=l(L,19);h=hb(y,0,L);e=h+b|0;b=B+d|0;b=e>>>0<h>>>0?b+1|0:b;h=hb(z,0,G);e=h+e|0;d=B+b|0;d=e>>>0<h>>>0?d+1|0:d;q=l(q,19);h=hb(A,0,q);b=h+e|0;e=B+d|0;e=b>>>0<h>>>0?e+1|0:e;h=hb(C,0,r);b=h+b|0;d=B+e|0;d=b>>>0<h>>>0?d+1|0:d;e=hb(D,0,l(F,19));b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;F=l(g,19);g=hb(E,0,F);e=g+b|0;b=B+d|0;d=e;g=d>>>0<g>>>0?b+1|0:b;b=hb(t,0,M);e=B;N=k;S=d;k=hb(u,0,w);b=k+b|0;d=B+e|0;d=b>>>0<k>>>0?d+1|0:d;k=hb(s,0,v);b=k+b|0;e=B+d|0;e=b>>>0<k>>>0?e+1|0:e;k=hb(x,0,n);b=k+b|0;d=B+e|0;d=b>>>0<k>>>0?d+1|0:d;e=hb(y,0,G);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;k=hb(z,0,R);e=k+b|0;b=B+d|0;b=e>>>0<k>>>0?b+1|0:b;k=hb(A,0,r);e=k+e|0;d=B+b|0;I=hb(C,0,I);b=I+e|0;e=B+(e>>>0<k>>>0?d+1|0:d)|0;e=b>>>0<I>>>0?e+1|0:e;F=hb(D,0,F);b=F+b|0;d=B+e|0;d=b>>>0<F>>>0?d+1|0:d;e=hb(E,0,l(j,38));b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;F=b;e=d>>>26|0;h=(d&67108863)<<6|b>>>26;d=S+h|0;b=e+g|0;I=d;e=d;b=d>>>0<h>>>0?b+1|0:b;d=b>>>25|0;e=(b&33554431)<<7|e>>>25;b=N+e|0;d=c+d|0;g=b;c=b>>>0<e>>>0?d+1|0:d;f[a+8>>2]=b&67108863;h=a;b=hb(t,0,H);d=B;N=i;e=hb(u,0,i);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;k=hb(v,0,j);b=k+b|0;e=B+d|0;e=b>>>0<k>>>0?e+1|0:e;k=hb(w,0,x);d=k+b|0;b=B+e|0;b=d>>>0<k>>>0?b+1|0:b;k=hb(y,0,J);e=k+d|0;d=B+b|0;d=e>>>0<k>>>0?d+1|0:d;b=e;e=hb(s,0,z);b=b+e|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(A,0,L);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;k=hb(G,0,C);b=k+b|0;e=B+d|0;q=hb(D,0,q);d=q+b|0;b=B+(b>>>0<k>>>0?e+1|0:e)|0;r=hb(r,0,E);e=r+d|0;d=B+(d>>>0<q>>>0?b+1|0:b)|0;d=e>>>0<r>>>0?d+1|0:d;b=e;e=c>>>26|0;c=(c&67108863)<<6|g>>>26;b=b+c|0;d=d+e|0;r=b;c=b>>>0<c>>>0?d+1|0:d;f[h+12>>2]=b&33554431;g=h;q=i<<1;b=hb(t,0,q);d=B;h=P;e=hb(u,0,h);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;i=hb(v,0,H);e=i+b|0;b=B+d|0;b=e>>>0<i>>>0?b+1|0:b;i=hb(x,0,O);e=i+e|0;d=B+b|0;d=e>>>0<i>>>0?d+1|0:d;i=hb(w,0,y);b=i+e|0;e=B+d|0;e=b>>>0<i>>>0?e+1|0:e;i=hb(z,0,M);b=i+b|0;d=B+e|0;d=b>>>0<i>>>0?d+1|0:d;e=hb(s,0,A);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;i=hb(C,0,n);e=i+b|0;b=B+d|0;b=e>>>0<i>>>0?b+1|0:b;i=hb(G,0,D);e=i+e|0;d=B+b|0;d=e>>>0<i>>>0?d+1|0:d;i=hb(E,0,R);b=i+e|0;e=B+d|0;e=b>>>0<i>>>0?e+1|0:e;d=b;b=c>>>25|0;i=(c&33554431)<<7|r>>>25;c=d+i|0;d=b+e|0;r=c;c=c>>>0<i>>>0?d+1|0:d;f[g+16>>2]=r&67108863;b=hb(t,0,h);d=B;i=o;e=hb(u,0,i);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(v,0,N);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;g=hb(x,0,H);b=g+b|0;e=B+d|0;e=b>>>0<g>>>0?e+1|0:e;g=hb(y,0,j);d=g+b|0;b=B+e|0;b=d>>>0<g>>>0?b+1|0:b;g=hb(w,0,z);e=g+d|0;d=B+b|0;d=e>>>0<g>>>0?d+1|0:d;b=e;e=hb(A,0,J);b=b+e|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(s,0,C);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;g=hb(D,0,L);b=g+b|0;e=B+d|0;e=b>>>0<g>>>0?e+1|0:e;g=hb(G,0,E);d=g+b|0;b=B+e|0;b=d>>>0<g>>>0?b+1|0:b;g=d;d=c>>>26|0;e=(c&67108863)<<6|r>>>26;c=g+e|0;d=b+d|0;g=c;c=c>>>0<e>>>0?d+1|0:d;f[a+20>>2]=g&33554431;G=i<<1;b=hb(t,0,G);d=B;o=m;e=hb(u,0,m);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;m=hb(v,0,h);b=m+b|0;e=B+d|0;e=b>>>0<m>>>0?e+1|0:e;m=hb(x,0,q);d=m+b|0;b=B+e|0;b=d>>>0<m>>>0?b+1|0:b;m=hb(y,0,H);e=m+d|0;d=B+b|0;d=e>>>0<m>>>0?d+1|0:d;b=e;e=hb(z,0,O);b=b+e|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(w,0,A);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;m=hb(C,0,M);b=m+b|0;e=B+d|0;e=b>>>0<m>>>0?e+1|0:e;m=hb(s,0,D);d=m+b|0;b=B+e|0;b=d>>>0<m>>>0?b+1|0:b;m=hb(E,0,n);e=m+d|0;d=B+b|0;d=e>>>0<m>>>0?d+1|0:d;b=e;e=c>>>25|0;c=(c&33554431)<<7|g>>>25;b=b+c|0;d=d+e|0;g=b;c=b>>>0<c>>>0?d+1|0:d;f[a+24>>2]=b&67108863;m=a;b=hb(t,0,o);d=B;P=p;e=hb(u,0,p);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;n=hb(v,0,i);e=n+b|0;b=B+d|0;b=e>>>0<n>>>0?b+1|0:b;n=hb(x,0,h);e=n+e|0;d=B+b|0;d=e>>>0<n>>>0?d+1|0:d;n=hb(y,0,N);b=n+e|0;e=B+d|0;e=b>>>0<n>>>0?e+1|0:e;n=hb(z,0,H);b=n+b|0;d=B+e|0;d=b>>>0<n>>>0?d+1|0:d;e=hb(A,0,j);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;n=hb(w,0,C);e=n+b|0;b=B+d|0;b=e>>>0<n>>>0?b+1|0:b;n=hb(D,0,J);e=n+e|0;d=B+b|0;s=hb(s,0,E);b=s+e|0;e=B+(e>>>0<n>>>0?d+1|0:d)|0;e=b>>>0<s>>>0?e+1|0:e;a=b;b=c>>>26|0;g=(c&67108863)<<6|g>>>26;c=a+g|0;d=b+e|0;d=c>>>0<g>>>0?d+1|0:d;g=c;c=d;f[m+28>>2]=g&33554431;b=hb(t,0,p<<1);d=B;e=hb(u,0,K);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(v,0,o);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;p=hb(x,0,G);b=p+b|0;e=B+d|0;e=b>>>0<p>>>0?e+1|0:e;p=hb(y,0,h);d=p+b|0;b=B+e|0;b=d>>>0<p>>>0?b+1|0:b;p=hb(z,0,q);e=p+d|0;d=B+b|0;d=e>>>0<p>>>0?d+1|0:d;a=e;e=hb(A,0,H);b=a+e|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(C,0,O);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;p=hb(w,0,D);b=p+b|0;e=B+d|0;e=b>>>0<p>>>0?e+1|0:e;p=hb(E,0,M);d=p+b|0;b=B+e|0;b=d>>>0<p>>>0?b+1|0:b;a=d;d=c>>>25|0;e=(c&33554431)<<7|g>>>25;c=a+e|0;d=b+d|0;g=c;c=c>>>0<e>>>0?d+1|0:d;f[m+32>>2]=g&67108863;b=hb(t,0,K);d=B;e=hb(u,0,Q);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;K=hb(v,0,P);b=K+b|0;e=B+d|0;o=hb(x,0,o);d=o+b|0;b=B+(b>>>0<K>>>0?e+1|0:e)|0;b=d>>>0<o>>>0?b+1|0:b;o=hb(y,0,i);e=o+d|0;d=B+b|0;d=e>>>0<o>>>0?d+1|0:d;a=e;e=hb(z,0,h);b=a+e|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(A,0,N);b=e+b|0;d=B+d|0;d=b>>>0<e>>>0?d+1|0:d;h=hb(C,0,H);b=h+b|0;e=B+d|0;e=b>>>0<h>>>0?e+1|0:e;h=hb(D,0,j);d=h+b|0;b=B+e|0;b=d>>>0<h>>>0?b+1|0:b;h=hb(w,0,E);e=h+d|0;d=B+b|0;d=e>>>0<h>>>0?d+1|0:d;a=e;e=c>>>26|0;c=(c&67108863)<<6|g>>>26;b=a+c|0;d=d+e|0;d=b>>>0<c>>>0?d+1|0:d;f[m+36>>2]=b&33554431;c=F&67108863;b=hb((d&33554431)<<7|b>>>25,0,19)+c|0;d=B;d=b>>>0<c>>>0?d+1|0:d;f[m>>2]=b&67108863;f[m+4>>2]=(I&33554431)+((d&67108863)<<6|b>>>26)}function T(a,b,c){var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;if((c|0)>0){while(1){d=g<<3;j=d+a|0;h=j;e=f[h>>2];d=b+d|0;i=f[d>>2];d=f[h+4>>2]^f[d+4>>2];f[h>>2]=e^i;f[h+4>>2]=d;g=g+1|0;if((g|0)!=(c|0)){continue}break}}e=A-48|0;N=f[a+80>>2];P=f[a+84>>2];l=f[a+160>>2];m=f[a+164>>2];O=f[a+120>>2];Q=f[a+124>>2];b=f[a+88>>2];j=f[a+92>>2];i=f[a+192>>2];k=f[a+196>>2];s=f[a+152>>2];G=f[a+156>>2];y=f[a+112>>2];H=f[a+116>>2];n=f[a+184>>2];r=f[a+188>>2];z=f[a+144>>2];I=f[a+148>>2];C=f[a+104>>2];J=f[a+108>>2];t=f[a+176>>2];K=f[a+180>>2];D=f[a+136>>2];L=f[a+140>>2];E=f[a+96>>2];u=f[a+100>>2];v=f[a+168>>2];w=f[a+172>>2];h=f[a+128>>2];g=f[a+132>>2];d=f[a>>2];p=f[a+4>>2];c=0;while(1){x=f[a+44>>2];M=m^(Q^(P^(p^x)));W=M;R=f[a+40>>2];S=l^(O^(N^(d^R)));f[e>>2]=S;f[e+4>>2]=M;M=f[a+52>>2];T=f[a+12>>2];o=w^(g^(j^(M^T)));w=o;U=f[a+48>>2];V=f[a+8>>2];v=v^(h^(b^(U^V)));f[e+8>>2]=v;f[e+12>>2]=o;q=L;o=u;L=f[a+60>>2];u=f[a+20>>2];o=K^(q^(o^(L^u)));K=o;F=D;q=E;D=f[a+56>>2];E=f[a+16>>2];t=t^(F^(q^(D^E)));f[e+16>>2]=t;f[e+20>>2]=o;q=I;o=J;I=f[a+68>>2];J=f[a+28>>2];o=r^(q^(o^(I^J)));r=o;F=z;q=C;z=f[a+64>>2];C=f[a+24>>2];n=n^(F^(q^(z^C)));f[e+24>>2]=n;f[e+28>>2]=o;q=H;H=f[a+76>>2];o=f[a+36>>2];k=k^(G^(q^(H^o)));G=k;q=y;y=f[a+72>>2];F=f[a+32>>2];s=i^(s^(q^(y^F)));f[e+32>>2]=s;f[e+36>>2]=k;k=h;h=jb(t,K,1)^S;f[a+128>>2]=k^h;k=g;g=W^B;f[a+132>>2]=k^g;f[a+88>>2]=b^h;f[a+92>>2]=g^j;f[a+48>>2]=h^U;f[a+52>>2]=g^M;i=g^T;j=i;b=h^V;f[a+8>>2]=b;f[a+12>>2]=i;i=jb(n,r,1)^v;f[a+56>>2]=i^D;k=w^B;f[a+60>>2]=k^L;f[a+16>>2]=i^E;f[a+20>>2]=k^u;u=l;l=jb(v,w,1)^s;f[a+160>>2]=u^l;w=m;m=G^B;f[a+164>>2]=w^m;f[a+120>>2]=l^O;f[a+124>>2]=m^Q;f[a+80>>2]=l^N;f[a+84>>2]=m^P;f[a+40>>2]=l^R;f[a+44>>2]=m^x;f[a>>2]=d^l;f[a+4>>2]=m^p;d=f[a+172>>2]^g;f[a+168>>2]=f[a+168>>2]^h;f[a+172>>2]=d;d=f[a+100>>2]^k;f[a+96>>2]=f[a+96>>2]^i;f[a+100>>2]=d;d=f[a+140>>2]^k;f[a+136>>2]=f[a+136>>2]^i;f[a+140>>2]=d;d=f[a+180>>2]^k;f[a+176>>2]=f[a+176>>2]^i;f[a+180>>2]=d;d=jb(s,G,1)^t;f[a+64>>2]=d^z;h=K^B;f[a+68>>2]=h^I;f[a+24>>2]=d^C;f[a+28>>2]=h^J;g=f[a+108>>2]^h;f[a+104>>2]=f[a+104>>2]^d;f[a+108>>2]=g;g=f[a+148>>2]^h;f[a+144>>2]=f[a+144>>2]^d;f[a+148>>2]=g;h=f[a+188>>2]^h;f[a+184>>2]=f[a+184>>2]^d;f[a+188>>2]=h;d=jb(f[e>>2],f[e+4>>2],1)^n;f[a+72>>2]=d^y;h=r^B;f[a+76>>2]=h^H;f[a+32>>2]=d^F;f[a+36>>2]=h^o;g=f[a+116>>2]^h;f[a+112>>2]=f[a+112>>2]^d;f[a+116>>2]=g;g=f[a+156>>2]^h;f[a+152>>2]=f[a+152>>2]^d;f[a+156>>2]=g;h=f[a+196>>2]^h;f[a+192>>2]=f[a+192>>2]^d;f[a+196>>2]=h;g=0;while(1){k=g<<2;i=(f[k+30384>>2]<<3)+a|0;h=i;d=f[h>>2];h=f[h+4>>2];f[i>>2]=jb(b,j,f[k+30480>>2]);f[i+4>>2]=B;b=d;j=h;g=g+1|0;if((g|0)!=24){continue}break}b=f[a+36>>2];f[e+32>>2]=f[a+32>>2];f[e+36>>2]=b;b=f[a+28>>2];f[e+24>>2]=f[a+24>>2];f[e+28>>2]=b;d=f[a+20>>2];b=d;j=f[a+16>>2];f[e+16>>2]=j;f[e+20>>2]=d;d=f[a+4>>2];f[e>>2]=f[a>>2];f[e+4>>2]=d;g=f[a+12>>2];d=g;h=f[a+8>>2];f[e+8>>2]=h;f[e+12>>2]=d;g=f[a+4>>2]^(d^-1)&b;f[a>>2]=f[a>>2]^(h^-1)&j;f[a+4>>2]=g;g=f[e+28>>2];b=f[a+12>>2]^g&(b^-1);i=f[e+24>>2];f[a+8>>2]=f[a+8>>2]^i&(j^-1);f[a+12>>2]=b;b=f[e+36>>2];j=f[a+20>>2]^b&(g^-1);g=f[e+32>>2];f[a+16>>2]=f[a+16>>2]^g&(i^-1);f[a+20>>2]=j;j=f[e+4>>2];b=f[a+28>>2]^j&(b^-1);i=f[e>>2];f[a+24>>2]=f[a+24>>2]^i&(g^-1);f[a+28>>2]=b;b=f[a+36>>2]^(j^-1)&d;f[a+32>>2]=f[a+32>>2]^(i^-1)&h;f[a+36>>2]=b;b=f[a+76>>2];f[e+32>>2]=f[a+72>>2];f[e+36>>2]=b;b=f[a+68>>2];f[e+24>>2]=f[a+64>>2];f[e+28>>2]=b;d=f[a+60>>2];b=d;j=f[a+56>>2];f[e+16>>2]=j;f[e+20>>2]=d;g=f[a+52>>2];d=g;h=f[a+48>>2];f[e+8>>2]=h;f[e+12>>2]=d;g=f[a+44>>2];f[e>>2]=f[a+40>>2];f[e+4>>2]=g;g=f[a+44>>2]^(d^-1)&b;f[a+40>>2]=f[a+40>>2]^(h^-1)&j;f[a+44>>2]=g;g=f[e+28>>2];b=f[a+52>>2]^g&(b^-1);i=f[e+24>>2];f[a+48>>2]=f[a+48>>2]^i&(j^-1);f[a+52>>2]=b;b=f[e+36>>2];j=f[a+60>>2]^b&(g^-1);g=f[e+32>>2];f[a+56>>2]=f[a+56>>2]^g&(i^-1);f[a+60>>2]=j;j=f[e+4>>2];b=f[a+68>>2]^j&(b^-1);i=f[e>>2];f[a+64>>2]=f[a+64>>2]^i&(g^-1);f[a+68>>2]=b;b=f[a+76>>2]^(j^-1)&d;f[a+72>>2]=f[a+72>>2]^(i^-1)&h;f[a+76>>2]=b;b=f[a+116>>2];f[e+32>>2]=f[a+112>>2];f[e+36>>2]=b;b=f[a+108>>2];f[e+24>>2]=f[a+104>>2];f[e+28>>2]=b;j=f[a+100>>2];b=j;d=f[a+96>>2];f[e+16>>2]=d;f[e+20>>2]=b;j=f[a+92>>2];h=j;g=f[a+88>>2];f[e+8>>2]=g;f[e+12>>2]=h;j=f[a+84>>2];f[e>>2]=f[a+80>>2];f[e+4>>2]=j;j=f[a+84>>2]^(h^-1)&b;P=j;N=f[a+80>>2]^(g^-1)&d;f[a+80>>2]=N;f[a+84>>2]=j;i=f[e+28>>2];k=f[a+92>>2]^i&(b^-1);j=k;l=f[e+24>>2];b=f[a+88>>2]^l&(d^-1);f[a+88>>2]=b;f[a+92>>2]=j;d=f[e+36>>2];i=f[a+100>>2]^d&(i^-1);u=i;k=f[e+32>>2];E=f[a+96>>2]^k&(l^-1);f[a+96>>2]=E;f[a+100>>2]=i;i=f[e+4>>2];d=f[a+108>>2]^i&(d^-1);J=d;l=f[e>>2];C=f[a+104>>2]^l&(k^-1);f[a+104>>2]=C;f[a+108>>2]=d;d=f[a+116>>2]^(i^-1)&h;H=d;y=f[a+112>>2]^(l^-1)&g;f[a+112>>2]=y;f[a+116>>2]=d;d=f[a+156>>2];f[e+32>>2]=f[a+152>>2];f[e+36>>2]=d;d=f[a+148>>2];f[e+24>>2]=f[a+144>>2];f[e+28>>2]=d;g=f[a+140>>2];d=g;h=f[a+136>>2];f[e+16>>2]=h;f[e+20>>2]=d;g=f[a+132>>2];i=g;k=f[a+128>>2];f[e+8>>2]=k;f[e+12>>2]=g;g=f[a+124>>2];f[e>>2]=f[a+120>>2];f[e+4>>2]=g;g=f[a+124>>2]^(i^-1)&d;Q=g;O=f[a+120>>2]^(k^-1)&h;f[a+120>>2]=O;f[a+124>>2]=g;l=f[e+28>>2];d=f[a+132>>2]^l&(d^-1);g=d;m=f[e+24>>2];h=f[a+128>>2]^m&(h^-1);f[a+128>>2]=h;f[a+132>>2]=d;d=f[e+36>>2];l=f[a+140>>2]^d&(l^-1);L=l;p=f[e+32>>2];D=f[a+136>>2]^p&(m^-1);f[a+136>>2]=D;f[a+140>>2]=l;l=f[e+4>>2];d=f[a+148>>2]^l&(d^-1);I=d;m=f[e>>2];z=f[a+144>>2]^m&(p^-1);f[a+144>>2]=z;f[a+148>>2]=d;d=f[a+156>>2]^(l^-1)&i;G=d;s=f[a+152>>2]^(m^-1)&k;f[a+152>>2]=s;f[a+156>>2]=d;d=f[a+196>>2];f[e+32>>2]=f[a+192>>2];f[e+36>>2]=d;d=f[a+188>>2];f[e+24>>2]=f[a+184>>2];f[e+28>>2]=d;k=f[a+180>>2];d=k;i=f[a+176>>2];f[e+16>>2]=i;f[e+20>>2]=d;l=f[a+172>>2];k=l;p=f[a+168>>2];f[e+8>>2]=p;f[e+12>>2]=l;l=f[a+164>>2];f[e>>2]=f[a+160>>2];f[e+4>>2]=l;n=f[a+164>>2]^(k^-1)&d;m=n;l=f[a+160>>2]^(p^-1)&i;f[a+160>>2]=l;f[a+164>>2]=m;n=f[e+28>>2];d=f[a+172>>2]^n&(d^-1);w=d;r=f[e+24>>2];v=f[a+168>>2]^r&(i^-1);f[a+168>>2]=v;f[a+172>>2]=d;d=f[e+36>>2];i=f[a+180>>2]^d&(n^-1);K=i;n=f[e+32>>2];t=f[a+176>>2]^n&(r^-1);f[a+176>>2]=t;f[a+180>>2]=i;i=f[e+4>>2];d=f[a+188>>2]^i&(d^-1);r=d;x=f[e>>2];n=f[a+184>>2]^x&(n^-1);f[a+184>>2]=n;f[a+188>>2]=d;d=f[a+196>>2]^(i^-1)&k;k=d;i=f[a+192>>2]^(x^-1)&p;f[a+192>>2]=i;f[a+196>>2]=d;p=(c<<3)+30576|0;d=f[a>>2]^f[p>>2];x=f[a+4>>2]^f[p+4>>2];p=x;f[a>>2]=d;f[a+4>>2]=p;c=c+1|0;if((c|0)!=24){continue}break}}function Sa(a,b,c,i,j,k){var l=0,m=0,n=0;l=A-288|0;A=l;a:{if(c){O(l- -64|0,0,131);m=h[529]|h[530]<<16;n=h[527]|h[528]<<16;e[l+270>>1]=n;e[l+272>>1]=n>>>16;e[l+274>>1]=m;e[l+276>>1]=m>>>16;m=f[263];f[l+264>>2]=f[262];f[l+268>>2]=m;m=f[261];f[l+256>>2]=f[260];f[l+260>>2]=m;X(b,c,l+256|0,l+208|0);Z(l- -64|0,l+208|0,l+240|0);f[l+232>>2]=0;f[l+236>>2]=0;f[l+224>>2]=0;f[l+228>>2]=0;f[l+240>>2]=0;f[l+244>>2]=0;f[l+216>>2]=0;f[l+220>>2]=0;f[l+208>>2]=0;f[l+212>>2]=0;Y(l,l- -64|0,a,64);O(l- -64|0,0,131);break a}b=a;c=g[b+60|0]|g[b+61|0]<<8|(g[b+62|0]<<16|g[b+63|0]<<24);f[l+56>>2]=g[b+56|0]|g[b+57|0]<<8|(g[b+58|0]<<16|g[b+59|0]<<24);f[l+60>>2]=c;c=g[b+52|0]|g[b+53|0]<<8|(g[b+54|0]<<16|g[b+55|0]<<24);f[l+48>>2]=g[b+48|0]|g[b+49|0]<<8|(g[b+50|0]<<16|g[b+51|0]<<24);f[l+52>>2]=c;c=g[b+44|0]|g[b+45|0]<<8|(g[b+46|0]<<16|g[b+47|0]<<24);f[l+40>>2]=g[b+40|0]|g[b+41|0]<<8|(g[b+42|0]<<16|g[b+43|0]<<24);f[l+44>>2]=c;c=g[b+36|0]|g[b+37|0]<<8|(g[b+38|0]<<16|g[b+39|0]<<24);f[l+32>>2]=g[b+32|0]|g[b+33|0]<<8|(g[b+34|0]<<16|g[b+35|0]<<24);f[l+36>>2]=c;c=g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24);f[l+24>>2]=g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24);f[l+28>>2]=c;c=g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24);f[l+16>>2]=g[b+16|0]|g[b+17|0]<<8|(g[b+18|0]<<16|g[b+19|0]<<24);f[l+20>>2]=c;c=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[l>>2]=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f[l+4>>2]=c;c=g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24);f[l+8>>2]=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);f[l+12>>2]=c}b:{if(j){O(l- -64|0,0,131);b=h[529]|h[530]<<16;c=h[527]|h[528]<<16;e[l+270>>1]=c;e[l+272>>1]=c>>>16;e[l+274>>1]=b;e[l+276>>1]=b>>>16;b=f[263];f[l+264>>2]=f[262];f[l+268>>2]=b;b=f[261];f[l+256>>2]=f[260];f[l+260>>2]=b;X(i,j,l+256|0,l+208|0);Z(l- -64|0,l+208|0,l+240|0);f[l+232>>2]=0;f[l+236>>2]=0;f[l+224>>2]=0;f[l+228>>2]=0;f[l+240>>2]=0;f[l+244>>2]=0;f[l+216>>2]=0;f[l+220>>2]=0;f[l+208>>2]=0;f[l+212>>2]=0;Y(k,l- -64|0,l,64);O(l- -64|0,0,131);break b}b=f[l+4>>2];c=f[l>>2];d[k|0]=c;d[k+1|0]=c>>>8;d[k+2|0]=c>>>16;d[k+3|0]=c>>>24;d[k+4|0]=b;d[k+5|0]=b>>>8;d[k+6|0]=b>>>16;d[k+7|0]=b>>>24;b=f[l+12>>2];c=f[l+8>>2];d[k+8|0]=c;d[k+9|0]=c>>>8;d[k+10|0]=c>>>16;d[k+11|0]=c>>>24;d[k+12|0]=b;d[k+13|0]=b>>>8;d[k+14|0]=b>>>16;d[k+15|0]=b>>>24;b=f[l+60>>2];c=f[l+56>>2];d[k+56|0]=c;d[k+57|0]=c>>>8;d[k+58|0]=c>>>16;d[k+59|0]=c>>>24;d[k+60|0]=b;d[k+61|0]=b>>>8;d[k+62|0]=b>>>16;d[k+63|0]=b>>>24;b=f[l+52>>2];c=f[l+48>>2];d[k+48|0]=c;d[k+49|0]=c>>>8;d[k+50|0]=c>>>16;d[k+51|0]=c>>>24;d[k+52|0]=b;d[k+53|0]=b>>>8;d[k+54|0]=b>>>16;d[k+55|0]=b>>>24;b=f[l+44>>2];c=f[l+40>>2];d[k+40|0]=c;d[k+41|0]=c>>>8;d[k+42|0]=c>>>16;d[k+43|0]=c>>>24;d[k+44|0]=b;d[k+45|0]=b>>>8;d[k+46|0]=b>>>16;d[k+47|0]=b>>>24;b=f[l+36>>2];c=f[l+32>>2];d[k+32|0]=c;d[k+33|0]=c>>>8;d[k+34|0]=c>>>16;d[k+35|0]=c>>>24;d[k+36|0]=b;d[k+37|0]=b>>>8;d[k+38|0]=b>>>16;d[k+39|0]=b>>>24;b=f[l+28>>2];c=f[l+24>>2];d[k+24|0]=c;d[k+25|0]=c>>>8;d[k+26|0]=c>>>16;d[k+27|0]=c>>>24;d[k+28|0]=b;d[k+29|0]=b>>>8;d[k+30|0]=b>>>16;d[k+31|0]=b>>>24;b=f[l+20>>2];c=f[l+16>>2];d[k+16|0]=c;d[k+17|0]=c>>>8;d[k+18|0]=c>>>16;d[k+19|0]=c>>>24;d[k+20|0]=b;d[k+21|0]=b>>>8;d[k+22|0]=b>>>16;d[k+23|0]=b>>>24}b=g[a+92|0]|g[a+93|0]<<8|(g[a+94|0]<<16|g[a+95|0]<<24);c=g[a+88|0]|g[a+89|0]<<8|(g[a+90|0]<<16|g[a+91|0]<<24);d[k+88|0]=c;d[k+89|0]=c>>>8;d[k+90|0]=c>>>16;d[k+91|0]=c>>>24;d[k+92|0]=b;d[k+93|0]=b>>>8;d[k+94|0]=b>>>16;d[k+95|0]=b>>>24;b=g[a+84|0]|g[a+85|0]<<8|(g[a+86|0]<<16|g[a+87|0]<<24);c=g[a+80|0]|g[a+81|0]<<8|(g[a+82|0]<<16|g[a+83|0]<<24);d[k+80|0]=c;d[k+81|0]=c>>>8;d[k+82|0]=c>>>16;d[k+83|0]=c>>>24;d[k+84|0]=b;d[k+85|0]=b>>>8;d[k+86|0]=b>>>16;d[k+87|0]=b>>>24;b=g[a+76|0]|g[a+77|0]<<8|(g[a+78|0]<<16|g[a+79|0]<<24);c=g[a+72|0]|g[a+73|0]<<8|(g[a+74|0]<<16|g[a+75|0]<<24);d[k+72|0]=c;d[k+73|0]=c>>>8;d[k+74|0]=c>>>16;d[k+75|0]=c>>>24;d[k+76|0]=b;d[k+77|0]=b>>>8;d[k+78|0]=b>>>16;d[k+79|0]=b>>>24;b=g[a+68|0]|g[a+69|0]<<8|(g[a+70|0]<<16|g[a+71|0]<<24);c=g[a+64|0]|g[a+65|0]<<8|(g[a+66|0]<<16|g[a+67|0]<<24);d[k+64|0]=c;d[k+65|0]=c>>>8;d[k+66|0]=c>>>16;d[k+67|0]=c>>>24;d[k+68|0]=b;d[k+69|0]=b>>>8;d[k+70|0]=b>>>16;d[k+71|0]=b>>>24;b=g[a+100|0]|g[a+101|0]<<8|(g[a+102|0]<<16|g[a+103|0]<<24);c=g[a+96|0]|g[a+97|0]<<8|(g[a+98|0]<<16|g[a+99|0]<<24);d[k+96|0]=c;d[k+97|0]=c>>>8;d[k+98|0]=c>>>16;d[k+99|0]=c>>>24;d[k+100|0]=b;d[k+101|0]=b>>>8;d[k+102|0]=b>>>16;d[k+103|0]=b>>>24;b=g[a+108|0]|g[a+109|0]<<8|(g[a+110|0]<<16|g[a+111|0]<<24);c=g[a+104|0]|g[a+105|0]<<8|(g[a+106|0]<<16|g[a+107|0]<<24);d[k+104|0]=c;d[k+105|0]=c>>>8;d[k+106|0]=c>>>16;d[k+107|0]=c>>>24;d[k+108|0]=b;d[k+109|0]=b>>>8;d[k+110|0]=b>>>16;d[k+111|0]=b>>>24;b=g[a+116|0]|g[a+117|0]<<8|(g[a+118|0]<<16|g[a+119|0]<<24);c=g[a+112|0]|g[a+113|0]<<8|(g[a+114|0]<<16|g[a+115|0]<<24);d[k+112|0]=c;d[k+113|0]=c>>>8;d[k+114|0]=c>>>16;d[k+115|0]=c>>>24;d[k+116|0]=b;d[k+117|0]=b>>>8;d[k+118|0]=b>>>16;d[k+119|0]=b>>>24;b=g[a+124|0]|g[a+125|0]<<8|(g[a+126|0]<<16|g[a+127|0]<<24);a=g[a+120|0]|g[a+121|0]<<8|(g[a+122|0]<<16|g[a+123|0]<<24);d[k+120|0]=a;d[k+121|0]=a>>>8;d[k+122|0]=a>>>16;d[k+123|0]=a>>>24;d[k+124|0]=b;d[k+125|0]=b>>>8;d[k+126|0]=b>>>16;d[k+127|0]=b>>>24;A=l+288|0}function Na(a,b,c){var e=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=A-880|0;A=e;a:{if(!ia(e+160|0,a)){break a}if(!ia(e,b)){break a}a=f[e+200>>2];b=f[e+160>>2];k=(a-b|0)+134217690|0;f[e+320>>2]=k&67108863;h=k>>>26|0;k=f[e+204>>2];p=f[e+164>>2];i=((h+k|0)-p|0)+67108862|0;f[e+324>>2]=i&33554431;q=f[e+208>>2];r=f[e+168>>2];i=(q-r+(i>>>25)|0)+134217726|0;f[e+328>>2]=i&67108863;s=f[e+212>>2];t=f[e+172>>2];i=(s-t+(i>>>26)|0)+67108862|0;f[e+332>>2]=i&33554431;u=f[e+216>>2];j=f[e+176>>2];f[e+336>>2]=(u-j+(i>>>25)|0)+134217726;i=f[e+220>>2];v=f[e+180>>2];f[e+340>>2]=(i-v|0)+67108862;w=f[e+224>>2];h=f[e+184>>2];f[e+344>>2]=(w-h|0)+134217726;x=f[e+228>>2];y=f[e+188>>2];f[e+348>>2]=(x-y|0)+67108862;z=f[e+232>>2];m=f[e+192>>2];f[e+352>>2]=(z-m|0)+134217726;n=f[e+236>>2];o=f[e+196>>2];f[e+356>>2]=(n-o|0)+67108862;f[e+868>>2]=n+o;f[e+864>>2]=z+m;f[e+860>>2]=x+y;f[e+856>>2]=h+w;f[e+852>>2]=i+v;f[e+848>>2]=j+u;f[e+844>>2]=s+t;f[e+840>>2]=q+r;f[e+836>>2]=k+p;f[e+832>>2]=a+b;a=f[e+40>>2];b=f[e>>2];k=(a-b|0)+134217690|0;f[e+688>>2]=k&67108863;h=k>>>26|0;k=f[e+44>>2];p=f[e+4>>2];i=((h+k|0)-p|0)+67108862|0;f[e+692>>2]=i&33554431;q=f[e+48>>2];r=f[e+8>>2];i=(q-r+(i>>>25)|0)+134217726|0;f[e+696>>2]=i&67108863;s=f[e+52>>2];t=f[e+12>>2];i=(s-t+(i>>>26)|0)+67108862|0;f[e+700>>2]=i&33554431;u=f[e+56>>2];j=f[e+16>>2];f[e+704>>2]=(u-j+(i>>>25)|0)+134217726;i=f[e+60>>2];v=f[e+20>>2];f[e+708>>2]=(i-v|0)+67108862;w=f[e- -64>>2];h=f[e+24>>2];f[e+712>>2]=(w-h|0)+134217726;x=f[e+68>>2];y=f[e+28>>2];f[e+716>>2]=(x-y|0)+67108862;z=f[e+72>>2];m=f[e+32>>2];f[e+720>>2]=(z-m|0)+134217726;n=f[e+76>>2];o=f[e+36>>2];f[e+724>>2]=(n-o|0)+67108862;f[e+676>>2]=n+o;f[e+672>>2]=z+m;f[e+668>>2]=x+y;f[e+664>>2]=h+w;f[e+660>>2]=i+v;f[e+656>>2]=j+u;f[e+652>>2]=s+t;f[e+648>>2]=q+r;f[e+644>>2]=k+p;f[e+640>>2]=a+b;M(e+320|0,e+320|0,e+688|0);M(e+832|0,e+832|0,e+640|0);M(e+784|0,e+280|0,e+120|0);M(e+784|0,e+784|0,29616);M(e+736|0,e+240|0,e+80|0);a=f[e+772>>2]<<1;f[e+772>>2]=a;b=f[e+768>>2]<<1;f[e+768>>2]=b;k=f[e+764>>2]<<1;f[e+764>>2]=k;p=f[e+760>>2]<<1;f[e+760>>2]=p;i=f[e+756>>2]<<1;f[e+756>>2]=i;q=f[e+752>>2]<<1;f[e+752>>2]=q;r=f[e+748>>2]<<1;f[e+748>>2]=r;s=f[e+744>>2]<<1;f[e+744>>2]=s;t=f[e+736>>2]<<1;f[e+736>>2]=t;u=f[e+740>>2]<<1;f[e+740>>2]=u;w=f[e+832>>2];h=f[e+320>>2];j=(w-h|0)+134217690|0;f[e+480>>2]=j&67108863;x=f[e+836>>2];y=f[e+324>>2];j=((x+(j>>>26|0)|0)-y|0)+67108862|0;f[e+484>>2]=j&33554431;z=f[e+840>>2];m=f[e+328>>2];j=(z-m+(j>>>25)|0)+134217726|0;f[e+488>>2]=j&67108863;n=f[e+844>>2];o=f[e+332>>2];j=(n-o+(j>>>26)|0)+67108862|0;f[e+492>>2]=j&33554431;B=f[e+848>>2];C=f[e+336>>2];f[e+496>>2]=(B-C+(j>>>25)|0)+134217726;D=f[e+852>>2];E=f[e+340>>2];f[e+500>>2]=(D-E|0)+67108862;F=f[e+856>>2];G=f[e+344>>2];f[e+504>>2]=(F-G|0)+134217726;H=f[e+860>>2];I=f[e+348>>2];f[e+508>>2]=(H-I|0)+67108862;J=f[e+864>>2];K=f[e+352>>2];f[e+512>>2]=(J-K|0)+134217726;j=f[e+356>>2];v=f[e+868>>2];f[e+552>>2]=J+K;f[e+548>>2]=H+I;f[e+544>>2]=F+G;f[e+540>>2]=D+E;f[e+536>>2]=B+C;f[e+532>>2]=n+o;f[e+528>>2]=z+m;f[e+524>>2]=x+y;f[e+556>>2]=j+v;f[e+520>>2]=h+w;f[e+516>>2]=(v-j|0)+67108862;j=f[e+788>>2];v=f[e+784>>2];w=v+t|0;h=j+u+(w>>>26)|0;f[e+564>>2]=h&33554431;x=f[e+792>>2];h=x+s+(h>>>25)|0;f[e+568>>2]=h&67108863;y=f[e+796>>2];h=y+r+(h>>>26)|0;f[e+572>>2]=h&33554431;z=f[e+800>>2];h=z+q+(h>>>25)|0;f[e+576>>2]=h&67108863;m=f[e+804>>2];h=m+i+(h>>>26)|0;f[e+580>>2]=h&33554431;n=f[e+808>>2];h=n+p+(h>>>25)|0;f[e+584>>2]=h&67108863;o=f[e+812>>2];h=o+k+(h>>>26)|0;f[e+588>>2]=h&33554431;B=f[e+816>>2];h=B+b+(h>>>25)|0;f[e+592>>2]=h&67108863;C=f[e+820>>2];h=C+a+(h>>>26)|0;f[e+596>>2]=h&33554431;C=a-C|0;B=b-B|0;o=k-o|0;n=p-n|0;m=i-m|0;a=(t-v|0)+268435380|0;b=(u-j+(a>>>26)|0)+134217724|0;k=(s-x+(b>>>25)|0)+268435452|0;p=(r-y+(k>>>26)|0)+134217724|0;i=(q-z+(p>>>25)|0)+268435452|0;q=(m+(i>>>26|0)|0)+134217724|0;r=(n+(q>>>25|0)|0)+268435452|0;s=(o+(r>>>26|0)|0)+134217724|0;t=(B+(s>>>25|0)|0)+268435452|0;u=(C+(t>>>26|0)|0)+134217724|0;f[e+636>>2]=u&33554431;f[e+632>>2]=t&67108863;f[e+628>>2]=s&33554431;f[e+624>>2]=r&67108863;f[e+620>>2]=q&33554431;f[e+616>>2]=i&67108863;f[e+612>>2]=p&33554431;f[e+608>>2]=k&67108863;f[e+604>>2]=b&33554431;f[e+560>>2]=l(h>>>25|0,19)+(w&67108863);f[e+600>>2]=l(u>>>25|0,19)+(a&67108863);a=e+600|0;M(e+320|0,e+480|0,a);b=e+520|0;k=e+560|0;M(e+360|0,b,k);M(e+400|0,k,a);M(e+440|0,e+480|0,b);da(c,e+320|0);d[c+31|0]=g[c+31|0]^128}A=e+880|0}function ia(a,b){var c=0,e=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0;c=A-336|0;A=c;t=g[b+31|0];i=f[b+4>>2];h=f[b+8>>2];j=f[b+20>>2];e=f[b+24>>2];k=f[b+28>>2];m=f[b>>2];n=f[b+12>>2];o=f[b+16>>2];f[a+84>>2]=0;f[a+88>>2]=0;f[a+80>>2]=1;f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=0;f[a+104>>2]=0;f[a+108>>2]=0;f[a+112>>2]=0;f[a+116>>2]=0;f[a+60>>2]=o&33554431;f[a+56>>2]=n>>>6;f[a+40>>2]=m&67108863;f[a+76>>2]=k>>>6&33554431;f[a+68>>2]=((e&524287)<<13|j>>>19)&33554431;b=j;j=o;f[a- -64>>2]=((b&33554431)<<7|j>>>25)&67108863;f[a+48>>2]=((h&524287)<<13|i>>>19)&67108863;b=i;i=m;f[a+44>>2]=((b&67108863)<<6|i>>>26)&33554431;f[a+72>>2]=((k&4095)<<20|e>>>12)&67108863;f[a+52>>2]=((n&8191)<<19|h>>>13)&33554431;b=a+40|0;U(c+96|0,b);M(c+48|0,c+96|0,25648);i=f[a+80>>2];h=(f[c+96>>2]-i|0)+268435380|0;j=f[a+84>>2];e=((f[c+100>>2]+(h>>>26|0)|0)-j|0)+134217724|0;f[c+100>>2]=e&33554431;k=f[a+88>>2];e=(f[c+104>>2]-k+(e>>>25)|0)+268435452|0;f[c+104>>2]=e&67108863;m=f[a+92>>2];e=(f[c+108>>2]-m+(e>>>26)|0)+134217724|0;f[c+108>>2]=e&33554431;n=f[a+96>>2];e=(f[c+112>>2]-n+(e>>>25)|0)+268435452|0;f[c+112>>2]=e&67108863;o=f[a+100>>2];e=(f[c+116>>2]-o+(e>>>26)|0)+134217724|0;f[c+116>>2]=e&33554431;p=f[a+104>>2];e=(f[c+120>>2]-p+(e>>>25)|0)+268435452|0;f[c+120>>2]=e&67108863;q=f[a+108>>2];e=(f[c+124>>2]-q+(e>>>26)|0)+134217724|0;f[c+124>>2]=e&33554431;r=f[a+112>>2];e=(f[c+128>>2]-r+(e>>>25)|0)+268435452|0;f[c+128>>2]=e&67108863;s=f[a+116>>2];e=(f[c+132>>2]-s+(e>>>26)|0)+134217724|0;f[c+132>>2]=e&33554431;h=l(e>>>25|0,19)+(h&67108863)|0;f[c+96>>2]=h;f[c+48>>2]=i+f[c+48>>2];f[c+52>>2]=j+f[c+52>>2];f[c+56>>2]=k+f[c+56>>2];f[c+60>>2]=m+f[c+60>>2];f[c+64>>2]=n+f[c+64>>2];f[c+68>>2]=o+f[c+68>>2];f[c+72>>2]=p+f[c+72>>2];f[c+76>>2]=q+f[c+76>>2];f[c+80>>2]=r+f[c+80>>2];f[c+84>>2]=s+f[c+84>>2];U(c+144|0,c+48|0);M(c,c+144|0,c+48|0);U(a,c);M(a,a,c+48|0);M(a,a,c+96|0);S(c+240|0,a,1);S(c+192|0,c+240|0,2);M(c+288|0,c+192|0,a);M(c+240|0,c+288|0,c+240|0);S(c+192|0,c+240|0,1);M(c+288|0,c+192|0,c+288|0);qa(c+288|0);S(c+288|0,c+288|0,2);M(a,c+288|0,a);M(a,a,c);M(a,a,c+96|0);U(c+144|0,a);M(c+144|0,c+144|0,c+48|0);i=(f[c+144>>2]-h|0)+268435380|0;h=f[c+148>>2];j=f[c+100>>2];e=(((i>>>26|0)+h|0)-j|0)+134217724|0;f[c+292>>2]=e&33554431;k=f[c+152>>2];m=f[c+104>>2];e=(k-m+(e>>>25)|0)+268435452|0;f[c+296>>2]=e&67108863;n=f[c+156>>2];o=f[c+108>>2];e=(n-o+(e>>>26)|0)+134217724|0;f[c+300>>2]=e&33554431;p=f[c+160>>2];q=f[c+112>>2];e=(p-q+(e>>>25)|0)+268435452|0;f[c+304>>2]=e&67108863;r=f[c+164>>2];s=f[c+116>>2];e=(r-s+(e>>>26)|0)+134217724|0;f[c+308>>2]=e&33554431;u=f[c+168>>2];v=f[c+120>>2];e=(u-v+(e>>>25)|0)+268435452|0;f[c+312>>2]=e&67108863;w=f[c+172>>2];x=f[c+124>>2];e=(w-x+(e>>>26)|0)+134217724|0;f[c+316>>2]=e&33554431;y=f[c+176>>2];z=f[c+128>>2];e=(y-z+(e>>>25)|0)+268435452|0;f[c+320>>2]=e&67108863;B=f[c+180>>2];C=f[c+132>>2];e=(B-C+(e>>>26)|0)+134217724|0;f[c+324>>2]=e&33554431;f[c+288>>2]=l(e>>>25|0,19)+(i&67108863);aa(c+240|0,c+288|0);a:{if(!ha(c+240|0,25696)){i=f[c+96>>2]+f[c+144>>2]|0;h=j+((i>>>26|0)+h|0)|0;f[c+148>>2]=h&33554431;h=m+(k+(h>>>25|0)|0)|0;f[c+152>>2]=h&67108863;h=n+o+(h>>>26)|0;f[c+156>>2]=h&33554431;h=p+q+(h>>>25)|0;f[c+160>>2]=h&67108863;h=r+s+(h>>>26)|0;f[c+164>>2]=h&33554431;h=u+v+(h>>>25)|0;f[c+168>>2]=h&67108863;h=w+x+(h>>>26)|0;f[c+172>>2]=h&33554431;h=y+z+(h>>>25)|0;f[c+176>>2]=h&67108863;h=B+C+(h>>>26)|0;f[c+180>>2]=h&33554431;f[c+144>>2]=l(h>>>25|0,19)+(i&67108863);aa(c+240|0,c+144|0);if(!ha(c+240|0,25696)){break a}M(a,a,25728)}aa(c+240|0,a);if((d[c+240|0]&1)==(t>>>7|0)){i=f[a>>2];f[c+144>>2]=i;h=f[a+4>>2];f[c+148>>2]=h;j=f[a+8>>2];f[c+152>>2]=j;e=f[a+12>>2];f[c+156>>2]=e;k=f[a+16>>2];f[c+160>>2]=k;m=f[a+20>>2];f[c+164>>2]=m;n=f[a+24>>2];f[c+168>>2]=n;o=f[a+28>>2];f[c+172>>2]=o;p=f[a+32>>2];f[c+176>>2]=p;t=f[a+36>>2];f[c+180>>2]=t;i=134217690-i|0;h=((i>>>26|0)-h|0)+67108862|0;j=((h>>>25|0)-j|0)+134217726|0;e=((j>>>26|0)-e|0)+67108862|0;k=((e>>>25|0)-k|0)+134217726|0;m=((k>>>26|0)-m|0)+67108862|0;f[a+20>>2]=m&33554431;f[a+16>>2]=k&67108863;f[a+12>>2]=e&33554431;f[a+8>>2]=j&67108863;f[a+4>>2]=h&33554431;h=((m>>>25|0)-n|0)+134217726|0;f[a+24>>2]=h&67108863;h=((h>>>26|0)-o|0)+67108862|0;f[a+28>>2]=h&33554431;h=((h>>>25|0)-p|0)+134217726|0;f[a+32>>2]=h&67108863;h=((h>>>26|0)-t|0)+67108862|0;f[a+36>>2]=h&33554431;f[a>>2]=l(h>>>25|0,19)+(i&67108863)}M(a+120|0,a,b);D=1}A=c+336|0;return D}function Ja(a,b){var c=0,d=0,e=0,g=0,h=0,i=0;e=32;d=A-208|0;A=d;c=f[a+4>>2];h=f[a>>2];a:{b:{if((c|0)==(h|0)){T(a+8|0,0,0);break b}i=c-h|0;if(!h|i>>>0>32){break a}c=a;e=f[c+12>>2];f[d>>2]=f[c+8>>2];f[d+4>>2]=e;e=f[c+20>>2];f[d+8>>2]=f[c+16>>2];f[d+12>>2]=e;e=f[c+28>>2];f[d+16>>2]=f[c+24>>2];f[d+20>>2]=e;e=f[c+36>>2];f[d+24>>2]=f[c+32>>2];f[d+28>>2]=e;e=f[c+44>>2];f[d+32>>2]=f[c+40>>2];f[d+36>>2]=e;e=f[c+52>>2];f[d+40>>2]=f[c+48>>2];f[d+44>>2]=e;e=f[c+60>>2];f[d+48>>2]=f[c+56>>2];f[d+52>>2]=e;e=c- -64|0;g=f[e+4>>2];f[d+56>>2]=f[e>>2];f[d+60>>2]=g;e=f[c+76>>2];f[d+64>>2]=f[c+72>>2];f[d+68>>2]=e;e=f[c+84>>2];f[d+72>>2]=f[c+80>>2];f[d+76>>2]=e;e=f[c+92>>2];f[d+80>>2]=f[c+88>>2];f[d+84>>2]=e;e=f[c+100>>2];f[d+88>>2]=f[c+96>>2];f[d+92>>2]=e;e=f[c+108>>2];f[d+96>>2]=f[c+104>>2];f[d+100>>2]=e;e=f[c+116>>2];f[d+104>>2]=f[c+112>>2];f[d+108>>2]=e;e=f[c+124>>2];f[d+112>>2]=f[c+120>>2];f[d+116>>2]=e;e=f[c+132>>2];f[d+120>>2]=f[c+128>>2];f[d+124>>2]=e;e=f[c+140>>2];f[d+128>>2]=f[c+136>>2];f[d+132>>2]=e;e=f[c+148>>2];f[d+136>>2]=f[c+144>>2];f[d+140>>2]=e;e=f[c+156>>2];f[d+144>>2]=f[c+152>>2];f[d+148>>2]=e;e=f[c+164>>2];f[d+152>>2]=f[c+160>>2];f[d+156>>2]=e;e=f[c+172>>2];f[d+160>>2]=f[c+168>>2];f[d+164>>2]=e;e=f[c+180>>2];f[d+168>>2]=f[c+176>>2];f[d+172>>2]=e;e=f[c+188>>2];f[d+176>>2]=f[c+184>>2];f[d+180>>2]=e;e=f[c+196>>2];f[d+184>>2]=f[c+192>>2];f[d+188>>2]=e;e=f[c+204>>2];f[d+192>>2]=f[c+200>>2];f[d+196>>2]=e;b=P(b,d+h|0,i);T(c+8|0,0,0);b=b+i|0;e=32-i|0}f[a>>2]=0}h=f[a+4>>2];if(e>>>0>h>>>0){i=a+8|0;while(1){c=a;g=f[c+12>>2];f[d>>2]=f[c+8>>2];f[d+4>>2]=g;g=f[c+20>>2];f[d+8>>2]=f[c+16>>2];f[d+12>>2]=g;g=f[c+28>>2];f[d+16>>2]=f[c+24>>2];f[d+20>>2]=g;g=f[c+36>>2];f[d+24>>2]=f[c+32>>2];f[d+28>>2]=g;g=f[c+44>>2];f[d+32>>2]=f[c+40>>2];f[d+36>>2]=g;g=f[c+52>>2];f[d+40>>2]=f[c+48>>2];f[d+44>>2]=g;g=f[c+60>>2];f[d+48>>2]=f[c+56>>2];f[d+52>>2]=g;g=f[c+68>>2];f[d+56>>2]=f[c+64>>2];f[d+60>>2]=g;g=f[c+76>>2];f[d+64>>2]=f[c+72>>2];f[d+68>>2]=g;g=f[c+84>>2];f[d+72>>2]=f[c+80>>2];f[d+76>>2]=g;g=f[c+92>>2];f[d+80>>2]=f[c+88>>2];f[d+84>>2]=g;g=f[c+100>>2];f[d+88>>2]=f[c+96>>2];f[d+92>>2]=g;g=f[c+108>>2];f[d+96>>2]=f[c+104>>2];f[d+100>>2]=g;g=f[c+116>>2];f[d+104>>2]=f[c+112>>2];f[d+108>>2]=g;g=f[c+124>>2];f[d+112>>2]=f[c+120>>2];f[d+116>>2]=g;g=f[c+132>>2];f[d+120>>2]=f[c+128>>2];f[d+124>>2]=g;g=f[c+140>>2];f[d+128>>2]=f[c+136>>2];f[d+132>>2]=g;g=f[c+148>>2];f[d+136>>2]=f[c+144>>2];f[d+140>>2]=g;g=f[c+156>>2];f[d+144>>2]=f[c+152>>2];f[d+148>>2]=g;g=f[c+164>>2];f[d+152>>2]=f[c+160>>2];f[d+156>>2]=g;g=f[c+172>>2];f[d+160>>2]=f[c+168>>2];f[d+164>>2]=g;g=f[c+180>>2];f[d+168>>2]=f[c+176>>2];f[d+172>>2]=g;g=f[c+188>>2];f[d+176>>2]=f[c+184>>2];f[d+180>>2]=g;g=f[c+196>>2];f[d+184>>2]=f[c+192>>2];f[d+188>>2]=g;g=f[c+204>>2];f[d+192>>2]=f[c+200>>2];f[d+196>>2]=g;b=P(b,d,h);T(i,0,0);h=f[c+4>>2];b=b+h|0;e=e-h|0;if(e>>>0>h>>>0){continue}break}}if(e){c=f[a+12>>2];f[d>>2]=f[a+8>>2];f[d+4>>2]=c;c=f[a+20>>2];f[d+8>>2]=f[a+16>>2];f[d+12>>2]=c;c=f[a+28>>2];f[d+16>>2]=f[a+24>>2];f[d+20>>2]=c;c=f[a+36>>2];f[d+24>>2]=f[a+32>>2];f[d+28>>2]=c;c=f[a+44>>2];f[d+32>>2]=f[a+40>>2];f[d+36>>2]=c;c=f[a+52>>2];f[d+40>>2]=f[a+48>>2];f[d+44>>2]=c;c=f[a+60>>2];f[d+48>>2]=f[a+56>>2];f[d+52>>2]=c;c=a- -64|0;h=f[c+4>>2];f[d+56>>2]=f[c>>2];f[d+60>>2]=h;c=f[a+76>>2];f[d+64>>2]=f[a+72>>2];f[d+68>>2]=c;c=f[a+84>>2];f[d+72>>2]=f[a+80>>2];f[d+76>>2]=c;c=f[a+92>>2];f[d+80>>2]=f[a+88>>2];f[d+84>>2]=c;c=f[a+100>>2];f[d+88>>2]=f[a+96>>2];f[d+92>>2]=c;c=f[a+108>>2];f[d+96>>2]=f[a+104>>2];f[d+100>>2]=c;c=f[a+116>>2];f[d+104>>2]=f[a+112>>2];f[d+108>>2]=c;c=f[a+124>>2];f[d+112>>2]=f[a+120>>2];f[d+116>>2]=c;c=f[a+132>>2];f[d+120>>2]=f[a+128>>2];f[d+124>>2]=c;c=f[a+140>>2];f[d+128>>2]=f[a+136>>2];f[d+132>>2]=c;c=f[a+148>>2];f[d+136>>2]=f[a+144>>2];f[d+140>>2]=c;c=f[a+156>>2];f[d+144>>2]=f[a+152>>2];f[d+148>>2]=c;c=f[a+164>>2];f[d+152>>2]=f[a+160>>2];f[d+156>>2]=c;c=f[a+172>>2];f[d+160>>2]=f[a+168>>2];f[d+164>>2]=c;c=f[a+180>>2];f[d+168>>2]=f[a+176>>2];f[d+172>>2]=c;c=f[a+188>>2];f[d+176>>2]=f[a+184>>2];f[d+180>>2]=c;c=f[a+196>>2];f[d+184>>2]=f[a+192>>2];f[d+188>>2]=c;c=f[a+204>>2];f[d+192>>2]=f[a+200>>2];f[d+196>>2]=c;P(b,d+f[a>>2]|0,e);f[a>>2]=f[a>>2]+e}A=d+208|0}function S(a,b,c){var d=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=f[b+36>>2];k=f[b+32>>2];m=f[b+28>>2];j=f[b+24>>2];g=f[b+20>>2];h=f[b+16>>2];w=f[b+12>>2];q=f[b+8>>2];y=f[b+4>>2];b=f[b>>2];while(1){z=g<<1;D=l(j,19);d=hb(z,0,D);p=B;n=h;C=l(m,38);o=hb(h,0,C);e=o+d|0;d=B+p|0;d=e>>>0<o>>>0?d+1|0:d;x=w<<1;A=l(k,19);o=hb(x,0,A);p=o+e|0;e=B+d|0;e=p>>>0<o>>>0?e+1|0:e;d=p;s=l(i,38);p=hb(s,0,q&2147483647);d=d+p|0;e=B+e|0;e=d>>>0<p>>>0?e+1|0:e;t=b<<1;G=y;o=hb(t,0,y);p=o+d|0;d=B+e|0;r=p;o=p>>>0<o>>>0?d+1|0:d;E=h<<1;d=hb(E,0,D);e=B;p=g;h=hb(g,0,l(g,38));d=h+d|0;g=B+e|0;g=d>>>0<h>>>0?g+1|0:g;h=hb(x,0,C);e=h+d|0;d=B+g|0;d=e>>>0<h>>>0?d+1|0:d;u=q<<1;h=hb(u,0,A);g=h+e|0;e=B+d|0;e=g>>>0<h>>>0?e+1|0:e;d=g;v=y<<1;g=hb(v,0,s);d=d+g|0;e=B+e|0;e=d>>>0<g>>>0?e+1|0:e;g=hb(b,0,b);b=g+d|0;d=B+e|0;d=b>>>0<g>>>0?d+1|0:d;y=b;e=d>>>26|0;d=(d&67108863)<<6|b>>>26;b=d+r|0;g=e+o|0;F=b;b=b>>>0<d>>>0?g+1|0:g;h=j;d=hb(x,0,h);g=B;o=hb(n,0,z);e=o+d|0;d=B+g|0;d=e>>>0<o>>>0?d+1|0:d;o=m;r=hb(u,0,m);g=r+e|0;e=B+d|0;e=g>>>0<r>>>0?e+1|0:e;r=hb(v,0,k);g=r+g|0;d=B+e|0;d=g>>>0<r>>>0?d+1|0:d;r=hb(t,0,i);g=r+g|0;e=B+d|0;H=g;r=g>>>0<r>>>0?e+1|0:e;d=hb(n,0,n);e=B;i=hb(s,0,i);d=i+d|0;g=B+e|0;g=d>>>0<i>>>0?g+1|0:g;i=hb(x,0,z);e=i+d|0;d=B+g|0;d=e>>>0<i>>>0?d+1|0:d;i=hb(u,0,h);g=i+e|0;e=B+d|0;e=g>>>0<i>>>0?e+1|0:e;m=m<<1;i=hb(v,0,m);g=i+g|0;d=B+e|0;d=g>>>0<i>>>0?d+1|0:d;i=hb(t,0,k);g=i+g|0;e=B+d|0;I=g;J=g>>>0<i>>>0?e+1|0:e;d=hb(n,0,x);e=B;i=hb(s,0,k);d=i+d|0;g=B+e|0;g=d>>>0<i>>>0?g+1|0:g;i=hb(u,0,p);e=i+d|0;d=B+g|0;d=e>>>0<i>>>0?d+1|0:d;i=hb(v,0,h);g=i+e|0;e=B+d|0;e=g>>>0<i>>>0?e+1|0:e;i=hb(t,0,o);g=i+g|0;d=B+e|0;K=g;i=g>>>0<i>>>0?d+1|0:d;d=hb(s,0,m);e=B;g=hb(A,0,k);d=g+d|0;e=B+e|0;e=d>>>0<g>>>0?e+1|0:e;k=hb(x,0,w);d=k+d|0;g=B+e|0;g=d>>>0<k>>>0?g+1|0:g;k=hb(u,0,n);e=k+d|0;d=B+g|0;d=e>>>0<k>>>0?d+1|0:d;k=hb(v,0,z);g=k+e|0;e=B+d|0;e=g>>>0<k>>>0?e+1|0:e;k=hb(t,0,h);g=k+g|0;d=B+e|0;L=g;k=g>>>0<k>>>0?d+1|0:d;d=hb(s,0,h);e=B;g=hb(A,0,m);d=g+d|0;e=B+e|0;e=d>>>0<g>>>0?e+1|0:e;m=hb(u,0,w);d=m+d|0;g=B+e|0;g=d>>>0<m>>>0?g+1|0:g;m=hb(n,0,v);e=m+d|0;d=B+g|0;d=e>>>0<m>>>0?d+1|0:d;m=hb(t,0,p);g=m+e|0;e=B+d|0;p=g;m=g>>>0<m>>>0?e+1|0:e;d=hb(h<<1,0,A);g=B;j=hb(C,0,o);e=j+d|0;d=B+g|0;d=e>>>0<j>>>0?d+1|0:d;j=hb(s,0,z);g=j+e|0;e=B+d|0;e=g>>>0<j>>>0?e+1|0:e;j=hb(q,0,q);d=j+g|0;g=B+e|0;g=d>>>0<j>>>0?g+1|0:g;j=hb(v,0,x);e=j+d|0;d=B+g|0;d=e>>>0<j>>>0?d+1|0:d;j=hb(n,0,t);g=j+e|0;e=B+d|0;o=g;j=g>>>0<j>>>0?e+1|0:e;d=hb(z,0,A);g=B;u=hb(h,0,C);e=u+d|0;d=B+g|0;n=hb(n,0,s);g=n+e|0;e=B+(e>>>0<u>>>0?d+1|0:d)|0;e=g>>>0<n>>>0?e+1|0:e;n=hb(q,0,v);d=n+g|0;g=B+e|0;g=d>>>0<n>>>0?g+1|0:g;n=hb(t,0,w);e=n+d|0;d=B+g|0;w=e;n=e>>>0<n>>>0?d+1|0:d;d=hb(z,0,C);e=B;g=hb(h,0,D);d=g+d|0;e=B+e|0;e=d>>>0<g>>>0?e+1|0:e;h=hb(A,0,E);g=h+d|0;d=B+e|0;d=g>>>0<h>>>0?d+1|0:d;h=hb(s,0,x);g=h+g|0;e=B+d|0;e=g>>>0<h>>>0?e+1|0:e;h=hb(v,0,G);d=h+g|0;g=B+e|0;g=d>>>0<h>>>0?g+1|0:g;h=hb(q,0,t);e=h+d|0;d=B+g|0;d=e>>>0<h>>>0?d+1|0:d;h=e;e=b>>>25|0;g=(b&33554431)<<7|F>>>25;b=h+g|0;e=d+e|0;e=b>>>0<g>>>0?e+1|0:e;g=b;d=e>>>26|0;g=(e&67108863)<<6|g>>>26;e=g+w|0;d=d+n|0;d=e>>>0<g>>>0?d+1|0:d;n=e;g=e;e=d>>>25|0;h=(d&33554431)<<7|g>>>25;d=h+o|0;g=e+j|0;g=d>>>0<h>>>0?g+1|0:g;h=d;e=d;d=g>>>26|0;j=(g&67108863)<<6|e>>>26;g=j+p|0;e=d+m|0;m=g;d=g;e=d>>>0<j>>>0?e+1|0:e;g=e>>>25|0;j=(e&33554431)<<7|d>>>25;e=j+L|0;d=g+k|0;d=e>>>0<j>>>0?d+1|0:d;j=e;g=e;e=d>>>26|0;g=(d&67108863)<<6|g>>>26;d=g+K|0;e=e+i|0;e=d>>>0<g>>>0?e+1|0:e;i=d;g=d;d=e>>>25|0;g=(e&33554431)<<7|g>>>25;e=g+I|0;d=d+J|0;d=e>>>0<g>>>0?d+1|0:d;k=e;g=e;e=d>>>26|0;q=(d&67108863)<<6|g>>>26;d=q+H|0;g=e+r|0;g=d>>>0<q>>>0?g+1|0:g;q=y&67108863;g=hb((g&33554431)<<7|d>>>25,0,19)+q|0;e=B;e=g>>>0<q>>>0?e+1|0:e;p=g;y=((e&67108863)<<6|g>>>26)+(F&33554431)|0;q=b&67108863;w=n&33554431;h=h&67108863;g=m&33554431;j=j&67108863;m=i&33554431;k=k&67108863;i=d&33554431;b=p&67108863;c=c+ -1|0;if(c){continue}break}f[a+36>>2]=i;f[a+32>>2]=k;f[a+28>>2]=m;f[a+24>>2]=j;f[a+20>>2]=g;f[a+16>>2]=h;f[a+12>>2]=w;f[a+8>>2]=q;f[a+4>>2]=y;f[a>>2]=b}function U(a,b){var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;e=a;p=f[b+8>>2];D=p;k=f[b>>2];r=k<<1;a=hb(p,0,r);q=B;c=a;a=f[b+4>>2];s=a<<1;j=a;h=hb(s,0,a);c=c+h|0;a=B+q|0;a=c>>>0<h>>>0?a+1|0:a;h=f[b+24>>2];z=l(h,19);q=h;m=hb(z,0,h);c=m+c|0;d=B+a|0;d=c>>>0<m>>>0?d+1|0:d;a=c;m=f[b+28>>2];A=l(m,38);c=f[b+20>>2];w=c<<1;u=hb(A,0,w);g=a+u|0;a=B+d|0;a=g>>>0<u>>>0?a+1|0:a;o=g;u=f[b+32>>2];x=l(u,19);g=f[b+16>>2];C=g<<1;i=hb(x,0,C);y=o+i|0;a=B+a|0;a=y>>>0<i>>>0?a+1|0:a;o=y;y=f[b+36>>2];t=l(y,38);i=f[b+12>>2];v=i<<1;n=hb(t,0,v);o=o+n|0;b=B+a|0;E=o;o=o>>>0<n>>>0?b+1|0:b;b=hb(z,0,w);a=B;j=hb(r,0,j);b=j+b|0;a=B+a|0;a=b>>>0<j>>>0?a+1|0:a;j=g;g=hb(A,0,g);b=g+b|0;d=B+a|0;d=b>>>0<g>>>0?d+1|0:d;g=hb(x,0,v);b=g+b|0;a=B+d|0;a=b>>>0<g>>>0?a+1|0:a;g=hb(t,0,p&2147483647);b=g+b|0;a=B+a|0;a=b>>>0<g>>>0?a+1|0:a;n=a;g=c;a=hb(c,0,l(c,38));c=B;F=b;k=hb(k,0,k);a=k+a|0;b=B+c|0;b=a>>>0<k>>>0?b+1|0:b;k=hb(z,0,C);c=k+a|0;a=B+b|0;a=c>>>0<k>>>0?a+1|0:a;b=c;c=hb(A,0,v);b=b+c|0;d=B+a|0;d=b>>>0<c>>>0?d+1|0:d;p=p<<1;c=hb(x,0,p);b=c+b|0;a=B+d|0;a=b>>>0<c>>>0?a+1|0:a;c=hb(t,0,s);b=c+b|0;a=B+a|0;a=b>>>0<c>>>0?a+1|0:a;z=b;d=a>>>26|0;c=(a&67108863)<<6|b>>>26;a=F+c|0;b=d+n|0;b=a>>>0<c>>>0?b+1|0:b;C=a;c=a;a=b>>>25|0;c=(b&33554431)<<7|c>>>25;b=c+E|0;a=a+o|0;o=b;c=b>>>0<c>>>0?a+1|0:a;f[e+8>>2]=b&67108863;k=e;e=i;b=hb(e,0,r);a=B;i=hb(s,0,D);b=i+b|0;a=B+a|0;a=b>>>0<i>>>0?a+1|0:a;i=hb(A,0,h);b=i+b|0;d=B+a|0;d=b>>>0<i>>>0?d+1|0:d;i=hb(x,0,w);a=i+b|0;b=B+d|0;b=a>>>0<i>>>0?b+1|0:b;n=hb(j,0,t);i=n+a|0;a=B+b|0;d=c>>>26|0;c=(c&67108863)<<6|o>>>26;b=c+i|0;a=d+(i>>>0<n>>>0?a+1|0:a)|0;o=b;c=b>>>0<c>>>0?a+1|0:a;f[k+12>>2]=b&33554431;i=k;b=hb(s,0,v);a=B;k=hb(D,0,D);b=k+b|0;a=B+a|0;a=b>>>0<k>>>0?a+1|0:a;n=hb(r,0,j);k=n+b|0;b=B+a|0;b=k>>>0<n>>>0?b+1|0:b;a=k;k=m;d=hb(A,0,k);n=a+d|0;a=B+b|0;h=hb(x,0,h<<1);b=h+n|0;d=B+(n>>>0<d>>>0?a+1|0:a)|0;d=b>>>0<h>>>0?d+1|0:d;h=hb(t,0,w);b=h+b|0;a=B+d|0;a=b>>>0<h>>>0?a+1|0:a;h=b;b=a;m=h;a=c>>>25|0;h=(c&33554431)<<7|o>>>25;c=m+h|0;a=b+a|0;o=c;c=c>>>0<h>>>0?a+1|0:a;f[i+16>>2]=o&67108863;h=i;b=hb(j,0,s);i=B;n=hb(p,0,e);a=n+b|0;b=B+i|0;b=a>>>0<n>>>0?b+1|0:b;i=hb(r,0,g);a=i+a|0;d=B+b|0;d=a>>>0<i>>>0?d+1|0:d;i=k<<1;m=hb(x,0,i);b=m+a|0;a=B+d|0;a=b>>>0<m>>>0?a+1|0:a;m=hb(t,0,q);b=m+b|0;a=B+a|0;a=b>>>0<m>>>0?a+1|0:a;d=c>>>26|0;c=(c&67108863)<<6|o>>>26;b=c+b|0;a=a+d|0;o=b;c=b>>>0<c>>>0?a+1|0:a;f[h+20>>2]=b&33554431;m=h;b=hb(v,0,e);h=B;e=hb(j,0,p);a=e+b|0;b=B+h|0;b=a>>>0<e>>>0?b+1|0:b;e=hb(s,0,w);h=e+a|0;a=B+b|0;a=h>>>0<e>>>0?a+1|0:a;b=h;h=hb(r,0,q);b=b+h|0;a=B+a|0;a=b>>>0<h>>>0?a+1|0:a;h=u;e=hb(x,0,h);b=e+b|0;d=B+a|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(t,0,i);b=e+b|0;a=B+d|0;a=b>>>0<e>>>0?a+1|0:a;e=b;b=a;n=e;a=c>>>25|0;e=(c&33554431)<<7|o>>>25;c=n+e|0;b=b+a|0;b=c>>>0<e>>>0?b+1|0:b;f[m+24>>2]=c&67108863;a=hb(p,0,g);e=B;u=hb(j,0,v);g=u+a|0;a=B+e|0;a=g>>>0<u>>>0?a+1|0:a;e=hb(s,0,q);g=e+g|0;d=B+a|0;d=g>>>0<e>>>0?d+1|0:d;e=hb(r,0,k);g=e+g|0;a=B+d|0;a=g>>>0<e>>>0?a+1|0:a;e=hb(h,0,t);g=e+g|0;a=B+a|0;a=g>>>0<e>>>0?a+1|0:a;e=g;g=(b&67108863)<<6|c>>>26;c=e+g|0;b=(b>>>26|0)+a|0;b=c>>>0<g>>>0?b+1|0:b;g=c;c=b;f[m+28>>2]=g&33554431;b=hb(p,0,q);a=B;e=hb(j,0,j);b=e+b|0;a=B+a|0;a=b>>>0<e>>>0?a+1|0:a;e=hb(v,0,w);b=e+b|0;a=B+a|0;a=b>>>0<e>>>0?a+1|0:a;e=hb(s,0,i);b=e+b|0;a=B+a|0;a=b>>>0<e>>>0?a+1|0:a;e=hb(r,0,h);b=e+b|0;d=B+a|0;d=b>>>0<e>>>0?d+1|0:d;e=hb(t,0,y);a=e+b|0;b=B+d|0;b=a>>>0<e>>>0?b+1|0:b;e=a;a=c>>>25|0;g=(c&33554431)<<7|g>>>25;c=e+g|0;a=b+a|0;a=c>>>0<g>>>0?a+1|0:a;g=c;c=a;f[m+32>>2]=g&67108863;b=hb(j,0,w);a=B;j=hb(v,0,q);b=j+b|0;a=B+a|0;a=b>>>0<j>>>0?a+1|0:a;j=hb(p,0,k);b=j+b|0;d=B+a|0;d=b>>>0<j>>>0?d+1|0:d;j=hb(h,0,s);a=j+b|0;b=B+d|0;b=a>>>0<j>>>0?b+1|0:b;q=hb(r,0,y);j=q+a|0;a=B+b|0;d=c>>>26|0;c=(c&67108863)<<6|g>>>26;b=c+j|0;a=d+(j>>>0<q>>>0?a+1|0:a)|0;a=b>>>0<c>>>0?a+1|0:a;f[m+36>>2]=b&33554431;c=z&67108863;b=hb((a&33554431)<<7|b>>>25,0,19)+c|0;a=B;a=b>>>0<c>>>0?a+1|0:a;f[m>>2]=b&67108863;f[m+4>>2]=(C&33554431)+((a&67108863)<<6|b>>>26)}function sa(a,b){var c=0,e=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0;c=A-352|0;A=c;h=f[b>>2];i=h&15;d[c+128|0]=i;d[c+134|0]=h>>>24&15;d[c+133|0]=h>>>20&15;d[c+132|0]=h>>>16&15;d[c+131|0]=h>>>12&15;d[c+130|0]=h>>>8&15;d[c+129|0]=(h&240)>>>4;e=f[b+4>>2];d[c+142|0]=e>>>26&15;d[c+141|0]=e>>>22&15;d[c+140|0]=e>>>18&15;d[c+139|0]=e>>>14&15;d[c+138|0]=e>>>10&15;d[c+137|0]=e>>>6&15;d[c+136|0]=e>>>2&15;d[c+135|0]=(e<<2|h>>>28)&15;h=f[b+8>>2];d[c+143|0]=h&15;d[c+149|0]=h>>>24&15;d[c+148|0]=h>>>20&15;d[c+147|0]=h>>>16&15;d[c+146|0]=h>>>12&15;d[c+145|0]=h>>>8&15;d[c+144|0]=(h&240)>>>4;e=f[b+12>>2];d[c+157|0]=e>>>26&15;d[c+156|0]=e>>>22&15;d[c+155|0]=e>>>18&15;d[c+154|0]=e>>>14&15;d[c+153|0]=e>>>10&15;d[c+152|0]=e>>>6&15;d[c+151|0]=e>>>2&15;d[c+150|0]=(e<<2|h>>>28)&15;h=f[b+16>>2];d[c+158|0]=h&15;d[c+164|0]=h>>>24&15;d[c+163|0]=h>>>20&15;d[c+162|0]=h>>>16&15;d[c+161|0]=h>>>12&15;d[c+160|0]=h>>>8&15;d[c+159|0]=(h&240)>>>4;e=f[b+20>>2];d[c+172|0]=e>>>26&15;d[c+171|0]=e>>>22&15;d[c+170|0]=e>>>18&15;d[c+169|0]=e>>>14&15;d[c+168|0]=e>>>10&15;d[c+167|0]=e>>>6&15;d[c+166|0]=e>>>2&15;d[c+165|0]=(e<<2|h>>>28)&15;h=f[b+24>>2];d[c+173|0]=h&15;d[c+179|0]=h>>>24&15;d[c+178|0]=h>>>20&15;d[c+177|0]=h>>>16&15;d[c+176|0]=h>>>12&15;d[c+175|0]=h>>>8&15;d[c+174|0]=(h&240)>>>4;e=f[b+28>>2];d[c+187|0]=e>>>26&15;d[c+186|0]=e>>>22&15;d[c+185|0]=e>>>18&15;d[c+184|0]=e>>>14&15;d[c+183|0]=e>>>10&15;d[c+182|0]=e>>>6&15;d[c+181|0]=e>>>2&15;d[c+180|0]=(e<<2|h>>>28)&15;b=f[b+32>>2];d[c+188|0]=b&15;d[c+191|0]=b>>>12&15;d[c+190|0]=b>>>8&15;d[c+189|0]=(b&240)>>>4;b=0;e=0;while(1){h=b+1|0;j=h+(c+128|0)|0;e=e+i|0;i=g[j|0]+(e<<24>>28)|0;d[j|0]=i;j=e&15;e=(e&8)>>>3|0;d[(c+128|0)+b|0]=j-(e<<4);b=h;if((b|0)!=63){continue}break}d[c+191|0]=g[c+191|0]+e;ca(c+8|0,0,d[c+129|0]);e=f[c+48>>2];i=f[c+8>>2];b=(e-i|0)+268435380|0;j=b&67108863;f[a>>2]=j;k=f[c+52>>2];m=f[c+12>>2];b=((k+(b>>>26|0)|0)-m|0)+134217724|0;f[a+4>>2]=b&33554431;n=f[c+56>>2];o=f[c+16>>2];b=(n-o+(b>>>25)|0)+268435452|0;f[a+8>>2]=b&67108863;p=f[c+60>>2];q=f[c+20>>2];b=(p-q+(b>>>26)|0)+134217724|0;f[a+12>>2]=b&33554431;r=f[c- -64>>2];s=f[c+24>>2];b=(r-s+(b>>>25)|0)+268435452|0;f[a+16>>2]=b&67108863;t=f[c+68>>2];u=f[c+28>>2];b=(t-u+(b>>>26)|0)+134217724|0;f[a+20>>2]=b&33554431;v=f[c+72>>2];w=f[c+32>>2];b=(v-w+(b>>>25)|0)+268435452|0;f[a+24>>2]=b&67108863;x=f[c+76>>2];y=f[c+36>>2];b=(x-y+(b>>>26)|0)+134217724|0;f[a+28>>2]=b&33554431;z=f[c+80>>2];B=f[c+40>>2];C=(z-B+(b>>>25)|0)+268435452|0;f[a+32>>2]=C&67108863;b=f[c+84>>2];h=f[c+44>>2];e=e+i|0;i=m+(k+(e>>>26|0)|0)|0;k=o+(n+(i>>>25|0)|0)|0;m=p+q+(k>>>26)|0;n=r+s+(m>>>25)|0;o=t+u+(n>>>26)|0;p=v+w+(o>>>25)|0;q=x+y+(p>>>26)|0;r=z+B+(q>>>25)|0;f[a+72>>2]=r&67108863;f[a+68>>2]=q&33554431;f[a- -64>>2]=p&67108863;f[a+60>>2]=o&33554431;f[a+56>>2]=n&67108863;f[a+52>>2]=m&33554431;f[a+48>>2]=k&67108863;f[a+44>>2]=i&33554431;f[a+84>>2]=0;f[a+88>>2]=0;f[a+92>>2]=0;f[a+96>>2]=0;f[a+100>>2]=0;f[a+104>>2]=0;f[a+108>>2]=0;f[a+112>>2]=0;f[a+116>>2]=0;i=b+h+(r>>>26)|0;f[a+76>>2]=i&33554431;b=(b-h+(C>>>26)|0)+134217724|0;f[a+36>>2]=b&33554431;f[a+40>>2]=l(i>>>25|0,19)+(e&67108863);f[a>>2]=j+l(b>>>25|0,19);f[a+120>>2]=f[c+88>>2];f[a+124>>2]=f[c+92>>2];f[a+128>>2]=f[c+96>>2];f[a+132>>2]=f[c+100>>2];f[a+136>>2]=f[c+104>>2];f[a+140>>2]=f[c+108>>2];f[a+144>>2]=f[c+112>>2];f[a+148>>2]=f[c+116>>2];f[a+152>>2]=f[c+120>>2];b=f[c+124>>2];f[a+80>>2]=2;f[a+156>>2]=b;m=a+120|0;e=a+80|0;i=a+40|0;k=c+88|0;b=3;while(1){ca(c+8|0,b>>>1|0,d[(c+128|0)+b|0]);ja(a,c+8|0);h=b>>>0<62;b=b+2|0;if(h){continue}break}_(c+192|0,a);b=c+312|0;M(a,c+192|0,b);j=c+232|0;h=c+272|0;M(i,j,h);M(e,h,b);_(c+192|0,a);M(a,c+192|0,b);M(i,j,h);M(e,h,b);_(c+192|0,a);M(a,c+192|0,b);M(i,j,h);M(e,h,b);_(c+192|0,a);M(a,c+192|0,b);M(i,j,h);M(e,h,b);M(m,c+192|0,j);ca(c+8|0,0,d[c+128|0]);M(k,k,25648);ja(a,c+8|0);b=2;while(1){ca(c+8|0,b>>>1|0,d[(c+128|0)+b|0]);ja(a,c+8|0);h=b>>>0<62;b=b+2|0;if(h){continue}break}A=c+352|0}function Fa(a,b,c,e,h,i){var j=0,k=0,l=0;j=A-880|0;A=j;if((c|0)<0){a=1}else{a:{b:{switch(i+ -1|0){case 0:c=c<<8&16711680|c<<24|(c>>>8&65280|c>>>24);d[j+76|0]=c;d[j+77|0]=c>>>8;d[j+78|0]=c>>>16;d[j+79|0]=c>>>24;break a;case 1:break b;default:break a}}d[j+76|0]=c;d[j+77|0]=c>>>8;d[j+78|0]=c>>>16;d[j+79|0]=c>>>24}c=b;k=g[c+20|0]|g[c+21|0]<<8|(g[c+22|0]<<16|g[c+23|0]<<24);f[j+768>>2]=g[c+16|0]|g[c+17|0]<<8|(g[c+18|0]<<16|g[c+19|0]<<24);f[j+772>>2]=k;k=g[c+28|0]|g[c+29|0]<<8|(g[c+30|0]<<16|g[c+31|0]<<24);f[j+776>>2]=g[c+24|0]|g[c+25|0]<<8|(g[c+26|0]<<16|g[c+27|0]<<24);f[j+780>>2]=k;k=g[c+4|0]|g[c+5|0]<<8|(g[c+6|0]<<16|g[c+7|0]<<24);f[j+752>>2]=g[c|0]|g[c+1|0]<<8|(g[c+2|0]<<16|g[c+3|0]<<24);f[j+756>>2]=k;k=g[c+12|0]|g[c+13|0]<<8|(g[c+14|0]<<16|g[c+15|0]<<24);f[j+760>>2]=g[c+8|0]|g[c+9|0]<<8|(g[c+10|0]<<16|g[c+11|0]<<24);f[j+764>>2]=k;c=0;l=O(j+784|0,0,96);while(1){k=g[(j+752|0)+c|0];d[(j+624|0)+c|0]=k^54;d[(j+496|0)+c|0]=k^92;c=c+1|0;if((c|0)!=128){continue}break}R(j+80|0);N(j+80|0,j+624|0,128);k=j+288|0;R(k);N(k,j+496|0,128);N(j+80|0,1026,1);N(j+80|0,a,32);N(j+80|0,j+76|0,4);Q(j+80|0,j);N(k,j,64);Q(k,j);f[j+768>>2]=0;f[j+772>>2]=0;f[j+776>>2]=0;f[j+780>>2]=0;f[j+752>>2]=0;f[j+756>>2]=0;f[j+760>>2]=0;f[j+764>>2]=0;c:{d:{switch(i+ -1|0){case 0:d[j+752|0]=g[j|0]<<3;d[j+753|0]=g[j+1|0]<<3;d[j+754|0]=g[j+2|0]<<3;d[j+755|0]=g[j+3|0]<<3;d[j+756|0]=g[j+4|0]<<3;d[j+757|0]=g[j+5|0]<<3;d[j+758|0]=g[j+6|0]<<3;d[j+759|0]=g[j+7|0]<<3;d[j+760|0]=g[j+8|0]<<3;d[j+761|0]=g[j+9|0]<<3;d[j+762|0]=g[j+10|0]<<3;d[j+763|0]=g[j+11|0]<<3;d[j+764|0]=g[j+12|0]<<3;d[j+765|0]=g[j+13|0]<<3;d[j+766|0]=g[j+14|0]<<3;d[j+767|0]=g[j+15|0]<<3;d[j+768|0]=g[j+16|0]<<3;d[j+769|0]=g[j+17|0]<<3;d[j+770|0]=g[j+18|0]<<3;d[j+771|0]=g[j+19|0]<<3;d[j+772|0]=g[j+20|0]<<3;d[j+773|0]=g[j+21|0]<<3;d[j+774|0]=g[j+22|0]<<3;d[j+775|0]=g[j+23|0]<<3;d[j+776|0]=g[j+24|0]<<3;d[j+777|0]=g[j+25|0]<<3;d[j+778|0]=g[j+26|0]<<3;d[j+779|0]=g[j+27|0]<<3;d[j+780|0]=g[j+28|0]<<3;d[j+781|0]=g[j+29|0]<<3;d[j+782|0]=g[j+30|0]<<3;d[j+783|0]=g[j+31|0]<<3;break c;case 1:break d;default:break c}}ma(j+752|0,j)}ba(j+752|0,j+624|0);Na(j+624|0,a,e);c=g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24);f[j+768>>2]=g[b+16|0]|g[b+17|0]<<8|(g[b+18|0]<<16|g[b+19|0]<<24);f[j+772>>2]=c;c=g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24);f[j+776>>2]=g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24);f[j+780>>2]=c;c=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[j+752>>2]=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f[j+756>>2]=c;c=g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24);f[j+760>>2]=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);f[j+764>>2]=c;c=0;O(l,0,96);while(1){b=g[(j+752|0)+c|0];d[(j+624|0)+c|0]=b^54;d[(j+496|0)+c|0]=b^92;c=c+1|0;if((c|0)!=128){continue}break}R(j+80|0);N(j+80|0,j+624|0,128);R(k);N(k,j+496|0,128);N(j+80|0,1030,1);N(j+80|0,a,32);N(j+80|0,j+76|0,4);Q(j+80|0,j+752|0);N(k,j+752|0,64);Q(k,j+752|0);a=f[j+812>>2];b=f[j+808>>2];d[h+24|0]=b;d[h+25|0]=b>>>8;d[h+26|0]=b>>>16;d[h+27|0]=b>>>24;d[h+28|0]=a;d[h+29|0]=a>>>8;d[h+30|0]=a>>>16;d[h+31|0]=a>>>24;a=f[j+804>>2];b=f[j+800>>2];d[h+16|0]=b;d[h+17|0]=b>>>8;d[h+18|0]=b>>>16;d[h+19|0]=b>>>24;d[h+20|0]=a;d[h+21|0]=a>>>8;d[h+22|0]=a>>>16;d[h+23|0]=a>>>24;a=f[j+796>>2];b=f[j+792>>2];d[h+8|0]=b;d[h+9|0]=b>>>8;d[h+10|0]=b>>>16;d[h+11|0]=b>>>24;d[h+12|0]=a;d[h+13|0]=a>>>8;d[h+14|0]=a>>>16;d[h+15|0]=a>>>24;a=f[j+788>>2];b=f[j+784>>2];d[h|0]=b;d[h+1|0]=b>>>8;d[h+2|0]=b>>>16;d[h+3|0]=b>>>24;d[h+4|0]=a;d[h+5|0]=a>>>8;d[h+6|0]=a>>>16;d[h+7|0]=a>>>24;a=0}A=j+880|0;return a}function la(a,b,c,e){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;H=A+ -64|0;A=H;if(e){I=f[a+60>>2];J=f[a+56>>2];z=f[a+52>>2];B=f[a+48>>2];K=f[a+44>>2];L=f[a+40>>2];M=f[a+36>>2];N=f[a+32>>2];O=f[a+28>>2];Q=f[a+24>>2];R=f[a+20>>2];S=f[a+16>>2];T=f[a+12>>2];U=f[a+8>>2];V=f[a+4>>2];W=f[a>>2];while(1){a:{if(e>>>0>63){h=c;break a}h=P(H,b,e);b=h;X=c}C=20;j=W;m=V;n=U;q=T;c=S;l=R;r=Q;s=O;k=N;w=M;o=L;i=I;x=J;t=z;p=B;u=K;while(1){v=c;c=c+j|0;j=ib(c^p,16);k=j+k|0;p=ib(v^k,12);v=p;y=c+p|0;p=ib(y^j,8);k=p+k|0;c=ib(v^k,7);j=s+q|0;i=ib(j^i,16);u=i+u|0;s=ib(u^s,12);n=r+n|0;q=ib(n^x,16);o=q+o|0;r=ib(o^r,12);D=j+s|0;x=D+c|0;n=r+n|0;E=ib(n^q,8);j=ib(x^E,16);m=l+m|0;q=ib(m^t,16);w=q+w|0;l=ib(w^l,12);v=c;m=l+m|0;t=ib(m^q,8);F=t+w|0;c=F+j|0;G=ib(v^c,12);q=G+x|0;x=ib(j^q,8);w=x+c|0;c=ib(w^G,7);v=k;k=n;j=ib(i^D,8);i=j+u|0;n=ib(i^s,7);k=k+n|0;t=ib(k^t,16);s=v+t|0;u=ib(s^n,12);n=u+k|0;t=ib(t^n,8);k=s+t|0;s=ib(k^u,7);v=i;i=m;o=o+E|0;m=ib(o^r,7);i=i+m|0;p=ib(i^p,16);r=v+p|0;v=i;i=ib(r^m,12);m=v+i|0;p=ib(p^m,8);u=r+p|0;r=ib(u^i,7);v=o;i=j;j=ib(l^F,7);o=j+y|0;i=ib(i^o,16);l=v+i|0;y=ib(j^l,12);j=y+o|0;i=ib(i^j,8);o=l+i|0;l=ib(o^y,7);C=C+ -2|0;if(C){continue}break}C=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);y=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);D=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);E=g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24);F=g[b+16|0]|g[b+17|0]<<8|(g[b+18|0]<<16|g[b+19|0]<<24);G=g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24);Y=g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24);Z=g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24);_=g[b+32|0]|g[b+33|0]<<8|(g[b+34|0]<<16|g[b+35|0]<<24);$=g[b+36|0]|g[b+37|0]<<8|(g[b+38|0]<<16|g[b+39|0]<<24);aa=g[b+40|0]|g[b+41|0]<<8|(g[b+42|0]<<16|g[b+43|0]<<24);ba=g[b+44|0]|g[b+45|0]<<8|(g[b+46|0]<<16|g[b+47|0]<<24);ca=g[b+48|0]|g[b+49|0]<<8|(g[b+50|0]<<16|g[b+51|0]<<24);da=g[b+52|0]|g[b+53|0]<<8|(g[b+54|0]<<16|g[b+55|0]<<24);v=g[b+56|0]|g[b+57|0]<<8|(g[b+58|0]<<16|g[b+59|0]<<24);i=i+I^(g[b+60|0]|g[b+61|0]<<8|(g[b+62|0]<<16|g[b+63|0]<<24));d[h+60|0]=i;x=x+J^v;d[h+56|0]=x;t=t+z^da;d[h+52|0]=t;p=p+B^ca;d[h+48|0]=p;u=u+K^ba;d[h+44|0]=u;o=o+L^aa;d[h+40|0]=o;w=w+M^$;d[h+36|0]=w;k=k+N^_;d[h+32|0]=k;s=s+O^Z;d[h+28|0]=s;r=r+Q^Y;d[h+24|0]=r;l=G^l+R;d[h+20|0]=l;c=F^c+S;d[h+16|0]=c;q=E^q+T;d[h+12|0]=q;n=D^n+U;d[h+8|0]=n;m=y^m+V;d[h+4|0]=m;j=C^j+W;d[h|0]=j;d[h+63|0]=i>>>24;d[h+62|0]=i>>>16;d[h+61|0]=i>>>8;d[h+59|0]=x>>>24;d[h+58|0]=x>>>16;d[h+57|0]=x>>>8;d[h+55|0]=t>>>24;d[h+54|0]=t>>>16;d[h+53|0]=t>>>8;d[h+51|0]=p>>>24;d[h+50|0]=p>>>16;d[h+49|0]=p>>>8;d[h+47|0]=u>>>24;d[h+46|0]=u>>>16;d[h+45|0]=u>>>8;d[h+43|0]=o>>>24;d[h+42|0]=o>>>16;d[h+41|0]=o>>>8;d[h+39|0]=w>>>24;d[h+38|0]=w>>>16;d[h+37|0]=w>>>8;d[h+35|0]=k>>>24;d[h+34|0]=k>>>16;d[h+33|0]=k>>>8;d[h+31|0]=s>>>24;d[h+30|0]=s>>>16;d[h+29|0]=s>>>8;d[h+27|0]=r>>>24;d[h+26|0]=r>>>16;d[h+25|0]=r>>>8;d[h+23|0]=l>>>24;d[h+22|0]=l>>>16;d[h+21|0]=l>>>8;d[h+19|0]=c>>>24;d[h+18|0]=c>>>16;d[h+17|0]=c>>>8;d[h+15|0]=q>>>24;d[h+14|0]=q>>>16;d[h+13|0]=q>>>8;d[h+11|0]=n>>>24;d[h+10|0]=n>>>16;d[h+9|0]=n>>>8;d[h+7|0]=m>>>24;d[h+6|0]=m>>>16;d[h+5|0]=m>>>8;d[h+3|0]=j>>>24;d[h+2|0]=j>>>16;d[h+1|0]=j>>>8;l=B+1|0;z=(l>>>0<B>>>0)+z|0;if(e>>>0<=64){if(e>>>0<=63){P(X,h,e)}f[a+52>>2]=z;f[a+48>>2]=l}else{b=b- -64|0;c=h- -64|0;e=e+ -64|0;B=l;continue}break}}A=H- -64|0}function ja(a,b){var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0;c=A-336|0;A=c;h=f[a+40>>2];i=f[a>>2];d=(h-i|0)+134217690|0;f[c+288>>2]=d&67108863;j=f[a+44>>2];k=f[a+4>>2];d=((j+(d>>>26|0)|0)-k|0)+67108862|0;f[c+292>>2]=d&33554431;m=f[a+48>>2];n=f[a+8>>2];d=(m-n+(d>>>25)|0)+134217726|0;f[c+296>>2]=d&67108863;o=f[a+52>>2];r=f[a+12>>2];d=(o-r+(d>>>26)|0)+67108862|0;f[c+300>>2]=d&33554431;p=f[a+56>>2];q=f[a+16>>2];f[c+304>>2]=(p-q+(d>>>25)|0)+134217726;s=f[a+60>>2];e=f[a+20>>2];f[c+308>>2]=(s-e|0)+67108862;t=f[a- -64>>2];u=f[a+24>>2];f[c+312>>2]=(t-u|0)+134217726;v=f[a+68>>2];w=f[a+28>>2];f[c+316>>2]=(v-w|0)+67108862;x=f[a+72>>2];y=f[a+32>>2];f[c+320>>2]=(x-y|0)+134217726;d=f[a+76>>2];g=f[a+36>>2];f[c+272>>2]=x+y;f[c+268>>2]=v+w;f[c+264>>2]=t+u;f[c+260>>2]=e+s;f[c+256>>2]=p+q;f[c+252>>2]=o+r;f[c+248>>2]=m+n;f[c+244>>2]=j+k;f[c+240>>2]=h+i;f[c+276>>2]=d+g;f[c+324>>2]=(d-g|0)+67108862;M(c+288|0,c+288|0,b);M(c+144|0,c+240|0,b+40|0);d=f[c+288>>2];g=f[c+144>>2];f[c>>2]=d+g;h=f[c+292>>2];i=f[c+148>>2];f[c+4>>2]=h+i;j=f[c+296>>2];k=f[c+152>>2];f[c+8>>2]=j+k;m=f[c+300>>2];n=f[c+156>>2];f[c+12>>2]=m+n;o=f[c+304>>2];r=f[c+160>>2];f[c+16>>2]=o+r;p=f[c+308>>2];q=f[c+164>>2];f[c+20>>2]=p+q;f[c+164>>2]=(q-p|0)+67108862;d=(g-d|0)+134217690|0;f[c+144>>2]=d&67108863;g=f[c+312>>2];p=f[c+168>>2];f[c+24>>2]=g+p;q=f[c+316>>2];s=f[c+172>>2];f[c+28>>2]=q+s;e=f[c+320>>2];t=f[c+176>>2];f[c+32>>2]=e+t;u=f[c+324>>2];v=f[c+180>>2];f[c+36>>2]=u+v;f[c+172>>2]=(s-q|0)+67108862;f[c+176>>2]=(t-e|0)+134217726;f[c+180>>2]=(v-u|0)+67108862;f[c+168>>2]=(p-g|0)+134217726;d=((i+(d>>>26|0)|0)-h|0)+67108862|0;f[c+148>>2]=d&33554431;d=(k-j+(d>>>25)|0)+134217726|0;f[c+152>>2]=d&67108863;d=(n-m+(d>>>26)|0)+67108862|0;f[c+156>>2]=d&33554431;f[c+160>>2]=(r-o+(d>>>25)|0)+134217726;r=a+120|0;M(c+192|0,r,b+80|0);b=f[a+80>>2]<<1;f[c+96>>2]=b;d=f[a+84>>2]<<1;f[c+100>>2]=d;g=f[a+88>>2]<<1;f[c+104>>2]=g;h=f[a+92>>2]<<1;f[c+108>>2]=h;i=f[a+96>>2]<<1;f[c+112>>2]=i;j=f[a+100>>2]<<1;f[c+116>>2]=j;k=f[a+104>>2]<<1;f[c+120>>2]=k;m=f[a+108>>2]<<1;f[c+124>>2]=m;n=f[a+112>>2]<<1;f[c+128>>2]=n;o=f[a+116>>2]<<1;f[c+132>>2]=o;s=f[c+196>>2];p=f[c+192>>2];q=p+b|0;e=s+(d+(q>>>26|0)|0)|0;f[c+52>>2]=e&33554431;t=f[c+200>>2];e=t+g+(e>>>25)|0;f[c+56>>2]=e&67108863;u=f[c+204>>2];e=u+h+(e>>>26)|0;f[c+60>>2]=e&33554431;v=f[c+208>>2];e=v+i+(e>>>25)|0;f[c+64>>2]=e&67108863;w=f[c+212>>2];e=w+j+(e>>>26)|0;f[c+68>>2]=e&33554431;x=f[c+216>>2];e=x+k+(e>>>25)|0;f[c+72>>2]=e&67108863;y=f[c+220>>2];e=y+m+(e>>>26)|0;f[c+76>>2]=e&33554431;z=f[c+224>>2];e=n+z+(e>>>25)|0;f[c+80>>2]=e&67108863;B=f[c+228>>2];e=o+B+(e>>>26)|0;f[c+84>>2]=e&33554431;f[c+48>>2]=l(e>>>25|0,19)+(q&67108863);b=(b-p|0)+268435380|0;d=((d+(b>>>26|0)|0)-s|0)+134217724|0;g=(g-t+(d>>>25)|0)+268435452|0;h=(h-u+(g>>>26)|0)+134217724|0;i=(i-v+(h>>>25)|0)+268435452|0;j=(j-w+(i>>>26)|0)+134217724|0;k=(k-x+(j>>>25)|0)+268435452|0;m=(m-y+(k>>>26)|0)+134217724|0;n=(n-z+(m>>>25)|0)+268435452|0;o=(o-B+(n>>>26)|0)+134217724|0;f[c+132>>2]=o&33554431;f[c+128>>2]=n&67108863;f[c+124>>2]=m&33554431;f[c+120>>2]=k&67108863;f[c+116>>2]=j&33554431;f[c+112>>2]=i&67108863;f[c+108>>2]=h&33554431;f[c+104>>2]=g&67108863;f[c+100>>2]=d&33554431;f[c+96>>2]=l(o>>>25|0,19)+(b&67108863);M(a,c+144|0,c+96|0);M(a+40|0,c,c+48|0);M(a+80|0,c+48|0,c+96|0);M(r,c+144|0,c);A=c+336|0}function eb(a,b,c,i,j){var k=0,l=0;k=A-320|0;A=k;l=1;if(!Ma(c,k)){ba(k,k- -64|0);a:{if(b){O(k+96|0,0,131);c=h[529]|h[530]<<16;l=h[527]|h[528]<<16;e[k+302>>1]=l;e[k+304>>1]=l>>>16;e[k+306>>1]=c;e[k+308>>1]=c>>>16;c=f[263];f[k+296>>2]=f[262];f[k+300>>2]=c;l=f[261];c=k;f[c+288>>2]=f[260];f[c+292>>2]=l;X(a,b,c+288|0,c+240|0);Z(c+96|0,c+240|0,c+272|0);f[c+264>>2]=0;f[c+268>>2]=0;f[c+256>>2]=0;f[c+260>>2]=0;f[c+272>>2]=0;f[c+276>>2]=0;f[c+248>>2]=0;f[c+252>>2]=0;f[c+240>>2]=0;f[c+244>>2]=0;Y(j,c+96|0,c,64);O(c+96|0,0,131);break a}a=k;b=f[a+4>>2];c=f[a>>2];d[j|0]=c;d[j+1|0]=c>>>8;d[j+2|0]=c>>>16;d[j+3|0]=c>>>24;d[j+4|0]=b;d[j+5|0]=b>>>8;d[j+6|0]=b>>>16;d[j+7|0]=b>>>24;b=f[a+12>>2];c=f[a+8>>2];d[j+8|0]=c;d[j+9|0]=c>>>8;d[j+10|0]=c>>>16;d[j+11|0]=c>>>24;d[j+12|0]=b;d[j+13|0]=b>>>8;d[j+14|0]=b>>>16;d[j+15|0]=b>>>24;b=f[a+60>>2];c=f[a+56>>2];d[j+56|0]=c;d[j+57|0]=c>>>8;d[j+58|0]=c>>>16;d[j+59|0]=c>>>24;d[j+60|0]=b;d[j+61|0]=b>>>8;d[j+62|0]=b>>>16;d[j+63|0]=b>>>24;b=f[a+52>>2];c=f[a+48>>2];d[j+48|0]=c;d[j+49|0]=c>>>8;d[j+50|0]=c>>>16;d[j+51|0]=c>>>24;d[j+52|0]=b;d[j+53|0]=b>>>8;d[j+54|0]=b>>>16;d[j+55|0]=b>>>24;b=f[a+44>>2];c=f[a+40>>2];d[j+40|0]=c;d[j+41|0]=c>>>8;d[j+42|0]=c>>>16;d[j+43|0]=c>>>24;d[j+44|0]=b;d[j+45|0]=b>>>8;d[j+46|0]=b>>>16;d[j+47|0]=b>>>24;b=f[a+36>>2];c=f[a+32>>2];d[j+32|0]=c;d[j+33|0]=c>>>8;d[j+34|0]=c>>>16;d[j+35|0]=c>>>24;d[j+36|0]=b;d[j+37|0]=b>>>8;d[j+38|0]=b>>>16;d[j+39|0]=b>>>24;b=f[a+28>>2];c=f[a+24>>2];d[j+24|0]=c;d[j+25|0]=c>>>8;d[j+26|0]=c>>>16;d[j+27|0]=c>>>24;d[j+28|0]=b;d[j+29|0]=b>>>8;d[j+30|0]=b>>>16;d[j+31|0]=b>>>24;b=f[a+20>>2];a=f[a+16>>2];d[j+16|0]=a;d[j+17|0]=a>>>8;d[j+18|0]=a>>>16;d[j+19|0]=a>>>24;d[j+20|0]=b;d[j+21|0]=b>>>8;d[j+22|0]=b>>>16;d[j+23|0]=b>>>24}a=f[k+76>>2];b=f[k+72>>2];d[j+72|0]=b;d[j+73|0]=b>>>8;d[j+74|0]=b>>>16;d[j+75|0]=b>>>24;d[j+76|0]=a;d[j+77|0]=a>>>8;d[j+78|0]=a>>>16;d[j+79|0]=a>>>24;a=f[k+68>>2];b=f[k+64>>2];d[j+64|0]=b;d[j+65|0]=b>>>8;d[j+66|0]=b>>>16;d[j+67|0]=b>>>24;d[j+68|0]=a;d[j+69|0]=a>>>8;d[j+70|0]=a>>>16;d[j+71|0]=a>>>24;a=f[k+92>>2];b=f[k+88>>2];d[j+88|0]=b;d[j+89|0]=b>>>8;d[j+90|0]=b>>>16;d[j+91|0]=b>>>24;d[j+92|0]=a;d[j+93|0]=a>>>8;d[j+94|0]=a>>>16;d[j+95|0]=a>>>24;a=f[k+84>>2];b=f[k+80>>2];d[j+80|0]=b;d[j+81|0]=b>>>8;d[j+82|0]=b>>>16;d[j+83|0]=b>>>24;d[j+84|0]=a;d[j+85|0]=a>>>8;d[j+86|0]=a>>>16;d[j+87|0]=a>>>24;a=g[i+4|0]|g[i+5|0]<<8|(g[i+6|0]<<16|g[i+7|0]<<24);b=g[i|0]|g[i+1|0]<<8|(g[i+2|0]<<16|g[i+3|0]<<24);d[j+96|0]=b;d[j+97|0]=b>>>8;d[j+98|0]=b>>>16;d[j+99|0]=b>>>24;d[j+100|0]=a;d[j+101|0]=a>>>8;d[j+102|0]=a>>>16;d[j+103|0]=a>>>24;a=g[i+12|0]|g[i+13|0]<<8|(g[i+14|0]<<16|g[i+15|0]<<24);b=g[i+8|0]|g[i+9|0]<<8|(g[i+10|0]<<16|g[i+11|0]<<24);d[j+104|0]=b;d[j+105|0]=b>>>8;d[j+106|0]=b>>>16;d[j+107|0]=b>>>24;d[j+108|0]=a;d[j+109|0]=a>>>8;d[j+110|0]=a>>>16;d[j+111|0]=a>>>24;a=g[i+20|0]|g[i+21|0]<<8|(g[i+22|0]<<16|g[i+23|0]<<24);b=g[i+16|0]|g[i+17|0]<<8|(g[i+18|0]<<16|g[i+19|0]<<24);d[j+112|0]=b;d[j+113|0]=b>>>8;d[j+114|0]=b>>>16;d[j+115|0]=b>>>24;d[j+116|0]=a;d[j+117|0]=a>>>8;d[j+118|0]=a>>>16;d[j+119|0]=a>>>24;a=g[i+28|0]|g[i+29|0]<<8|(g[i+30|0]<<16|g[i+31|0]<<24);b=g[i+24|0]|g[i+25|0]<<8|(g[i+26|0]<<16|g[i+27|0]<<24);d[j+120|0]=b;d[j+121|0]=b>>>8;d[j+122|0]=b>>>16;d[j+123|0]=b>>>24;d[j+124|0]=a;d[j+125|0]=a>>>8;d[j+126|0]=a>>>16;d[j+127|0]=a>>>24;l=0}A=k+320|0;return l}function _(a,b){var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;d=A-144|0;A=d;U(d+96|0,b);U(d+48|0,b+40|0);U(d,b+80|0);g=f[d>>2];c=(g>>>25&63)+(f[d+4>>2]<<1)|0;f[d+4>>2]=c&33554431;c=(f[d+8>>2]<<1)+(c>>>25|0)|0;f[d+8>>2]=c&67108863;c=(f[d+12>>2]<<1)+(c>>>26|0)|0;f[d+12>>2]=c&33554431;c=(f[d+16>>2]<<1)+(c>>>25|0)|0;f[d+16>>2]=c&67108863;c=(f[d+20>>2]<<1)+(c>>>26|0)|0;f[d+20>>2]=c&33554431;c=(f[d+24>>2]<<1)+(c>>>25|0)|0;f[d+24>>2]=c&67108863;c=(f[d+28>>2]<<1)+(c>>>26|0)|0;f[d+28>>2]=c&33554431;c=(f[d+32>>2]<<1)+(c>>>25|0)|0;f[d+32>>2]=c&67108863;c=(f[d+36>>2]<<1)+(c>>>26|0)|0;f[d+36>>2]=c&33554431;f[d>>2]=l(c>>>25|0,19)+(g<<1&67108862);f[a>>2]=f[b+40>>2]+f[b>>2];f[a+4>>2]=f[b+44>>2]+f[b+4>>2];f[a+8>>2]=f[b+48>>2]+f[b+8>>2];f[a+12>>2]=f[b+52>>2]+f[b+12>>2];f[a+16>>2]=f[b+56>>2]+f[b+16>>2];f[a+20>>2]=f[b+60>>2]+f[b+20>>2];f[a+24>>2]=f[b- -64>>2]+f[b+24>>2];f[a+28>>2]=f[b+68>>2]+f[b+28>>2];f[a+32>>2]=f[b+72>>2]+f[b+32>>2];f[a+36>>2]=f[b+76>>2]+f[b+36>>2];U(a,a);c=f[d+96>>2];h=f[d+48>>2];e=c+h|0;f[a+40>>2]=e;i=f[d+100>>2];j=f[d+52>>2];r=i+j|0;f[a+44>>2]=r;k=f[d+104>>2];m=f[d+56>>2];s=k+m|0;f[a+48>>2]=s;t=f[d+108>>2];u=f[d+60>>2];v=t+u|0;f[a+52>>2]=v;w=f[d+112>>2];x=f[d+64>>2];y=w+x|0;f[a+56>>2]=y;n=f[d+68>>2];z=f[d+116>>2];B=n+z|0;f[a+60>>2]=B;o=f[d+72>>2];C=f[d+120>>2];D=o+C|0;f[a- -64>>2]=D;p=f[d+76>>2];E=f[d+124>>2];F=p+E|0;f[a+68>>2]=F;q=f[d+80>>2];G=f[d+128>>2];H=q+G|0;f[a+72>>2]=H;b=f[d+132>>2];g=f[d+84>>2];q=(q-G|0)+134217726|0;f[a+112>>2]=q;p=(p-E|0)+67108862|0;f[a+108>>2]=p;o=(o-C|0)+134217726|0;f[a+104>>2]=o;n=(n-z|0)+67108862|0;f[a+100>>2]=n;c=(h-c|0)+134217690|0;h=((j+(c>>>26|0)|0)-i|0)+67108862|0;i=(m-k+(h>>>25)|0)+134217726|0;j=(u-t+(i>>>26)|0)+67108862|0;k=(x-w+(j>>>25)|0)+134217726|0;f[a+96>>2]=k;j=j&33554431;f[a+92>>2]=j;i=i&67108863;f[a+88>>2]=i;h=h&33554431;f[a+84>>2]=h;c=c&67108863;f[a+80>>2]=c;m=b+g|0;f[a+76>>2]=m;b=(g-b|0)+67108862|0;f[a+116>>2]=b;g=(f[a>>2]-e|0)+268435380|0;e=(f[a+4>>2]-r+(g>>>26)|0)+134217724|0;f[a+4>>2]=e&33554431;e=(f[a+8>>2]-s+(e>>>25)|0)+268435452|0;f[a+8>>2]=e&67108863;e=(f[a+12>>2]-v+(e>>>26)|0)+134217724|0;f[a+12>>2]=e&33554431;e=(f[a+16>>2]-y+(e>>>25)|0)+268435452|0;f[a+16>>2]=e&67108863;e=(f[a+20>>2]-B+(e>>>26)|0)+134217724|0;f[a+20>>2]=e&33554431;e=(f[a+24>>2]-D+(e>>>25)|0)+268435452|0;f[a+24>>2]=e&67108863;e=(f[a+28>>2]-F+(e>>>26)|0)+134217724|0;f[a+28>>2]=e&33554431;e=(f[a+32>>2]-H+(e>>>25)|0)+268435452|0;f[a+32>>2]=e&67108863;e=(f[a+36>>2]-m+(e>>>26)|0)+134217724|0;f[a+36>>2]=e&33554431;f[a>>2]=l(e>>>25|0,19)+(g&67108863);g=(f[d>>2]-c|0)+268435380|0;c=(f[d+4>>2]-h+(g>>>26)|0)+134217724|0;f[a+124>>2]=c&33554431;c=(f[d+8>>2]-i+(c>>>25)|0)+268435452|0;f[a+128>>2]=c&67108863;c=(f[d+12>>2]-j+(c>>>26)|0)+134217724|0;f[a+132>>2]=c&33554431;c=(f[d+16>>2]-k+(c>>>25)|0)+268435452|0;f[a+136>>2]=c&67108863;c=(f[d+20>>2]-n+(c>>>26)|0)+134217724|0;f[a+140>>2]=c&33554431;c=(f[d+24>>2]-o+(c>>>25)|0)+268435452|0;f[a+144>>2]=c&67108863;c=(f[d+28>>2]-p+(c>>>26)|0)+134217724|0;f[a+148>>2]=c&33554431;c=(f[d+32>>2]-q+(c>>>25)|0)+268435452|0;f[a+152>>2]=c&67108863;b=(f[d+36>>2]-b+(c>>>26)|0)+134217724|0;f[a+156>>2]=b&33554431;f[a+120>>2]=l(b>>>25|0,19)+(g&67108863);A=d+144|0}function ca(a,b,c){var d=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;h=(c&128)>>>7|0;g=0-h|0;B=g^c-h;C=b<<3;n=1;o=1;while(1){b=l(i+C|0,96);i=i+1|0;h=(i^B)+ -1|0;c=h>>31;e=(h>>>31|0)+ -1|0;h=f[b+1104>>2]&c|e&(n|D);n=h&255;F=c&f[b+1072>>2]|e&(o|E);o=F&255;D=h&-256;E=F&-256;d=c&f[b+1164>>2]|d&e;p=c&f[b+1160>>2]|e&p;q=c&f[b+1156>>2]|e&q;j=c&f[b+1152>>2]|e&j;k=c&f[b+1148>>2]|e&k;r=c&f[b+1144>>2]|e&r;y=c&f[b+1140>>2]|e&y;m=c&f[b+1136>>2]|e&m;s=c&f[b+1132>>2]|e&s;z=c&f[b+1128>>2]|e&z;A=c&f[b+1124>>2]|e&A;t=c&f[b+1120>>2]|e&t;u=c&f[b+1116>>2]|e&u;K=c&f[b+1112>>2]|e&K;L=c&f[b+1108>>2]|e&L;v=c&f[b+1100>>2]|e&v;M=c&f[b+1096>>2]|e&M;N=c&f[b+1092>>2]|e&N;w=c&f[b+1088>>2]|e&w;x=c&f[b+1084>>2]|e&x;O=c&f[b+1080>>2]|e&O;P=c&f[b+1076>>2]|e&P;if((i|0)!=8){continue}break}i=j&33554431;f[a+100>>2]=i;e=k>>>6|0;f[a+96>>2]=e;n=m&67108863;f[a+80>>2]=n;B=t&33554431;f[a+60>>2]=B;C=u>>>6|0;f[a+56>>2]=C;D=h&67108863;f[a+40>>2]=D;E=w&33554431;f[a+20>>2]=E;G=x>>>6|0;f[a+16>>2]=G;H=F&67108863;f[a>>2]=H;o=d>>>6&33554431;f[a+116>>2]=o;I=s>>>6&33554431;f[a+76>>2]=I;J=v>>>6&33554431;f[a+36>>2]=J;b=d;c=p;p=((b&4095)<<20|c>>>12)&67108863;f[a+112>>2]=p;b=c;d=q;c=d;q=((b&524287)<<13|c>>>19)&33554431;f[a+108>>2]=q;j=((c&33554431)<<7|j>>>25)&67108863;f[a+104>>2]=j;b=k;c=r;k=((b&8191)<<19|c>>>13)&33554431;f[a+92>>2]=k;b=c;d=y;c=d;r=((b&524287)<<13|c>>>19)&67108863;f[a+88>>2]=r;m=((c&67108863)<<6|m>>>26)&33554431;f[a+84>>2]=m;b=s;c=z;s=((b&4095)<<20|c>>>12)&67108863;f[a+72>>2]=s;b=c;d=A;c=d;y=((b&524287)<<13|c>>>19)&33554431;f[a+68>>2]=y;Q=a- -64|0;t=((c&33554431)<<7|t>>>25)&67108863;f[Q>>2]=t;b=u;c=K;u=((b&8191)<<19|c>>>13)&33554431;f[a+52>>2]=u;b=c;d=L;c=d;z=((b&524287)<<13|c>>>19)&67108863;f[a+48>>2]=z;h=((c&67108863)<<6|h>>>26)&33554431;f[a+44>>2]=h;b=v;c=M;v=((b&4095)<<20|c>>>12)&67108863;f[a+32>>2]=v;b=c;d=N;c=d;A=((b&524287)<<13|c>>>19)&33554431;f[a+28>>2]=A;w=((c&33554431)<<7|w>>>25)&67108863;f[a+24>>2]=w;b=x;c=O;x=((b&8191)<<19|c>>>13)&33554431;f[a+12>>2]=x;b=c;d=P;c=d;c=((b&524287)<<13|c>>>19)&67108863;f[a+8>>2]=c;b=d;d=F;b=((b&67108863)<<6|d>>>26)&33554431;f[a+4>>2]=b;d=(D^H)&g;f[a+40>>2]=d^D;f[a>>2]=d^H;d=(C^G)&g;f[a+56>>2]=d^C;f[a+16>>2]=d^G;d=(B^E)&g;f[a+60>>2]=d^B;f[a+20>>2]=d^E;d=(b^h)&g;f[a+44>>2]=d^h;f[a+4>>2]=b^d;b=(c^z)&g;f[a+48>>2]=b^z;f[a+8>>2]=b^c;b=(u^x)&g;f[a+52>>2]=b^u;f[a+12>>2]=b^x;b=(t^w)&g;f[a+24>>2]=b^w;f[Q>>2]=b^t;b=(y^A)&g;f[a+68>>2]=b^y;f[a+28>>2]=b^A;b=(s^v)&g;f[a+72>>2]=b^s;f[a+32>>2]=b^v;b=(I^J)&g;f[a+76>>2]=b^I;f[a+36>>2]=b^J;b=134217690-n|0;c=((b>>>26|0)-m|0)+67108862|0;f[a+84>>2]=(c&33554431^m)&g^m;c=((c>>>25|0)-r|0)+134217726|0;f[a+88>>2]=r^(r^c&67108863)&g;c=((c>>>26|0)-k|0)+67108862|0;f[a+92>>2]=(c&33554431^k)&g^k;c=((c>>>25|0)-e|0)+134217726|0;f[a+96>>2]=(c&67108863^e)&g^e;c=((c>>>26|0)-i|0)+67108862|0;f[a+100>>2]=(c&33554431^i)&g^i;c=((c>>>25|0)-j|0)+134217726|0;f[a+104>>2]=j^(j^c&67108863)&g;c=((c>>>26|0)-q|0)+67108862|0;f[a+108>>2]=q^(q^c&33554431)&g;c=((c>>>25|0)-p|0)+134217726|0;f[a+112>>2]=p^(p^c&67108863)&g;c=((c>>>26|0)-o|0)+67108862|0;f[a+116>>2]=o^(o^c&33554431)&g;f[a+80>>2]=n^(n^l(c>>>25|0,19)+(b&67108863))&g}function Q(a,b){var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=A-16|0;A=l;m=f[a+8>>2];g=f[a+12>>2];j=f[a>>2];h=j<<27|j<<11&16711680;c=f[a+4>>2];i=c<<27|j>>>5;e=i&65280;i=c<<11|j>>>21;i=i&255|e|h;h=c<<3|j>>>29;e=l;f[e+8>>2]=((c&31)<<27|j>>>5)&-16777216|((c&2097151)<<11|j>>>21)&16711680|(c>>>5&65280|h>>>24)|k;f[e+12>>2]=i;h=m;i=g<<3|h>>>29;g=h<<3|c>>>29;c=i;m=g<<8&16711680|g<<24;h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|m;f[e>>2]=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|k;f[e+4>>2]=h;c=j&127;N(a,30928,(c>>>0<112?112:240)-c|0);N(a,e,16);j=0;g=f[a+144>>2];k=g<<24|g<<8&16711680;c=f[a+148>>2];h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|k;e=b;c=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|j;d[e|0]=c;d[e+1|0]=c>>>8;d[e+2|0]=c>>>16;d[e+3|0]=c>>>24;c=h;d[e+4|0]=c;d[e+5|0]=c>>>8;d[e+6|0]=c>>>16;d[e+7|0]=c>>>24;g=f[a+152>>2];k=g<<24|g<<8&16711680;c=f[a+156>>2];h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|k;c=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|j;d[e+8|0]=c;d[e+9|0]=c>>>8;d[e+10|0]=c>>>16;d[e+11|0]=c>>>24;c=h;d[e+12|0]=c;d[e+13|0]=c>>>8;d[e+14|0]=c>>>16;d[e+15|0]=c>>>24;g=f[a+160>>2];k=g<<24|g<<8&16711680;c=f[a+164>>2];h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|k;c=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|j;d[e+16|0]=c;d[e+17|0]=c>>>8;d[e+18|0]=c>>>16;d[e+19|0]=c>>>24;c=h;d[e+20|0]=c;d[e+21|0]=c>>>8;d[e+22|0]=c>>>16;d[e+23|0]=c>>>24;g=f[a+168>>2];k=g<<24|g<<8&16711680;c=f[a+172>>2];h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|k;c=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|j;d[e+24|0]=c;d[e+25|0]=c>>>8;d[e+26|0]=c>>>16;d[e+27|0]=c>>>24;c=h;d[e+28|0]=c;d[e+29|0]=c>>>8;d[e+30|0]=c>>>16;d[e+31|0]=c>>>24;g=f[a+176>>2];k=g<<24|g<<8&16711680;c=f[a+180>>2];h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|k;c=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|j;d[e+32|0]=c;d[e+33|0]=c>>>8;d[e+34|0]=c>>>16;d[e+35|0]=c>>>24;c=h;d[e+36|0]=c;d[e+37|0]=c>>>8;d[e+38|0]=c>>>16;d[e+39|0]=c>>>24;g=f[a+184>>2];k=g<<24|g<<8&16711680;c=f[a+188>>2];h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|k;c=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|j;d[e+40|0]=c;d[e+41|0]=c>>>8;d[e+42|0]=c>>>16;d[e+43|0]=c>>>24;c=h;d[e+44|0]=c;d[e+45|0]=c>>>8;d[e+46|0]=c>>>16;d[e+47|0]=c>>>24;g=f[a+192>>2];k=g<<24|g<<8&16711680;c=f[a+196>>2];h=c<<24|g>>>8;i=c<<8|g>>>24;h=h&65280|i&255|k;c=((c&255)<<24|g>>>8)&-16777216|((c&16777215)<<8|g>>>24)&16711680|(c>>>8&65280|c>>>24)|j;d[e+48|0]=c;d[e+49|0]=c>>>8;d[e+50|0]=c>>>16;d[e+51|0]=c>>>24;c=h;d[e+52|0]=c;d[e+53|0]=c>>>8;d[e+54|0]=c>>>16;d[e+55|0]=c>>>24;c=e;b=f[a+204>>2];e=f[a+200>>2];i=e<<24;g=0;j=e<<8&16711680|i;h=b<<24|e>>>8;i=b<<8|e>>>24;a=g;g=h&65280|i&255|j;h=a;a=b;a=h|(((a&255)<<24|e>>>8)&-16777216|((a&16777215)<<8|e>>>24)&16711680|(a>>>8&65280|a>>>24));d[c+56|0]=a;d[c+57|0]=a>>>8;d[c+58|0]=a>>>16;d[c+59|0]=a>>>24;d[c+60|0]=g;d[c+61|0]=g>>>8;d[c+62|0]=g>>>16;d[c+63|0]=g>>>24;A=l+16|0}function wa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,j=0;a:{if(!a){break a}d=a+ -8|0;c=f[a+ -4>>2];a=c&-8;g=d+a|0;b:{if(c&1){break b}if(!(c&3)){break a}c=f[d>>2];d=d-c|0;if(d>>>0<i[7769]){break a}a=a+c|0;if(f[7770]!=(d|0)){if(c>>>0<=255){e=f[d+8>>2];c=c>>>3|0;b=f[d+12>>2];if((b|0)==(e|0)){f[7765]=f[7765]&ib(-2,c);break b}f[e+12>>2]=b;f[b+8>>2]=e;break b}j=f[d+24>>2];c=f[d+12>>2];c:{if((d|0)!=(c|0)){b=f[d+8>>2];f[b+12>>2]=c;f[c+8>>2]=b;break c}d:{e=d+20|0;b=f[e>>2];if(b){break d}e=d+16|0;b=f[e>>2];if(b){break d}c=0;break c}while(1){h=e;c=b;e=c+20|0;b=f[e>>2];if(b){continue}e=c+16|0;b=f[c+16>>2];if(b){continue}break}f[h>>2]=0}if(!j){break b}e=f[d+28>>2];b=(e<<2)+31364|0;e:{if(f[b>>2]==(d|0)){f[b>>2]=c;if(c){break e}f[7766]=f[7766]&ib(-2,e);break b}f[j+(f[j+16>>2]==(d|0)?16:20)>>2]=c;if(!c){break b}}f[c+24>>2]=j;b=f[d+16>>2];if(b){f[c+16>>2]=b;f[b+24>>2]=c}b=f[d+20>>2];if(!b){break b}f[c+20>>2]=b;f[b+24>>2]=c;break b}c=f[g+4>>2];if((c&3)!=3){break b}f[7767]=a;f[g+4>>2]=c&-2;f[d+4>>2]=a|1;f[a+d>>2]=a;return}if(g>>>0<=d>>>0){break a}c=f[g+4>>2];if(!(c&1)){break a}f:{if(!(c&2)){if(f[7771]==(g|0)){f[7771]=d;a=f[7768]+a|0;f[7768]=a;f[d+4>>2]=a|1;if(f[7770]!=(d|0)){break a}f[7767]=0;f[7770]=0;return}if(f[7770]==(g|0)){f[7770]=d;a=f[7767]+a|0;f[7767]=a;f[d+4>>2]=a|1;f[a+d>>2]=a;return}a=(c&-8)+a|0;g:{if(c>>>0<=255){b=f[g+8>>2];c=c>>>3|0;e=f[g+12>>2];if((b|0)==(e|0)){f[7765]=f[7765]&ib(-2,c);break g}f[b+12>>2]=e;f[e+8>>2]=b;break g}j=f[g+24>>2];c=f[g+12>>2];h:{if((g|0)!=(c|0)){b=f[g+8>>2];f[b+12>>2]=c;f[c+8>>2]=b;break h}i:{e=g+20|0;b=f[e>>2];if(b){break i}e=g+16|0;b=f[e>>2];if(b){break i}c=0;break h}while(1){h=e;c=b;e=c+20|0;b=f[e>>2];if(b){continue}e=c+16|0;b=f[c+16>>2];if(b){continue}break}f[h>>2]=0}if(!j){break g}e=f[g+28>>2];b=(e<<2)+31364|0;j:{if(f[b>>2]==(g|0)){f[b>>2]=c;if(c){break j}f[7766]=f[7766]&ib(-2,e);break g}f[j+(f[j+16>>2]==(g|0)?16:20)>>2]=c;if(!c){break g}}f[c+24>>2]=j;b=f[g+16>>2];if(b){f[c+16>>2]=b;f[b+24>>2]=c}b=f[g+20>>2];if(!b){break g}f[c+20>>2]=b;f[b+24>>2]=c}f[d+4>>2]=a|1;f[a+d>>2]=a;if(f[7770]!=(d|0)){break f}f[7767]=a;return}f[g+4>>2]=c&-2;f[d+4>>2]=a|1;f[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;c=(a<<3)+31100|0;b=f[7765];a=1<<a;k:{if(!(b&a)){f[7765]=a|b;a=c;break k}a=f[c+8>>2]}f[c+8>>2]=d;f[a+12>>2]=d;f[d+12>>2]=c;f[d+8>>2]=a;return}f[d+16>>2]=0;f[d+20>>2]=0;g=d;e=a>>>8|0;b=0;l:{if(!e){break l}b=31;if(a>>>0>16777215){break l}c=e;e=e+1048320>>>16&8;b=c<<e;j=b+520192>>>16&4;b=b<<j;h=b+245760>>>16&2;b=(b<<h>>>15|0)-(h|(e|j))|0;b=(b<<1|a>>>b+21&1)+28|0}f[g+28>>2]=b;h=(b<<2)+31364|0;m:{n:{e=f[7766];c=1<<b;o:{if(!(e&c)){f[7766]=c|e;f[h>>2]=d;f[d+24>>2]=h;break o}e=a<<((b|0)==31?0:25-(b>>>1|0)|0);c=f[h>>2];while(1){b=c;if((f[c+4>>2]&-8)==(a|0)){break n}c=e>>>29|0;e=e<<1;h=b+(c&4)|0;c=f[h+16>>2];if(c){continue}break}f[h+16>>2]=d;f[d+24>>2]=b}f[d+12>>2]=d;f[d+8>>2]=d;break m}a=f[b+8>>2];f[a+12>>2]=d;f[b+8>>2]=d;f[d+24>>2]=0;f[d+12>>2]=b;f[d+8>>2]=a}a=f[7773]+ -1|0;f[7773]=a;if(a){break a}d=31516;while(1){a=f[d>>2];d=a+8|0;if(a){continue}break}f[7773]=-1}}function ea(a,b,c){var d=0,e=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;e=f[a+36>>2];i=f[a+32>>2];k=f[a+28>>2];j=f[a+24>>2];h=f[a+20>>2];if(c>>>0>=16){A=!g[a+76|0]<<24;p=f[a+4>>2];C=l(p,5);u=f[a+8>>2];z=l(u,5);w=f[a+12>>2];x=l(w,5);d=f[a+16>>2];v=l(d,5);D=d;q=f[a>>2];while(1){d=g[b+3|0];n=g[b+6|0];j=((d|g[b+4|0]<<8|g[b+5|0]<<16|n<<24)>>>2&67108863)+j|0;m=hb(j,0,w);o=B;y=m;r=(d<<24&50331648|(g[b|0]|g[b+1|0]<<8|g[b+2|0]<<16))+h|0;m=hb(r,0,D);h=y+m|0;d=B+o|0;d=h>>>0<m>>>0?d+1|0:d;m=n|g[b+7|0]<<8|g[b+8|0]<<16;n=g[b+9|0];o=((m|n<<24)>>>4&67108863)+k|0;m=hb(o,0,u);k=m+h|0;h=B+d|0;h=k>>>0<m>>>0?h+1|0:h;d=k;s=((n|g[b+10|0]<<8|g[b+11|0]<<16|g[b+12|0]<<24)>>>6|0)+i|0;k=hb(s,0,p);i=d+k|0;d=B+h|0;t=(g[b+13|0]|A|g[b+14|0]<<8|g[b+15|0]<<16)+e|0;h=hb(t,0,q);e=h+i|0;d=B+(i>>>0<k>>>0?d+1|0:d)|0;y=e;n=e>>>0<h>>>0?d+1|0:d;d=hb(j,0,u);e=B;h=hb(r,0,w);d=h+d|0;e=B+e|0;e=d>>>0<h>>>0?e+1|0:e;i=hb(o,0,p);h=i+d|0;d=B+e|0;d=h>>>0<i>>>0?d+1|0:d;i=hb(s,0,q);e=i+h|0;h=B+d|0;h=e>>>0<i>>>0?h+1|0:h;i=hb(t,0,v);e=i+e|0;d=B+h|0;E=e;m=e>>>0<i>>>0?d+1|0:d;d=hb(j,0,p);h=B;i=hb(r,0,u);e=i+d|0;d=B+h|0;d=e>>>0<i>>>0?d+1|0:d;i=hb(o,0,q);h=i+e|0;e=B+d|0;e=h>>>0<i>>>0?e+1|0:e;i=hb(s,0,v);h=i+h|0;d=B+e|0;d=h>>>0<i>>>0?d+1|0:d;i=hb(t,0,x);e=i+h|0;h=B+d|0;F=e;k=e>>>0<i>>>0?h+1|0:h;d=hb(j,0,q);h=B;i=hb(r,0,p);e=i+d|0;d=B+h|0;d=e>>>0<i>>>0?d+1|0:d;h=hb(o,0,v);e=h+e|0;d=B+d|0;d=e>>>0<h>>>0?d+1|0:d;i=hb(s,0,x);h=i+e|0;e=B+d|0;e=h>>>0<i>>>0?e+1|0:e;i=hb(t,0,z);h=i+h|0;d=B+e|0;G=h;i=h>>>0<i>>>0?d+1|0:d;d=hb(j,0,v);e=B;j=hb(r,0,q);d=j+d|0;h=B+e|0;h=d>>>0<j>>>0?h+1|0:h;j=hb(o,0,x);e=j+d|0;d=B+h|0;d=e>>>0<j>>>0?d+1|0:d;h=hb(s,0,z);e=h+e|0;d=B+d|0;d=e>>>0<h>>>0?d+1|0:d;j=hb(t,0,C);h=j+e|0;e=B+d|0;e=h>>>0<j>>>0?e+1|0:e;j=h;d=i;e=(e&67108863)<<6|h>>>26;h=e+G|0;if(h>>>0<e>>>0){d=d+1|0}i=h;h=k;d=(d&67108863)<<6|i>>>26;e=d+F|0;if(e>>>0<d>>>0){h=h+1|0}k=e;e=m;d=(h&67108863)<<6|k>>>26;h=d+E|0;if(h>>>0<d>>>0){e=e+1|0}d=n;e=(e&67108863)<<6|h>>>26;n=e+y|0;if(n>>>0<e>>>0){d=d+1|0}e=n;d=l((d&67108863)<<6|e>>>26,5)+(j&67108863)|0;j=(i&67108863)+(d>>>26|0)|0;k=k&67108863;i=h&67108863;e=e&67108863;h=d&67108863;b=b+16|0;c=c+ -16|0;if(c>>>0>15){continue}break}}f[a+36>>2]=e;f[a+32>>2]=i;f[a+28>>2]=k;f[a+24>>2]=j;f[a+20>>2]=h}function aa(a,b){var c=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=f[b+36>>2];e=f[b+32>>2];g=f[b+28>>2];h=f[b+24>>2];i=f[b+20>>2];j=f[b+16>>2];k=f[b+12>>2];m=f[b+8>>2];c=f[b+4>>2];b=f[b>>2];c=c+(b>>>26|0)|0;m=m+(c>>>25|0)|0;k=k+(m>>>26|0)|0;j=j+(k>>>25|0)|0;i=i+(j>>>26|0)|0;h=h+(i>>>25|0)|0;g=g+(h>>>26|0)|0;e=e+(g>>>25|0)|0;n=n+(e>>>26|0)|0;b=l(n>>>25|0,19)+(b&67108863)|0;o=b&67108863;b=(c&33554431)+(b>>>26|0)|0;c=(m&67108863)+(b>>>25|0)|0;m=(k&33554431)+(c>>>26|0)|0;k=(j&67108863)+(m>>>25|0)|0;j=(i&33554431)+(k>>>26|0)|0;i=(h&67108863)+(j>>>25|0)|0;h=(g&33554431)+(i>>>26|0)|0;g=(e&67108863)+(h>>>25|0)|0;e=(n&33554431)+(g>>>26|0)|0;n=(o+l(e>>>25|0,19)|0)+19|0;o=n&67108863;p=e&33554431;e=g&67108863;g=h&33554431;h=i&67108863;i=j&33554431;j=k&67108863;k=m&33554431;m=c&67108863;c=(b&33554431)+(n>>>26|0)|0;m=m+(c>>>25|0)|0;k=k+(m>>>26|0)|0;j=j+(k>>>25|0)|0;i=i+(j>>>26|0)|0;h=h+(i>>>25|0)|0;g=g+(h>>>26|0)|0;e=e+(g>>>25|0)|0;n=p+(e>>>26|0)|0;b=(o+l(n>>>25|0,19)|0)+67108845|0;d[a|0]=b;d[a+2|0]=b>>>16;d[a+1|0]=b>>>8;c=((c&33554431)+(b>>>26|0)|0)+33554431|0;d[a+5|0]=c>>>14;d[a+4|0]=c>>>6;d[a+3|0]=b>>>24&3|c<<2;b=((m&67108863)+(c>>>25|0)|0)+67108863|0;d[a+8|0]=b>>>13;d[a+7|0]=b>>>5;d[a+6|0]=c>>>22&7|b<<3;c=((k&33554431)+(b>>>26|0)|0)+33554431|0;d[a+11|0]=c>>>11;d[a+10|0]=c>>>3;d[a+9|0]=b>>>21&31|c<<5;b=((j&67108863)+(c>>>25|0)|0)+67108863|0;d[a+15|0]=b>>>18;d[a+14|0]=b>>>10;d[a+13|0]=b>>>2;d[a+12|0]=c>>>19&63|b<<6;b=((i&33554431)+(b>>>26|0)|0)+33554431|0;d[a+16|0]=b;d[a+18|0]=b>>>16;d[a+17|0]=b>>>8;c=((h&67108863)+(b>>>25|0)|0)+67108863|0;d[a+21|0]=c>>>15;d[a+20|0]=c>>>7;d[a+19|0]=b>>>24&1|c<<1;b=((g&33554431)+(c>>>26|0)|0)+33554431|0;d[a+24|0]=b>>>13;d[a+23|0]=b>>>5;d[a+22|0]=c>>>23&7|b<<3;c=((e&67108863)+(b>>>25|0)|0)+67108863|0;d[a+27|0]=c>>>12;d[a+26|0]=c>>>4;d[a+25|0]=b>>>21&15|c<<4;b=(n+(c>>>26|0)|0)+33554431|0;d[a+30|0]=b>>>10;d[a+29|0]=b>>>2;d[a+31|0]=b>>>18&127;d[a+28|0]=c>>>20&63|b<<6}function V(a,b,c){var d=0,e=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;d=A-112|0;A=d;O((d+48|0)+c|0,0,c>>>0>63?0:64-c|0);P(d+48|0,b,c);o=g[d+81|0];p=h[d+84>>1];q=g[d+83|0];r=g[d+82|0];s=h[d+88>>1];t=g[d+87|0];u=g[d+86|0];v=g[d+91|0];w=g[d+90|0];x=g[d+93|0];y=g[d+92|0];z=h[d+94>>1];B=g[d+96|0];C=g[d+100|0];D=g[d+99|0];E=g[d+98|0];F=g[d+97|0];G=g[d+104|0];H=g[d+103|0];I=g[d+102|0];J=g[d+101|0];K=g[d+108|0];L=g[d+107|0];M=g[d+106|0];N=g[d+105|0];Q=g[d+109|0]|g[d+110|0]<<8;R=g[d+111|0];S=g[d+54|0];T=g[d+53|0];U=g[d+52|0];V=g[d+58|0];W=g[d+57|0];X=g[d+56|0];b=g[d+55|0];Y=g[d+63|0];Z=h[d+64>>1];j=h[d+68>>1];_=g[d+67|0];$=g[d+66|0];e=h[d+72>>1];aa=g[d+71|0];ba=g[d+70|0];ca=g[d+62|0];da=g[d+61|0];ea=g[d+60|0];c=g[d+59|0];i=g[d+75|0];fa=g[d+74|0];ga=g[d+77|0];ha=g[d+76|0];k=h[d+48>>1];ia=g[d+50|0];l=g[d+51|0];m=g[d+79|0];n=g[d+80|0];f[a+32>>2]=g[d+78|0]|m<<8|n<<16;f[a>>2]=l<<24&1056964608|(ia<<16|k);k=i<<24;i=fa<<16;f[a+28>>2]=ga<<22|ha<<14|(k|i)>>>18;f[a+12>>2]=ea<<6|c>>>2|da<<14|ca<<22;i=(e|i)<<12&1073737728;e=ba<<16;f[a+24>>2]=i|(e|aa<<24)>>>20;e=(j|e)<<10&1073740800;j=$<<16;f[a+20>>2]=e|(j|_<<24)>>>22;f[a+16>>2]=(j|Z)<<8&1073741568|Y;f[a+8>>2]=c<<28&805306368|(X<<4|b>>>4|W<<12|V<<20);f[a+4>>2]=b<<26&1006632960|(U<<2|l>>>6|T<<10|S<<18);f[d+32>>2]=R<<16|Q;b=N<<8;f[d+28>>2]=K<<22|(b|M<<16|L<<24)>>>10;c=(b|G)<<20&1072693248;b=J<<8;f[d+24>>2]=c|(b|I<<16|H<<24)>>>12;c=(b|C)<<18&1073479680;b=F<<8;f[d+20>>2]=c|(b|E<<16|D<<24)>>>14;f[d+16>>2]=(b|B)<<16&1073676288|z;b=w<<16;f[d+12>>2]=x<<22|y<<14|(b|v<<24)>>>18;c=(b|s)<<12&1073737728;b=u<<16;f[d+8>>2]=c|(b|t<<24)>>>20;c=(b|p)<<10&1073740800;b=r<<16;f[d+4>>2]=c|(b|q<<24)>>>22;f[d>>2]=(b|(o<<8|n))<<8&1073741568|m;ra(a,d,a);A=d+112|0}function Oa(a,b,c){var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0;e=A-96|0;A=e;V(e+48|0,a,32);V(e,b,32);a=f[e>>2]+f[e+48>>2]|0;b=a&1073741823;f[e+48>>2]=b;a=f[e+4>>2]+(f[e+52>>2]+(a>>>30|0)|0)|0;m=a&1073741823;f[e+52>>2]=m;a=f[e+8>>2]+(f[e+56>>2]+(a>>>30|0)|0)|0;j=a&1073741823;f[e+56>>2]=j;a=f[e+12>>2]+f[e+60>>2]+(a>>>30)|0;k=a&1073741823;f[e+60>>2]=k;a=f[e+16>>2]+f[e+64>>2]+(a>>>30)|0;i=f[e+20>>2]+f[e+68>>2]+(a>>>30)|0;g=f[e+24>>2]+f[e+72>>2]+(i>>>30)|0;h=f[e+28>>2]+f[e+76>>2]+(g>>>30)|0;l=f[e+32>>2]+f[e+80>>2]+(h>>>30)|0;h=h&1073741823;g=g&1073741823;i=i&1073741823;o=a&1073741823;n=b+ -485872621|0;p=(m+(n>>31)|0)+ -541690985|0;q=(j+(p>>31)|0)+ -796511589|0;r=q>>>31|0;s=k-(r|935229352)|0;t=s>>>31|0;u=o-(t|20)|0;v=u>>>31|0;w=i-v|0;x=w>>>31|0;y=g-x|0;z=y>>>31|0;B=h-z|0;C=B>>>31|0;D=l-(C|4096)|0;E=D>>>31|0;a=E+ -1|0;b=b^a&(b^n+(n>>>1&1073741824));f[e+48>>2]=b;n=l^a&(l^(E<<16)+D);f[e+80>>2]=n;l=h^a&(h^(C<<30)+B);f[e+76>>2]=l;h=g^a&(g^(z<<30)+y);f[e+72>>2]=h;g=i^a&(i^(x<<30)+w);f[e+68>>2]=g;i=o^a&(o^(v<<30)+u);f[e+64>>2]=i;k=k^a&(k^s+(t<<30));f[e+60>>2]=k;j=j^a&(j^q+(r<<30));f[e+56>>2]=j;a=m^a&(m^p+(p>>>1&1073741824));f[e+52>>2]=a;d[c+1|0]=b>>>8;d[c+2|0]=b>>>16;m=a>>>2|0;d[c+4|0]=m;d[c+5|0]=a>>>10;d[c+6|0]=a>>>18;o=j>>>4|0;d[c+8|0]=o;d[c+9|0]=j>>>12;d[c+10|0]=j>>>20;p=k>>>6|0;d[c+12|0]=p;d[c+13|0]=k>>>14;d[c+14|0]=k>>>22;q=i>>>8|0;d[c+16|0]=q;d[c+17|0]=i>>>16;d[c+19|0]=g>>>2;r=g>>>10|0;d[c+20|0]=r;d[c+21|0]=g>>>18;d[c+23|0]=h>>>4;s=h>>>12|0;d[c+24|0]=s;d[c+25|0]=h>>>20;d[c+27|0]=l>>>6;t=l>>>14|0;d[c+28|0]=t;d[c+29|0]=l>>>22;d[c|0]=b;d[c+3|0]=(b|a<<30)>>>24;d[c+7|0]=(m|j<<28)>>>24;d[c+11|0]=(o|k<<26)>>>24;d[c+15|0]=(p|i<<24)>>>24;d[c+18|0]=(q|g<<22)>>>16;d[c+22|0]=(r|h<<20)>>>16;d[c+26|0]=(s|l<<18)>>>16;d[c+31|0]=n>>>8;d[c+30|0]=(t|n<<16)>>>16;A=e+96|0}function Ha(a,b){var c=0;O(a- -64|0,0,176);c=f[7707];f[a+56>>2]=f[7706];f[a+60>>2]=c;c=f[7705];f[a+48>>2]=f[7704];f[a+52>>2]=c;c=f[7703];f[a+40>>2]=f[7702];f[a+44>>2]=c;c=f[7701];f[a+32>>2]=f[7700];f[a+36>>2]=c;c=f[7699];f[a+24>>2]=f[7698];f[a+28>>2]=c;c=f[7697];f[a+16>>2]=f[7696];f[a+20>>2]=c;c=f[7695];f[a+8>>2]=f[7694];f[a+12>>2]=c;c=f[7693];f[a>>2]=f[7692];f[a+4>>2]=c;c=(g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24))^1779033703;f[a>>2]=(g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24))^-205731576;f[a+4>>2]=c;c=(g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24))^-1150833019;f[a+8>>2]=(g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24))^-2067093701;f[a+12>>2]=c;c=f[a+20>>2]^(g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24));f[a+16>>2]=f[a+16>>2]^(g[b+16|0]|g[b+17|0]<<8|(g[b+18|0]<<16|g[b+19|0]<<24));f[a+20>>2]=c;c=f[a+28>>2]^(g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24));f[a+24>>2]=f[a+24>>2]^(g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24));f[a+28>>2]=c;c=f[a+36>>2]^(g[b+36|0]|g[b+37|0]<<8|(g[b+38|0]<<16|g[b+39|0]<<24));f[a+32>>2]=f[a+32>>2]^(g[b+32|0]|g[b+33|0]<<8|(g[b+34|0]<<16|g[b+35|0]<<24));f[a+36>>2]=c;c=f[a+44>>2]^(g[b+44|0]|g[b+45|0]<<8|(g[b+46|0]<<16|g[b+47|0]<<24));f[a+40>>2]=f[a+40>>2]^(g[b+40|0]|g[b+41|0]<<8|(g[b+42|0]<<16|g[b+43|0]<<24));f[a+44>>2]=c;c=f[a+52>>2]^(g[b+52|0]|g[b+53|0]<<8|(g[b+54|0]<<16|g[b+55|0]<<24));f[a+48>>2]=f[a+48>>2]^(g[b+48|0]|g[b+49|0]<<8|(g[b+50|0]<<16|g[b+51|0]<<24));f[a+52>>2]=c;c=f[a+60>>2]^(g[b+60|0]|g[b+61|0]<<8|(g[b+62|0]<<16|g[b+63|0]<<24));f[a+56>>2]=f[a+56>>2]^(g[b+56|0]|g[b+57|0]<<8|(g[b+58|0]<<16|g[b+59|0]<<24));f[a+60>>2]=c;f[a+228>>2]=g[b|0]}function Va(a,b,c,d,i,j){var k=0,l=0,m=0;k=A-256|0;A=k;a:{if(c){O(k- -64|0,0,131);l=h[529]|h[530]<<16;m=h[527]|h[528]<<16;e[k+14>>1]=m;e[k+16>>1]=m>>>16;e[k+18>>1]=l;e[k+20>>1]=l>>>16;l=f[263];f[k+8>>2]=f[262];f[k+12>>2]=l;l=f[261];f[k>>2]=f[260];f[k+4>>2]=l;X(b,c,k,k+208|0);Z(k- -64|0,k+208|0,k+240|0);f[k+232>>2]=0;f[k+236>>2]=0;f[k+224>>2]=0;f[k+228>>2]=0;f[k+240>>2]=0;f[k+244>>2]=0;f[k+216>>2]=0;f[k+220>>2]=0;f[k+208>>2]=0;f[k+212>>2]=0;Y(k,k- -64|0,a,64);O(k- -64|0,0,131);break a}b=g[a+60|0]|g[a+61|0]<<8|(g[a+62|0]<<16|g[a+63|0]<<24);f[k+56>>2]=g[a+56|0]|g[a+57|0]<<8|(g[a+58|0]<<16|g[a+59|0]<<24);f[k+60>>2]=b;b=g[a+52|0]|g[a+53|0]<<8|(g[a+54|0]<<16|g[a+55|0]<<24);f[k+48>>2]=g[a+48|0]|g[a+49|0]<<8|(g[a+50|0]<<16|g[a+51|0]<<24);f[k+52>>2]=b;b=g[a+44|0]|g[a+45|0]<<8|(g[a+46|0]<<16|g[a+47|0]<<24);f[k+40>>2]=g[a+40|0]|g[a+41|0]<<8|(g[a+42|0]<<16|g[a+43|0]<<24);f[k+44>>2]=b;b=g[a+36|0]|g[a+37|0]<<8|(g[a+38|0]<<16|g[a+39|0]<<24);f[k+32>>2]=g[a+32|0]|g[a+33|0]<<8|(g[a+34|0]<<16|g[a+35|0]<<24);f[k+36>>2]=b;b=g[a+28|0]|g[a+29|0]<<8|(g[a+30|0]<<16|g[a+31|0]<<24);f[k+24>>2]=g[a+24|0]|g[a+25|0]<<8|(g[a+26|0]<<16|g[a+27|0]<<24);f[k+28>>2]=b;b=g[a+20|0]|g[a+21|0]<<8|(g[a+22|0]<<16|g[a+23|0]<<24);f[k+16>>2]=g[a+16|0]|g[a+17|0]<<8|(g[a+18|0]<<16|g[a+19|0]<<24);f[k+20>>2]=b;b=g[a+4|0]|g[a+5|0]<<8|(g[a+6|0]<<16|g[a+7|0]<<24);f[k>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);f[k+4>>2]=b;b=g[a+12|0]|g[a+13|0]<<8|(g[a+14|0]<<16|g[a+15|0]<<24);f[k+8>>2]=g[a+8|0]|g[a+9|0]<<8|(g[a+10|0]<<16|g[a+11|0]<<24);f[k+12>>2]=b}ba(k,k- -64|0);Ra(d,i,k,k- -64|0,j);A=k+256|0}function na(a,b,c){var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;v=f[c>>2];j=v;w=f[c+4>>2];d=w;x=f[c+8>>2];k=x;y=f[c+12>>2];p=y;z=f[c+16>>2];l=z;A=f[c+20>>2];e=A;B=f[c+24>>2];m=B;C=f[c+28>>2];g=C;D=f[c+32>>2];h=D;E=f[c+36>>2];r=E;F=f[c+40>>2];n=F;G=f[c+44>>2];s=G;H=f[c+48>>2];q=H;I=f[c+52>>2];o=I;J=f[c+56>>2];t=J;K=f[c+60>>2];c=K;if((a|0)>=1){c=K;t=J;o=I;q=H;s=G;n=F;r=E;h=D;g=C;m=B;e=A;l=z;p=y;k=x;d=w;j=v;while(1){i=l;l=l+j|0;j=ib(l^q,16);h=j+h|0;q=ib(i^h,12);i=q;u=j;j=l+q|0;q=ib(u^j,8);h=q+h|0;l=ib(i^h,7);u=g;i=s;g=g+p|0;s=ib(g^c,16);i=i+s|0;c=ib(u^i,12);k=m+k|0;p=ib(k^t,16);n=p+n|0;m=ib(n^m,12);k=m+k|0;u=ib(k^p,8);L=c+g|0;p=L+l|0;g=ib(u^p,16);t=e;e=e+d|0;d=ib(e^o,16);r=d+r|0;M=ib(t^r,12);e=M+e|0;o=l;d=ib(e^d,8);N=d+r|0;l=g+N|0;o=ib(o^l,12);p=o+p|0;t=ib(g^p,8);r=t+l|0;l=ib(r^o,7);o=h;h=d;d=i;i=ib(s^L,8);d=d+i|0;g=ib(d^c,7);k=g+k|0;h=ib(h^k,16);c=o+h|0;g=ib(c^g,12);k=g+k|0;o=ib(h^k,8);h=c+o|0;g=ib(h^g,7);c=d;d=e;e=n+u|0;m=ib(e^m,7);d=d+m|0;n=ib(d^q,16);c=c+n|0;m=ib(c^m,12);d=m+d|0;q=ib(n^d,8);s=c+q|0;m=ib(s^m,7);c=ib(M^N,7);j=c+j|0;n=ib(j^i,16);e=n+e|0;i=ib(c^e,12);j=i+j|0;c=ib(n^j,8);n=e+c|0;e=ib(n^i,7);i=(a|0)>2;a=a+ -2|0;if(i){continue}break}}f[b+60>>2]=c+K;f[b+56>>2]=t+J;f[b+52>>2]=o+I;f[b+48>>2]=q+H;f[b+44>>2]=s+G;f[b+40>>2]=n+F;f[b+36>>2]=r+E;f[b+32>>2]=h+D;f[b+28>>2]=g+C;f[b+24>>2]=m+B;f[b+20>>2]=e+A;f[b+16>>2]=l+z;f[b+12>>2]=p+y;f[b+8>>2]=k+x;f[b+4>>2]=d+w;f[b>>2]=j+v}function pa(a,b,c){var e=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=-1<<c+ -1;e=a;while(1){c=e;e=f[(h<<2)+b>>2];d[c|0]=e&1;d[c+29|0]=e>>>29&1;d[c+28|0]=e>>>28&1;d[c+27|0]=e>>>27&1;d[c+26|0]=e>>>26&1;d[c+25|0]=e>>>25&1;d[c+24|0]=e>>>24&1;d[c+23|0]=e>>>23&1;d[c+22|0]=e>>>22&1;d[c+21|0]=e>>>21&1;d[c+20|0]=e>>>20&1;d[c+19|0]=e>>>19&1;d[c+18|0]=e>>>18&1;d[c+17|0]=e>>>17&1;d[c+16|0]=e>>>16&1;d[c+15|0]=e>>>15&1;d[c+14|0]=e>>>14&1;d[c+13|0]=e>>>13&1;d[c+12|0]=e>>>12&1;d[c+11|0]=e>>>11&1;d[c+10|0]=e>>>10&1;d[c+9|0]=e>>>9&1;d[c+8|0]=e>>>8&1;e=e&255;d[c+7|0]=e>>>7;d[c+6|0]=e>>>6&1;d[c+5|0]=e>>>5&1;d[c+4|0]=e>>>4&1;d[c+3|0]=e>>>3&1;d[c+2|0]=e>>>2&1;d[c+1|0]=e>>>1&1;e=c+30|0;h=h+1|0;if((h|0)!=8){continue}break}b=f[b+32>>2];d[c+30|0]=b&1;d[c+45|0]=b>>>15&1;d[c+44|0]=b>>>14&1;d[c+43|0]=b>>>13&1;d[c+42|0]=b>>>12&1;d[c+41|0]=b>>>11&1;d[c+40|0]=b>>>10&1;d[c+39|0]=b>>>9&1;d[c+38|0]=b>>>8&1;b=b&255;d[c+37|0]=b>>>7;d[c+36|0]=b>>>6&1;d[c+35|0]=b>>>5&1;d[c+34|0]=b>>>4&1;d[c+33|0]=b>>>3&1;d[c+32|0]=b>>>2&1;d[c+31|0]=b>>>1&1;o=k^-1;while(1){a:{j=a+i|0;h=g[j|0];if(!h|i>>>0>254){break a}p=256-i|0;e=1;while(1){c=e+i|0;b=c+a|0;l=d[b|0];m=l<<e;h=h<<24>>24;n=m+h|0;b:{if((n|0)<=(o|0)){d[j|0]=n;d[b|0]=0;break b}b=h-m|0;if((b|0)>(k|0)){d[j|0]=b;if(c>>>0>255){break b}while(1){b=a+c|0;if(!g[b|0]){d[b|0]=1;break b}d[b|0]=0;b=c>>>0<255;c=c+1|0;if(b){continue}break}break b}if(l){break a}}b=e+1|0;if(e>>>0>5|b>>>0>=p>>>0){break a}h=g[j|0];e=b;continue}}i=i+1|0;if((i|0)!=256){continue}break}}function za(a,b){var c=0,e=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=f[a+56>>2];if(e){d[(a+e|0)+60|0]=1;c=e+1|0;if(c>>>0<=15){O((a+c|0)+60|0,0,15-e|0)}d[a+76|0]=1;ea(a,a+60|0,16)}u=f[a+52>>2];v=f[a+48>>2];n=f[a+44>>2];k=f[a+24>>2];h=f[a+28>>2]+(k>>>26|0)|0;j=f[a+32>>2]+(h>>>26|0)|0;p=f[a+36>>2]+(j>>>26|0)|0;c=f[a+20>>2]+l(p>>>26|0,5)|0;i=c&67108863;e=i+5|0;r=j&67108863;g=h&67108863;j=(k&67108863)+(c>>>26|0)|0;c=j+(e>>>26|0)|0;h=g+(c>>>26|0)|0;k=r+(h>>>26|0)|0;q=(p|-67108864)+(k>>>26|0)|0;m=q>>31;s=(q>>>31|0)+ -1|0;o=s&67108863;t=m&j|o&c;c=0;i=i&m|e&o|t<<26;j=i+f[a+40>>2]|0;if(j>>>0<i>>>0){c=1}i=j;d[b|0]=i;e=0;j=n;n=g&m|h&o;g=n<<20|t>>>6;h=j+g|0;if(h>>>0<g>>>0){e=1}j=h;h=c;g=j+c|0;c=e;c=g>>>0<h>>>0?c+1|0:c;h=g;d[b+4|0]=g;e=i;d[b+3|0]=e>>>24;d[b+2|0]=e>>>16;d[b+1|0]=e>>>8;e=0;k=m&r|k&o;g=k<<14|n>>>12;i=g+v|0;if(i>>>0<g>>>0){e=1}j=i;i=c;g=j+c|0;c=e;c=g>>>0<i>>>0?c+1|0:c;i=g;d[b+8|0]=g;e=h;d[b+7|0]=e>>>24;d[b+6|0]=e>>>16;d[b+5|0]=e>>>8;g=(q&s|m&p)<<8|k>>>18;h=g+u|0;h>>>0<g>>>0;h=c+h|0;c=h;d[b+12|0]=c;e=i;d[b+11|0]=e>>>24;d[b+10|0]=e>>>16;d[b+9|0]=e>>>8;d[b+15|0]=c>>>24;d[b+14|0]=c>>>16;d[b+13|0]=c>>>8;f[a+48>>2]=0;f[a+52>>2]=0;f[a+40>>2]=0;f[a+44>>2]=0;f[a+32>>2]=0;f[a+36>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a>>2]=0;f[a+4>>2]=0}function P(a,b,c){var e=0,h=0,i=0;if(c>>>0>=512){y(a|0,b|0,c|0)|0;return a}h=a+c|0;a:{if(!((a^b)&3)){b:{if((c|0)<1){c=a;break b}if(!(a&3)){c=a;break b}c=a;while(1){d[c|0]=g[b|0];b=b+1|0;c=c+1|0;if(c>>>0>=h>>>0){break b}if(c&3){continue}break}}e=h&-4;c:{if(e>>>0<64){break c}i=e+ -64|0;if(c>>>0>i>>>0){break c}while(1){f[c>>2]=f[b>>2];f[c+4>>2]=f[b+4>>2];f[c+8>>2]=f[b+8>>2];f[c+12>>2]=f[b+12>>2];f[c+16>>2]=f[b+16>>2];f[c+20>>2]=f[b+20>>2];f[c+24>>2]=f[b+24>>2];f[c+28>>2]=f[b+28>>2];f[c+32>>2]=f[b+32>>2];f[c+36>>2]=f[b+36>>2];f[c+40>>2]=f[b+40>>2];f[c+44>>2]=f[b+44>>2];f[c+48>>2]=f[b+48>>2];f[c+52>>2]=f[b+52>>2];f[c+56>>2]=f[b+56>>2];f[c+60>>2]=f[b+60>>2];b=b- -64|0;c=c- -64|0;if(c>>>0<=i>>>0){continue}break}}if(c>>>0>=e>>>0){break a}while(1){f[c>>2]=f[b>>2];b=b+4|0;c=c+4|0;if(c>>>0<e>>>0){continue}break}break a}if(h>>>0<4){c=a;break a}e=h+ -4|0;if(e>>>0<a>>>0){c=a;break a}c=a;while(1){d[c|0]=g[b|0];d[c+1|0]=g[b+1|0];d[c+2|0]=g[b+2|0];d[c+3|0]=g[b+3|0];b=b+4|0;c=c+4|0;if(c>>>0<=e>>>0){continue}break}}if(c>>>0<h>>>0){while(1){d[c|0]=g[b|0];b=b+1|0;c=c+1|0;if((h|0)!=(c|0)){continue}break}}return a}function Ga(a,b,d){var e=0,h=0,j=0,k=0,l=0,m=0,n=0;e=A+ -64|0;A=e;f[e+56>>2]=0;f[e+60>>2]=0;f[e+48>>2]=0;f[e+52>>2]=0;f[e+40>>2]=0;f[e+44>>2]=0;f[e+32>>2]=0;f[e+36>>2]=0;f[e+24>>2]=0;f[e+28>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=0;f[e+4>>2]=0;if(!(!b|i[a+228>>2]>d>>>0|(f[a+80>>2]!=0|f[a+84>>2]!=0))){j=f[a+68>>2];h=j;n=f[a+64>>2];l=f[a+224>>2];k=l;m=n+k|0;if(m>>>0<k>>>0){h=h+1|0}d=a;f[a+64>>2]=m;f[a+68>>2]=h;k=f[a+76>>2];h=(h|0)==(j|0)&m>>>0<n>>>0|h>>>0<j>>>0;j=h+f[a+72>>2]|0;if(j>>>0<h>>>0){k=k+1|0}f[a+72>>2]=j;f[d+76>>2]=k;if(g[a+232|0]){f[a+88>>2]=-1;f[a+92>>2]=-1}f[a+80>>2]=-1;f[a+84>>2]=-1;d=a+96|0;O(l+d|0,0,128-l|0);fa(a,d);d=f[a+4>>2];f[e>>2]=f[a>>2];f[e+4>>2]=d;d=f[a+12>>2];f[e+8>>2]=f[a+8>>2];f[e+12>>2]=d;d=f[a+20>>2];f[e+16>>2]=f[a+16>>2];f[e+20>>2]=d;d=f[a+28>>2];f[e+24>>2]=f[a+24>>2];f[e+28>>2]=d;d=f[a+36>>2];f[e+32>>2]=f[a+32>>2];f[e+36>>2]=d;d=f[a+44>>2];f[e+40>>2]=f[a+40>>2];f[e+44>>2]=d;d=f[a+52>>2];f[e+48>>2]=f[a+48>>2];f[e+52>>2]=d;d=f[a+60>>2];f[e+56>>2]=f[a+56>>2];f[e+60>>2]=d;P(b,e,f[a+228>>2]);c[f[7708]](e,0,64)|0}A=e- -64|0}function Ea(a,b,c,e){var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=A-304|0;A=g;h=-1;if(!(!a|!c&(e|0)!=0|b+ -1>>>0>63)){f[g+260>>2]=0;f[g+264>>2]=0;f[g+268>>2]=0;f[g+272>>2]=0;f[g+276>>2]=0;f[g+280>>2]=0;f[g+284>>2]=0;f[g+288>>2]=0;f[g+292>>2]=0;f[g+296>>2]=0;f[g+300>>2]=0;f[g+244>>2]=0;f[g+248>>2]=0;d[g+243|0]=1;d[g+241|0]=256;d[g+242|0]=1;d[g+240|0]=b;f[g+252>>2]=0;f[g+256>>2]=0;Ha(g,g+240|0);if(e){h=f[g+224>>2];j=128-h|0;a:{if(j>>>0>=e>>>0){break a}f[g+224>>2]=0;l=g+96|0;P(l+h|0,c,j);m=f[g+68>>2];h=m;i=f[g+76>>2];m=f[g+64>>2];k=(h|0)==-1&m>>>0>4294967167;n=k+f[g+72>>2]|0;if(n>>>0<k>>>0){i=i+1|0}k=g;f[g+72>>2]=n;f[g+76>>2]=i;i=m+128|0;if(i>>>0<128){h=h+1|0}f[g+64>>2]=i;f[k+68>>2]=h;fa(g,l);c=c+j|0;e=e-j|0;if(e>>>0<129){break a}while(1){h=f[g+68>>2];j=h;i=f[g+64>>2];l=i+128|0;if(l>>>0<128){h=h+1|0}f[g+64>>2]=l;f[g+68>>2]=h;k=f[g+76>>2];j=(j|0)==-1&i>>>0>4294967167;i=j+f[g+72>>2]|0;if(i>>>0<j>>>0){k=k+1|0}f[g+72>>2]=i;f[g+76>>2]=k;fa(g,c);c=c+128|0;e=e+ -128|0;if(e>>>0>128){continue}break}}P((f[g+224>>2]+g|0)+96|0,c,e);f[g+224>>2]=f[g+224>>2]+e}Ga(g,a,b);h=0}A=g+304|0;return h}function Ba(a,b,c,d,e,h,i,j){var k=0,l=0,m=0,n=0,o=0;k=A-96|0;A=k;f[k+48>>2]=0;f[k+52>>2]=0;f[k+56>>2]=0;f[k+60>>2]=0;l=k- -64|0;f[l>>2]=0;f[l+4>>2]=0;f[k+72>>2]=0;f[k+76>>2]=0;f[k+80>>2]=0;f[k+84>>2]=0;f[k+88>>2]=0;f[k+92>>2]=0;f[k+32>>2]=0;f[k+36>>2]=0;f[k+40>>2]=0;f[k+44>>2]=0;f[k+12>>2]=1;f[a+48>>2]=0;f[a+52>>2]=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f[a+56>>2]=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+60>>2]=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);la(a,k+32|0,k+32|0,64);a:{b:{if(j|!i){break b}ka(k+32|0,c,d,k+16|0);if((i|0)<1){break b}m=k+16|0;l=h;while(1){n=g[l|0]^g[m|0]|n;l=l+1|0;m=m+1|0;o=o+1|0;if((o|0)!=(i|0)){continue}break}l=-1;if(n){break a}}l=a;m=k+12|0;if(m){m=g[m|0]|g[m+1|0]<<8|(g[m+2|0]<<16|g[m+3|0]<<24)}else{m=0}f[l+48>>2]=m;f[a+52>>2]=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f[a+56>>2]=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+60>>2]=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);la(a,c,e,d);if(!(!i|!j)){ka(k+32|0,e,d,k+16|0);P(h,k+16|0,i)}l=0}A=k+96|0;return l}function ma(a,b){d[a|0]=g[b|0]<<3;d[a+1|0]=g[b+1|0]<<3|g[b|0]>>>5;d[a+2|0]=g[b+2|0]<<3|g[b+1|0]>>>5;d[a+3|0]=g[b+3|0]<<3|g[b+2|0]>>>5;d[a+4|0]=g[b+4|0]<<3|g[b+3|0]>>>5;d[a+5|0]=g[b+5|0]<<3|g[b+4|0]>>>5;d[a+6|0]=g[b+6|0]<<3|g[b+5|0]>>>5;d[a+7|0]=g[b+7|0]<<3|g[b+6|0]>>>5;d[a+8|0]=g[b+8|0]<<3|g[b+7|0]>>>5;d[a+9|0]=g[b+9|0]<<3|g[b+8|0]>>>5;d[a+10|0]=g[b+10|0]<<3|g[b+9|0]>>>5;d[a+11|0]=g[b+11|0]<<3|g[b+10|0]>>>5;d[a+12|0]=g[b+12|0]<<3|g[b+11|0]>>>5;d[a+13|0]=g[b+13|0]<<3|g[b+12|0]>>>5;d[a+14|0]=g[b+14|0]<<3|g[b+13|0]>>>5;d[a+15|0]=g[b+15|0]<<3|g[b+14|0]>>>5;d[a+16|0]=g[b+16|0]<<3|g[b+15|0]>>>5;d[a+17|0]=g[b+17|0]<<3|g[b+16|0]>>>5;d[a+18|0]=g[b+18|0]<<3|g[b+17|0]>>>5;d[a+19|0]=g[b+19|0]<<3|g[b+18|0]>>>5;d[a+20|0]=g[b+20|0]<<3|g[b+19|0]>>>5;d[a+21|0]=g[b+21|0]<<3|g[b+20|0]>>>5;d[a+22|0]=g[b+22|0]<<3|g[b+21|0]>>>5;d[a+23|0]=g[b+23|0]<<3|g[b+22|0]>>>5;d[a+24|0]=g[b+24|0]<<3|g[b+23|0]>>>5;d[a+25|0]=g[b+25|0]<<3|g[b+24|0]>>>5;d[a+26|0]=g[b+26|0]<<3|g[b+25|0]>>>5;d[a+27|0]=g[b+27|0]<<3|g[b+26|0]>>>5;d[a+28|0]=g[b+27|0]>>>5}function Y(a,b,c,e){var h=0,i=0,j=0,k=0;j=A+ -64|0;A=j;a:{if(!e){break a}h=g[b+129|0];if(h){i=h>>>0<e>>>0?h:e;k=(i|0)>1?i:1;h=0;while(1){d[a+h|0]=g[((g[b+128|0]+h|0)+b|0)- -64|0]^g[c+h|0];h=h+1|0;if((k|0)!=(h|0)){continue}break}O((g[b+128|0]+b|0)- -64|0,0,i);d[b+129|0]=g[b+129|0]-i;d[b+128|0]=i+g[b+128|0];e=e-i|0;if(!e){break a}c=c+i|0;a=a+i|0}if(e>>>0>=64){while(1){na(g[b+130|0],j,b);h=f[b+48>>2];i=h+1|0;f[b+48>>2]=i;if(i>>>0<h>>>0){f[b+52>>2]=f[b+52>>2]+1}h=0;while(1){d[a+h|0]=g[h+j|0]^g[c+h|0];h=h+1|0;if((h|0)!=64){continue}break}a=a- -64|0;c=c- -64|0;e=e+ -64|0;if(e>>>0>63){continue}break}if(!e){break a}}na(g[b+130|0],j,b);h=f[b+48>>2];i=h+1|0;f[b+48>>2]=i;if(i>>>0<h>>>0){f[b+52>>2]=f[b+52>>2]+1}i=e>>>0>1?e:1;h=0;while(1){d[a+h|0]=g[h+j|0]^g[c+h|0];h=h+1|0;if((i|0)!=(h|0)){continue}break}d[b+128|0]=i;d[b+129|0]=64-e;if(i>>>0>63){break a}P((b+i|0)- -64|0,i+j|0,64-i|0)}A=j- -64|0}function oa(a){var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;c=f[a+32>>2];d=f[a+28>>2];e=f[a+24>>2];g=f[a+20>>2];h=f[a+16>>2];i=f[a+12>>2];j=f[a+8>>2];k=f[a+4>>2];l=f[a>>2];m=l+ -485872621|0;n=(k+(m>>31)|0)+ -541690985|0;o=(j+(n>>31)|0)+ -796511589|0;p=o>>>31|0;q=i-(p|935229352)|0;r=q>>>31|0;s=h-(r|20)|0;t=s>>>31|0;u=g-t|0;v=u>>>31|0;w=e-v|0;x=w>>>31|0;y=d-x|0;z=y>>>31|0;A=c-(z|4096)|0;B=A>>>31|0;b=B+ -1|0;f[a+28>>2]=((z<<30)+y^d)&b^d;f[a+24>>2]=((x<<30)+w^e)&b^e;f[a+20>>2]=((v<<30)+u^g)&b^g;f[a+16>>2]=((t<<30)+s^h)&b^h;f[a+12>>2]=((r<<30)+q^i)&b^i;f[a+8>>2]=((p<<30)+o^j)&b^j;f[a+4>>2]=((n>>>1&1073741824)+n^k)&b^k;f[a>>2]=((m>>>1&1073741824)+m^l)&b^l;f[a+32>>2]=((B<<16)+A^c)&b^c}function La(a,b,c){f[a+12>>2]=1797285236;f[a>>2]=1634760805;f[a+8>>2]=2036477234;f[a+4>>2]=857760878;f[a+16>>2]=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f[a+20>>2]=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+24>>2]=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);f[a+28>>2]=g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24);f[a+32>>2]=g[b+16|0]|g[b+17|0]<<8|g[b+18|0]<<16|g[b+19|0]<<24;f[a+36>>2]=g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24);f[a+40>>2]=g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24);b=g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24);f[a+48>>2]=0;f[a+44>>2]=b;f[a+52>>2]=0;f[a+56>>2]=g[c|0]|g[c+1|0]<<8|g[c+2|0]<<16|g[c+3|0]<<24;f[a+60>>2]=g[c+4|0]|g[c+5|0]<<8|g[c+6|0]<<16|g[c+7|0]<<24}function O(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,g=0,h=0,i=0;a:{if(!c){break a}e=a+c|0;d[e+ -1|0]=b;d[a|0]=b;if(c>>>0<3){break a}d[e+ -2|0]=b;d[a+1|0]=b;d[e+ -3|0]=b;d[a+2|0]=b;if(c>>>0<7){break a}d[e+ -4|0]=b;d[a+3|0]=b;if(c>>>0<9){break a}e=0-a&3;g=e+a|0;b=l(b&255,16843009);f[g>>2]=b;c=c-e&-4;e=c+g|0;f[e+ -4>>2]=b;if(c>>>0<9){break a}f[g+8>>2]=b;f[g+4>>2]=b;f[e+ -8>>2]=b;f[e+ -12>>2]=b;if(c>>>0<25){break a}f[g+24>>2]=b;f[g+20>>2]=b;f[g+16>>2]=b;f[g+12>>2]=b;f[e+ -16>>2]=b;f[e+ -20>>2]=b;f[e+ -24>>2]=b;f[e+ -28>>2]=b;i=g&4|24;c=c-i|0;if(c>>>0<32){break a}e=b;h=b;b=g+i|0;while(1){f[b+24>>2]=h;f[b+28>>2]=e;f[b+16>>2]=h;f[b+20>>2]=e;f[b+8>>2]=h;f[b+12>>2]=e;f[b>>2]=h;f[b+4>>2]=e;b=b+32|0;c=c+ -32|0;if(c>>>0>31){continue}break}}return a|0}function Aa(a,b){var c=0,e=0;f[a>>2]=g[b+3|0]<<24&50331648|(g[b|0]|g[b+1|0]<<8|g[b+2|0]<<16);f[a+4>>2]=(g[b+3|0]|g[b+4|0]<<8|(g[b+5|0]<<16|g[b+6|0]<<24))>>>2&67108611;f[a+8>>2]=(g[b+6|0]|g[b+7|0]<<8|(g[b+8|0]<<16|g[b+9|0]<<24))>>>4&67092735;f[a+12>>2]=(g[b+9|0]|g[b+10|0]<<8|(g[b+11|0]<<16|g[b+12|0]<<24))>>>6&66076671;c=g[b+13|0]|g[b+14|0]<<8;e=g[b+15|0];f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[a+32>>2]=0;f[a+36>>2]=0;f[a+16>>2]=e<<16&983040|c;f[a+40>>2]=g[b+16|0]|g[b+17|0]<<8|(g[b+18|0]<<16|g[b+19|0]<<24);f[a+44>>2]=g[b+20|0]|g[b+21|0]<<8|(g[b+22|0]<<16|g[b+23|0]<<24);f[a+48>>2]=g[b+24|0]|g[b+25|0]<<8|(g[b+26|0]<<16|g[b+27|0]<<24);b=g[b+28|0]|g[b+29|0]<<8|(g[b+30|0]<<16|g[b+31|0]<<24);d[a+76|0]=0;f[a+56>>2]=0;f[a+52>>2]=b}function ba(a,b){var c=0,d=0;c=A-272|0;A=c;f[c+56>>2]=0;f[c+60>>2]=0;f[c+48>>2]=0;f[c+52>>2]=0;f[c+40>>2]=0;f[c+44>>2]=0;f[c+32>>2]=0;f[c+36>>2]=0;d=g[a+20|0]|g[a+21|0]<<8|(g[a+22|0]<<16|g[a+23|0]<<24);f[c+16>>2]=g[a+16|0]|g[a+17|0]<<8|(g[a+18|0]<<16|g[a+19|0]<<24);f[c+20>>2]=d;d=g[a+28|0]|g[a+29|0]<<8|(g[a+30|0]<<16|g[a+31|0]<<24);f[c+24>>2]=g[a+24|0]|g[a+25|0]<<8|(g[a+26|0]<<16|g[a+27|0]<<24);f[c+28>>2]=d;d=g[a+4|0]|g[a+5|0]<<8|(g[a+6|0]<<16|g[a+7|0]<<24);f[c>>2]=g[a|0]|g[a+1|0]<<8|(g[a+2|0]<<16|g[a+3|0]<<24);f[c+4>>2]=d;d=g[a+12|0]|g[a+13|0]<<8|(g[a+14|0]<<16|g[a+15|0]<<24);f[c+8>>2]=g[a+8|0]|g[a+9|0]<<8|(g[a+10|0]<<16|g[a+11|0]<<24);f[c+12>>2]=d;V(c+224|0,c,32);sa(c- -64|0,c+224|0);da(b,c- -64|0);A=c+272|0}function ha(a,b){return(g[b|0]^g[a|0]|g[b+1|0]^g[a+1|0]|g[b+2|0]^g[a+2|0]|g[b+3|0]^g[a+3|0]|g[b+4|0]^g[a+4|0]|g[b+5|0]^g[a+5|0]|g[b+6|0]^g[a+6|0]|g[b+7|0]^g[a+7|0]|g[b+8|0]^g[a+8|0]|g[b+9|0]^g[a+9|0]|g[b+10|0]^g[a+10|0]|g[b+11|0]^g[a+11|0]|g[b+12|0]^g[a+12|0]|g[b+13|0]^g[a+13|0]|g[b+14|0]^g[a+14|0]|g[b+15|0]^g[a+15|0]|g[b+16|0]^g[a+16|0]|g[b+17|0]^g[a+17|0]|g[b+18|0]^g[a+18|0]|g[b+19|0]^g[a+19|0]|g[b+20|0]^g[a+20|0]|g[b+21|0]^g[a+21|0]|g[b+22|0]^g[a+22|0]|g[b+23|0]^g[a+23|0]|g[b+24|0]^g[a+24|0]|g[b+25|0]^g[a+25|0]|g[b+26|0]^g[a+26|0]|g[b+27|0]^g[a+27|0]|g[b+28|0]^g[a+28|0]|g[b+29|0]^g[a+29|0]|g[b+30|0]^g[a+30|0]|g[b+31|0]^g[a+31|0])+ -1>>>8&1}function N(a,b,c){var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=A-128|0;A=h;i=f[a+4>>2];e=i;j=f[a>>2];d=c+j|0;if(d>>>0<c>>>0){e=e+1|0}g=a;f[a>>2]=d;f[a+4>>2]=e;if((e|0)==(i|0)&d>>>0<j>>>0|e>>>0<i>>>0){d=f[a+12>>2];e=f[a+8>>2]+1|0;if(e>>>0<1){d=d+1|0}f[a+8>>2]=e;f[g+12>>2]=d}g=j&127;a:{if(!g){break a}d=128-g|0;if(d>>>0>c>>>0){k=g;break a}e=g;g=a+16|0;P(e+g|0,b,d);ga(a,g);b=b+d|0;c=c-d|0}b:{if(!(b&7)){if(c>>>0<=127){break b}while(1){ga(a,b);b=b+128|0;c=c+ -128|0;if(c>>>0>127){continue}break}break b}if(c>>>0<128){break b}while(1){ga(a,P(h,b,128));b=b+128|0;c=c+ -128|0;if(c>>>0>127){continue}break}}if(c){P((a+k|0)+16|0,b,c)}A=h+128|0}function Da(a,b){var c=0;f[a+16>>2]=g[b|0]|g[b+1|0]<<8|(g[b+2|0]<<16|g[b+3|0]<<24);f[a+20>>2]=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+24>>2]=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);f[a+28>>2]=g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24);c=g[b+16|0];b=b+16|0;f[a+32>>2]=c|g[b+1|0]<<8|g[b+2|0]<<16|g[b+3|0]<<24;f[a+36>>2]=g[b+4|0]|g[b+5|0]<<8|(g[b+6|0]<<16|g[b+7|0]<<24);f[a+40>>2]=g[b+8|0]|g[b+9|0]<<8|(g[b+10|0]<<16|g[b+11|0]<<24);b=g[b+12|0]|g[b+13|0]<<8|(g[b+14|0]<<16|g[b+15|0]<<24);f[a+12>>2]=1797285236;f[a+8>>2]=2036477234;f[a+4>>2]=857760878;f[a>>2]=1634760805;f[a+44>>2]=b}function Ka(a,b,c){var d=0,e=0,g=0,h=0;g=A-176|0;A=g;e=f[a+4>>2];d=f[a>>2];a:{b:{if((e|0)==(d|0)){T(a+8|0,a+208|0,e>>>3|0);break b}e=e-d|0;if(!d|e>>>0>c>>>0){break a}h=d;d=a+208|0;P(h+d|0,b,e);T(a+8|0,d,f[a+4>>2]>>>3|0);b=b+e|0;c=c-e|0}f[a>>2]=0}c:{if(!(b&7)){d=f[a+4>>2];if(c>>>0<d>>>0){break c}e=a+8|0;while(1){T(e,b,d>>>3|0);d=f[a+4>>2];b=d+b|0;c=c-d|0;if(c>>>0>=d>>>0){continue}break}break c}d=f[a+4>>2];if(c>>>0<d>>>0){break c}e=a+8|0;while(1){T(e,P(g,b,d),d>>>3|0);d=f[a+4>>2];b=d+b|0;c=c-d|0;if(c>>>0>=d>>>0){continue}break}}if(c){P((f[a>>2]+a|0)+208|0,b,c);f[a>>2]=f[a>>2]+c}A=g+176|0}function Za(a,b,c,d,g){a=a|0;b=b|0;c=c|0;d=d|0;g=g|0;var i=0,j=0,k=0,l=0;k=A-224|0;A=k;a:{if(b){i=O(k,0,131);l=h[529]|h[530]<<16;j=h[527]|h[528]<<16;e[i+206>>1]=j;e[i+208>>1]=j>>>16;e[i+210>>1]=l;e[i+212>>1]=l>>>16;j=f[263];f[i+200>>2]=f[262];f[i+204>>2]=j;j=f[261];f[i+192>>2]=f[260];f[i+196>>2]=j;X(a,b,i+192|0,i+144|0);Z(i,i+144|0,i+176|0);f[i+168>>2]=0;f[i+172>>2]=0;f[i+160>>2]=0;f[i+164>>2]=0;f[i+176>>2]=0;f[i+180>>2]=0;f[i+152>>2]=0;f[i+156>>2]=0;f[i+144>>2]=0;f[i+148>>2]=0;Y(d,i,c,g);O(i,0,131);break a}P(d,c,g)}A=k+224|0}function jb(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;d=f&31;if(32<=f>>>0){d=-1>>>d|0}else{e=-1>>>d|0;d=(1<<d)-1<<32-d|-1>>>d}f=d&a;d=b&e;e=g&31;if(32<=g>>>0){d=f<<e;g=0}else{d=(1<<e)-1&f>>>32-e|d<<e;g=f<<e}f=d;e=0-c&63;d=e;c=d&31;if(32<=d>>>0){d=-1<<c;c=0}else{d=(1<<c)-1&-1>>>32-c|-1<<c;c=-1<<c}a=c&a;d=b&d;b=e&31;if(32<=e>>>0){c=0;a=d>>>b|0}else{c=d>>>b|0;a=((1<<b)-1&d)<<32-b|a>>>b}a=a|g;B=c|f;return a}
function R(a){a=O(a,0,144);f[a+200>>2]=327033209;f[a+204>>2]=1541459225;f[a+192>>2]=-79577749;f[a+196>>2]=528734635;f[a+184>>2]=725511199;f[a+188>>2]=-1694144372;f[a+176>>2]=-1377402159;f[a+180>>2]=1359893119;f[a+168>>2]=1595750129;f[a+172>>2]=-1521486534;f[a+160>>2]=-23791573;f[a+164>>2]=1013904242;f[a+152>>2]=-2067093701;f[a+156>>2]=-1150833019;f[a+144>>2]=-205731576;f[a+148>>2]=1779033703}function $(a,b,c){var e=0,h=0,i=0;a:{e=f[a+56>>2];if(e){h=16-e|0;h=h>>>0>c>>>0?c:h;if(h){while(1){d[((e+i|0)+a|0)+60|0]=g[b+i|0];e=f[a+56>>2];i=i+1|0;if((h|0)!=(i|0)){continue}break}}e=e+h|0;f[a+56>>2]=e;if(e>>>0<16){break a}ea(a,a+60|0,16);f[a+56>>2]=0;c=c-h|0;b=b+h|0}if(c>>>0>=16){e=c&-16;ea(a,b,e);c=c&15;b=b+e|0}if(!c){break a}P((f[a+56>>2]+a|0)+60|0,b,c);f[a+56>>2]=f[a+56>>2]+c}}function Wa(a,b,c){a=a|0;b=b|0;c=c|0;var e=0;e=A-384|0;A=e;a:{b:{if(c>>>0>=129){R(a);N(a,b,c);Q(a,e+256|0);c=64;break b}if((e+256|0)!=(b|0)){P(e+256|0,b,c)}if(c>>>0>127){break a}}O((e+256|0)+c|0,0,128-c|0)}c=0;while(1){b=g[(e+256|0)+c|0];d[(e+128|0)+c|0]=b^54;d[c+e|0]=b^92;c=c+1|0;if((c|0)!=128){continue}break}R(a);N(a,e+128|0,128);a=a+208|0;R(a);N(a,e,128);A=e+384|0}function Ya(a,b,c,d,e,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=A+ -64|0;A=j;f[j+56>>2]=0;f[j+60>>2]=0;f[j+48>>2]=0;f[j+52>>2]=0;f[j+40>>2]=0;f[j+44>>2]=0;f[j+32>>2]=0;f[j+36>>2]=0;f[j+24>>2]=0;f[j+28>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j>>2]=0;f[j+4>>2]=0;Ca(j,a);a=Ba(j,b,c,d,e,g,h,i);A=j- -64|0;return a|0}function da(a,b){var c=0,e=0;c=A-192|0;A=c;e=b+80|0;S(c+144|0,e,1);S(c+96|0,c+144|0,2);M(c+48|0,c+96|0,e);M(c+144|0,c+48|0,c+144|0);S(c+96|0,c+144|0,1);M(c+48|0,c+96|0,c+48|0);qa(c+48|0);S(c+48|0,c+48|0,5);M(c,c+48|0,c+144|0);M(c+144|0,b,c);M(c+96|0,b+40|0,c);aa(a,c+96|0);aa(c+48|0,c+144|0);d[a+31|0]=g[a+31|0]^g[c+48|0]<<7;A=c+192|0}function ka(a,b,c,d){var e=0;e=A-112|0;A=e;Aa(e+32|0,a);f[e+8>>2]=0;f[e+12>>2]=0;f[e>>2]=0;f[e+4>>2]=0;$(e+32|0,0,0);$(e+32|0,b,c);a=(c|0)%16|0;if(a){$(e+32|0,e,16-a|0)}f[e+24>>2]=0;f[e+28>>2]=0;$(e+32|0,e+24|0,8);f[e+24>>2]=c;f[e+28>>2]=c>>31;$(e+32|0,e+24|0,8);za(e+32|0,d);A=e+112|0}function qa(a){var b=0;b=A-96|0;A=b;S(b+48|0,a,5);M(a,b+48|0,a);S(b+48|0,a,10);M(b,b+48|0,a);S(b+48|0,b,20);M(b+48|0,b+48|0,b);S(b+48|0,b+48|0,10);M(a,b+48|0,a);S(b+48|0,a,50);M(b,b+48|0,a);S(b+48|0,b,100);M(b+48|0,b+48|0,b);S(b+48|0,b+48|0,50);M(a,b+48|0,a);A=b+96|0}function Ia(a,b){var c=0,e=0;c=f[a>>2];if((c|0)==f[a+4>>2]){T(a+8|0,a+208|0,c>>>3|0);f[a>>2]=0;c=0}f[a>>2]=c+1;e=c;c=a+208|0;d[e+c|0]=6;e=f[a>>2];O(e+c|0,0,f[a+4>>2]-e|0);e=(f[a+4>>2]+c|0)+ -1|0;d[e|0]=g[e|0]|128;T(a+8|0,c,f[a+4>>2]>>>3|0);f[a>>2]=0;Ja(a,b)}function Ca(a,b){f[a>>2]=0;f[a+4>>2]=0;f[a+56>>2]=0;f[a+60>>2]=0;f[a+48>>2]=0;f[a+52>>2]=0;f[a+40>>2]=0;f[a+44>>2]=0;f[a+32>>2]=0;f[a+36>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;Da(a,b)}function gb(a,b,c){var d=0,e=0,f=0,g=0,h=0;e=c>>>16|0;d=a>>>16|0;h=l(e,d);f=c&65535;a=a&65535;g=l(f,a);d=(g>>>16|0)+l(d,f)|0;a=(d&65535)+l(a,e)|0;B=h+l(b,c)+(d>>>16)+(a>>>16)|0;return g&65535|a<<16}function W(a){var b=0,c=0;b=f[7892];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?(c|0)>=1:0){break a}if(a>>>0>C()<<16>>>0){if(!(x(a|0)|0)){break a}}f[7892]=a;return b}f[7764]=48;return-1}function Ma(a,b){var c=0;c=A-208|0;A=c;R(c);N(c,a,32);Q(c,b);d[b|0]=g[b|0]&248;a=g[b+31|0];d[b+31|0]=a&63|64;A=c+208|0;return a>>>5&1}function _a(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=A-208|0;A=d;d=O(d,0,208);f[O(d,0,344)+4>>2]=136;Ka(d,a,b);Ia(d,c);A=d+208|0}function ib(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<<c;c=a;a=0-b&31;return d|(c&-1<<a)>>>a}function ab(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Fa(a,b,c,d,e,f)|0}function ya(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va(c,a,b,d,e,f)}function cb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Pa(c,a,b,d,e,f)}function bb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Sa(a,b,c,d,e,f)}function db(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return eb(a,b,c,d,e)|0}function va(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Qa(a,b,c,d)|0}function $a(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ea(c,d,a,b)|0}function Ta(a,b){a=a|0;b=b|0;Q(a,b);a=a+208|0;N(a,b,64);Q(a,b)}function Z(a,b,c){a=O(a,0,136);d[a+130|0]=20;La(a,b,c)}function Ua(a,b,c){a=a|0;b=b|0;c=c|0;N(a,b,c)}function ta(a,b){a=a|0;b=b|0;ba(a,b)}function hb(a,b,c){return gb(a,b,c)}function ua(a){a=a|0;return u()|0}function Xa(){return 416}function fb(){}
// EMSCRIPTEN_END_FUNCS
c[1]=O;function C(){return buffer.byteLength/65536|0}return{"d":fb,"e":ya,"f":va,"g":ta,"h":db,"i":cb,"j":bb,"k":ab,"l":$a,"m":_a,"n":Za,"o":Ya,"p":Xa,"q":Wa,"r":Ua,"s":Ta,"t":xa,"u":wa,"v":ua}}var D=new Uint8Array(wasmMemory.buffer);for(var E=new Uint8Array(123),F=25;F>=0;--F){E[48+F]=52+F;E[65+F]=F;E[97+F]=26+F}E[43]=62;E[47]=63;function G(uint8Array,offset,b64){var H,I,F=0,J=offset,K=b64.length,L=offset+(K*3>>2)-(b64[K-2]=="=")-(b64[K-1]=="=");for(;F<K;F+=4){H=E[b64.charCodeAt(F+1)];I=E[b64.charCodeAt(F+2)];uint8Array[J++]=E[b64.charCodeAt(F)]<<2|H>>4;if(J<L)uint8Array[J++]=H<<4|I>>2;if(J<L)uint8Array[J++]=I<<6|E[b64.charCodeAt(F+3)]}}G(D,1026,"AgABAAM=");G(D,1040,"ZW5jcnlwdGVkIHdhbGxldCBzYWx0");G(D,1072,"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");G(D,25728,"sKAOAtLJhgGdGI8Af2k1AGAMvQCn1/sBnkyAAmll4QEd/AQAkgyu");G(D,25776,"PpFAA3VBDgCic9YDBYouAHzm9AMJio8ANBrCALj0TACBjykBvvQTAYU7jAG98SQB9yXDAWDcNwC3TD4DwkI9ADJMpAHhpEwBSz2jA3Q+HwBoqnoDYYFEAHnVkwBWZR4BoGebAIxZQwHu5b4BQwu1AMbwiQLtRbwBZdL8ACn6RwDMqk8DDS7vAU9N7wC91ksBEI35ACZQTAG9VXUAVuSqADCX7gATKmwB5FVxATJEhwEQagkAMmcBAU8BqAEjmB4BD6i5AThZ6AGJ2NABw8+kAZVCTAOu4RABjFBiAUzb8gDGonIALtqYAJsr8QKaoGgButZHAOmwYADy7zYBOVmKAFMAVAOHoGQAXI54Amd8vgC1sT4D+SlVADO7pQACEa8AQlSgAfc6HgAjQTUCROy/AC2G9QGje90AIG4UAzMXpQCFgioBYPz2AJeXPwLuhT4AIDicAC2nvQGNhbMBg1bTALuzlgL5qg4BsSEyAqomywFN93QA0d2ZAIWAsgE6LBkAySc7Ab0T/AAx5dIBdbt1AL+jTgAlNJcAY00aAO6c1QHUwNEBSS5UABRBKQE2zk8AyYOSAqlvGAGis7gBAHLbADBekwD1KTgAfQ3MAvOtdwAs3SACU+oUAPmgxgHsfuoBZICdA4BfiAFtfjMAAqm3AQaCYgJEsF4BcwTjAdnykQHJrR8BaQEnAS9jqAKp4pkBZbPYAOKNegF5QpkCtfWGAOPkGQHWOesB1604A7Tn0gAbr0UA5C86AdbgRQLOOEUBD/6LAxbP1AHJFH4DXtVgAQiwIQDIBc8BSEOGAZLA1gErJnAARLhLAc1a+wCV640Atao6AHT07wBcnQIAZq1iAN4qgAIiIcAB9+XEAYEReAD7Z5cDBjRwAYs4QgMn4vUB2EYlAqvWCQHpiWABfzHLAAWblAAXlAkB0noMACKGGgHazIgAhggpAd9TKwJUGfcAk79/AsxOwAENau0Bu9tMAK/zuwJoWa0AVRlZAaLzlAACdtECIJ4JAG1/AAKoiDAA7nfbA+at1QDOEv4CB7oHAX0JBwFvKkgAbzTsAl8/jQB4oy4DXEYoAGwqjgJu/I4Bmt+QADPlpwFI/JsDXXQMAZeg2gOb7iUBC8+MApFh8wCBwBoCyFQhAW4KTgOSUbIBAwQYAKHu1wEFjSEANdcOAaDqzwPEALMBmaSNAOHEaAAKIxkC0NTyAWD93gK3ZeUA3hJ/AaSIhwEWtdAD5oudALPL3QP+uXEAveKsA3BC1gHJPi0DZUAIAU2uEAKEdUQBh94gABGS4QACgbYBl6y1AMBzKAIlLZQBlBMnAT8HAgGCJP4C+Z/GAYGdDgHlu50BWPKJALgGbgCDGJUCSBKPATcymwFTdbwAhdtNAmTJtAFUyMgBKa5gAI5tQAH58s8BUfTPAAyNdwFBjKwDWS5VAe5ZZQMSGx0BRxF0ABmyUQGQJgkB5nfoALvW9AEyo3IAAzvNAfLf2gBe25cAjVmGACuaxgEbz94BbvrCAk98OwHI6nsDtRY6Adp7jgKs6PYB6U/jAUdpcgFnDvEB3nM8AKJ+KwLCMg8Banf/A3ciFACIi9MBOGF3ACIIxgNAESABddE2Ao50CABtR8YD3Ew/ASrQ7gJHioMAEHIuA7PLiwHkjYUAJnjcAcd/owALtCcBhHiVAa0wHQGDZoECIw5uAeRrtwAVsS0BBmVRAmLOVAHfHkUAnnS9AEJzmQNMLMwBdWnrAAiVpQHPFqUD7yjCAFr/aAFHe2kBWXNSAFYxeAFc168D3FbOAHC55ADpqxwAbQ+eAgyFiAH9/jUBgG0GAIMOFQK/ikQBMgK7AlnyKwFogjwDIB5xAI8U/ANwDl4A+Yt9AeKyEgGDSxMCFwUaAMzDggGCIXkAmdcTA9c+GgB+VEQDDUryAdJq3gMnMVQAaKjcACePYQAJF1oBisPdABP9IAONFjYABqtxA8c/eAFf4JEDXZviATgRRwFCpfwAzzHKAK17ygG8v3UBrQinARLivAMVQiQBmbt1AGitrAF2uaAD0RLcARerGgG6oKsAzQaYApD1QgHq2I8BRRWgAVWtxAP/cckBwJjQAMf9CgAw0mwA82onAbIF+QNMmQIBpLguAOv7XAFfhV8CGFUzAbKZzwF0xZkAiJymARAViABUS80BnxASAcW9igB6ZHQAH8t3AiQz5QFTUKwCsAmxAV4JSwKzl2kBtmvyAiEQMQCFeBkAWqXQAcj8tgPVIMABNEpYAuDu5wADeiUDo5UeAZGtHgECYlMAJM6xAMYWhQBtnWYDqKROAAE/dwDOyRkAcWGfAd6v1AEjM+MCtimtAdzR6gKlUe0B0BqFAfq9GwDlfVcAMMfdAFKZiwOugfIAkAPVAXHgAgDsgAcAjUQNAa+i+AG3pfAAQSUfA65L0wCd/yMDbQU6AENU4gIFraEA6L7RAI5/LwB3dAADsSQqABOnFAF2fkUB1VUiA39kzAHvvaQCMNdTAc+LEQD/VfcAx5A0AU5n6gHoo70CDUm7AOqR8gBAvwoAIaPeAeCcLwCTsbIAtVT6AC8wKAGLnaEAvfUuAvOKYwGKb4wDPTqjAbJhkgO4ibsBnc8LAalCzwAXbz0CyhvaASVb4wBPgg0Az+lSAV2T7QBghAsCP7jHAeVpyQCYQacB2alGAGjHywBqfFkBm6lEAVF1pQCcJhgATEY8AiKwCQDhOe4A8scUAdKaigMXTFgB1cCwAzkKswDkbIoDOtjeAaZ3wgFhCgEB69NGA16ZjQF8xfICaygMANGukgB74yUBAaJ8AmtrGgBVDykDSLpHAGyRjQFikKUB1DU+AbGrAgCq0joAwNx9AHYPwQALWQEApvwsAD7SDgApQ+4ABA+QAGVAwgFw+oIAYF4CArgSOQAcBCcD5V5+AezswAIcDVoBfM6xAgsiYgB+BkUBMdmlAaZzlgAJ9uEAKnySADeqbwHwDmUBtWNvAeFAzQOPwzsArPBhA8wq1AE3EPgC6KCMANEjfgH+6x0BaLu8AWMlLgDWregD5RYIAHVw+wOs5VMBzR6xAoXxawHvIo8Au9LnAC7ZJQKF5+wAc4hQAPUWfgFd6PsBDprjAXmSZgEKgXwB9UFJAuvrIwCIdusA8WBXAEZBygLnzXMAdbtSAKf/9QBrhbgDzX3LAAZO8QLQIBgAdUHXASKe5QBQpfsDQUZIAIgANQOjycMBVfPcABxIBAFk5CIA5z/3ASUz4ACYtlIBmnbvAmM2lwCMmwMAWzkBAUdfgAHsYJEB0CyDA+sGiwAX19QDBrBMAI9bpwMwPTsBiK3PAdE08AGKM3gA49LHASMrvAIFP4sBqtmAAkQ9XwBaqSACl+vuAOyqYgNRXYMAQ/W5AU2sPwGuk60CZPSOAffNEgKpixMBq4MVASY9nAG0kIcCtuLiAFi3OwPx2/AB0UtzA+WxKQEOlbMCIsk7AMg+pQEyVYwB7jxvAHk8rgBd+VEDN6cSALiW1QP+WHYBSuWsANpmiwCZxTYAomMqAaHrLAOsaxIAfv7cAxhPnwHuGsgBK7xEAGVxggATfE8B8DC0A8yWvwBijQwClxlHATF5/AHdQh8ASnW6ADnTWwBJvj8AMDlrAZwVKgGwg58AZw9TA4V75QGBvewClMKWAKnk/AGlAXcBfQR1ATFK7gDlhiYB1PyOAFTcSQNvRrMBo5wXAhRk2AHQr/ADZFkwACh0XAEecZkAQlRdARQQxwAuC7QBz4PUAYbDrwFZSJgB/wNiA6jGRQCqqCAAqguZABA/MQPe7nwA5Cl0As4GeAGhV5MD9PhCAbanlAL0zOoAs+1ZAm4eMQFvMk0ARsMwATzvzAGyJMQBjJFkA8CPFAB7imMBW/2hARPQigKk5YEAM0+lAQHhdAFXAj0AbIU6AM8dBQAdK/YArdBDAb2tQgCQ2g8A6zx0AeTlcwFJx3sBehO3A5bOBQGKIfkAfIxbAfgC4QDi11gBuKVpAXbxsgB6NIsB8v5MAeOkFAKVFX8B5XptAHHDlQFt4pEDxqdiAKtCPwCGrQ0BmIFPAiorVAFUxBQAccSJAY6YkAOdebgAEknkAubieABUVgcA7T6SAXLNQAB2fKMAZtQJAB1TyABwF2UCAZ1gAGXChgI8UTQBgZLuADwiXQAMdlwDNptnALjscwBQqm8B5JvIAkTCbwGDjPMCcuuLASzOswJlsJcAewFPA3+V3QFhjxQAV7PqAPjSQwP8mDMAjjYeAR8qeADqngEAb3sRANHQKAG75qUBG0+UAeFBKwEBgzEDMM2OAbHQBAGLOTgAAWdyA4yonQFply0AgaanACiQHQMy/OsAXkAgAs76cQH4MNkCam1/AUeMOwL51SkBViSXAiSlowDSTG8A+jlEAAU1xQD9wpABRHJQAPkwmQBwkqMBxifTAUe8mQM94c8Bmb0yA30+swDk9QMCtSc2APiKAQCBhUcBGCJKALc7LgDQhJMDYupGAZOWCwJfFRcAb37JA0eMcwAf27UDz4+AAZj86AHdJe0BRVC/AStc6wCY/ngBMFW4AbAOwgEi7K4B7p4LA37QtwFv4YcB+yFEATGnnwDXtkAAYRiEALx/ogC/mtYCv81YAOz5KQGuGTwBk1tsAud/OgG6sksAbyJjAMqVKgDZ76sBwdL1AhiDNwC1T3MDc4AlAfbwYwLgcK0BBm21Ab2PGAEDlRsB4dI2AMyoEwE+HFQBvCusAmdY2QFZdPQBidTqAEhbqwBFO9sBAbjtAE8CSwAPGbgAwuQfAYIfYgDXCAUBdloaAP3XxwBtuaoD3NmcATVmnAEeqs4A8lwIAa9H/QHh9eMDmT5LAGrU4wE8A2AAqPBfAdjNUAEhjp4CvPGMALFsFQA/Yj0AafCkAVPQ2ADqirYBtlrKAUOuFgNE3DQBWI0cAEOzhACBxxgDH0Q1AV4apQP0k5IBN7tIAEEzPQEeFUMB4XScARQZkQDe3XYAb8JrAF+O1AC+eyIAqJ5iAItf6gEwo3kBXx16Ao6PvwEqbtICXrbGALYacAF32lEAZ7a0AXzOoAB744oDUsgqAf6woAO7wpcA0hegACqL6wFiuSABQvsFAP22UwPO+GEAYxR6AGQKVgGSp+AAknyQASJmOgHxR3sAWfGyAgnlpgF63SoCHRTUAFKAAwAw0fMAd3lAAzHjnAH/bcUBZxuQAGl0ZXJhdGlvbnMAdmVuZG9yL2NiaXRzL2NyeXB0b25pdGVfY2JpdHMvY3J5cHRvbml0ZV9wYmtkZjIuYwBvdXQgJiYgbm91dABwYmtkZjJfc2hhNTEyAAAirijXmC+KQs1l7yORRDdxLztN7M/7wLW824mBpdu16Ti1SPNbwlY5GdAFtvER8VmbTxmvpII/khiBbdrVXhyrQgIDo5iqB9i+b3BFAVuDEoyy5E6+hTEk4rT/1cN9DFVviXvydF2+crGWFjv+sd6ANRLHJacG3JuUJmnPdPGbwdJK8Z7BaZvk4yVPOIZHvu+11YyLxp3BD2WcrHfMoQwkdQIrWW8s6S2D5KZuqoR0StT7Qb3cqbBctVMRg9qI+Xar32buUlE+mBAytC1txjGoPyH7mMgnA7DkDu++x39Zv8KPqD3zC+DGJacKk0eRp9VvggPgUWPKBnBuDgpnKSkU/C/SRoUKtycmySZcOCEbLu0qxFr8bSxN37OVnRMNOFPeY6+LVHMKZaiydzy7Cmp25q7tRy7JwoE7NYIUhSxykmQD8Uyh6L+iATBCvEtmGqiRl/jQcItLwjC+VAajUWzHGFLv1hnoktEQqWVVJAaZ1iogcVeFNQ70uNG7MnCgahDI0NK4FsGkGVOrQVEIbDcemeuO30x3SCeoSJvhtbywNGNaycWzDBw5y4pB40qq2E5z42N3T8qcW6O4stbzby5o/LLvXe6Cj3RgLxdDb2OleHKr8KEUeMiE7DlkGggCx4woHmMj+v++kOm9gt7rbFCkFXnGsvej+b4rU3Lj8nhxxpxhJurOPifKB8LAIce4htEe6+DN1n3a6njRbu5/T331um8Xcqpn8AammMiixX1jCq4N+b4EmD8RG0ccEzULcRuEfQQj9XfbKJMkx0B7q8oyvL7JFQq+njxMDRCcxGcdQ7ZCPsu+1MVMKn5l/Jwpf1ns+tY6q2/LXxdYR0qMGURsCgAAAAcAAAALAAAAEQAAABIAAAADAAAABQAAABAAAAAIAAAAFQAAABgAAAAEAAAADwAAABcAAAATAAAADQAAAAwAAAACAAAAFAAAAA4AAAAWAAAACQAAAAYAAAABAAAAAQAAAAMAAAAGAAAACgAAAA8AAAAVAAAAHAAAACQAAAAtAAAANwAAAAIAAAAOAAAAGwAAACkAAAA4AAAACAAAABkAAAArAAAAPgAAABIAAAAnAAAAPQAAABQAAAAsAAAAAQAAAAAAAACCgAAAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAAAAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAIACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiAAIAAAACACMm882fmCWo7p8qEha5nuyv4lP5y82488TYdXzr1T6XRguatf1IOUR9sPiuMaAWba71B+6vZgx95IX4TGc3gWwEAAABrZXlfbGVuID09IDEyOCB8fCBrZXlfbGVuID09IDI1NgB2ZW5kb3IvY2JpdHMvY2hhY2hhcG9seS9jaGFjaGFwb2x5LmMAY2hhY2hhcG9seV9pbml0");G(D,30928,"gA==");return b({"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"Math":Math},asmLibraryArg,wasmMemory.buffer)}
// EMSCRIPTEN_END_ASM
)(asmLibraryArg,wasmMemory,wasmTable)},instantiate:function(binary,info){return{then:function(ok){var module=new WebAssembly.Module(binary);ok({"instance":new WebAssembly.Instance(module)})}}},RuntimeError:Error};wasmBinary=[];if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":2,"maximum":2,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5274608,DYNAMICTOP_PTR=31568;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);throw e}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="lib.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(wasmBinaryFile);if(binary){return binary}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return Promise.resolve().then(getBinary)}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}__ATINIT__.push({func:function(){___wasm_call_ctors()}});function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf["buffer"],buf["byteOffset"],buf["byteLength"])}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={"c":___assert_fail,"b":_emscripten_memcpy_big,"a":_emscripten_resize_heap,"memory":wasmMemory,"table":wasmTable};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["d"]).apply(null,arguments)};var _emscripten_sign=Module["_emscripten_sign"]=function(){return(_emscripten_sign=Module["_emscripten_sign"]=Module["asm"]["e"]).apply(null,arguments)};var _emscripten_verify=Module["_emscripten_verify"]=function(){return(_emscripten_verify=Module["_emscripten_verify"]=Module["asm"]["f"]).apply(null,arguments)};var _emscripten_to_public=Module["_emscripten_to_public"]=function(){return(_emscripten_to_public=Module["_emscripten_to_public"]=Module["asm"]["g"]).apply(null,arguments)};var _emscripten_wallet_secret_from_seed=Module["_emscripten_wallet_secret_from_seed"]=function(){return(_emscripten_wallet_secret_from_seed=Module["_emscripten_wallet_secret_from_seed"]=Module["asm"]["h"]).apply(null,arguments)};var _emscripten_derive_private=Module["_emscripten_derive_private"]=function(){return(_emscripten_derive_private=Module["_emscripten_derive_private"]=Module["asm"]["i"]).apply(null,arguments)};var _emscripten_wallet_change_pass=Module["_emscripten_wallet_change_pass"]=function(){return(_emscripten_wallet_change_pass=Module["_emscripten_wallet_change_pass"]=Module["asm"]["j"]).apply(null,arguments)};var _emscripten_derive_public=Module["_emscripten_derive_public"]=function(){return(_emscripten_derive_public=Module["_emscripten_derive_public"]=Module["asm"]["k"]).apply(null,arguments)};var _emscripten_blake2b=Module["_emscripten_blake2b"]=function(){return(_emscripten_blake2b=Module["_emscripten_blake2b"]=Module["asm"]["l"]).apply(null,arguments)};var _emscripten_sha3_256=Module["_emscripten_sha3_256"]=function(){return(_emscripten_sha3_256=Module["_emscripten_sha3_256"]=Module["asm"]["m"]).apply(null,arguments)};var _emscripten_cardano_memory_combine=Module["_emscripten_cardano_memory_combine"]=function(){return(_emscripten_cardano_memory_combine=Module["_emscripten_cardano_memory_combine"]=Module["asm"]["n"]).apply(null,arguments)};var _emscripten_chacha20poly1305_enc=Module["_emscripten_chacha20poly1305_enc"]=function(){return(_emscripten_chacha20poly1305_enc=Module["_emscripten_chacha20poly1305_enc"]=Module["asm"]["o"]).apply(null,arguments)};var _emscripten_size_of_hmac_sha512_ctx=Module["_emscripten_size_of_hmac_sha512_ctx"]=function(){return(_emscripten_size_of_hmac_sha512_ctx=Module["_emscripten_size_of_hmac_sha512_ctx"]=Module["asm"]["p"]).apply(null,arguments)};var _emscripten_hmac_sha512_init=Module["_emscripten_hmac_sha512_init"]=function(){return(_emscripten_hmac_sha512_init=Module["_emscripten_hmac_sha512_init"]=Module["asm"]["q"]).apply(null,arguments)};var _emscripten_hmac_sha512_update=Module["_emscripten_hmac_sha512_update"]=function(){return(_emscripten_hmac_sha512_update=Module["_emscripten_hmac_sha512_update"]=Module["asm"]["r"]).apply(null,arguments)};var _emscripten_hmac_sha512_final=Module["_emscripten_hmac_sha512_final"]=function(){return(_emscripten_hmac_sha512_final=Module["_emscripten_hmac_sha512_final"]=Module["asm"]["s"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["t"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["u"]).apply(null,arguments)};var __growWasmMemory=Module["__growWasmMemory"]=function(){return(__growWasmMemory=Module["__growWasmMemory"]=Module["asm"]["v"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run();
if (typeof module !== "undefined") { module["exports"] = Module; }
}).call(this,require('_process'),require("buffer").Buffer,"/")
},{"_process":46,"buffer":37,"fs":34,"path":44}],7:[function(require,module,exports){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// browserify by default only pulls in files that are hard coded in requires
// In order of last to first in this file, the default wordlist will be chosen
// based on what is present. (Bundles may remove wordlists they don't need)
const wordlists = {};
exports.wordlists = wordlists;
let _default;
exports._default = _default;
try {
exports._default = _default = require('./wordlists/chinese_simplified.json');
wordlists.chinese_simplified = _default;
}
catch (err) { }
try {
exports._default = _default = require('./wordlists/chinese_traditional.json');
wordlists.chinese_traditional = _default;
}
catch (err) { }
try {
exports._default = _default = require('./wordlists/korean.json');
wordlists.korean = _default;
}
catch (err) { }
try {
exports._default = _default = require('./wordlists/french.json');
wordlists.french = _default;
}
catch (err) { }
try {
exports._default = _default = require('./wordlists/italian.json');
wordlists.italian = _default;
}
catch (err) { }
try {
exports._default = _default = require('./wordlists/spanish.json');
wordlists.spanish = _default;
}
catch (err) { }
try {
exports._default = _default = require('./wordlists/japanese.json');
wordlists.japanese = _default;
wordlists.JA = _default;
}
catch (err) { }
try {
exports._default = _default = require('./wordlists/english.json');
wordlists.english = _default;
wordlists.EN = _default;
}
catch (err) { }
},{"./wordlists/chinese_simplified.json":undefined,"./wordlists/chinese_traditional.json":undefined,"./wordlists/english.json":9,"./wordlists/french.json":undefined,"./wordlists/italian.json":undefined,"./wordlists/japanese.json":undefined,"./wordlists/korean.json":undefined,"./wordlists/spanish.json":undefined}],8:[function(require,module,exports){
(function (Buffer){
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const createHash = require("create-hash");
const pbkdf2_1 = require("pbkdf2");
const randomBytes = require("randombytes");
const _wordlists_1 = require("./_wordlists");
let DEFAULT_WORDLIST = _wordlists_1._default;
const INVALID_MNEMONIC = 'Invalid mnemonic';
const INVALID_ENTROPY = 'Invalid entropy';
const INVALID_CHECKSUM = 'Invalid mnemonic checksum';
const WORDLIST_REQUIRED = 'A wordlist is required but a default could not be found.\n' +
'Please explicitly pass a 2048 word array explicitly.';
function lpad(str, padString, length) {
while (str.length < length)
str = padString + str;
return str;
}
function binaryToByte(bin) {
return parseInt(bin, 2);
}
function bytesToBinary(bytes) {
return bytes.map(x => lpad(x.toString(2), '0', 8)).join('');
}
function deriveChecksumBits(entropyBuffer) {
const ENT = entropyBuffer.length * 8;
const CS = ENT / 32;
const hash = createHash('sha256')
.update(entropyBuffer)
.digest();
return bytesToBinary([...hash]).slice(0, CS);
}
function salt(password) {
return 'mnemonic' + (password || '');
}
function mnemonicToSeedSync(mnemonic, password) {
const mnemonicBuffer = Buffer.from((mnemonic || '').normalize('NFKD'), 'utf8');
const saltBuffer = Buffer.from(salt((password || '').normalize('NFKD')), 'utf8');
return pbkdf2_1.pbkdf2Sync(mnemonicBuffer, saltBuffer, 2048, 64, 'sha512');
}
exports.mnemonicToSeedSync = mnemonicToSeedSync;
function mnemonicToSeed(mnemonic, password) {
return new Promise((resolve, reject) => {
try {
const mnemonicBuffer = Buffer.from((mnemonic || '').normalize('NFKD'), 'utf8');
const saltBuffer = Buffer.from(salt((password || '').normalize('NFKD')), 'utf8');
pbkdf2_1.pbkdf2(mnemonicBuffer, saltBuffer, 2048, 64, 'sha512', (err, data) => {
if (err)
return reject(err);
else
return resolve(data);
});
}
catch (error) {
return reject(error);
}
});
}
exports.mnemonicToSeed = mnemonicToSeed;
function mnemonicToEntropy(mnemonic, wordlist) {
wordlist = wordlist || DEFAULT_WORDLIST;
if (!wordlist) {
throw new Error(WORDLIST_REQUIRED);
}
const words = (mnemonic || '').normalize('NFKD').split(' ');
if (words.length % 3 !== 0)
throw new Error(INVALID_MNEMONIC);
// convert word indices to 11 bit binary strings
const bits = words
.map(word => {
const index = wordlist.indexOf(word);
if (index === -1)
throw new Error(INVALID_MNEMONIC);
return lpad(index.toString(2), '0', 11);
})
.join('');
// split the binary string into ENT/CS
const dividerIndex = Math.floor(bits.length / 33) * 32;
const entropyBits = bits.slice(0, dividerIndex);
const checksumBits = bits.slice(dividerIndex);
// calculate the checksum and compare
const entropyBytes = entropyBits.match(/(.{1,8})/g).map(binaryToByte);
if (entropyBytes.length < 16)
throw new Error(INVALID_ENTROPY);
if (entropyBytes.length > 32)
throw new Error(INVALID_ENTROPY);
if (entropyBytes.length % 4 !== 0)
throw new Error(INVALID_ENTROPY);
const entropy = Buffer.from(entropyBytes);
const newChecksum = deriveChecksumBits(entropy);
if (newChecksum !== checksumBits)
throw new Error(INVALID_CHECKSUM);
return entropy.toString('hex');
}
exports.mnemonicToEntropy = mnemonicToEntropy;
function entropyToMnemonic(entropy, wordlist) {
if (!Buffer.isBuffer(entropy))
entropy = Buffer.from(entropy, 'hex');
wordlist = wordlist || DEFAULT_WORDLIST;
if (!wordlist) {
throw new Error(WORDLIST_REQUIRED);
}
// 128 <= ENT <= 256
if (entropy.length < 16)
throw new TypeError(INVALID_ENTROPY);
if (entropy.length > 32)
throw new TypeError(INVALID_ENTROPY);
if (entropy.length % 4 !== 0)
throw new TypeError(INVALID_ENTROPY);
const entropyBits = bytesToBinary([...entropy]);
const checksumBits = deriveChecksumBits(entropy);
const bits = entropyBits + checksumBits;
const chunks = bits.match(/(.{1,11})/g);
const words = chunks.map(binary => {
const index = binaryToByte(binary);
return wordlist[index];
});
return wordlist[0] === '\u3042\u3044\u3053\u304f\u3057\u3093' // Japanese wordlist
? words.join('\u3000')
: words.join(' ');
}
exports.entropyToMnemonic = entropyToMnemonic;
function generateMnemonic(strength, rng, wordlist) {
strength = strength || 128;
if (strength % 32 !== 0)
throw new TypeError(INVALID_ENTROPY);
rng = rng || randomBytes;
return entropyToMnemonic(rng(strength / 8), wordlist);
}
exports.generateMnemonic = generateMnemonic;
function validateMnemonic(mnemonic, wordlist) {
try {
mnemonicToEntropy(mnemonic, wordlist);
}
catch (e) {
return false;
}
return true;
}
exports.validateMnemonic = validateMnemonic;
function setDefaultWordlist(language) {
const result = _wordlists_1.wordlists[language];
if (result)
DEFAULT_WORDLIST = result;
else
throw new Error('Could not find wordlist for language "' + language + '"');
}
exports.setDefaultWordlist = setDefaultWordlist;
function getDefaultWordlist() {
if (!DEFAULT_WORDLIST)
throw new Error('No Default Wordlist set');
return Object.keys(_wordlists_1.wordlists).filter(lang => {
if (lang === 'JA' || lang === 'EN')
return false;
return _wordlists_1.wordlists[lang].every((word, index) => word === DEFAULT_WORDLIST[index]);
})[0];
}
exports.getDefaultWordlist = getDefaultWordlist;
var _wordlists_2 = require("./_wordlists");
exports.wordlists = _wordlists_2.wordlists;
}).call(this,require("buffer").Buffer)
},{"./_wordlists":7,"buffer":37,"create-hash":11,"pbkdf2":16,"randombytes":21}],9:[function(require,module,exports){
module.exports=[
"abandon",
"ability",
"able",
"about",
"above",
"absent",
"absorb",
"abstract",
"absurd",
"abuse",
"access",
"accident",
"account",
"accuse",
"achieve",
"acid",
"acoustic",
"acquire",
"across",
"act",
"action",
"actor",
"actress",
"actual",
"adapt",
"add",
"addict",
"address",
"adjust",
"admit",
"adult",
"advance",
"advice",
"aerobic",
"affair",
"afford",
"afraid",
"again",
"age",
"agent",
"agree",
"ahead",
"aim",
"air",
"airport",
"aisle",
"alarm",
"album",
"alcohol",
"alert",
"alien",
"all",
"alley",
"allow",
"almost",
"alone",
"alpha",
"already",
"also",
"alter",
"always",
"amateur",
"amazing",
"among",
"amount",
"amused",
"analyst",
"anchor",
"ancient",
"anger",
"angle",
"angry",
"animal",
"ankle",
"announce",
"annual",
"another",
"answer",
"antenna",
"antique",
"anxiety",
"any",
"apart",
"apology",
"appear",
"apple",
"approve",
"april",
"arch",
"arctic",
"area",
"arena",
"argue",
"arm",
"armed",
"armor",
"army",
"around",
"arrange",
"arrest",
"arrive",
"arrow",
"art",
"artefact",
"artist",
"artwork",
"ask",
"aspect",
"assault",
"asset",
"assist",
"assume",
"asthma",
"athlete",