-
Notifications
You must be signed in to change notification settings - Fork 20
/
crypto-symmetric-algorithm-aes-tables.ads
985 lines (960 loc) · 51.4 KB
/
crypto-symmetric-algorithm-aes-tables.ads
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
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-- 02111-1307, USA.
-- As a special exception, if other files instantiate generics from
-- this unit, or you link this unit with other files to produce an
-- executable, this unit does not by itself cause the resulting
-- executable to be covered by the GNU General Public License. This
-- exception does not however invalidate any other reasons why the
-- executable file might be covered by the GNU Public License.
private package Crypto.Symmetric.Algorithm.AES.Tables is
type Byte_Log is mod 255;
for Byte_Log'Size use 8;
Logtable : constant array (Byte) of Byte_Log := (
0, 0, 25, 1, 50, 2, 26, 198, 75, 199, 27, 104, 51, 238, 223, 3,
100, 4, 224, 14, 52, 141, 129, 239, 76, 113, 8, 200, 248, 105, 28, 193,
125, 194, 29, 181, 249, 185, 39, 106, 77, 228, 166, 114, 154, 201, 9, 120,
101, 47, 138, 5, 33, 15, 225, 36, 18, 240, 130, 69, 53, 147, 218, 142,
150, 143, 219, 189, 54, 208, 206, 148, 19, 92, 210, 241, 64, 70, 131, 56,
102, 221, 253, 48, 191, 6, 139, 98, 179, 37, 226, 152, 34, 136, 145, 16,
126, 110, 72, 195, 163, 182, 30, 66, 58, 107, 40, 84, 250, 133, 61, 186,
43, 121, 10, 21, 155, 159, 94, 202, 78, 212, 172, 229, 243, 115, 167, 87,
175, 88, 168, 80, 244, 234, 214, 116, 79, 174, 233, 213, 231, 230, 173, 232,
44, 215, 117, 122, 235, 22, 11, 245, 89, 203, 95, 176, 156, 169, 81, 160,
127, 12, 246, 111, 23, 196, 73, 236, 216, 67, 31, 45, 164, 118, 123, 183,
204, 187, 62, 90, 251, 96, 177, 134, 59, 82, 161, 108, 170, 85, 41, 157,
151, 178, 135, 144, 97, 190, 220, 252, 188, 149, 207, 205, 55, 63, 91, 209,
83, 57, 132, 60, 65, 162, 109, 71, 20, 42, 158, 93, 86, 242, 211, 171,
68, 17, 146, 217, 35, 32, 46, 137, 180, 124, 184, 38, 119, 153, 227, 165,
103, 74, 237, 222, 197, 49, 254, 24, 13, 99, 140, 128, 192, 247, 112, 7
);
Alogtable : constant array (Byte_Log) of Byte := (
1, 3, 5, 15, 17, 51, 85, 255, 26, 46, 114, 150, 161, 248, 19, 53,
95, 225, 56, 72, 216, 115, 149, 164, 247, 2, 6, 10, 30, 34, 102, 170,
229, 52, 92, 228, 55, 89, 235, 38, 106, 190, 217, 112, 144, 171, 230, 49,
83, 245, 4, 12, 20, 60, 68, 204, 79, 209, 104, 184, 211, 110, 178, 205,
76, 212, 103, 169, 224, 59, 77, 215, 98, 166, 241, 8, 24, 40, 120, 136,
131, 158, 185, 208, 107, 189, 220, 127, 129, 152, 179, 206, 73, 219, 118, 154,
181, 196, 87, 249, 16, 48, 80, 240, 11, 29, 39, 105, 187, 214, 97, 163,
254, 25, 43, 125, 135, 146, 173, 236, 47, 113, 147, 174, 233, 32, 96, 160,
251, 22, 58, 78, 210, 109, 183, 194, 93, 231, 50, 86, 250, 21, 63, 65,
195, 94, 226, 61, 71, 201, 64, 192, 91, 237, 44, 116, 156, 191, 218, 117,
159, 186, 213, 100, 172, 239, 42, 126, 130, 157, 188, 223, 122, 142, 137, 128,
155, 182, 193, 88, 232, 35, 101, 175, 234, 37, 111, 177, 200, 67, 197, 84,
252, 31, 33, 99, 165, 244, 7, 9, 27, 45, 119, 153, 176, 203, 70, 202,
69, 207, 74, 222, 121, 139, 134, 145, 168, 227, 62, 66, 198, 81, 243, 14,
18, 54, 90, 238, 41, 123, 141, 140, 143, 138, 133, 148, 167, 242, 13, 23,
57, 75, 221, 124, 132, 151, 162, 253, 28, 36, 108, 180, 199, 82, 246--, 1
);
S : constant array (Byte) of Byte := (
99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118,
202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192,
183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21,
4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117,
9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132,
83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207,
208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168,
81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210,
205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115,
96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219,
224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121,
231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8,
186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138,
112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158,
225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223,
140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22
);
Si : constant array (Byte) of Byte := (
82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251,
124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203,
84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78,
8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37,
114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146,
108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132,
144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6,
208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107,
58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115,
150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110,
71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27,
252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244,
31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95,
96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239,
160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97,
23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125
);
T1 : constant array (Byte) of Word := (
16#C66363a5#, 16#F87c7c84#, 16#Ee777799#, 16#F67b7b8d#,
16#FfF2F20d#, 16#D66b6bBd#, 16#De6f6fB1#, 16#91C5C554#,
16#60303050#, 16#02010103#, 16#Ce6767A9#, 16#562b2b7d#,
16#E7FeFe19#, 16#B5D7D762#, 16#4dAbAbE6#, 16#Ec76769a#,
16#8fCaCa45#, 16#1f82829d#, 16#89C9C940#, 16#Fa7d7d87#,
16#EfFaFa15#, 16#B25959Eb#, 16#8e4747C9#, 16#FbF0F00b#,
16#41AdAdEc#, 16#B3D4D467#, 16#5fA2A2Fd#, 16#45AfAfEa#,
16#239c9cBf#, 16#53A4A4F7#, 16#E4727296#, 16#9bC0C05b#,
16#75B7B7C2#, 16#E1FdFd1c#, 16#3d9393Ae#, 16#4c26266a#,
16#6c36365a#, 16#7e3f3f41#, 16#F5F7F702#, 16#83CcCc4f#,
16#6834345c#, 16#51A5A5F4#, 16#D1E5E534#, 16#F9F1F108#,
16#E2717193#, 16#AbD8D873#, 16#62313153#, 16#2a15153f#,
16#0804040c#, 16#95C7C752#, 16#46232365#, 16#9dC3C35e#,
16#30181828#, 16#379696A1#, 16#0a05050f#, 16#2f9a9aB5#,
16#0e070709#, 16#24121236#, 16#1b80809b#, 16#DfE2E23d#,
16#CdEbEb26#, 16#4e272769#, 16#7fB2B2Cd#, 16#Ea75759f#,
16#1209091b#, 16#1d83839e#, 16#582c2c74#, 16#341a1a2e#,
16#361b1b2d#, 16#Dc6e6eB2#, 16#B45a5aEe#, 16#5bA0A0Fb#,
16#A45252F6#, 16#763b3b4d#, 16#B7D6D661#, 16#7dB3B3Ce#,
16#5229297b#, 16#DdE3E33e#, 16#5e2f2f71#, 16#13848497#,
16#A65353F5#, 16#B9D1D168#, 16#00000000#, 16#C1EdEd2c#,
16#40202060#, 16#E3FcFc1f#, 16#79B1B1C8#, 16#B65b5bEd#,
16#D46a6aBe#, 16#8dCbCb46#, 16#67BeBeD9#, 16#7239394b#,
16#944a4aDe#, 16#984c4cD4#, 16#B05858E8#, 16#85CfCf4a#,
16#BbD0D06b#, 16#C5EfEf2a#, 16#4fAaAaE5#, 16#EdFbFb16#,
16#864343C5#, 16#9a4d4dD7#, 16#66333355#, 16#11858594#,
16#8a4545Cf#, 16#E9F9F910#, 16#04020206#, 16#Fe7f7f81#,
16#A05050F0#, 16#783c3c44#, 16#259f9fBa#, 16#4bA8A8E3#,
16#A25151F3#, 16#5dA3A3Fe#, 16#804040C0#, 16#058f8f8a#,
16#3f9292Ad#, 16#219d9dBc#, 16#70383848#, 16#F1F5F504#,
16#63BcBcDf#, 16#77B6B6C1#, 16#AfDaDa75#, 16#42212163#,
16#20101030#, 16#E5FfFf1a#, 16#FdF3F30e#, 16#BfD2D26d#,
16#81CdCd4c#, 16#180c0c14#, 16#26131335#, 16#C3EcEc2f#,
16#Be5f5fE1#, 16#359797A2#, 16#884444Cc#, 16#2e171739#,
16#93C4C457#, 16#55A7A7F2#, 16#Fc7e7e82#, 16#7a3d3d47#,
16#C86464Ac#, 16#Ba5d5dE7#, 16#3219192b#, 16#E6737395#,
16#C06060A0#, 16#19818198#, 16#9e4f4fD1#, 16#A3DcDc7f#,
16#44222266#, 16#542a2a7e#, 16#3b9090Ab#, 16#0b888883#,
16#8c4646Ca#, 16#C7EeEe29#, 16#6bB8B8D3#, 16#2814143c#,
16#A7DeDe79#, 16#Bc5e5eE2#, 16#160b0b1d#, 16#AdDbDb76#,
16#DbE0E03b#, 16#64323256#, 16#743a3a4e#, 16#140a0a1e#,
16#924949Db#, 16#0c06060a#, 16#4824246c#, 16#B85c5cE4#,
16#9fC2C25d#, 16#BdD3D36e#, 16#43AcAcEf#, 16#C46262A6#,
16#399191A8#, 16#319595A4#, 16#D3E4E437#, 16#F279798b#,
16#D5E7E732#, 16#8bC8C843#, 16#6e373759#, 16#Da6d6dB7#,
16#018d8d8c#, 16#B1D5D564#, 16#9c4e4eD2#, 16#49A9A9E0#,
16#D86c6cB4#, 16#Ac5656Fa#, 16#F3F4F407#, 16#CfEaEa25#,
16#Ca6565Af#, 16#F47a7a8e#, 16#47AeAeE9#, 16#10080818#,
16#6fBaBaD5#, 16#F0787888#, 16#4a25256f#, 16#5c2e2e72#,
16#381c1c24#, 16#57A6A6F1#, 16#73B4B4C7#, 16#97C6C651#,
16#CbE8E823#, 16#A1DdDd7c#, 16#E874749c#, 16#3e1f1f21#,
16#964b4bDd#, 16#61BdBdDc#, 16#0d8b8b86#, 16#0f8a8a85#,
16#E0707090#, 16#7c3e3e42#, 16#71B5B5C4#, 16#Cc6666Aa#,
16#904848D8#, 16#06030305#, 16#F7F6F601#, 16#1c0e0e12#,
16#C26161A3#, 16#6a35355f#, 16#Ae5757F9#, 16#69B9B9D0#,
16#17868691#, 16#99C1C158#, 16#3a1d1d27#, 16#279e9eB9#,
16#D9E1E138#, 16#EbF8F813#, 16#2b9898B3#, 16#22111133#,
16#D26969Bb#, 16#A9D9D970#, 16#078e8e89#, 16#339494A7#,
16#2d9b9bB6#, 16#3c1e1e22#, 16#15878792#, 16#C9E9E920#,
16#87CeCe49#, 16#Aa5555Ff#, 16#50282878#, 16#A5DfDf7a#,
16#038c8c8f#, 16#59A1A1F8#, 16#09898980#, 16#1a0d0d17#,
16#65BfBfDa#, 16#D7E6E631#, 16#844242C6#, 16#D06868B8#,
16#824141C3#, 16#299999B0#, 16#5a2d2d77#, 16#1e0f0f11#,
16#7bB0B0Cb#, 16#A85454Fc#, 16#6dBbBbD6#, 16#2c16163a#);
T2 : constant array (Byte) of Word := (
16#A5C66363#, 16#84F87c7c#, 16#99Ee7777#, 16#8dF67b7b#,
16#0dFfF2F2#, 16#BdD66b6b#, 16#B1De6f6f#, 16#5491C5C5#,
16#50603030#, 16#03020101#, 16#A9Ce6767#, 16#7d562b2b#,
16#19E7FeFe#, 16#62B5D7D7#, 16#E64dAbAb#, 16#9aEc7676#,
16#458fCaCa#, 16#9d1f8282#, 16#4089C9C9#, 16#87Fa7d7d#,
16#15EfFaFa#, 16#EbB25959#, 16#C98e4747#, 16#0bFbF0F0#,
16#Ec41AdAd#, 16#67B3D4D4#, 16#Fd5fA2A2#, 16#Ea45AfAf#,
16#Bf239c9c#, 16#F753A4A4#, 16#96E47272#, 16#5b9bC0C0#,
16#C275B7B7#, 16#1cE1FdFd#, 16#Ae3d9393#, 16#6a4c2626#,
16#5a6c3636#, 16#417e3f3f#, 16#02F5F7F7#, 16#4f83CcCc#,
16#5c683434#, 16#F451A5A5#, 16#34D1E5E5#, 16#08F9F1F1#,
16#93E27171#, 16#73AbD8D8#, 16#53623131#, 16#3f2a1515#,
16#0c080404#, 16#5295C7C7#, 16#65462323#, 16#5e9dC3C3#,
16#28301818#, 16#A1379696#, 16#0f0a0505#, 16#B52f9a9a#,
16#090e0707#, 16#36241212#, 16#9b1b8080#, 16#3dDfE2E2#,
16#26CdEbEb#, 16#694e2727#, 16#Cd7fB2B2#, 16#9fEa7575#,
16#1b120909#, 16#9e1d8383#, 16#74582c2c#, 16#2e341a1a#,
16#2d361b1b#, 16#B2Dc6e6e#, 16#EeB45a5a#, 16#Fb5bA0A0#,
16#F6A45252#, 16#4d763b3b#, 16#61B7D6D6#, 16#Ce7dB3B3#,
16#7b522929#, 16#3eDdE3E3#, 16#715e2f2f#, 16#97138484#,
16#F5A65353#, 16#68B9D1D1#, 16#00000000#, 16#2cC1EdEd#,
16#60402020#, 16#1fE3FcFc#, 16#C879B1B1#, 16#EdB65b5b#,
16#BeD46a6a#, 16#468dCbCb#, 16#D967BeBe#, 16#4b723939#,
16#De944a4a#, 16#D4984c4c#, 16#E8B05858#, 16#4a85CfCf#,
16#6bBbD0D0#, 16#2aC5EfEf#, 16#E54fAaAa#, 16#16EdFbFb#,
16#C5864343#, 16#D79a4d4d#, 16#55663333#, 16#94118585#,
16#Cf8a4545#, 16#10E9F9F9#, 16#06040202#, 16#81Fe7f7f#,
16#F0A05050#, 16#44783c3c#, 16#Ba259f9f#, 16#E34bA8A8#,
16#F3A25151#, 16#Fe5dA3A3#, 16#C0804040#, 16#8a058f8f#,
16#Ad3f9292#, 16#Bc219d9d#, 16#48703838#, 16#04F1F5F5#,
16#Df63BcBc#, 16#C177B6B6#, 16#75AfDaDa#, 16#63422121#,
16#30201010#, 16#1aE5FfFf#, 16#0eFdF3F3#, 16#6dBfD2D2#,
16#4c81CdCd#, 16#14180c0c#, 16#35261313#, 16#2fC3EcEc#,
16#E1Be5f5f#, 16#A2359797#, 16#Cc884444#, 16#392e1717#,
16#5793C4C4#, 16#F255A7A7#, 16#82Fc7e7e#, 16#477a3d3d#,
16#AcC86464#, 16#E7Ba5d5d#, 16#2b321919#, 16#95E67373#,
16#A0C06060#, 16#98198181#, 16#D19e4f4f#, 16#7fA3DcDc#,
16#66442222#, 16#7e542a2a#, 16#Ab3b9090#, 16#830b8888#,
16#Ca8c4646#, 16#29C7EeEe#, 16#D36bB8B8#, 16#3c281414#,
16#79A7DeDe#, 16#E2Bc5e5e#, 16#1d160b0b#, 16#76AdDbDb#,
16#3bDbE0E0#, 16#56643232#, 16#4e743a3a#, 16#1e140a0a#,
16#Db924949#, 16#0a0c0606#, 16#6c482424#, 16#E4B85c5c#,
16#5d9fC2C2#, 16#6eBdD3D3#, 16#Ef43AcAc#, 16#A6C46262#,
16#A8399191#, 16#A4319595#, 16#37D3E4E4#, 16#8bF27979#,
16#32D5E7E7#, 16#438bC8C8#, 16#596e3737#, 16#B7Da6d6d#,
16#8c018d8d#, 16#64B1D5D5#, 16#D29c4e4e#, 16#E049A9A9#,
16#B4D86c6c#, 16#FaAc5656#, 16#07F3F4F4#, 16#25CfEaEa#,
16#AfCa6565#, 16#8eF47a7a#, 16#E947AeAe#, 16#18100808#,
16#D56fBaBa#, 16#88F07878#, 16#6f4a2525#, 16#725c2e2e#,
16#24381c1c#, 16#F157A6A6#, 16#C773B4B4#, 16#5197C6C6#,
16#23CbE8E8#, 16#7cA1DdDd#, 16#9cE87474#, 16#213e1f1f#,
16#Dd964b4b#, 16#Dc61BdBd#, 16#860d8b8b#, 16#850f8a8a#,
16#90E07070#, 16#427c3e3e#, 16#C471B5B5#, 16#AaCc6666#,
16#D8904848#, 16#05060303#, 16#01F7F6F6#, 16#121c0e0e#,
16#A3C26161#, 16#5f6a3535#, 16#F9Ae5757#, 16#D069B9B9#,
16#91178686#, 16#5899C1C1#, 16#273a1d1d#, 16#B9279e9e#,
16#38D9E1E1#, 16#13EbF8F8#, 16#B32b9898#, 16#33221111#,
16#BbD26969#, 16#70A9D9D9#, 16#89078e8e#, 16#A7339494#,
16#B62d9b9b#, 16#223c1e1e#, 16#92158787#, 16#20C9E9E9#,
16#4987CeCe#, 16#FfAa5555#, 16#78502828#, 16#7aA5DfDf#,
16#8f038c8c#, 16#F859A1A1#, 16#80098989#, 16#171a0d0d#,
16#Da65BfBf#, 16#31D7E6E6#, 16#C6844242#, 16#B8D06868#,
16#C3824141#, 16#B0299999#, 16#775a2d2d#, 16#111e0f0f#,
16#Cb7bB0B0#, 16#FcA85454#, 16#D66dBbBb#, 16#3a2c1616#
);
T3 : constant array (Byte) of Word := (
16#63A5C663#, 16#7c84F87c#, 16#7799Ee77#, 16#7b8dF67b#,
16#F20dFfF2#, 16#6bBdD66b#, 16#6fB1De6f#, 16#C55491C5#,
16#30506030#, 16#01030201#, 16#67A9Ce67#, 16#2b7d562b#,
16#Fe19E7Fe#, 16#D762B5D7#, 16#AbE64dAb#, 16#769aEc76#,
16#Ca458fCa#, 16#829d1f82#, 16#C94089C9#, 16#7d87Fa7d#,
16#Fa15EfFa#, 16#59EbB259#, 16#47C98e47#, 16#F00bFbF0#,
16#AdEc41Ad#, 16#D467B3D4#, 16#A2Fd5fA2#, 16#AfEa45Af#,
16#9cBf239c#, 16#A4F753A4#, 16#7296E472#, 16#C05b9bC0#,
16#B7C275B7#, 16#Fd1cE1Fd#, 16#93Ae3d93#, 16#266a4c26#,
16#365a6c36#, 16#3f417e3f#, 16#F702F5F7#, 16#Cc4f83Cc#,
16#345c6834#, 16#A5F451A5#, 16#E534D1E5#, 16#F108F9F1#,
16#7193E271#, 16#D873AbD8#, 16#31536231#, 16#153f2a15#,
16#040c0804#, 16#C75295C7#, 16#23654623#, 16#C35e9dC3#,
16#18283018#, 16#96A13796#, 16#050f0a05#, 16#9aB52f9a#,
16#07090e07#, 16#12362412#, 16#809b1b80#, 16#E23dDfE2#,
16#Eb26CdEb#, 16#27694e27#, 16#B2Cd7fB2#, 16#759fEa75#,
16#091b1209#, 16#839e1d83#, 16#2c74582c#, 16#1a2e341a#,
16#1b2d361b#, 16#6eB2Dc6e#, 16#5aEeB45a#, 16#A0Fb5bA0#,
16#52F6A452#, 16#3b4d763b#, 16#D661B7D6#, 16#B3Ce7dB3#,
16#297b5229#, 16#E33eDdE3#, 16#2f715e2f#, 16#84971384#,
16#53F5A653#, 16#D168B9D1#, 16#00000000#, 16#Ed2cC1Ed#,
16#20604020#, 16#Fc1fE3Fc#, 16#B1C879B1#, 16#5bEdB65b#,
16#6aBeD46a#, 16#Cb468dCb#, 16#BeD967Be#, 16#394b7239#,
16#4aDe944a#, 16#4cD4984c#, 16#58E8B058#, 16#Cf4a85Cf#,
16#D06bBbD0#, 16#Ef2aC5Ef#, 16#AaE54fAa#, 16#Fb16EdFb#,
16#43C58643#, 16#4dD79a4d#, 16#33556633#, 16#85941185#,
16#45Cf8a45#, 16#F910E9F9#, 16#02060402#, 16#7f81Fe7f#,
16#50F0A050#, 16#3c44783c#, 16#9fBa259f#, 16#A8E34bA8#,
16#51F3A251#, 16#A3Fe5dA3#, 16#40C08040#, 16#8f8a058f#,
16#92Ad3f92#, 16#9dBc219d#, 16#38487038#, 16#F504F1F5#,
16#BcDf63Bc#, 16#B6C177B6#, 16#Da75AfDa#, 16#21634221#,
16#10302010#, 16#Ff1aE5Ff#, 16#F30eFdF3#, 16#D26dBfD2#,
16#Cd4c81Cd#, 16#0c14180c#, 16#13352613#, 16#Ec2fC3Ec#,
16#5fE1Be5f#, 16#97A23597#, 16#44Cc8844#, 16#17392e17#,
16#C45793C4#, 16#A7F255A7#, 16#7e82Fc7e#, 16#3d477a3d#,
16#64AcC864#, 16#5dE7Ba5d#, 16#192b3219#, 16#7395E673#,
16#60A0C060#, 16#81981981#, 16#4fD19e4f#, 16#Dc7fA3Dc#,
16#22664422#, 16#2a7e542a#, 16#90Ab3b90#, 16#88830b88#,
16#46Ca8c46#, 16#Ee29C7Ee#, 16#B8D36bB8#, 16#143c2814#,
16#De79A7De#, 16#5eE2Bc5e#, 16#0b1d160b#, 16#Db76AdDb#,
16#E03bDbE0#, 16#32566432#, 16#3a4e743a#, 16#0a1e140a#,
16#49Db9249#, 16#060a0c06#, 16#246c4824#, 16#5cE4B85c#,
16#C25d9fC2#, 16#D36eBdD3#, 16#AcEf43Ac#, 16#62A6C462#,
16#91A83991#, 16#95A43195#, 16#E437D3E4#, 16#798bF279#,
16#E732D5E7#, 16#C8438bC8#, 16#37596e37#, 16#6dB7Da6d#,
16#8d8c018d#, 16#D564B1D5#, 16#4eD29c4e#, 16#A9E049A9#,
16#6cB4D86c#, 16#56FaAc56#, 16#F407F3F4#, 16#Ea25CfEa#,
16#65AfCa65#, 16#7a8eF47a#, 16#AeE947Ae#, 16#08181008#,
16#BaD56fBa#, 16#7888F078#, 16#256f4a25#, 16#2e725c2e#,
16#1c24381c#, 16#A6F157A6#, 16#B4C773B4#, 16#C65197C6#,
16#E823CbE8#, 16#Dd7cA1Dd#, 16#749cE874#, 16#1f213e1f#,
16#4bDd964b#, 16#BdDc61Bd#, 16#8b860d8b#, 16#8a850f8a#,
16#7090E070#, 16#3e427c3e#, 16#B5C471B5#, 16#66AaCc66#,
16#48D89048#, 16#03050603#, 16#F601F7F6#, 16#0e121c0e#,
16#61A3C261#, 16#355f6a35#, 16#57F9Ae57#, 16#B9D069B9#,
16#86911786#, 16#C15899C1#, 16#1d273a1d#, 16#9eB9279e#,
16#E138D9E1#, 16#F813EbF8#, 16#98B32b98#, 16#11332211#,
16#69BbD269#, 16#D970A9D9#, 16#8e89078e#, 16#94A73394#,
16#9bB62d9b#, 16#1e223c1e#, 16#87921587#, 16#E920C9E9#,
16#Ce4987Ce#, 16#55FfAa55#, 16#28785028#, 16#Df7aA5Df#,
16#8c8f038c#, 16#A1F859A1#, 16#89800989#, 16#0d171a0d#,
16#BfDa65Bf#, 16#E631D7E6#, 16#42C68442#, 16#68B8D068#,
16#41C38241#, 16#99B02999#, 16#2d775a2d#, 16#0f111e0f#,
16#B0Cb7bB0#, 16#54FcA854#, 16#BbD66dBb#, 16#163a2c16#
);
T4 : constant array (Byte) of Word := (
16#6363A5C6#, 16#7c7c84F8#, 16#777799Ee#, 16#7b7b8dF6#,
16#F2F20dFf#, 16#6b6bBdD6#, 16#6f6fB1De#, 16#C5C55491#,
16#30305060#, 16#01010302#, 16#6767A9Ce#, 16#2b2b7d56#,
16#FeFe19E7#, 16#D7D762B5#, 16#AbAbE64d#, 16#76769aEc#,
16#CaCa458f#, 16#82829d1f#, 16#C9C94089#, 16#7d7d87Fa#,
16#FaFa15Ef#, 16#5959EbB2#, 16#4747C98e#, 16#F0F00bFb#,
16#AdAdEc41#, 16#D4D467B3#, 16#A2A2Fd5f#, 16#AfAfEa45#,
16#9c9cBf23#, 16#A4A4F753#, 16#727296E4#, 16#C0C05b9b#,
16#B7B7C275#, 16#FdFd1cE1#, 16#9393Ae3d#, 16#26266a4c#,
16#36365a6c#, 16#3f3f417e#, 16#F7F702F5#, 16#CcCc4f83#,
16#34345c68#, 16#A5A5F451#, 16#E5E534D1#, 16#F1F108F9#,
16#717193E2#, 16#D8D873Ab#, 16#31315362#, 16#15153f2a#,
16#04040c08#, 16#C7C75295#, 16#23236546#, 16#C3C35e9d#,
16#18182830#, 16#9696A137#, 16#05050f0a#, 16#9a9aB52f#,
16#0707090e#, 16#12123624#, 16#80809b1b#, 16#E2E23dDf#,
16#EbEb26Cd#, 16#2727694e#, 16#B2B2Cd7f#, 16#75759fEa#,
16#09091b12#, 16#83839e1d#, 16#2c2c7458#, 16#1a1a2e34#,
16#1b1b2d36#, 16#6e6eB2Dc#, 16#5a5aEeB4#, 16#A0A0Fb5b#,
16#5252F6A4#, 16#3b3b4d76#, 16#D6D661B7#, 16#B3B3Ce7d#,
16#29297b52#, 16#E3E33eDd#, 16#2f2f715e#, 16#84849713#,
16#5353F5A6#, 16#D1D168B9#, 16#00000000#, 16#EdEd2cC1#,
16#20206040#, 16#FcFc1fE3#, 16#B1B1C879#, 16#5b5bEdB6#,
16#6a6aBeD4#, 16#CbCb468d#, 16#BeBeD967#, 16#39394b72#,
16#4a4aDe94#, 16#4c4cD498#, 16#5858E8B0#, 16#CfCf4a85#,
16#D0D06bBb#, 16#EfEf2aC5#, 16#AaAaE54f#, 16#FbFb16Ed#,
16#4343C586#, 16#4d4dD79a#, 16#33335566#, 16#85859411#,
16#4545Cf8a#, 16#F9F910E9#, 16#02020604#, 16#7f7f81Fe#,
16#5050F0A0#, 16#3c3c4478#, 16#9f9fBa25#, 16#A8A8E34b#,
16#5151F3A2#, 16#A3A3Fe5d#, 16#4040C080#, 16#8f8f8a05#,
16#9292Ad3f#, 16#9d9dBc21#, 16#38384870#, 16#F5F504F1#,
16#BcBcDf63#, 16#B6B6C177#, 16#DaDa75Af#, 16#21216342#,
16#10103020#, 16#FfFf1aE5#, 16#F3F30eFd#, 16#D2D26dBf#,
16#CdCd4c81#, 16#0c0c1418#, 16#13133526#, 16#EcEc2fC3#,
16#5f5fE1Be#, 16#9797A235#, 16#4444Cc88#, 16#1717392e#,
16#C4C45793#, 16#A7A7F255#, 16#7e7e82Fc#, 16#3d3d477a#,
16#6464AcC8#, 16#5d5dE7Ba#, 16#19192b32#, 16#737395E6#,
16#6060A0C0#, 16#81819819#, 16#4f4fD19e#, 16#DcDc7fA3#,
16#22226644#, 16#2a2a7e54#, 16#9090Ab3b#, 16#8888830b#,
16#4646Ca8c#, 16#EeEe29C7#, 16#B8B8D36b#, 16#14143c28#,
16#DeDe79A7#, 16#5e5eE2Bc#, 16#0b0b1d16#, 16#DbDb76Ad#,
16#E0E03bDb#, 16#32325664#, 16#3a3a4e74#, 16#0a0a1e14#,
16#4949Db92#, 16#06060a0c#, 16#24246c48#, 16#5c5cE4B8#,
16#C2C25d9f#, 16#D3D36eBd#, 16#AcAcEf43#, 16#6262A6C4#,
16#9191A839#, 16#9595A431#, 16#E4E437D3#, 16#79798bF2#,
16#E7E732D5#, 16#C8C8438b#, 16#3737596e#, 16#6d6dB7Da#,
16#8d8d8c01#, 16#D5D564B1#, 16#4e4eD29c#, 16#A9A9E049#,
16#6c6cB4D8#, 16#5656FaAc#, 16#F4F407F3#, 16#EaEa25Cf#,
16#6565AfCa#, 16#7a7a8eF4#, 16#AeAeE947#, 16#08081810#,
16#BaBaD56f#, 16#787888F0#, 16#25256f4a#, 16#2e2e725c#,
16#1c1c2438#, 16#A6A6F157#, 16#B4B4C773#, 16#C6C65197#,
16#E8E823Cb#, 16#DdDd7cA1#, 16#74749cE8#, 16#1f1f213e#,
16#4b4bDd96#, 16#BdBdDc61#, 16#8b8b860d#, 16#8a8a850f#,
16#707090E0#, 16#3e3e427c#, 16#B5B5C471#, 16#6666AaCc#,
16#4848D890#, 16#03030506#, 16#F6F601F7#, 16#0e0e121c#,
16#6161A3C2#, 16#35355f6a#, 16#5757F9Ae#, 16#B9B9D069#,
16#86869117#, 16#C1C15899#, 16#1d1d273a#, 16#9e9eB927#,
16#E1E138D9#, 16#F8F813Eb#, 16#9898B32b#, 16#11113322#,
16#6969BbD2#, 16#D9D970A9#, 16#8e8e8907#, 16#9494A733#,
16#9b9bB62d#, 16#1e1e223c#, 16#87879215#, 16#E9E920C9#,
16#CeCe4987#, 16#5555FfAa#, 16#28287850#, 16#DfDf7aA5#,
16#8c8c8f03#, 16#A1A1F859#, 16#89898009#, 16#0d0d171a#,
16#BfBfDa65#, 16#E6E631D7#, 16#4242C684#, 16#6868B8D0#,
16#4141C382#, 16#9999B029#, 16#2d2d775a#, 16#0f0f111e#,
16#B0B0Cb7b#, 16#5454FcA8#, 16#BbBbD66d#, 16#16163a2c#
);
T5 : constant array (Byte) of Word := (
16#51F4A750#, 16#7e416553#, 16#1a17A4C3#, 16#3a275e96#,
16#3bAb6bCb#, 16#1f9d45F1#, 16#AcFa58Ab#, 16#4bE30393#,
16#2030Fa55#, 16#Ad766dF6#, 16#88Cc7691#, 16#F5024c25#,
16#4fE5D7Fc#, 16#C52aCbD7#, 16#26354480#, 16#B562A38f#,
16#DeB15a49#, 16#25Ba1b67#, 16#45Ea0e98#, 16#5dFeC0E1#,
16#C32f7502#, 16#814cF012#, 16#8d4697A3#, 16#6bD3F9C6#,
16#038f5fE7#, 16#15929c95#, 16#Bf6d7aEb#, 16#955259Da#,
16#D4Be832d#, 16#587421D3#, 16#49E06929#, 16#8eC9C844#,
16#75C2896a#, 16#F48e7978#, 16#99583e6b#, 16#27B971Dd#,
16#BeE14fB6#, 16#F088Ad17#, 16#C920Ac66#, 16#7dCe3aB4#,
16#63Df4a18#, 16#E51a3182#, 16#97513360#, 16#62537f45#,
16#B16477E0#, 16#Bb6bAe84#, 16#Fe81A01c#, 16#F9082b94#,
16#70486858#, 16#8f45Fd19#, 16#94De6c87#, 16#527bF8B7#,
16#Ab73D323#, 16#724b02E2#, 16#E31f8f57#, 16#6655Ab2a#,
16#B2Eb2807#, 16#2fB5C203#, 16#86C57b9a#, 16#D33708A5#,
16#302887F2#, 16#23BfA5B2#, 16#02036aBa#, 16#Ed16825c#,
16#8aCf1c2b#, 16#A779B492#, 16#F307F2F0#, 16#4e69E2A1#,
16#65DaF4Cd#, 16#0605BeD5#, 16#D134621f#, 16#C4A6Fe8a#,
16#342e539d#, 16#A2F355A0#, 16#058aE132#, 16#A4F6Eb75#,
16#0b83Ec39#, 16#4060EfAa#, 16#5e719f06#, 16#Bd6e1051#,
16#3e218aF9#, 16#96Dd063d#, 16#Dd3e05Ae#, 16#4dE6Bd46#,
16#91548dB5#, 16#71C45d05#, 16#0406D46f#, 16#605015Ff#,
16#1998Fb24#, 16#D6BdE997#, 16#894043Cc#, 16#67D99e77#,
16#B0E842Bd#, 16#07898b88#, 16#E7195b38#, 16#79C8EeDb#,
16#A17c0a47#, 16#7c420fE9#, 16#F8841eC9#, 16#00000000#,
16#09808683#, 16#322bEd48#, 16#1e1170Ac#, 16#6c5a724e#,
16#Fd0eFfFb#, 16#0f853856#, 16#3dAeD51e#, 16#362d3927#,
16#0a0fD964#, 16#685cA621#, 16#9b5b54D1#, 16#24362e3a#,
16#0c0a67B1#, 16#9357E70f#, 16#B4Ee96D2#, 16#1b9b919e#,
16#80C0C54f#, 16#61Dc20A2#, 16#5a774b69#, 16#1c121a16#,
16#E293Ba0a#, 16#C0A02aE5#, 16#3c22E043#, 16#121b171d#,
16#0e090d0b#, 16#F28bC7Ad#, 16#2dB6A8B9#, 16#141eA9C8#,
16#57F11985#, 16#Af75074c#, 16#Ee99DdBb#, 16#A37f60Fd#,
16#F701269f#, 16#5c72F5Bc#, 16#44663bC5#, 16#5bFb7e34#,
16#8b432976#, 16#Cb23C6Dc#, 16#B6EdFc68#, 16#B8E4F163#,
16#D731DcCa#, 16#42638510#, 16#13972240#, 16#84C61120#,
16#854a247d#, 16#D2Bb3dF8#, 16#AeF93211#, 16#C729A16d#,
16#1d9e2f4b#, 16#DcB230F3#, 16#0d8652Ec#, 16#77C1E3D0#,
16#2bB3166c#, 16#A970B999#, 16#119448Fa#, 16#47E96422#,
16#A8Fc8cC4#, 16#A0F03f1a#, 16#567d2cD8#, 16#223390Ef#,
16#87494eC7#, 16#D938D1C1#, 16#8cCaA2Fe#, 16#98D40b36#,
16#A6F581Cf#, 16#A57aDe28#, 16#DaB78e26#, 16#3fAdBfA4#,
16#2c3a9dE4#, 16#5078920d#, 16#6a5fCc9b#, 16#547e4662#,
16#F68d13C2#, 16#90D8B8E8#, 16#2e39F75e#, 16#82C3AfF5#,
16#9f5d80Be#, 16#69D0937c#, 16#6fD52dA9#, 16#Cf2512B3#,
16#C8Ac993b#, 16#10187dA7#, 16#E89c636e#, 16#Db3bBb7b#,
16#Cd267809#, 16#6e5918F4#, 16#Ec9aB701#, 16#834f9aA8#,
16#E6956e65#, 16#AaFfE67e#, 16#21BcCf08#, 16#Ef15E8E6#,
16#BaE79bD9#, 16#4a6f36Ce#, 16#Ea9f09D4#, 16#29B07cD6#,
16#31A4B2Af#, 16#2a3f2331#, 16#C6A59430#, 16#35A266C0#,
16#744eBc37#, 16#Fc82CaA6#, 16#E090D0B0#, 16#33A7D815#,
16#F104984a#, 16#41EcDaF7#, 16#7fCd500e#, 16#1791F62f#,
16#764dD68d#, 16#43EfB04d#, 16#CcAa4d54#, 16#E49604Df#,
16#9eD1B5E3#, 16#4c6a881b#, 16#C12c1fB8#, 16#4665517f#,
16#9d5eEa04#, 16#018c355d#, 16#Fa877473#, 16#Fb0b412e#,
16#B3671d5a#, 16#92DbD252#, 16#E9105633#, 16#6dD64713#,
16#9aD7618c#, 16#37A10c7a#, 16#59F8148e#, 16#Eb133c89#,
16#CeA927Ee#, 16#B761C935#, 16#E11cE5Ed#, 16#7a47B13c#,
16#9cD2Df59#, 16#55F2733f#, 16#1814Ce79#, 16#73C737Bf#,
16#53F7CdEa#, 16#5fFdAa5b#, 16#Df3d6f14#, 16#7844Db86#,
16#CaAfF381#, 16#B968C43e#, 16#3824342c#, 16#C2A3405f#,
16#161dC372#, 16#BcE2250c#, 16#283c498b#, 16#Ff0d9541#,
16#39A80171#, 16#080cB3De#, 16#D8B4E49c#, 16#6456C190#,
16#7bCb8461#, 16#D532B670#, 16#486c5c74#, 16#D0B85742#
);
T6 : constant array (Byte) of Word := (
16#5051F4A7#, 16#537e4165#, 16#C31a17A4#, 16#963a275e#,
16#Cb3bAb6b#, 16#F11f9d45#, 16#AbAcFa58#, 16#934bE303#,
16#552030Fa#, 16#F6Ad766d#, 16#9188Cc76#, 16#25F5024c#,
16#Fc4fE5D7#, 16#D7C52aCb#, 16#80263544#, 16#8fB562A3#,
16#49DeB15a#, 16#6725Ba1b#, 16#9845Ea0e#, 16#E15dFeC0#,
16#02C32f75#, 16#12814cF0#, 16#A38d4697#, 16#C66bD3F9#,
16#E7038f5f#, 16#9515929c#, 16#EbBf6d7a#, 16#Da955259#,
16#2dD4Be83#, 16#D3587421#, 16#2949E069#, 16#448eC9C8#,
16#6a75C289#, 16#78F48e79#, 16#6b99583e#, 16#Dd27B971#,
16#B6BeE14f#, 16#17F088Ad#, 16#66C920Ac#, 16#B47dCe3a#,
16#1863Df4a#, 16#82E51a31#, 16#60975133#, 16#4562537f#,
16#E0B16477#, 16#84Bb6bAe#, 16#1cFe81A0#, 16#94F9082b#,
16#58704868#, 16#198f45Fd#, 16#8794De6c#, 16#B7527bF8#,
16#23Ab73D3#, 16#E2724b02#, 16#57E31f8f#, 16#2a6655Ab#,
16#07B2Eb28#, 16#032fB5C2#, 16#9a86C57b#, 16#A5D33708#,
16#F2302887#, 16#B223BfA5#, 16#Ba02036a#, 16#5cEd1682#,
16#2b8aCf1c#, 16#92A779B4#, 16#F0F307F2#, 16#A14e69E2#,
16#Cd65DaF4#, 16#D50605Be#, 16#1fD13462#, 16#8aC4A6Fe#,
16#9d342e53#, 16#A0A2F355#, 16#32058aE1#, 16#75A4F6Eb#,
16#390b83Ec#, 16#Aa4060Ef#, 16#065e719f#, 16#51Bd6e10#,
16#F93e218a#, 16#3d96Dd06#, 16#AeDd3e05#, 16#464dE6Bd#,
16#B591548d#, 16#0571C45d#, 16#6f0406D4#, 16#Ff605015#,
16#241998Fb#, 16#97D6BdE9#, 16#Cc894043#, 16#7767D99e#,
16#BdB0E842#, 16#8807898b#, 16#38E7195b#, 16#Db79C8Ee#,
16#47A17c0a#, 16#E97c420f#, 16#C9F8841e#, 16#00000000#,
16#83098086#, 16#48322bEd#, 16#Ac1e1170#, 16#4e6c5a72#,
16#FbFd0eFf#, 16#560f8538#, 16#1e3dAeD5#, 16#27362d39#,
16#640a0fD9#, 16#21685cA6#, 16#D19b5b54#, 16#3a24362e#,
16#B10c0a67#, 16#0f9357E7#, 16#D2B4Ee96#, 16#9e1b9b91#,
16#4f80C0C5#, 16#A261Dc20#, 16#695a774b#, 16#161c121a#,
16#0aE293Ba#, 16#E5C0A02a#, 16#433c22E0#, 16#1d121b17#,
16#0b0e090d#, 16#AdF28bC7#, 16#B92dB6A8#, 16#C8141eA9#,
16#8557F119#, 16#4cAf7507#, 16#BbEe99Dd#, 16#FdA37f60#,
16#9fF70126#, 16#Bc5c72F5#, 16#C544663b#, 16#345bFb7e#,
16#768b4329#, 16#DcCb23C6#, 16#68B6EdFc#, 16#63B8E4F1#,
16#CaD731Dc#, 16#10426385#, 16#40139722#, 16#2084C611#,
16#7d854a24#, 16#F8D2Bb3d#, 16#11AeF932#, 16#6dC729A1#,
16#4b1d9e2f#, 16#F3DcB230#, 16#Ec0d8652#, 16#D077C1E3#,
16#6c2bB316#, 16#99A970B9#, 16#Fa119448#, 16#2247E964#,
16#C4A8Fc8c#, 16#1aA0F03f#, 16#D8567d2c#, 16#Ef223390#,
16#C787494e#, 16#C1D938D1#, 16#Fe8cCaA2#, 16#3698D40b#,
16#CfA6F581#, 16#28A57aDe#, 16#26DaB78e#, 16#A43fAdBf#,
16#E42c3a9d#, 16#0d507892#, 16#9b6a5fCc#, 16#62547e46#,
16#C2F68d13#, 16#E890D8B8#, 16#5e2e39F7#, 16#F582C3Af#,
16#Be9f5d80#, 16#7c69D093#, 16#A96fD52d#, 16#B3Cf2512#,
16#3bC8Ac99#, 16#A710187d#, 16#6eE89c63#, 16#7bDb3bBb#,
16#09Cd2678#, 16#F46e5918#, 16#01Ec9aB7#, 16#A8834f9a#,
16#65E6956e#, 16#7eAaFfE6#, 16#0821BcCf#, 16#E6Ef15E8#,
16#D9BaE79b#, 16#Ce4a6f36#, 16#D4Ea9f09#, 16#D629B07c#,
16#Af31A4B2#, 16#312a3f23#, 16#30C6A594#, 16#C035A266#,
16#37744eBc#, 16#A6Fc82Ca#, 16#B0E090D0#, 16#1533A7D8#,
16#4aF10498#, 16#F741EcDa#, 16#0e7fCd50#, 16#2f1791F6#,
16#8d764dD6#, 16#4d43EfB0#, 16#54CcAa4d#, 16#DfE49604#,
16#E39eD1B5#, 16#1b4c6a88#, 16#B8C12c1f#, 16#7f466551#,
16#049d5eEa#, 16#5d018c35#, 16#73Fa8774#, 16#2eFb0b41#,
16#5aB3671d#, 16#5292DbD2#, 16#33E91056#, 16#136dD647#,
16#8c9aD761#, 16#7a37A10c#, 16#8e59F814#, 16#89Eb133c#,
16#EeCeA927#, 16#35B761C9#, 16#EdE11cE5#, 16#3c7a47B1#,
16#599cD2Df#, 16#3f55F273#, 16#791814Ce#, 16#Bf73C737#,
16#Ea53F7Cd#, 16#5b5fFdAa#, 16#14Df3d6f#, 16#867844Db#,
16#81CaAfF3#, 16#3eB968C4#, 16#2c382434#, 16#5fC2A340#,
16#72161dC3#, 16#0cBcE225#, 16#8b283c49#, 16#41Ff0d95#,
16#7139A801#, 16#De080cB3#, 16#9cD8B4E4#, 16#906456C1#,
16#617bCb84#, 16#70D532B6#, 16#74486c5c#, 16#42D0B857#
);
T7 : constant array (Byte) of Word := (
16#A75051F4#, 16#65537e41#, 16#A4C31a17#, 16#5e963a27#,
16#6bCb3bAb#, 16#45F11f9d#, 16#58AbAcFa#, 16#03934bE3#,
16#Fa552030#, 16#6dF6Ad76#, 16#769188Cc#, 16#4c25F502#,
16#D7Fc4fE5#, 16#CbD7C52a#, 16#44802635#, 16#A38fB562#,
16#5a49DeB1#, 16#1b6725Ba#, 16#0e9845Ea#, 16#C0E15dFe#,
16#7502C32f#, 16#F012814c#, 16#97A38d46#, 16#F9C66bD3#,
16#5fE7038f#, 16#9c951592#, 16#7aEbBf6d#, 16#59Da9552#,
16#832dD4Be#, 16#21D35874#, 16#692949E0#, 16#C8448eC9#,
16#896a75C2#, 16#7978F48e#, 16#3e6b9958#, 16#71Dd27B9#,
16#4fB6BeE1#, 16#Ad17F088#, 16#Ac66C920#, 16#3aB47dCe#,
16#4a1863Df#, 16#3182E51a#, 16#33609751#, 16#7f456253#,
16#77E0B164#, 16#Ae84Bb6b#, 16#A01cFe81#, 16#2b94F908#,
16#68587048#, 16#Fd198f45#, 16#6c8794De#, 16#F8B7527b#,
16#D323Ab73#, 16#02E2724b#, 16#8f57E31f#, 16#Ab2a6655#,
16#2807B2Eb#, 16#C2032fB5#, 16#7b9a86C5#, 16#08A5D337#,
16#87F23028#, 16#A5B223Bf#, 16#6aBa0203#, 16#825cEd16#,
16#1c2b8aCf#, 16#B492A779#, 16#F2F0F307#, 16#E2A14e69#,
16#F4Cd65Da#, 16#BeD50605#, 16#621fD134#, 16#Fe8aC4A6#,
16#539d342e#, 16#55A0A2F3#, 16#E132058a#, 16#Eb75A4F6#,
16#Ec390b83#, 16#EfAa4060#, 16#9f065e71#, 16#1051Bd6e#,
16#8aF93e21#, 16#063d96Dd#, 16#05AeDd3e#, 16#Bd464dE6#,
16#8dB59154#, 16#5d0571C4#, 16#D46f0406#, 16#15Ff6050#,
16#Fb241998#, 16#E997D6Bd#, 16#43Cc8940#, 16#9e7767D9#,
16#42BdB0E8#, 16#8b880789#, 16#5b38E719#, 16#EeDb79C8#,
16#0a47A17c#, 16#0fE97c42#, 16#1eC9F884#, 16#00000000#,
16#86830980#, 16#Ed48322b#, 16#70Ac1e11#, 16#724e6c5a#,
16#FfFbFd0e#, 16#38560f85#, 16#D51e3dAe#, 16#3927362d#,
16#D9640a0f#, 16#A621685c#, 16#54D19b5b#, 16#2e3a2436#,
16#67B10c0a#, 16#E70f9357#, 16#96D2B4Ee#, 16#919e1b9b#,
16#C54f80C0#, 16#20A261Dc#, 16#4b695a77#, 16#1a161c12#,
16#Ba0aE293#, 16#2aE5C0A0#, 16#E0433c22#, 16#171d121b#,
16#0d0b0e09#, 16#C7AdF28b#, 16#A8B92dB6#, 16#A9C8141e#,
16#198557F1#, 16#074cAf75#, 16#DdBbEe99#, 16#60FdA37f#,
16#269fF701#, 16#F5Bc5c72#, 16#3bC54466#, 16#7e345bFb#,
16#29768b43#, 16#C6DcCb23#, 16#Fc68B6Ed#, 16#F163B8E4#,
16#DcCaD731#, 16#85104263#, 16#22401397#, 16#112084C6#,
16#247d854a#, 16#3dF8D2Bb#, 16#3211AeF9#, 16#A16dC729#,
16#2f4b1d9e#, 16#30F3DcB2#, 16#52Ec0d86#, 16#E3D077C1#,
16#166c2bB3#, 16#B999A970#, 16#48Fa1194#, 16#642247E9#,
16#8cC4A8Fc#, 16#3f1aA0F0#, 16#2cD8567d#, 16#90Ef2233#,
16#4eC78749#, 16#D1C1D938#, 16#A2Fe8cCa#, 16#0b3698D4#,
16#81CfA6F5#, 16#De28A57a#, 16#8e26DaB7#, 16#BfA43fAd#,
16#9dE42c3a#, 16#920d5078#, 16#Cc9b6a5f#, 16#4662547e#,
16#13C2F68d#, 16#B8E890D8#, 16#F75e2e39#, 16#AfF582C3#,
16#80Be9f5d#, 16#937c69D0#, 16#2dA96fD5#, 16#12B3Cf25#,
16#993bC8Ac#, 16#7dA71018#, 16#636eE89c#, 16#Bb7bDb3b#,
16#7809Cd26#, 16#18F46e59#, 16#B701Ec9a#, 16#9aA8834f#,
16#6e65E695#, 16#E67eAaFf#, 16#Cf0821Bc#, 16#E8E6Ef15#,
16#9bD9BaE7#, 16#36Ce4a6f#, 16#09D4Ea9f#, 16#7cD629B0#,
16#B2Af31A4#, 16#23312a3f#, 16#9430C6A5#, 16#66C035A2#,
16#Bc37744e#, 16#CaA6Fc82#, 16#D0B0E090#, 16#D81533A7#,
16#984aF104#, 16#DaF741Ec#, 16#500e7fCd#, 16#F62f1791#,
16#D68d764d#, 16#B04d43Ef#, 16#4d54CcAa#, 16#04DfE496#,
16#B5E39eD1#, 16#881b4c6a#, 16#1fB8C12c#, 16#517f4665#,
16#Ea049d5e#, 16#355d018c#, 16#7473Fa87#, 16#412eFb0b#,
16#1d5aB367#, 16#D25292Db#, 16#5633E910#, 16#47136dD6#,
16#618c9aD7#, 16#0c7a37A1#, 16#148e59F8#, 16#3c89Eb13#,
16#27EeCeA9#, 16#C935B761#, 16#E5EdE11c#, 16#B13c7a47#,
16#Df599cD2#, 16#733f55F2#, 16#Ce791814#, 16#37Bf73C7#,
16#CdEa53F7#, 16#Aa5b5fFd#, 16#6f14Df3d#, 16#Db867844#,
16#F381CaAf#, 16#C43eB968#, 16#342c3824#, 16#405fC2A3#,
16#C372161d#, 16#250cBcE2#, 16#498b283c#, 16#9541Ff0d#,
16#017139A8#, 16#B3De080c#, 16#E49cD8B4#, 16#C1906456#,
16#84617bCb#, 16#B670D532#, 16#5c74486c#, 16#5742D0B8#
);
T8 : constant array (Byte) of Word := (
16#F4A75051#, 16#4165537e#, 16#17A4C31a#, 16#275e963a#,
16#Ab6bCb3b#, 16#9d45F11f#, 16#Fa58AbAc#, 16#E303934b#,
16#30Fa5520#, 16#766dF6Ad#, 16#Cc769188#, 16#024c25F5#,
16#E5D7Fc4f#, 16#2aCbD7C5#, 16#35448026#, 16#62A38fB5#,
16#B15a49De#, 16#Ba1b6725#, 16#Ea0e9845#, 16#FeC0E15d#,
16#2f7502C3#, 16#4cF01281#, 16#4697A38d#, 16#D3F9C66b#,
16#8f5fE703#, 16#929c9515#, 16#6d7aEbBf#, 16#5259Da95#,
16#Be832dD4#, 16#7421D358#, 16#E0692949#, 16#C9C8448e#,
16#C2896a75#, 16#8e7978F4#, 16#583e6b99#, 16#B971Dd27#,
16#E14fB6Be#, 16#88Ad17F0#, 16#20Ac66C9#, 16#Ce3aB47d#,
16#Df4a1863#, 16#1a3182E5#, 16#51336097#, 16#537f4562#,
16#6477E0B1#, 16#6bAe84Bb#, 16#81A01cFe#, 16#082b94F9#,
16#48685870#, 16#45Fd198f#, 16#De6c8794#, 16#7bF8B752#,
16#73D323Ab#, 16#4b02E272#, 16#1f8f57E3#, 16#55Ab2a66#,
16#Eb2807B2#, 16#B5C2032f#, 16#C57b9a86#, 16#3708A5D3#,
16#2887F230#, 16#BfA5B223#, 16#036aBa02#, 16#16825cEd#,
16#Cf1c2b8a#, 16#79B492A7#, 16#07F2F0F3#, 16#69E2A14e#,
16#DaF4Cd65#, 16#05BeD506#, 16#34621fD1#, 16#A6Fe8aC4#,
16#2e539d34#, 16#F355A0A2#, 16#8aE13205#, 16#F6Eb75A4#,
16#83Ec390b#, 16#60EfAa40#, 16#719f065e#, 16#6e1051Bd#,
16#218aF93e#, 16#Dd063d96#, 16#3e05AeDd#, 16#E6Bd464d#,
16#548dB591#, 16#C45d0571#, 16#06D46f04#, 16#5015Ff60#,
16#98Fb2419#, 16#BdE997D6#, 16#4043Cc89#, 16#D99e7767#,
16#E842BdB0#, 16#898b8807#, 16#195b38E7#, 16#C8EeDb79#,
16#7c0a47A1#, 16#420fE97c#, 16#841eC9F8#, 16#00000000#,
16#80868309#, 16#2bEd4832#, 16#1170Ac1e#, 16#5a724e6c#,
16#0eFfFbFd#, 16#8538560f#, 16#AeD51e3d#, 16#2d392736#,
16#0fD9640a#, 16#5cA62168#, 16#5b54D19b#, 16#362e3a24#,
16#0a67B10c#, 16#57E70f93#, 16#Ee96D2B4#, 16#9b919e1b#,
16#C0C54f80#, 16#Dc20A261#, 16#774b695a#, 16#121a161c#,
16#93Ba0aE2#, 16#A02aE5C0#, 16#22E0433c#, 16#1b171d12#,
16#090d0b0e#, 16#8bC7AdF2#, 16#B6A8B92d#, 16#1eA9C814#,
16#F1198557#, 16#75074cAf#, 16#99DdBbEe#, 16#7f60FdA3#,
16#01269fF7#, 16#72F5Bc5c#, 16#663bC544#, 16#Fb7e345b#,
16#4329768b#, 16#23C6DcCb#, 16#EdFc68B6#, 16#E4F163B8#,
16#31DcCaD7#, 16#63851042#, 16#97224013#, 16#C6112084#,
16#4a247d85#, 16#Bb3dF8D2#, 16#F93211Ae#, 16#29A16dC7#,
16#9e2f4b1d#, 16#B230F3Dc#, 16#8652Ec0d#, 16#C1E3D077#,
16#B3166c2b#, 16#70B999A9#, 16#9448Fa11#, 16#E9642247#,
16#Fc8cC4A8#, 16#F03f1aA0#, 16#7d2cD856#, 16#3390Ef22#,
16#494eC787#, 16#38D1C1D9#, 16#CaA2Fe8c#, 16#D40b3698#,
16#F581CfA6#, 16#7aDe28A5#, 16#B78e26Da#, 16#AdBfA43f#,
16#3a9dE42c#, 16#78920d50#, 16#5fCc9b6a#, 16#7e466254#,
16#8d13C2F6#, 16#D8B8E890#, 16#39F75e2e#, 16#C3AfF582#,
16#5d80Be9f#, 16#D0937c69#, 16#D52dA96f#, 16#2512B3Cf#,
16#Ac993bC8#, 16#187dA710#, 16#9c636eE8#, 16#3bBb7bDb#,
16#267809Cd#, 16#5918F46e#, 16#9aB701Ec#, 16#4f9aA883#,
16#956e65E6#, 16#FfE67eAa#, 16#BcCf0821#, 16#15E8E6Ef#,
16#E79bD9Ba#, 16#6f36Ce4a#, 16#9f09D4Ea#, 16#B07cD629#,
16#A4B2Af31#, 16#3f23312a#, 16#A59430C6#, 16#A266C035#,
16#4eBc3774#, 16#82CaA6Fc#, 16#90D0B0E0#, 16#A7D81533#,
16#04984aF1#, 16#EcDaF741#, 16#Cd500e7f#, 16#91F62f17#,
16#4dD68d76#, 16#EfB04d43#, 16#Aa4d54Cc#, 16#9604DfE4#,
16#D1B5E39e#, 16#6a881b4c#, 16#2c1fB8C1#, 16#65517f46#,
16#5eEa049d#, 16#8c355d01#, 16#877473Fa#, 16#0b412eFb#,
16#671d5aB3#, 16#DbD25292#, 16#105633E9#, 16#D647136d#,
16#D7618c9a#, 16#A10c7a37#, 16#F8148e59#, 16#133c89Eb#,
16#A927EeCe#, 16#61C935B7#, 16#1cE5EdE1#, 16#47B13c7a#,
16#D2Df599c#, 16#F2733f55#, 16#14Ce7918#, 16#C737Bf73#,
16#F7CdEa53#, 16#FdAa5b5f#, 16#3d6f14Df#, 16#44Db8678#,
16#AfF381Ca#, 16#68C43eB9#, 16#24342c38#, 16#A3405fC2#,
16#1dC37216#, 16#E2250cBc#, 16#3c498b28#, 16#0d9541Ff#,
16#A8017139#, 16#0cB3De08#, 16#B4E49cD8#, 16#56C19064#,
16#Cb84617b#, 16#32B670D5#, 16#6c5c7448#, 16#B85742D0#
);
S5 : constant array (Byte) of Byte := (
16#52#,16#09#,16#6a#,16#D5#,
16#30#,16#36#,16#A5#,16#38#,
16#Bf#,16#40#,16#A3#,16#9e#,
16#81#,16#F3#,16#D7#,16#Fb#,
16#7c#,16#E3#,16#39#,16#82#,
16#9b#,16#2f#,16#Ff#,16#87#,
16#34#,16#8e#,16#43#,16#44#,
16#C4#,16#De#,16#E9#,16#Cb#,
16#54#,16#7b#,16#94#,16#32#,
16#A6#,16#C2#,16#23#,16#3d#,
16#Ee#,16#4c#,16#95#,16#0b#,
16#42#,16#Fa#,16#C3#,16#4e#,
16#08#,16#2e#,16#A1#,16#66#,
16#28#,16#D9#,16#24#,16#B2#,
16#76#,16#5b#,16#A2#,16#49#,
16#6d#,16#8b#,16#D1#,16#25#,
16#72#,16#F8#,16#F6#,16#64#,
16#86#,16#68#,16#98#,16#16#,
16#D4#,16#A4#,16#5c#,16#Cc#,
16#5d#,16#65#,16#B6#,16#92#,
16#6c#,16#70#,16#48#,16#50#,
16#Fd#,16#Ed#,16#B9#,16#Da#,
16#5e#,16#15#,16#46#,16#57#,
16#A7#,16#8d#,16#9d#,16#84#,
16#90#,16#D8#,16#Ab#,16#00#,
16#8c#,16#Bc#,16#D3#,16#0a#,
16#F7#,16#E4#,16#58#,16#05#,
16#B8#,16#B3#,16#45#,16#06#,
16#D0#,16#2c#,16#1e#,16#8f#,
16#Ca#,16#3f#,16#0f#,16#02#,
16#C1#,16#Af#,16#Bd#,16#03#,
16#01#,16#13#,16#8a#,16#6b#,
16#3a#,16#91#,16#11#,16#41#,
16#4f#,16#67#,16#Dc#,16#Ea#,
16#97#,16#F2#,16#Cf#,16#Ce#,
16#F0#,16#B4#,16#E6#,16#73#,
16#96#,16#Ac#,16#74#,16#22#,
16#E7#,16#Ad#,16#35#,16#85#,
16#E2#,16#F9#,16#37#,16#E8#,
16#1c#,16#75#,16#Df#,16#6e#,
16#47#,16#F1#,16#1a#,16#71#,
16#1d#,16#29#,16#C5#,16#89#,
16#6f#,16#B7#,16#62#,16#0e#,
16#Aa#,16#18#,16#Be#,16#1b#,
16#Fc#,16#56#,16#3e#,16#4b#,
16#C6#,16#D2#,16#79#,16#20#,
16#9a#,16#Db#,16#C0#,16#Fe#,
16#78#,16#Cd#,16#5a#,16#F4#,
16#1f#,16#Dd#,16#A8#,16#33#,
16#88#,16#07#,16#C7#,16#31#,
16#B1#,16#12#,16#10#,16#59#,
16#27#,16#80#,16#Ec#,16#5f#,
16#60#,16#51#,16#7f#,16#A9#,
16#19#,16#B5#,16#4a#,16#0d#,
16#2d#,16#E5#,16#7a#,16#9f#,
16#93#,16#C9#,16#9c#,16#Ef#,
16#A0#,16#E0#,16#3b#,16#4d#,
16#Ae#,16#2a#,16#F5#,16#B0#,
16#C8#,16#Eb#,16#Bb#,16#3c#,
16#83#,16#53#,16#99#,16#61#,
16#17#,16#2b#,16#04#,16#7e#,
16#Ba#,16#77#,16#D6#,16#26#,
16#E1#,16#69#,16#14#,16#63#,
16#55#,16#21#,16#0c#,16#7d#
);
U1 : constant array (Byte) of Word := (
16#00000000#, 16#0e090d0b#, 16#1c121a16#, 16#121b171d#,
16#3824342c#, 16#362d3927#, 16#24362e3a#, 16#2a3f2331#,
16#70486858#, 16#7e416553#, 16#6c5a724e#, 16#62537f45#,
16#486c5c74#, 16#4665517f#, 16#547e4662#, 16#5a774b69#,
16#E090D0B0#, 16#Ee99DdBb#, 16#Fc82CaA6#, 16#F28bC7Ad#,
16#D8B4E49c#, 16#D6BdE997#, 16#C4A6Fe8a#, 16#CaAfF381#,
16#90D8B8E8#, 16#9eD1B5E3#, 16#8cCaA2Fe#, 16#82C3AfF5#,
16#A8Fc8cC4#, 16#A6F581Cf#, 16#B4Ee96D2#, 16#BaE79bD9#,
16#Db3bBb7b#, 16#D532B670#, 16#C729A16d#, 16#C920Ac66#,
16#E31f8f57#, 16#Ed16825c#, 16#Ff0d9541#, 16#F104984a#,
16#Ab73D323#, 16#A57aDe28#, 16#B761C935#, 16#B968C43e#,
16#9357E70f#, 16#9d5eEa04#, 16#8f45Fd19#, 16#814cF012#,
16#3bAb6bCb#, 16#35A266C0#, 16#27B971Dd#, 16#29B07cD6#,
16#038f5fE7#, 16#0d8652Ec#, 16#1f9d45F1#, 16#119448Fa#,
16#4bE30393#, 16#45Ea0e98#, 16#57F11985#, 16#59F8148e#,
16#73C737Bf#, 16#7dCe3aB4#, 16#6fD52dA9#, 16#61Dc20A2#,
16#Ad766dF6#, 16#A37f60Fd#, 16#B16477E0#, 16#Bf6d7aEb#,
16#955259Da#, 16#9b5b54D1#, 16#894043Cc#, 16#87494eC7#,
16#Dd3e05Ae#, 16#D33708A5#, 16#C12c1fB8#, 16#Cf2512B3#,
16#E51a3182#, 16#Eb133c89#, 16#F9082b94#, 16#F701269f#,
16#4dE6Bd46#, 16#43EfB04d#, 16#51F4A750#, 16#5fFdAa5b#,
16#75C2896a#, 16#7bCb8461#, 16#69D0937c#, 16#67D99e77#,
16#3dAeD51e#, 16#33A7D815#, 16#21BcCf08#, 16#2fB5C203#,
16#058aE132#, 16#0b83Ec39#, 16#1998Fb24#, 16#1791F62f#,
16#764dD68d#, 16#7844Db86#, 16#6a5fCc9b#, 16#6456C190#,
16#4e69E2A1#, 16#4060EfAa#, 16#527bF8B7#, 16#5c72F5Bc#,
16#0605BeD5#, 16#080cB3De#, 16#1a17A4C3#, 16#141eA9C8#,
16#3e218aF9#, 16#302887F2#, 16#223390Ef#, 16#2c3a9dE4#,
16#96Dd063d#, 16#98D40b36#, 16#8aCf1c2b#, 16#84C61120#,
16#AeF93211#, 16#A0F03f1a#, 16#B2Eb2807#, 16#BcE2250c#,
16#E6956e65#, 16#E89c636e#, 16#Fa877473#, 16#F48e7978#,
16#DeB15a49#, 16#D0B85742#, 16#C2A3405f#, 16#CcAa4d54#,
16#41EcDaF7#, 16#4fE5D7Fc#, 16#5dFeC0E1#, 16#53F7CdEa#,
16#79C8EeDb#, 16#77C1E3D0#, 16#65DaF4Cd#, 16#6bD3F9C6#,
16#31A4B2Af#, 16#3fAdBfA4#, 16#2dB6A8B9#, 16#23BfA5B2#,
16#09808683#, 16#07898b88#, 16#15929c95#, 16#1b9b919e#,
16#A17c0a47#, 16#Af75074c#, 16#Bd6e1051#, 16#B3671d5a#,
16#99583e6b#, 16#97513360#, 16#854a247d#, 16#8b432976#,
16#D134621f#, 16#Df3d6f14#, 16#Cd267809#, 16#C32f7502#,
16#E9105633#, 16#E7195b38#, 16#F5024c25#, 16#Fb0b412e#,
16#9aD7618c#, 16#94De6c87#, 16#86C57b9a#, 16#88Cc7691#,
16#A2F355A0#, 16#AcFa58Ab#, 16#BeE14fB6#, 16#B0E842Bd#,
16#Ea9f09D4#, 16#E49604Df#, 16#F68d13C2#, 16#F8841eC9#,
16#D2Bb3dF8#, 16#DcB230F3#, 16#CeA927Ee#, 16#C0A02aE5#,
16#7a47B13c#, 16#744eBc37#, 16#6655Ab2a#, 16#685cA621#,
16#42638510#, 16#4c6a881b#, 16#5e719f06#, 16#5078920d#,
16#0a0fD964#, 16#0406D46f#, 16#161dC372#, 16#1814Ce79#,
16#322bEd48#, 16#3c22E043#, 16#2e39F75e#, 16#2030Fa55#,
16#Ec9aB701#, 16#E293Ba0a#, 16#F088Ad17#, 16#Fe81A01c#,
16#D4Be832d#, 16#DaB78e26#, 16#C8Ac993b#, 16#C6A59430#,
16#9cD2Df59#, 16#92DbD252#, 16#80C0C54f#, 16#8eC9C844#,
16#A4F6Eb75#, 16#AaFfE67e#, 16#B8E4F163#, 16#B6EdFc68#,
16#0c0a67B1#, 16#02036aBa#, 16#10187dA7#, 16#1e1170Ac#,
16#342e539d#, 16#3a275e96#, 16#283c498b#, 16#26354480#,
16#7c420fE9#, 16#724b02E2#, 16#605015Ff#, 16#6e5918F4#,
16#44663bC5#, 16#4a6f36Ce#, 16#587421D3#, 16#567d2cD8#,
16#37A10c7a#, 16#39A80171#, 16#2bB3166c#, 16#25Ba1b67#,
16#0f853856#, 16#018c355d#, 16#13972240#, 16#1d9e2f4b#,
16#47E96422#, 16#49E06929#, 16#5bFb7e34#, 16#55F2733f#,
16#7fCd500e#, 16#71C45d05#, 16#63Df4a18#, 16#6dD64713#,
16#D731DcCa#, 16#D938D1C1#, 16#Cb23C6Dc#, 16#C52aCbD7#,
16#Ef15E8E6#, 16#E11cE5Ed#, 16#F307F2F0#, 16#Fd0eFfFb#,
16#A779B492#, 16#A970B999#, 16#Bb6bAe84#, 16#B562A38f#,
16#9f5d80Be#, 16#91548dB5#, 16#834f9aA8#, 16#8d4697A3#
);
U2 : constant array (Byte) of Word := (
16#00000000#, 16#0b0e090d#, 16#161c121a#, 16#1d121b17#,
16#2c382434#, 16#27362d39#, 16#3a24362e#, 16#312a3f23#,
16#58704868#, 16#537e4165#, 16#4e6c5a72#, 16#4562537f#,
16#74486c5c#, 16#7f466551#, 16#62547e46#, 16#695a774b#,
16#B0E090D0#, 16#BbEe99Dd#, 16#A6Fc82Ca#, 16#AdF28bC7#,
16#9cD8B4E4#, 16#97D6BdE9#, 16#8aC4A6Fe#, 16#81CaAfF3#,
16#E890D8B8#, 16#E39eD1B5#, 16#Fe8cCaA2#, 16#F582C3Af#,
16#C4A8Fc8c#, 16#CfA6F581#, 16#D2B4Ee96#, 16#D9BaE79b#,
16#7bDb3bBb#, 16#70D532B6#, 16#6dC729A1#, 16#66C920Ac#,
16#57E31f8f#, 16#5cEd1682#, 16#41Ff0d95#, 16#4aF10498#,
16#23Ab73D3#, 16#28A57aDe#, 16#35B761C9#, 16#3eB968C4#,
16#0f9357E7#, 16#049d5eEa#, 16#198f45Fd#, 16#12814cF0#,
16#Cb3bAb6b#, 16#C035A266#, 16#Dd27B971#, 16#D629B07c#,
16#E7038f5f#, 16#Ec0d8652#, 16#F11f9d45#, 16#Fa119448#,
16#934bE303#, 16#9845Ea0e#, 16#8557F119#, 16#8e59F814#,
16#Bf73C737#, 16#B47dCe3a#, 16#A96fD52d#, 16#A261Dc20#,
16#F6Ad766d#, 16#FdA37f60#, 16#E0B16477#, 16#EbBf6d7a#,
16#Da955259#, 16#D19b5b54#, 16#Cc894043#, 16#C787494e#,
16#AeDd3e05#, 16#A5D33708#, 16#B8C12c1f#, 16#B3Cf2512#,
16#82E51a31#, 16#89Eb133c#, 16#94F9082b#, 16#9fF70126#,
16#464dE6Bd#, 16#4d43EfB0#, 16#5051F4A7#, 16#5b5fFdAa#,
16#6a75C289#, 16#617bCb84#, 16#7c69D093#, 16#7767D99e#,
16#1e3dAeD5#, 16#1533A7D8#, 16#0821BcCf#, 16#032fB5C2#,
16#32058aE1#, 16#390b83Ec#, 16#241998Fb#, 16#2f1791F6#,
16#8d764dD6#, 16#867844Db#, 16#9b6a5fCc#, 16#906456C1#,
16#A14e69E2#, 16#Aa4060Ef#, 16#B7527bF8#, 16#Bc5c72F5#,
16#D50605Be#, 16#De080cB3#, 16#C31a17A4#, 16#C8141eA9#,
16#F93e218a#, 16#F2302887#, 16#Ef223390#, 16#E42c3a9d#,
16#3d96Dd06#, 16#3698D40b#, 16#2b8aCf1c#, 16#2084C611#,
16#11AeF932#, 16#1aA0F03f#, 16#07B2Eb28#, 16#0cBcE225#,
16#65E6956e#, 16#6eE89c63#, 16#73Fa8774#, 16#78F48e79#,
16#49DeB15a#, 16#42D0B857#, 16#5fC2A340#, 16#54CcAa4d#,
16#F741EcDa#, 16#Fc4fE5D7#, 16#E15dFeC0#, 16#Ea53F7Cd#,
16#Db79C8Ee#, 16#D077C1E3#, 16#Cd65DaF4#, 16#C66bD3F9#,
16#Af31A4B2#, 16#A43fAdBf#, 16#B92dB6A8#, 16#B223BfA5#,
16#83098086#, 16#8807898b#, 16#9515929c#, 16#9e1b9b91#,
16#47A17c0a#, 16#4cAf7507#, 16#51Bd6e10#, 16#5aB3671d#,
16#6b99583e#, 16#60975133#, 16#7d854a24#, 16#768b4329#,
16#1fD13462#, 16#14Df3d6f#, 16#09Cd2678#, 16#02C32f75#,
16#33E91056#, 16#38E7195b#, 16#25F5024c#, 16#2eFb0b41#,
16#8c9aD761#, 16#8794De6c#, 16#9a86C57b#, 16#9188Cc76#,
16#A0A2F355#, 16#AbAcFa58#, 16#B6BeE14f#, 16#BdB0E842#,
16#D4Ea9f09#, 16#DfE49604#, 16#C2F68d13#, 16#C9F8841e#,
16#F8D2Bb3d#, 16#F3DcB230#, 16#EeCeA927#, 16#E5C0A02a#,
16#3c7a47B1#, 16#37744eBc#, 16#2a6655Ab#, 16#21685cA6#,
16#10426385#, 16#1b4c6a88#, 16#065e719f#, 16#0d507892#,
16#640a0fD9#, 16#6f0406D4#, 16#72161dC3#, 16#791814Ce#,
16#48322bEd#, 16#433c22E0#, 16#5e2e39F7#, 16#552030Fa#,
16#01Ec9aB7#, 16#0aE293Ba#, 16#17F088Ad#, 16#1cFe81A0#,
16#2dD4Be83#, 16#26DaB78e#, 16#3bC8Ac99#, 16#30C6A594#,
16#599cD2Df#, 16#5292DbD2#, 16#4f80C0C5#, 16#448eC9C8#,
16#75A4F6Eb#, 16#7eAaFfE6#, 16#63B8E4F1#, 16#68B6EdFc#,
16#B10c0a67#, 16#Ba02036a#, 16#A710187d#, 16#Ac1e1170#,
16#9d342e53#, 16#963a275e#, 16#8b283c49#, 16#80263544#,
16#E97c420f#, 16#E2724b02#, 16#Ff605015#, 16#F46e5918#,
16#C544663b#, 16#Ce4a6f36#, 16#D3587421#, 16#D8567d2c#,
16#7a37A10c#, 16#7139A801#, 16#6c2bB316#, 16#6725Ba1b#,
16#560f8538#, 16#5d018c35#, 16#40139722#, 16#4b1d9e2f#,
16#2247E964#, 16#2949E069#, 16#345bFb7e#, 16#3f55F273#,
16#0e7fCd50#, 16#0571C45d#, 16#1863Df4a#, 16#136dD647#,
16#CaD731Dc#, 16#C1D938D1#, 16#DcCb23C6#, 16#D7C52aCb#,
16#E6Ef15E8#, 16#EdE11cE5#, 16#F0F307F2#, 16#FbFd0eFf#,
16#92A779B4#, 16#99A970B9#, 16#84Bb6bAe#, 16#8fB562A3#,
16#Be9f5d80#, 16#B591548d#, 16#A8834f9a#, 16#A38d4697#
);
U3 : constant array (Byte) of Word := (
16#00000000#, 16#0d0b0e09#, 16#1a161c12#, 16#171d121b#,
16#342c3824#, 16#3927362d#, 16#2e3a2436#, 16#23312a3f#,
16#68587048#, 16#65537e41#, 16#724e6c5a#, 16#7f456253#,
16#5c74486c#, 16#517f4665#, 16#4662547e#, 16#4b695a77#,
16#D0B0E090#, 16#DdBbEe99#, 16#CaA6Fc82#, 16#C7AdF28b#,
16#E49cD8B4#, 16#E997D6Bd#, 16#Fe8aC4A6#, 16#F381CaAf#,
16#B8E890D8#, 16#B5E39eD1#, 16#A2Fe8cCa#, 16#AfF582C3#,
16#8cC4A8Fc#, 16#81CfA6F5#, 16#96D2B4Ee#, 16#9bD9BaE7#,
16#Bb7bDb3b#, 16#B670D532#, 16#A16dC729#, 16#Ac66C920#,
16#8f57E31f#, 16#825cEd16#, 16#9541Ff0d#, 16#984aF104#,
16#D323Ab73#, 16#De28A57a#, 16#C935B761#, 16#C43eB968#,
16#E70f9357#, 16#Ea049d5e#, 16#Fd198f45#, 16#F012814c#,
16#6bCb3bAb#, 16#66C035A2#, 16#71Dd27B9#, 16#7cD629B0#,
16#5fE7038f#, 16#52Ec0d86#, 16#45F11f9d#, 16#48Fa1194#,
16#03934bE3#, 16#0e9845Ea#, 16#198557F1#, 16#148e59F8#,
16#37Bf73C7#, 16#3aB47dCe#, 16#2dA96fD5#, 16#20A261Dc#,
16#6dF6Ad76#, 16#60FdA37f#, 16#77E0B164#, 16#7aEbBf6d#,
16#59Da9552#, 16#54D19b5b#, 16#43Cc8940#, 16#4eC78749#,
16#05AeDd3e#, 16#08A5D337#, 16#1fB8C12c#, 16#12B3Cf25#,
16#3182E51a#, 16#3c89Eb13#, 16#2b94F908#, 16#269fF701#,
16#Bd464dE6#, 16#B04d43Ef#, 16#A75051F4#, 16#Aa5b5fFd#,
16#896a75C2#, 16#84617bCb#, 16#937c69D0#, 16#9e7767D9#,
16#D51e3dAe#, 16#D81533A7#, 16#Cf0821Bc#, 16#C2032fB5#,
16#E132058a#, 16#Ec390b83#, 16#Fb241998#, 16#F62f1791#,
16#D68d764d#, 16#Db867844#, 16#Cc9b6a5f#, 16#C1906456#,
16#E2A14e69#, 16#EfAa4060#, 16#F8B7527b#, 16#F5Bc5c72#,
16#BeD50605#, 16#B3De080c#, 16#A4C31a17#, 16#A9C8141e#,
16#8aF93e21#, 16#87F23028#, 16#90Ef2233#, 16#9dE42c3a#,
16#063d96Dd#, 16#0b3698D4#, 16#1c2b8aCf#, 16#112084C6#,
16#3211AeF9#, 16#3f1aA0F0#, 16#2807B2Eb#, 16#250cBcE2#,
16#6e65E695#, 16#636eE89c#, 16#7473Fa87#, 16#7978F48e#,
16#5a49DeB1#, 16#5742D0B8#, 16#405fC2A3#, 16#4d54CcAa#,
16#DaF741Ec#, 16#D7Fc4fE5#, 16#C0E15dFe#, 16#CdEa53F7#,
16#EeDb79C8#, 16#E3D077C1#, 16#F4Cd65Da#, 16#F9C66bD3#,
16#B2Af31A4#, 16#BfA43fAd#, 16#A8B92dB6#, 16#A5B223Bf#,
16#86830980#, 16#8b880789#, 16#9c951592#, 16#919e1b9b#,
16#0a47A17c#, 16#074cAf75#, 16#1051Bd6e#, 16#1d5aB367#,
16#3e6b9958#, 16#33609751#, 16#247d854a#, 16#29768b43#,
16#621fD134#, 16#6f14Df3d#, 16#7809Cd26#, 16#7502C32f#,
16#5633E910#, 16#5b38E719#, 16#4c25F502#, 16#412eFb0b#,
16#618c9aD7#, 16#6c8794De#, 16#7b9a86C5#, 16#769188Cc#,
16#55A0A2F3#, 16#58AbAcFa#, 16#4fB6BeE1#, 16#42BdB0E8#,
16#09D4Ea9f#, 16#04DfE496#, 16#13C2F68d#, 16#1eC9F884#,
16#3dF8D2Bb#, 16#30F3DcB2#, 16#27EeCeA9#, 16#2aE5C0A0#,
16#B13c7a47#, 16#Bc37744e#, 16#Ab2a6655#, 16#A621685c#,
16#85104263#, 16#881b4c6a#, 16#9f065e71#, 16#920d5078#,
16#D9640a0f#, 16#D46f0406#, 16#C372161d#, 16#Ce791814#,
16#Ed48322b#, 16#E0433c22#, 16#F75e2e39#, 16#Fa552030#,
16#B701Ec9a#, 16#Ba0aE293#, 16#Ad17F088#, 16#A01cFe81#,
16#832dD4Be#, 16#8e26DaB7#, 16#993bC8Ac#, 16#9430C6A5#,
16#Df599cD2#, 16#D25292Db#, 16#C54f80C0#, 16#C8448eC9#,
16#Eb75A4F6#, 16#E67eAaFf#, 16#F163B8E4#, 16#Fc68B6Ed#,
16#67B10c0a#, 16#6aBa0203#, 16#7dA71018#, 16#70Ac1e11#,
16#539d342e#, 16#5e963a27#, 16#498b283c#, 16#44802635#,
16#0fE97c42#, 16#02E2724b#, 16#15Ff6050#, 16#18F46e59#,
16#3bC54466#, 16#36Ce4a6f#, 16#21D35874#, 16#2cD8567d#,
16#0c7a37A1#, 16#017139A8#, 16#166c2bB3#, 16#1b6725Ba#,
16#38560f85#, 16#355d018c#, 16#22401397#, 16#2f4b1d9e#,
16#642247E9#, 16#692949E0#, 16#7e345bFb#, 16#733f55F2#,
16#500e7fCd#, 16#5d0571C4#, 16#4a1863Df#, 16#47136dD6#,
16#DcCaD731#, 16#D1C1D938#, 16#C6DcCb23#, 16#CbD7C52a#,
16#E8E6Ef15#, 16#E5EdE11c#, 16#F2F0F307#, 16#FfFbFd0e#,
16#B492A779#, 16#B999A970#, 16#Ae84Bb6b#, 16#A38fB562#,
16#80Be9f5d#, 16#8dB59154#, 16#9aA8834f#, 16#97A38d46#
);
U4 : constant array (Byte) of Word := (
16#00000000#, 16#090d0b0e#, 16#121a161c#, 16#1b171d12#,
16#24342c38#, 16#2d392736#, 16#362e3a24#, 16#3f23312a#,
16#48685870#, 16#4165537e#, 16#5a724e6c#, 16#537f4562#,
16#6c5c7448#, 16#65517f46#, 16#7e466254#, 16#774b695a#,
16#90D0B0E0#, 16#99DdBbEe#, 16#82CaA6Fc#, 16#8bC7AdF2#,
16#B4E49cD8#, 16#BdE997D6#, 16#A6Fe8aC4#, 16#AfF381Ca#,
16#D8B8E890#, 16#D1B5E39e#, 16#CaA2Fe8c#, 16#C3AfF582#,
16#Fc8cC4A8#, 16#F581CfA6#, 16#Ee96D2B4#, 16#E79bD9Ba#,
16#3bBb7bDb#, 16#32B670D5#, 16#29A16dC7#, 16#20Ac66C9#,
16#1f8f57E3#, 16#16825cEd#, 16#0d9541Ff#, 16#04984aF1#,
16#73D323Ab#, 16#7aDe28A5#, 16#61C935B7#, 16#68C43eB9#,
16#57E70f93#, 16#5eEa049d#, 16#45Fd198f#, 16#4cF01281#,
16#Ab6bCb3b#, 16#A266C035#, 16#B971Dd27#, 16#B07cD629#,
16#8f5fE703#, 16#8652Ec0d#, 16#9d45F11f#, 16#9448Fa11#,
16#E303934b#, 16#Ea0e9845#, 16#F1198557#, 16#F8148e59#,
16#C737Bf73#, 16#Ce3aB47d#, 16#D52dA96f#, 16#Dc20A261#,
16#766dF6Ad#, 16#7f60FdA3#, 16#6477E0B1#, 16#6d7aEbBf#,
16#5259Da95#, 16#5b54D19b#, 16#4043Cc89#, 16#494eC787#,
16#3e05AeDd#, 16#3708A5D3#, 16#2c1fB8C1#, 16#2512B3Cf#,
16#1a3182E5#, 16#133c89Eb#, 16#082b94F9#, 16#01269fF7#,
16#E6Bd464d#, 16#EfB04d43#, 16#F4A75051#, 16#FdAa5b5f#,
16#C2896a75#, 16#Cb84617b#, 16#D0937c69#, 16#D99e7767#,
16#AeD51e3d#, 16#A7D81533#, 16#BcCf0821#, 16#B5C2032f#,
16#8aE13205#, 16#83Ec390b#, 16#98Fb2419#, 16#91F62f17#,
16#4dD68d76#, 16#44Db8678#, 16#5fCc9b6a#, 16#56C19064#,
16#69E2A14e#, 16#60EfAa40#, 16#7bF8B752#, 16#72F5Bc5c#,
16#05BeD506#, 16#0cB3De08#, 16#17A4C31a#, 16#1eA9C814#,
16#218aF93e#, 16#2887F230#, 16#3390Ef22#, 16#3a9dE42c#,
16#Dd063d96#, 16#D40b3698#, 16#Cf1c2b8a#, 16#C6112084#,
16#F93211Ae#, 16#F03f1aA0#, 16#Eb2807B2#, 16#E2250cBc#,
16#956e65E6#, 16#9c636eE8#, 16#877473Fa#, 16#8e7978F4#,
16#B15a49De#, 16#B85742D0#, 16#A3405fC2#, 16#Aa4d54Cc#,
16#EcDaF741#, 16#E5D7Fc4f#, 16#FeC0E15d#, 16#F7CdEa53#,
16#C8EeDb79#, 16#C1E3D077#, 16#DaF4Cd65#, 16#D3F9C66b#,
16#A4B2Af31#, 16#AdBfA43f#, 16#B6A8B92d#, 16#BfA5B223#,
16#80868309#, 16#898b8807#, 16#929c9515#, 16#9b919e1b#,
16#7c0a47A1#, 16#75074cAf#, 16#6e1051Bd#, 16#671d5aB3#,
16#583e6b99#, 16#51336097#, 16#4a247d85#, 16#4329768b#,
16#34621fD1#, 16#3d6f14Df#, 16#267809Cd#, 16#2f7502C3#,
16#105633E9#, 16#195b38E7#, 16#024c25F5#, 16#0b412eFb#,
16#D7618c9a#, 16#De6c8794#, 16#C57b9a86#, 16#Cc769188#,
16#F355A0A2#, 16#Fa58AbAc#, 16#E14fB6Be#, 16#E842BdB0#,
16#9f09D4Ea#, 16#9604DfE4#, 16#8d13C2F6#, 16#841eC9F8#,
16#Bb3dF8D2#, 16#B230F3Dc#, 16#A927EeCe#, 16#A02aE5C0#,
16#47B13c7a#, 16#4eBc3774#, 16#55Ab2a66#, 16#5cA62168#,
16#63851042#, 16#6a881b4c#, 16#719f065e#, 16#78920d50#,
16#0fD9640a#, 16#06D46f04#, 16#1dC37216#, 16#14Ce7918#,
16#2bEd4832#, 16#22E0433c#, 16#39F75e2e#, 16#30Fa5520#,
16#9aB701Ec#, 16#93Ba0aE2#, 16#88Ad17F0#, 16#81A01cFe#,
16#Be832dD4#, 16#B78e26Da#, 16#Ac993bC8#, 16#A59430C6#,
16#D2Df599c#, 16#DbD25292#, 16#C0C54f80#, 16#C9C8448e#,
16#F6Eb75A4#, 16#FfE67eAa#, 16#E4F163B8#, 16#EdFc68B6#,
16#0a67B10c#, 16#036aBa02#, 16#187dA710#, 16#1170Ac1e#,
16#2e539d34#, 16#275e963a#, 16#3c498b28#, 16#35448026#,
16#420fE97c#, 16#4b02E272#, 16#5015Ff60#, 16#5918F46e#,
16#663bC544#, 16#6f36Ce4a#, 16#7421D358#, 16#7d2cD856#,
16#A10c7a37#, 16#A8017139#, 16#B3166c2b#, 16#Ba1b6725#,
16#8538560f#, 16#8c355d01#, 16#97224013#, 16#9e2f4b1d#,
16#E9642247#, 16#E0692949#, 16#Fb7e345b#, 16#F2733f55#,
16#Cd500e7f#, 16#C45d0571#, 16#Df4a1863#, 16#D647136d#,
16#31DcCaD7#, 16#38D1C1D9#, 16#23C6DcCb#, 16#2aCbD7C5#,
16#15E8E6Ef#, 16#1cE5EdE1#, 16#07F2F0F3#, 16#0eFfFbFd#,
16#79B492A7#, 16#70B999A9#, 16#6bAe84Bb#, 16#62A38fB5#,
16#5d80Be9f#, 16#548dB591#, 16#4f9aA883#, 16#4697A38d#
);
Rcon : constant array (1 .. 30) of Word :=
(16#0100_0000#, 16#0200_0000#, 16#0400_0000#, 16#0800_0000#,
16#1000_0000#, 16#2000_0000#, 16#4000_0000#, 16#8000_0000#,
16#1b00_0000#, 16#3600_0000#, 16#6c00_0000#, 16#D800_0000#,
16#Ab00_0000#, 16#4d00_0000#, 16#9a00_0000#, 16#2f00_0000#,
16#5e00_0000#, 16#Bc00_0000#, 16#6300_0000#, 16#C600_0000#,
16#9700_0000#, 16#3500_0000#, 16#6a00_0000#, 16#D400_0000#,
16#B300_0000#, 16#7d00_0000#, 16#Fa00_0000#, 16#Ef00_0000#,
16#C500_0000#, 16#9100_0000#);
end Crypto.Symmetric.Algorithm.AES.Tables;