brintos

brintos / llvm-project-archived public Read only

0
0
Text · 25.4 KiB · 3037e64 Raw
1879 lines · cpp
1//===- llvm/unittest/Support/SipHashTest.cpp ------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "llvm/Support/SipHash.h"10#include "llvm/ADT/ArrayRef.h"11#include "gtest/gtest.h"12#include <string.h>13 14using namespace llvm;15 16namespace {17 18// Tests from the SipHash reference implementation:19//   https://github.com/veorq/SipHash20// from test.c and vectors.h, with the latter vectors at the end of the file,21// forward-declared here.22extern const uint8_t ExpectedSipHash64[64][8];23extern const uint8_t ExpectedSipHash128[64][16];24 25TEST(SipHashTest, SipHash_2_4_64) {26  uint8_t K[16];27  for (size_t KI = 0; KI < sizeof(K); ++KI)28    K[KI] = KI;29 30  uint8_t In[64], Out[8];31  for (size_t InLen = 0; InLen < sizeof(In); ++InLen) {32    In[InLen] = InLen;33    getSipHash_2_4_64(ArrayRef(In, InLen), K, Out);34    for (size_t I = 0; I < sizeof(Out); ++I)35      EXPECT_EQ(ExpectedSipHash64[InLen][I], Out[I]);36  }37}38 39TEST(SipHashTest, SipHash_2_4_128) {40  uint8_t K[16];41  for (size_t KI = 0; KI < sizeof(K); ++KI)42    K[KI] = KI;43 44  uint8_t In[64], Out[16];45  for (size_t InLen = 0; InLen < sizeof(In); ++InLen) {46    In[InLen] = InLen;47    getSipHash_2_4_128(ArrayRef(In, InLen), K, Out);48    for (size_t I = 0; I < sizeof(Out); ++I)49      EXPECT_EQ(ExpectedSipHash128[InLen][I], Out[I]);50  }51}52 53// Tests for the 64-bit stable SipHash wrapper.54TEST(SipHashTest, StableSipHash) {55  EXPECT_EQ(0xB2BB69BB0A2AC0F1UL, getStableSipHash(""));56  EXPECT_EQ(0x9304ABFF427B72E8UL, getStableSipHash("strlen"));57  EXPECT_EQ(0x55F45179A08AE51BUL, getStableSipHash("_ZN1 ind; f"));58}59 60// Tests for the ptrauth-specific SipHash wrapper.61TEST(SipHashTest, PointerAuthSipHash) {62  // Test some basic cases.63  EXPECT_EQ(0xE793, getPointerAuthStableSipHash(""));64  EXPECT_EQ(0xF468, getPointerAuthStableSipHash("strlen"));65  EXPECT_EQ(0x2D15, getPointerAuthStableSipHash("_ZN1 ind; f"));66 67  // Test some known strings that are already enshrined in the ABI.68  EXPECT_EQ(0x6AE1, getPointerAuthStableSipHash("isa"));69  EXPECT_EQ(0xB5AB, getPointerAuthStableSipHash("objc_class:superclass"));70  EXPECT_EQ(0xC0BB, getPointerAuthStableSipHash("block_descriptor"));71  EXPECT_EQ(0xC310, getPointerAuthStableSipHash("method_list_t"));72 73  // Test limit cases where we differ from naive truncations from 64-bit hashes.74  EXPECT_EQ(1, getPointerAuthStableSipHash("_Zptrkvttf"));75  EXPECT_EQ(0xFFFF, getPointerAuthStableSipHash("_Zaflhllod"));76}77 78// Below are the unmodified expected outputs from the reference vectors.h.79 80const uint8_t ExpectedSipHash64[64][8] = {81    {82        0x31,83        0x0e,84        0x0e,85        0xdd,86        0x47,87        0xdb,88        0x6f,89        0x72,90    },91    {92        0xfd,93        0x67,94        0xdc,95        0x93,96        0xc5,97        0x39,98        0xf8,99        0x74,100    },101    {102        0x5a,103        0x4f,104        0xa9,105        0xd9,106        0x09,107        0x80,108        0x6c,109        0x0d,110    },111    {112        0x2d,113        0x7e,114        0xfb,115        0xd7,116        0x96,117        0x66,118        0x67,119        0x85,120    },121    {122        0xb7,123        0x87,124        0x71,125        0x27,126        0xe0,127        0x94,128        0x27,129        0xcf,130    },131    {132        0x8d,133        0xa6,134        0x99,135        0xcd,136        0x64,137        0x55,138        0x76,139        0x18,140    },141    {142        0xce,143        0xe3,144        0xfe,145        0x58,146        0x6e,147        0x46,148        0xc9,149        0xcb,150    },151    {152        0x37,153        0xd1,154        0x01,155        0x8b,156        0xf5,157        0x00,158        0x02,159        0xab,160    },161    {162        0x62,163        0x24,164        0x93,165        0x9a,166        0x79,167        0xf5,168        0xf5,169        0x93,170    },171    {172        0xb0,173        0xe4,174        0xa9,175        0x0b,176        0xdf,177        0x82,178        0x00,179        0x9e,180    },181    {182        0xf3,183        0xb9,184        0xdd,185        0x94,186        0xc5,187        0xbb,188        0x5d,189        0x7a,190    },191    {192        0xa7,193        0xad,194        0x6b,195        0x22,196        0x46,197        0x2f,198        0xb3,199        0xf4,200    },201    {202        0xfb,203        0xe5,204        0x0e,205        0x86,206        0xbc,207        0x8f,208        0x1e,209        0x75,210    },211    {212        0x90,213        0x3d,214        0x84,215        0xc0,216        0x27,217        0x56,218        0xea,219        0x14,220    },221    {222        0xee,223        0xf2,224        0x7a,225        0x8e,226        0x90,227        0xca,228        0x23,229        0xf7,230    },231    {232        0xe5,233        0x45,234        0xbe,235        0x49,236        0x61,237        0xca,238        0x29,239        0xa1,240    },241    {242        0xdb,243        0x9b,244        0xc2,245        0x57,246        0x7f,247        0xcc,248        0x2a,249        0x3f,250    },251    {252        0x94,253        0x47,254        0xbe,255        0x2c,256        0xf5,257        0xe9,258        0x9a,259        0x69,260    },261    {262        0x9c,263        0xd3,264        0x8d,265        0x96,266        0xf0,267        0xb3,268        0xc1,269        0x4b,270    },271    {272        0xbd,273        0x61,274        0x79,275        0xa7,276        0x1d,277        0xc9,278        0x6d,279        0xbb,280    },281    {282        0x98,283        0xee,284        0xa2,285        0x1a,286        0xf2,287        0x5c,288        0xd6,289        0xbe,290    },291    {292        0xc7,293        0x67,294        0x3b,295        0x2e,296        0xb0,297        0xcb,298        0xf2,299        0xd0,300    },301    {302        0x88,303        0x3e,304        0xa3,305        0xe3,306        0x95,307        0x67,308        0x53,309        0x93,310    },311    {312        0xc8,313        0xce,314        0x5c,315        0xcd,316        0x8c,317        0x03,318        0x0c,319        0xa8,320    },321    {322        0x94,323        0xaf,324        0x49,325        0xf6,326        0xc6,327        0x50,328        0xad,329        0xb8,330    },331    {332        0xea,333        0xb8,334        0x85,335        0x8a,336        0xde,337        0x92,338        0xe1,339        0xbc,340    },341    {342        0xf3,343        0x15,344        0xbb,345        0x5b,346        0xb8,347        0x35,348        0xd8,349        0x17,350    },351    {352        0xad,353        0xcf,354        0x6b,355        0x07,356        0x63,357        0x61,358        0x2e,359        0x2f,360    },361    {362        0xa5,363        0xc9,364        0x1d,365        0xa7,366        0xac,367        0xaa,368        0x4d,369        0xde,370    },371    {372        0x71,373        0x65,374        0x95,375        0x87,376        0x66,377        0x50,378        0xa2,379        0xa6,380    },381    {382        0x28,383        0xef,384        0x49,385        0x5c,386        0x53,387        0xa3,388        0x87,389        0xad,390    },391    {392        0x42,393        0xc3,394        0x41,395        0xd8,396        0xfa,397        0x92,398        0xd8,399        0x32,400    },401    {402        0xce,403        0x7c,404        0xf2,405        0x72,406        0x2f,407        0x51,408        0x27,409        0x71,410    },411    {412        0xe3,413        0x78,414        0x59,415        0xf9,416        0x46,417        0x23,418        0xf3,419        0xa7,420    },421    {422        0x38,423        0x12,424        0x05,425        0xbb,426        0x1a,427        0xb0,428        0xe0,429        0x12,430    },431    {432        0xae,433        0x97,434        0xa1,435        0x0f,436        0xd4,437        0x34,438        0xe0,439        0x15,440    },441    {442        0xb4,443        0xa3,444        0x15,445        0x08,446        0xbe,447        0xff,448        0x4d,449        0x31,450    },451    {452        0x81,453        0x39,454        0x62,455        0x29,456        0xf0,457        0x90,458        0x79,459        0x02,460    },461    {462        0x4d,463        0x0c,464        0xf4,465        0x9e,466        0xe5,467        0xd4,468        0xdc,469        0xca,470    },471    {472        0x5c,473        0x73,474        0x33,475        0x6a,476        0x76,477        0xd8,478        0xbf,479        0x9a,480    },481    {482        0xd0,483        0xa7,484        0x04,485        0x53,486        0x6b,487        0xa9,488        0x3e,489        0x0e,490    },491    {492        0x92,493        0x59,494        0x58,495        0xfc,496        0xd6,497        0x42,498        0x0c,499        0xad,500    },501    {502        0xa9,503        0x15,504        0xc2,505        0x9b,506        0xc8,507        0x06,508        0x73,509        0x18,510    },511    {512        0x95,513        0x2b,514        0x79,515        0xf3,516        0xbc,517        0x0a,518        0xa6,519        0xd4,520    },521    {522        0xf2,523        0x1d,524        0xf2,525        0xe4,526        0x1d,527        0x45,528        0x35,529        0xf9,530    },531    {532        0x87,533        0x57,534        0x75,535        0x19,536        0x04,537        0x8f,538        0x53,539        0xa9,540    },541    {542        0x10,543        0xa5,544        0x6c,545        0xf5,546        0xdf,547        0xcd,548        0x9a,549        0xdb,550    },551    {552        0xeb,553        0x75,554        0x09,555        0x5c,556        0xcd,557        0x98,558        0x6c,559        0xd0,560    },561    {562        0x51,563        0xa9,564        0xcb,565        0x9e,566        0xcb,567        0xa3,568        0x12,569        0xe6,570    },571    {572        0x96,573        0xaf,574        0xad,575        0xfc,576        0x2c,577        0xe6,578        0x66,579        0xc7,580    },581    {582        0x72,583        0xfe,584        0x52,585        0x97,586        0x5a,587        0x43,588        0x64,589        0xee,590    },591    {592        0x5a,593        0x16,594        0x45,595        0xb2,596        0x76,597        0xd5,598        0x92,599        0xa1,600    },601    {602        0xb2,603        0x74,604        0xcb,605        0x8e,606        0xbf,607        0x87,608        0x87,609        0x0a,610    },611    {612        0x6f,613        0x9b,614        0xb4,615        0x20,616        0x3d,617        0xe7,618        0xb3,619        0x81,620    },621    {622        0xea,623        0xec,624        0xb2,625        0xa3,626        0x0b,627        0x22,628        0xa8,629        0x7f,630    },631    {632        0x99,633        0x24,634        0xa4,635        0x3c,636        0xc1,637        0x31,638        0x57,639        0x24,640    },641    {642        0xbd,643        0x83,644        0x8d,645        0x3a,646        0xaf,647        0xbf,648        0x8d,649        0xb7,650    },651    {652        0x0b,653        0x1a,654        0x2a,655        0x32,656        0x65,657        0xd5,658        0x1a,659        0xea,660    },661    {662        0x13,663        0x50,664        0x79,665        0xa3,666        0x23,667        0x1c,668        0xe6,669        0x60,670    },671    {672        0x93,673        0x2b,674        0x28,675        0x46,676        0xe4,677        0xd7,678        0x06,679        0x66,680    },681    {682        0xe1,683        0x91,684        0x5f,685        0x5c,686        0xb1,687        0xec,688        0xa4,689        0x6c,690    },691    {692        0xf3,693        0x25,694        0x96,695        0x5c,696        0xa1,697        0x6d,698        0x62,699        0x9f,700    },701    {702        0x57,703        0x5f,704        0xf2,705        0x8e,706        0x60,707        0x38,708        0x1b,709        0xe5,710    },711    {712        0x72,713        0x45,714        0x06,715        0xeb,716        0x4c,717        0x32,718        0x8a,719        0x95,720    },721};722 723const uint8_t ExpectedSipHash128[64][16] = {724    {725        0xa3,726        0x81,727        0x7f,728        0x04,729        0xba,730        0x25,731        0xa8,732        0xe6,733        0x6d,734        0xf6,735        0x72,736        0x14,737        0xc7,738        0x55,739        0x02,740        0x93,741    },742    {743        0xda,744        0x87,745        0xc1,746        0xd8,747        0x6b,748        0x99,749        0xaf,750        0x44,751        0x34,752        0x76,753        0x59,754        0x11,755        0x9b,756        0x22,757        0xfc,758        0x45,759    },760    {761        0x81,762        0x77,763        0x22,764        0x8d,765        0xa4,766        0xa4,767        0x5d,768        0xc7,769        0xfc,770        0xa3,771        0x8b,772        0xde,773        0xf6,774        0x0a,775        0xff,776        0xe4,777    },778    {779        0x9c,780        0x70,781        0xb6,782        0x0c,783        0x52,784        0x67,785        0xa9,786        0x4e,787        0x5f,788        0x33,789        0xb6,790        0xb0,791        0x29,792        0x85,793        0xed,794        0x51,795    },796    {797        0xf8,798        0x81,799        0x64,800        0xc1,801        0x2d,802        0x9c,803        0x8f,804        0xaf,805        0x7d,806        0x0f,807        0x6e,808        0x7c,809        0x7b,810        0xcd,811        0x55,812        0x79,813    },814    {815        0x13,816        0x68,817        0x87,818        0x59,819        0x80,820        0x77,821        0x6f,822        0x88,823        0x54,824        0x52,825        0x7a,826        0x07,827        0x69,828        0x0e,829        0x96,830        0x27,831    },832    {833        0x14,834        0xee,835        0xca,836        0x33,837        0x8b,838        0x20,839        0x86,840        0x13,841        0x48,842        0x5e,843        0xa0,844        0x30,845        0x8f,846        0xd7,847        0xa1,848        0x5e,849    },850    {851        0xa1,852        0xf1,853        0xeb,854        0xbe,855        0xd8,856        0xdb,857        0xc1,858        0x53,859        0xc0,860        0xb8,861        0x4a,862        0xa6,863        0x1f,864        0xf0,865        0x82,866        0x39,867    },868    {869        0x3b,870        0x62,871        0xa9,872        0xba,873        0x62,874        0x58,875        0xf5,876        0x61,877        0x0f,878        0x83,879        0xe2,880        0x64,881        0xf3,882        0x14,883        0x97,884        0xb4,885    },886    {887        0x26,888        0x44,889        0x99,890        0x06,891        0x0a,892        0xd9,893        0xba,894        0xab,895        0xc4,896        0x7f,897        0x8b,898        0x02,899        0xbb,900        0x6d,901        0x71,902        0xed,903    },904    {905        0x00,906        0x11,907        0x0d,908        0xc3,909        0x78,910        0x14,911        0x69,912        0x56,913        0xc9,914        0x54,915        0x47,916        0xd3,917        0xf3,918        0xd0,919        0xfb,920        0xba,921    },922    {923        0x01,924        0x51,925        0xc5,926        0x68,927        0x38,928        0x6b,929        0x66,930        0x77,931        0xa2,932        0xb4,933        0xdc,934        0x6f,935        0x81,936        0xe5,937        0xdc,938        0x18,939    },940    {941        0xd6,942        0x26,943        0xb2,944        0x66,945        0x90,946        0x5e,947        0xf3,948        0x58,949        0x82,950        0x63,951        0x4d,952        0xf6,953        0x85,954        0x32,955        0xc1,956        0x25,957    },958    {959        0x98,960        0x69,961        0xe2,962        0x47,963        0xe9,964        0xc0,965        0x8b,966        0x10,967        0xd0,968        0x29,969        0x93,970        0x4f,971        0xc4,972        0xb9,973        0x52,974        0xf7,975    },976    {977        0x31,978        0xfc,979        0xef,980        0xac,981        0x66,982        0xd7,983        0xde,984        0x9c,985        0x7e,986        0xc7,987        0x48,988        0x5f,989        0xe4,990        0x49,991        0x49,992        0x02,993    },994    {995        0x54,996        0x93,997        0xe9,998        0x99,999        0x33,1000        0xb0,1001        0xa8,1002        0x11,1003        0x7e,1004        0x08,1005        0xec,1006        0x0f,1007        0x97,1008        0xcf,1009        0xc3,1010        0xd9,1011    },1012    {1013        0x6e,1014        0xe2,1015        0xa4,1016        0xca,1017        0x67,1018        0xb0,1019        0x54,1020        0xbb,1021        0xfd,1022        0x33,1023        0x15,1024        0xbf,1025        0x85,1026        0x23,1027        0x05,1028        0x77,1029    },1030    {1031        0x47,1032        0x3d,1033        0x06,1034        0xe8,1035        0x73,1036        0x8d,1037        0xb8,1038        0x98,1039        0x54,1040        0xc0,1041        0x66,1042        0xc4,1043        0x7a,1044        0xe4,1045        0x77,1046        0x40,1047    },1048    {1049        0xa4,1050        0x26,1051        0xe5,1052        0xe4,1053        0x23,1054        0xbf,1055        0x48,1056        0x85,1057        0x29,1058        0x4d,1059        0xa4,1060        0x81,1061        0xfe,1062        0xae,1063        0xf7,1064        0x23,1065    },1066    {1067        0x78,1068        0x01,1069        0x77,1070        0x31,1071        0xcf,1072        0x65,1073        0xfa,1074        0xb0,1075        0x74,1076        0xd5,1077        0x20,1078        0x89,1079        0x52,1080        0x51,1081        0x2e,1082        0xb1,1083    },1084    {1085        0x9e,1086        0x25,1087        0xfc,1088        0x83,1089        0x3f,1090        0x22,1091        0x90,1092        0x73,1093        0x3e,1094        0x93,1095        0x44,1096        0xa5,1097        0xe8,1098        0x38,1099        0x39,1100        0xeb,1101    },1102    {1103        0x56,1104        0x8e,1105        0x49,1106        0x5a,1107        0xbe,1108        0x52,1109        0x5a,1110        0x21,1111        0x8a,1112        0x22,1113        0x14,1114        0xcd,1115        0x3e,1116        0x07,1117        0x1d,1118        0x12,1119    },1120    {1121        0x4a,1122        0x29,1123        0xb5,1124        0x45,1125        0x52,1126        0xd1,1127        0x6b,1128        0x9a,1129        0x46,1130        0x9c,1131        0x10,1132        0x52,1133        0x8e,1134        0xff,1135        0x0a,1136        0xae,1137    },1138    {1139        0xc9,1140        0xd1,1141        0x84,1142        0xdd,1143        0xd5,1144        0xa9,1145        0xf5,1146        0xe0,1147        0xcf,1148        0x8c,1149        0xe2,1150        0x9a,1151        0x9a,1152        0xbf,1153        0x69,1154        0x1c,1155    },1156    {1157        0x2d,1158        0xb4,1159        0x79,1160        0xae,1161        0x78,1162        0xbd,1163        0x50,1164        0xd8,1165        0x88,1166        0x2a,1167        0x8a,1168        0x17,1169        0x8a,1170        0x61,1171        0x32,1172        0xad,1173    },1174    {1175        0x8e,1176        0xce,1177        0x5f,1178        0x04,1179        0x2d,1180        0x5e,1181        0x44,1182        0x7b,1183        0x50,1184        0x51,1185        0xb9,1186        0xea,1187        0xcb,1188        0x8d,1189        0x8f,1190        0x6f,1191    },1192    {1193        0x9c,1194        0x0b,1195        0x53,1196        0xb4,1197        0xb3,1198        0xc3,1199        0x07,1200        0xe8,1201        0x7e,1202        0xae,1203        0xe0,1204        0x86,1205        0x78,1206        0x14,1207        0x1f,1208        0x66,1209    },1210    {1211        0xab,1212        0xf2,1213        0x48,1214        0xaf,1215        0x69,1216        0xa6,1217        0xea,1218        0xe4,1219        0xbf,1220        0xd3,1221        0xeb,1222        0x2f,1223        0x12,1224        0x9e,1225        0xeb,1226        0x94,1227    },1228    {1229        0x06,1230        0x64,1231        0xda,1232        0x16,1233        0x68,1234        0x57,1235        0x4b,1236        0x88,1237        0xb9,1238        0x35,1239        0xf3,1240        0x02,1241        0x73,1242        0x58,1243        0xae,1244        0xf4,1245    },1246    {1247        0xaa,1248        0x4b,1249        0x9d,1250        0xc4,1251        0xbf,1252        0x33,1253        0x7d,1254        0xe9,1255        0x0c,1256        0xd4,1257        0xfd,1258        0x3c,1259        0x46,1260        0x7c,1261        0x6a,1262        0xb7,1263    },1264    {1265        0xea,1266        0x5c,1267        0x7f,1268        0x47,1269        0x1f,1270        0xaf,1271        0x6b,1272        0xde,1273        0x2b,1274        0x1a,1275        0xd7,1276        0xd4,1277        0x68,1278        0x6d,1279        0x22,1280        0x87,1281    },1282    {1283        0x29,1284        0x39,1285        0xb0,1286        0x18,1287        0x32,1288        0x23,1289        0xfa,1290        0xfc,1291        0x17,1292        0x23,1293        0xde,1294        0x4f,1295        0x52,1296        0xc4,1297        0x3d,1298        0x35,1299    },1300    {1301        0x7c,1302        0x39,1303        0x56,1304        0xca,1305        0x5e,1306        0xea,1307        0xfc,1308        0x3e,1309        0x36,1310        0x3e,1311        0x9d,1312        0x55,1313        0x65,1314        0x46,1315        0xeb,1316        0x68,1317    },1318    {1319        0x77,1320        0xc6,1321        0x07,1322        0x71,1323        0x46,1324        0xf0,1325        0x1c,1326        0x32,1327        0xb6,1328        0xb6,1329        0x9d,1330        0x5f,1331        0x4e,1332        0xa9,1333        0xff,1334        0xcf,1335    },1336    {1337        0x37,1338        0xa6,1339        0x98,1340        0x6c,1341        0xb8,1342        0x84,1343        0x7e,1344        0xdf,1345        0x09,1346        0x25,1347        0xf0,1348        0xf1,1349        0x30,1350        0x9b,1351        0x54,1352        0xde,1353    },1354    {1355        0xa7,1356        0x05,1357        0xf0,1358        0xe6,1359        0x9d,1360        0xa9,1361        0xa8,1362        0xf9,1363        0x07,1364        0x24,1365        0x1a,1366        0x2e,1367        0x92,1368        0x3c,1369        0x8c,1370        0xc8,1371    },1372    {1373        0x3d,1374        0xc4,1375        0x7d,1376        0x1f,1377        0x29,1378        0xc4,1379        0x48,1380        0x46,1381        0x1e,1382        0x9e,1383        0x76,1384        0xed,1385        0x90,1386        0x4f,1387        0x67,1388        0x11,1389    },1390    {1391        0x0d,1392        0x62,1393        0xbf,1394        0x01,1395        0xe6,1396        0xfc,1397        0x0e,1398        0x1a,1399        0x0d,1400        0x3c,1401        0x47,1402        0x51,1403        0xc5,1404        0xd3,1405        0x69,1406        0x2b,1407    },1408    {1409        0x8c,1410        0x03,1411        0x46,1412        0x8b,1413        0xca,1414        0x7c,1415        0x66,1416        0x9e,1417        0xe4,1418        0xfd,1419        0x5e,1420        0x08,1421        0x4b,1422        0xbe,1423        0xe7,1424        0xb5,1425    },1426    {1427        0x52,1428        0x8a,1429        0x5b,1430        0xb9,1431        0x3b,1432        0xaf,1433        0x2c,1434        0x9c,1435        0x44,1436        0x73,1437        0xcc,1438        0xe5,1439        0xd0,1440        0xd2,1441        0x2b,1442        0xd9,1443    },1444    {1445        0xdf,1446        0x6a,1447        0x30,1448        0x1e,1449        0x95,1450        0xc9,1451        0x5d,1452        0xad,1453        0x97,1454        0xae,1455        0x0c,1456        0xc8,1457        0xc6,1458        0x91,1459        0x3b,1460        0xd8,1461    },1462    {1463        0x80,1464        0x11,1465        0x89,1466        0x90,1467        0x2c,1468        0x85,1469        0x7f,1470        0x39,1471        0xe7,1472        0x35,1473        0x91,1474        0x28,1475        0x5e,1476        0x70,1477        0xb6,1478        0xdb,1479    },1480    {1481        0xe6,1482        0x17,1483        0x34,1484        0x6a,1485        0xc9,1486        0xc2,1487        0x31,1488        0xbb,1489        0x36,1490        0x50,1491        0xae,1492        0x34,1493        0xcc,1494        0xca,1495        0x0c,1496        0x5b,1497    },1498    {1499        0x27,1500        0xd9,1501        0x34,1502        0x37,1503        0xef,1504        0xb7,1505        0x21,1506        0xaa,1507        0x40,1508        0x18,1509        0x21,1510        0xdc,1511        0xec,1512        0x5a,1513        0xdf,1514        0x89,1515    },1516    {1517        0x89,1518        0x23,1519        0x7d,1520        0x9d,1521        0xed,1522        0x9c,1523        0x5e,1524        0x78,1525        0xd8,1526        0xb1,1527        0xc9,1528        0xb1,1529        0x66,1530        0xcc,1531        0x73,1532        0x42,1533    },1534    {1535        0x4a,1536        0x6d,1537        0x80,1538        0x91,1539        0xbf,1540        0x5e,1541        0x7d,1542        0x65,1543        0x11,1544        0x89,1545        0xfa,1546        0x94,1547        0xa2,1548        0x50,1549        0xb1,1550        0x4c,1551    },1552    {1553        0x0e,1554        0x33,1555        0xf9,1556        0x60,1557        0x55,1558        0xe7,1559        0xae,1560        0x89,1561        0x3f,1562        0xfc,1563        0x0e,1564        0x3d,1565        0xcf,1566        0x49,1567        0x29,1568        0x02,1569    },1570    {1571        0xe6,1572        0x1c,1573        0x43,1574        0x2b,1575        0x72,1576        0x0b,1577        0x19,1578        0xd1,1579        0x8e,1580        0xc8,1581        0xd8,1582        0x4b,1583        0xdc,1584        0x63,1585        0x15,1586        0x1b,1587    },1588    {1589        0xf7,1590        0xe5,1591        0xae,1592        0xf5,1593        0x49,1594        0xf7,1595        0x82,1596        0xcf,1597        0x37,1598        0x90,1599        0x55,1600        0xa6,1601        0x08,1602        0x26,1603        0x9b,1604        0x16,1605    },1606    {1607        0x43,1608        0x8d,1609        0x03,1610        0x0f,1611        0xd0,1612        0xb7,1613        0xa5,1614        0x4f,1615        0xa8,1616        0x37,1617        0xf2,1618        0xad,1619        0x20,1620        0x1a,1621        0x64,1622        0x03,1623    },1624    {1625        0xa5,1626        0x90,1627        0xd3,1628        0xee,1629        0x4f,1630        0xbf,1631        0x04,1632        0xe3,1633        0x24,1634        0x7e,1635        0x0d,1636        0x27,1637        0xf2,1638        0x86,1639        0x42,1640        0x3f,1641    },1642    {1643        0x5f,1644        0xe2,1645        0xc1,1646        0xa1,1647        0x72,1648        0xfe,1649        0x93,1650        0xc4,1651        0xb1,1652        0x5c,1653        0xd3,1654        0x7c,1655        0xae,1656        0xf9,1657        0xf5,1658        0x38,1659    },1660    {1661        0x2c,1662        0x97,1663        0x32,1664        0x5c,1665        0xbd,1666        0x06,1667        0xb3,1668        0x6e,1669        0xb2,1670        0x13,1671        0x3d,1672        0xd0,1673        0x8b,1674        0x3a,1675        0x01,1676        0x7c,1677    },1678    {1679        0x92,1680        0xc8,1681        0x14,1682        0x22,1683        0x7a,1684        0x6b,1685        0xca,1686        0x94,1687        0x9f,1688        0xf0,1689        0x65,1690        0x9f,1691        0x00,1692        0x2a,1693        0xd3,1694        0x9e,1695    },1696    {1697        0xdc,1698        0xe8,1699        0x50,1700        0x11,1701        0x0b,1702        0xd8,1703        0x32,1704        0x8c,1705        0xfb,1706        0xd5,1707        0x08,1708        0x41,1709        0xd6,1710        0x91,1711        0x1d,1712        0x87,1713    },1714    {1715        0x67,1716        0xf1,1717        0x49,1718        0x84,1719        0xc7,1720        0xda,1721        0x79,1722        0x12,1723        0x48,1724        0xe3,1725        0x2b,1726        0xb5,1727        0x92,1728        0x25,1729        0x83,1730        0xda,1731    },1732    {1733        0x19,1734        0x38,1735        0xf2,1736        0xcf,1737        0x72,1738        0xd5,1739        0x4e,1740        0xe9,1741        0x7e,1742        0x94,1743        0x16,1744        0x6f,1745        0xa9,1746        0x1d,1747        0x2a,1748        0x36,1749    },1750    {1751        0x74,1752        0x48,1753        0x1e,1754        0x96,1755        0x46,1756        0xed,1757        0x49,1758        0xfe,1759        0x0f,1760        0x62,1761        0x24,1762        0x30,1763        0x16,1764        0x04,1765        0x69,1766        0x8e,1767    },1768    {1769        0x57,1770        0xfc,1771        0xa5,1772        0xde,1773        0x98,1774        0xa9,1775        0xd6,1776        0xd8,1777        0x00,1778        0x64,1779        0x38,1780        0xd0,1781        0x58,1782        0x3d,1783        0x8a,1784        0x1d,1785    },1786    {1787        0x9f,1788        0xec,1789        0xde,1790        0x1c,1791        0xef,1792        0xdc,1793        0x1c,1794        0xbe,1795        0xd4,1796        0x76,1797        0x36,1798        0x74,1799        0xd9,1800        0x57,1801        0x53,1802        0x59,1803    },1804    {1805        0xe3,1806        0x04,1807        0x0c,1808        0x00,1809        0xeb,1810        0x28,1811        0xf1,1812        0x53,1813        0x66,1814        0xca,1815        0x73,1816        0xcb,1817        0xd8,1818        0x72,1819        0xe7,1820        0x40,1821    },1822    {1823        0x76,1824        0x97,1825        0x00,1826        0x9a,1827        0x6a,1828        0x83,1829        0x1d,1830        0xfe,1831        0xcc,1832        0xa9,1833        0x1c,1834        0x59,1835        0x93,1836        0x67,1837        0x0f,1838        0x7a,1839    },1840    {1841        0x58,1842        0x53,1843        0x54,1844        0x23,1845        0x21,1846        0xf5,1847        0x67,1848        0xa0,1849        0x05,1850        0xd5,1851        0x47,1852        0xa4,1853        0xf0,1854        0x47,1855        0x59,1856        0xbd,1857    },1858    {1859        0x51,1860        0x50,1861        0xd1,1862        0x77,1863        0x2f,1864        0x50,1865        0x83,1866        0x4a,1867        0x50,1868        0x3e,1869        0x06,1870        0x9a,1871        0x97,1872        0x3f,1873        0xbd,1874        0x7c,1875    },1876};1877 1878} // end anonymous namespace1879