dictionary.cpp
Go to the documentation of this file.
1 
16 #include "dictionary.h"
17 #include <exception>
18 #include <stdint.h>
19 #include <fstream>
20 #include <stdexcept>
21 #include <vector>
22 #include <bitset>
23 #include <opencv2/imgproc/imgproc.hpp>
24 #include "markermap.h"
25 #include <set>
26 #include <stdexcept>
27 using namespace std;
28 namespace aruco
29 {
30 
31 
32 Dictionary Dictionary::load(string info)
33 {
34  if (isPredefinedDictinaryString(info))
35  return loadPredefined(info);
36  else
37  return loadFromFile(info);
38 }
39 
40 
41 Dictionary Dictionary::loadFromFile(std::string path)
42 {
43  auto parse = [](const string &str)
44  {
45  stringstream sstr(str);
46  string a, b;
47  sstr >> a >> b;
48  return b;
49  };
50  auto _stoi = [](string str)
51  {
52  int i;
53  sscanf(str.c_str(), "%d", &i);
54  return i;
55  };
56 
57  ifstream file(path);
58  if (!file)
59  throw std::runtime_error("Dictionary::loadFromFile could not open file");
60  string line;
61  std::getline(file, line);
62  if (line.find("name") == std::string::npos)
63  throw std::runtime_error("Dictionary::loadFromFile 'name' not found");
64  Dictionary d;
65  d._name = parse(line);
66  std::getline(file, line);
67  if (line.find("nbits") == std::string::npos)
68  throw std::runtime_error("Dictionary::loadFromFile 'nbits' not found");
69  d._nbits = _stoi(parse(line));
70  if (d._nbits > 64)
71  throw std::runtime_error("Dictionary::loadFromFile no more than 64 bits allowed ");
72 
73 
74  d._type = CUSTOM;
75  // go reading the data
76  while (!file.eof())
77  {
78  std::getline(file, line);
79  if (line.size() == d._nbits)
80  {
81  bitset<64> marker;
82  // parse the bits
83  int idx = 0;
84  for (auto it = line.rbegin(); it != line.rend(); it++)
85  {
86  marker[idx++] = *it == '1';
87  }
88  d._code_id.insert({ marker.to_ullong(), static_cast<uint16_t>(d._code_id.size()) });
89  }
90  }
91  d._tau = static_cast<uint32_t>(computeDictionaryDistance(d));
92  if (d._tau == 0)
93  {
94  cerr << "IMPORTANT MESSAGE:::: Your dictionary " << d._name << " has a distance of 0" << endl;
95  cerr << "It means that that there are markers that can be confused. Please check" << endl;
96  }
97  // cout<<"tau="<<d._tau<<endl;
98  return d;
99 }
100 
101 void Dictionary::fromVector(const vector<uint64_t> &codes, std::map<uint64_t, uint16_t> &code_id_map)
102 {
103  code_id_map.clear();
104  int id = 0;
105  for (auto c : codes)
106  code_id_map.insert(make_pair(c, id++));
107 }
108 Dictionary Dictionary::loadPredefined(std::string type)
109 {
110  return loadPredefined(getTypeFromString(type));
111 }
112 
113 Dictionary Dictionary::loadPredefined(DICT_TYPES type)
114 {
115  Dictionary d;
116  switch (type)
117  {
118  case ARUCO:
119  {
120  vector<uint64_t> codes = {
121  0x1084210UL, 0x1084217UL, 0x1084209UL, 0x108420eUL, 0x10842f0UL, 0x10842f7UL,
122  0x10842e9UL, 0x10842eeUL, 0x1084130UL, 0x1084137UL, 0x1084129UL, 0x108412eUL,
123  0x10841d0UL, 0x10841d7UL, 0x10841c9UL, 0x10841ceUL, 0x1085e10UL, 0x1085e17UL,
124  0x1085e09UL, 0x1085e0eUL, 0x1085ef0UL, 0x1085ef7UL, 0x1085ee9UL, 0x1085eeeUL,
125  0x1085d30UL, 0x1085d37UL, 0x1085d29UL, 0x1085d2eUL, 0x1085dd0UL, 0x1085dd7UL,
126  0x1085dc9UL, 0x1085dceUL, 0x1082610UL, 0x1082617UL, 0x1082609UL, 0x108260eUL,
127  0x10826f0UL, 0x10826f7UL, 0x10826e9UL, 0x10826eeUL, 0x1082530UL, 0x1082537UL,
128  0x1082529UL, 0x108252eUL, 0x10825d0UL, 0x10825d7UL, 0x10825c9UL, 0x10825ceUL,
129  0x1083a10UL, 0x1083a17UL, 0x1083a09UL, 0x1083a0eUL, 0x1083af0UL, 0x1083af7UL,
130  0x1083ae9UL, 0x1083aeeUL, 0x1083930UL, 0x1083937UL, 0x1083929UL, 0x108392eUL,
131  0x10839d0UL, 0x10839d7UL, 0x10839c9UL, 0x10839ceUL, 0x10bc210UL, 0x10bc217UL,
132  0x10bc209UL, 0x10bc20eUL, 0x10bc2f0UL, 0x10bc2f7UL, 0x10bc2e9UL, 0x10bc2eeUL,
133  0x10bc130UL, 0x10bc137UL, 0x10bc129UL, 0x10bc12eUL, 0x10bc1d0UL, 0x10bc1d7UL,
134  0x10bc1c9UL, 0x10bc1ceUL, 0x10bde10UL, 0x10bde17UL, 0x10bde09UL, 0x10bde0eUL,
135  0x10bdef0UL, 0x10bdef7UL, 0x10bdee9UL, 0x10bdeeeUL, 0x10bdd30UL, 0x10bdd37UL,
136  0x10bdd29UL, 0x10bdd2eUL, 0x10bddd0UL, 0x10bddd7UL, 0x10bddc9UL, 0x10bddceUL,
137  0x10ba610UL, 0x10ba617UL, 0x10ba609UL, 0x10ba60eUL, 0x10ba6f0UL, 0x10ba6f7UL,
138  0x10ba6e9UL, 0x10ba6eeUL, 0x10ba530UL, 0x10ba537UL, 0x10ba529UL, 0x10ba52eUL,
139  0x10ba5d0UL, 0x10ba5d7UL, 0x10ba5c9UL, 0x10ba5ceUL, 0x10bba10UL, 0x10bba17UL,
140  0x10bba09UL, 0x10bba0eUL, 0x10bbaf0UL, 0x10bbaf7UL, 0x10bbae9UL, 0x10bbaeeUL,
141  0x10bb930UL, 0x10bb937UL, 0x10bb929UL, 0x10bb92eUL, 0x10bb9d0UL, 0x10bb9d7UL,
142  0x10bb9c9UL, 0x10bb9ceUL, 0x104c210UL, 0x104c217UL, 0x104c209UL, 0x104c20eUL,
143  0x104c2f0UL, 0x104c2f7UL, 0x104c2e9UL, 0x104c2eeUL, 0x104c130UL, 0x104c137UL,
144  0x104c129UL, 0x104c12eUL, 0x104c1d0UL, 0x104c1d7UL, 0x104c1c9UL, 0x104c1ceUL,
145  0x104de10UL, 0x104de17UL, 0x104de09UL, 0x104de0eUL, 0x104def0UL, 0x104def7UL,
146  0x104dee9UL, 0x104deeeUL, 0x104dd30UL, 0x104dd37UL, 0x104dd29UL, 0x104dd2eUL,
147  0x104ddd0UL, 0x104ddd7UL, 0x104ddc9UL, 0x104ddceUL, 0x104a610UL, 0x104a617UL,
148  0x104a609UL, 0x104a60eUL, 0x104a6f0UL, 0x104a6f7UL, 0x104a6e9UL, 0x104a6eeUL,
149  0x104a530UL, 0x104a537UL, 0x104a529UL, 0x104a52eUL, 0x104a5d0UL, 0x104a5d7UL,
150  0x104a5c9UL, 0x104a5ceUL, 0x104ba10UL, 0x104ba17UL, 0x104ba09UL, 0x104ba0eUL,
151  0x104baf0UL, 0x104baf7UL, 0x104bae9UL, 0x104baeeUL, 0x104b930UL, 0x104b937UL,
152  0x104b929UL, 0x104b92eUL, 0x104b9d0UL, 0x104b9d7UL, 0x104b9c9UL, 0x104b9ceUL,
153  0x1074210UL, 0x1074217UL, 0x1074209UL, 0x107420eUL, 0x10742f0UL, 0x10742f7UL,
154  0x10742e9UL, 0x10742eeUL, 0x1074130UL, 0x1074137UL, 0x1074129UL, 0x107412eUL,
155  0x10741d0UL, 0x10741d7UL, 0x10741c9UL, 0x10741ceUL, 0x1075e10UL, 0x1075e17UL,
156  0x1075e09UL, 0x1075e0eUL, 0x1075ef0UL, 0x1075ef7UL, 0x1075ee9UL, 0x1075eeeUL,
157  0x1075d30UL, 0x1075d37UL, 0x1075d29UL, 0x1075d2eUL, 0x1075dd0UL, 0x1075dd7UL,
158  0x1075dc9UL, 0x1075dceUL, 0x1072610UL, 0x1072617UL, 0x1072609UL, 0x107260eUL,
159  0x10726f0UL, 0x10726f7UL, 0x10726e9UL, 0x10726eeUL, 0x1072530UL, 0x1072537UL,
160  0x1072529UL, 0x107252eUL, 0x10725d0UL, 0x10725d7UL, 0x10725c9UL, 0x10725ceUL,
161  0x1073a10UL, 0x1073a17UL, 0x1073a09UL, 0x1073a0eUL, 0x1073af0UL, 0x1073af7UL,
162  0x1073ae9UL, 0x1073aeeUL, 0x1073930UL, 0x1073937UL, 0x1073929UL, 0x107392eUL,
163  0x10739d0UL, 0x10739d7UL, 0x10739c9UL, 0x10739ceUL, 0x1784210UL, 0x1784217UL,
164  0x1784209UL, 0x178420eUL, 0x17842f0UL, 0x17842f7UL, 0x17842e9UL, 0x17842eeUL,
165  0x1784130UL, 0x1784137UL, 0x1784129UL, 0x178412eUL, 0x17841d0UL, 0x17841d7UL,
166  0x17841c9UL, 0x17841ceUL, 0x1785e10UL, 0x1785e17UL, 0x1785e09UL, 0x1785e0eUL,
167  0x1785ef0UL, 0x1785ef7UL, 0x1785ee9UL, 0x1785eeeUL, 0x1785d30UL, 0x1785d37UL,
168  0x1785d29UL, 0x1785d2eUL, 0x1785dd0UL, 0x1785dd7UL, 0x1785dc9UL, 0x1785dceUL,
169  0x1782610UL, 0x1782617UL, 0x1782609UL, 0x178260eUL, 0x17826f0UL, 0x17826f7UL,
170  0x17826e9UL, 0x17826eeUL, 0x1782530UL, 0x1782537UL, 0x1782529UL, 0x178252eUL,
171  0x17825d0UL, 0x17825d7UL, 0x17825c9UL, 0x17825ceUL, 0x1783a10UL, 0x1783a17UL,
172  0x1783a09UL, 0x1783a0eUL, 0x1783af0UL, 0x1783af7UL, 0x1783ae9UL, 0x1783aeeUL,
173  0x1783930UL, 0x1783937UL, 0x1783929UL, 0x178392eUL, 0x17839d0UL, 0x17839d7UL,
174  0x17839c9UL, 0x17839ceUL, 0x17bc210UL, 0x17bc217UL, 0x17bc209UL, 0x17bc20eUL,
175  0x17bc2f0UL, 0x17bc2f7UL, 0x17bc2e9UL, 0x17bc2eeUL, 0x17bc130UL, 0x17bc137UL,
176  0x17bc129UL, 0x17bc12eUL, 0x17bc1d0UL, 0x17bc1d7UL, 0x17bc1c9UL, 0x17bc1ceUL,
177  0x17bde10UL, 0x17bde17UL, 0x17bde09UL, 0x17bde0eUL, 0x17bdef0UL, 0x17bdef7UL,
178  0x17bdee9UL, 0x17bdeeeUL, 0x17bdd30UL, 0x17bdd37UL, 0x17bdd29UL, 0x17bdd2eUL,
179  0x17bddd0UL, 0x17bddd7UL, 0x17bddc9UL, 0x17bddceUL, 0x17ba610UL, 0x17ba617UL,
180  0x17ba609UL, 0x17ba60eUL, 0x17ba6f0UL, 0x17ba6f7UL, 0x17ba6e9UL, 0x17ba6eeUL,
181  0x17ba530UL, 0x17ba537UL, 0x17ba529UL, 0x17ba52eUL, 0x17ba5d0UL, 0x17ba5d7UL,
182  0x17ba5c9UL, 0x17ba5ceUL, 0x17bba10UL, 0x17bba17UL, 0x17bba09UL, 0x17bba0eUL,
183  0x17bbaf0UL, 0x17bbaf7UL, 0x17bbae9UL, 0x17bbaeeUL, 0x17bb930UL, 0x17bb937UL,
184  0x17bb929UL, 0x17bb92eUL, 0x17bb9d0UL, 0x17bb9d7UL, 0x17bb9c9UL, 0x17bb9ceUL,
185  0x174c210UL, 0x174c217UL, 0x174c209UL, 0x174c20eUL, 0x174c2f0UL, 0x174c2f7UL,
186  0x174c2e9UL, 0x174c2eeUL, 0x174c130UL, 0x174c137UL, 0x174c129UL, 0x174c12eUL,
187  0x174c1d0UL, 0x174c1d7UL, 0x174c1c9UL, 0x174c1ceUL, 0x174de10UL, 0x174de17UL,
188  0x174de09UL, 0x174de0eUL, 0x174def0UL, 0x174def7UL, 0x174dee9UL, 0x174deeeUL,
189  0x174dd30UL, 0x174dd37UL, 0x174dd29UL, 0x174dd2eUL, 0x174ddd0UL, 0x174ddd7UL,
190  0x174ddc9UL, 0x174ddceUL, 0x174a610UL, 0x174a617UL, 0x174a609UL, 0x174a60eUL,
191  0x174a6f0UL, 0x174a6f7UL, 0x174a6e9UL, 0x174a6eeUL, 0x174a530UL, 0x174a537UL,
192  0x174a529UL, 0x174a52eUL, 0x174a5d0UL, 0x174a5d7UL, 0x174a5c9UL, 0x174a5ceUL,
193  0x174ba10UL, 0x174ba17UL, 0x174ba09UL, 0x174ba0eUL, 0x174baf0UL, 0x174baf7UL,
194  0x174bae9UL, 0x174baeeUL, 0x174b930UL, 0x174b937UL, 0x174b929UL, 0x174b92eUL,
195  0x174b9d0UL, 0x174b9d7UL, 0x174b9c9UL, 0x174b9ceUL, 0x1774210UL, 0x1774217UL,
196  0x1774209UL, 0x177420eUL, 0x17742f0UL, 0x17742f7UL, 0x17742e9UL, 0x17742eeUL,
197  0x1774130UL, 0x1774137UL, 0x1774129UL, 0x177412eUL, 0x17741d0UL, 0x17741d7UL,
198  0x17741c9UL, 0x17741ceUL, 0x1775e10UL, 0x1775e17UL, 0x1775e09UL, 0x1775e0eUL,
199  0x1775ef0UL, 0x1775ef7UL, 0x1775ee9UL, 0x1775eeeUL, 0x1775d30UL, 0x1775d37UL,
200  0x1775d29UL, 0x1775d2eUL, 0x1775dd0UL, 0x1775dd7UL, 0x1775dc9UL, 0x1775dceUL,
201  0x1772610UL, 0x1772617UL, 0x1772609UL, 0x177260eUL, 0x17726f0UL, 0x17726f7UL,
202  0x17726e9UL, 0x17726eeUL, 0x1772530UL, 0x1772537UL, 0x1772529UL, 0x177252eUL,
203  0x17725d0UL, 0x17725d7UL, 0x17725c9UL, 0x17725ceUL, 0x1773a10UL, 0x1773a17UL,
204  0x1773a09UL, 0x1773a0eUL, 0x1773af0UL, 0x1773af7UL, 0x1773ae9UL, 0x1773aeeUL,
205  0x1773930UL, 0x1773937UL, 0x1773929UL, 0x177392eUL, 0x17739d0UL, 0x17739d7UL,
206  0x17739c9UL, 0x17739ceUL, 0x984210UL, 0x984217UL, 0x984209UL, 0x98420eUL,
207  0x9842f0UL, 0x9842f7UL, 0x9842e9UL, 0x9842eeUL, 0x984130UL, 0x984137UL,
208  0x984129UL, 0x98412eUL, 0x9841d0UL, 0x9841d7UL, 0x9841c9UL, 0x9841ceUL,
209  0x985e10UL, 0x985e17UL, 0x985e09UL, 0x985e0eUL, 0x985ef0UL, 0x985ef7UL,
210  0x985ee9UL, 0x985eeeUL, 0x985d30UL, 0x985d37UL, 0x985d29UL, 0x985d2eUL,
211  0x985dd0UL, 0x985dd7UL, 0x985dc9UL, 0x985dceUL, 0x982610UL, 0x982617UL,
212  0x982609UL, 0x98260eUL, 0x9826f0UL, 0x9826f7UL, 0x9826e9UL, 0x9826eeUL,
213  0x982530UL, 0x982537UL, 0x982529UL, 0x98252eUL, 0x9825d0UL, 0x9825d7UL,
214  0x9825c9UL, 0x9825ceUL, 0x983a10UL, 0x983a17UL, 0x983a09UL, 0x983a0eUL,
215  0x983af0UL, 0x983af7UL, 0x983ae9UL, 0x983aeeUL, 0x983930UL, 0x983937UL,
216  0x983929UL, 0x98392eUL, 0x9839d0UL, 0x9839d7UL, 0x9839c9UL, 0x9839ceUL,
217  0x9bc210UL, 0x9bc217UL, 0x9bc209UL, 0x9bc20eUL, 0x9bc2f0UL, 0x9bc2f7UL,
218  0x9bc2e9UL, 0x9bc2eeUL, 0x9bc130UL, 0x9bc137UL, 0x9bc129UL, 0x9bc12eUL,
219  0x9bc1d0UL, 0x9bc1d7UL, 0x9bc1c9UL, 0x9bc1ceUL, 0x9bde10UL, 0x9bde17UL,
220  0x9bde09UL, 0x9bde0eUL, 0x9bdef0UL, 0x9bdef7UL, 0x9bdee9UL, 0x9bdeeeUL,
221  0x9bdd30UL, 0x9bdd37UL, 0x9bdd29UL, 0x9bdd2eUL, 0x9bddd0UL, 0x9bddd7UL,
222  0x9bddc9UL, 0x9bddceUL, 0x9ba610UL, 0x9ba617UL, 0x9ba609UL, 0x9ba60eUL,
223  0x9ba6f0UL, 0x9ba6f7UL, 0x9ba6e9UL, 0x9ba6eeUL, 0x9ba530UL, 0x9ba537UL,
224  0x9ba529UL, 0x9ba52eUL, 0x9ba5d0UL, 0x9ba5d7UL, 0x9ba5c9UL, 0x9ba5ceUL,
225  0x9bba10UL, 0x9bba17UL, 0x9bba09UL, 0x9bba0eUL, 0x9bbaf0UL, 0x9bbaf7UL,
226  0x9bbae9UL, 0x9bbaeeUL, 0x9bb930UL, 0x9bb937UL, 0x9bb929UL, 0x9bb92eUL,
227  0x9bb9d0UL, 0x9bb9d7UL, 0x9bb9c9UL, 0x9bb9ceUL, 0x94c210UL, 0x94c217UL,
228  0x94c209UL, 0x94c20eUL, 0x94c2f0UL, 0x94c2f7UL, 0x94c2e9UL, 0x94c2eeUL,
229  0x94c130UL, 0x94c137UL, 0x94c129UL, 0x94c12eUL, 0x94c1d0UL, 0x94c1d7UL,
230  0x94c1c9UL, 0x94c1ceUL, 0x94de10UL, 0x94de17UL, 0x94de09UL, 0x94de0eUL,
231  0x94def0UL, 0x94def7UL, 0x94dee9UL, 0x94deeeUL, 0x94dd30UL, 0x94dd37UL,
232  0x94dd29UL, 0x94dd2eUL, 0x94ddd0UL, 0x94ddd7UL, 0x94ddc9UL, 0x94ddceUL,
233  0x94a610UL, 0x94a617UL, 0x94a609UL, 0x94a60eUL, 0x94a6f0UL, 0x94a6f7UL,
234  0x94a6e9UL, 0x94a6eeUL, 0x94a530UL, 0x94a537UL, 0x94a529UL, 0x94a52eUL,
235  0x94a5d0UL, 0x94a5d7UL, 0x94a5c9UL, 0x94a5ceUL, 0x94ba10UL, 0x94ba17UL,
236  0x94ba09UL, 0x94ba0eUL, 0x94baf0UL, 0x94baf7UL, 0x94bae9UL, 0x94baeeUL,
237  0x94b930UL, 0x94b937UL, 0x94b929UL, 0x94b92eUL, 0x94b9d0UL, 0x94b9d7UL,
238  0x94b9c9UL, 0x94b9ceUL, 0x974210UL, 0x974217UL, 0x974209UL, 0x97420eUL,
239  0x9742f0UL, 0x9742f7UL, 0x9742e9UL, 0x9742eeUL, 0x974130UL, 0x974137UL,
240  0x974129UL, 0x97412eUL, 0x9741d0UL, 0x9741d7UL, 0x9741c9UL, 0x9741ceUL,
241  0x975e10UL, 0x975e17UL, 0x975e09UL, 0x975e0eUL, 0x975ef0UL, 0x975ef7UL,
242  0x975ee9UL, 0x975eeeUL, 0x975d30UL, 0x975d37UL, 0x975d29UL, 0x975d2eUL,
243  0x975dd0UL, 0x975dd7UL, 0x975dc9UL, 0x975dceUL, 0x972610UL, 0x972617UL,
244  0x972609UL, 0x97260eUL, 0x9726f0UL, 0x9726f7UL, 0x9726e9UL, 0x9726eeUL,
245  0x972530UL, 0x972537UL, 0x972529UL, 0x97252eUL, 0x9725d0UL, 0x9725d7UL,
246  0x9725c9UL, 0x9725ceUL, 0x973a10UL, 0x973a17UL, 0x973a09UL, 0x973a0eUL,
247  0x973af0UL, 0x973af7UL, 0x973ae9UL, 0x973aeeUL, 0x973930UL, 0x973937UL,
248  0x973929UL, 0x97392eUL, 0x9739d0UL, 0x9739d7UL, 0x9739c9UL, 0x9739ceUL,
249  0xe84210UL, 0xe84217UL, 0xe84209UL, 0xe8420eUL, 0xe842f0UL, 0xe842f7UL,
250  0xe842e9UL, 0xe842eeUL, 0xe84130UL, 0xe84137UL, 0xe84129UL, 0xe8412eUL,
251  0xe841d0UL, 0xe841d7UL, 0xe841c9UL, 0xe841ceUL, 0xe85e10UL, 0xe85e17UL,
252  0xe85e09UL, 0xe85e0eUL, 0xe85ef0UL, 0xe85ef7UL, 0xe85ee9UL, 0xe85eeeUL,
253  0xe85d30UL, 0xe85d37UL, 0xe85d29UL, 0xe85d2eUL, 0xe85dd0UL, 0xe85dd7UL,
254  0xe85dc9UL, 0xe85dceUL, 0xe82610UL, 0xe82617UL, 0xe82609UL, 0xe8260eUL,
255  0xe826f0UL, 0xe826f7UL, 0xe826e9UL, 0xe826eeUL, 0xe82530UL, 0xe82537UL,
256  0xe82529UL, 0xe8252eUL, 0xe825d0UL, 0xe825d7UL, 0xe825c9UL, 0xe825ceUL,
257  0xe83a10UL, 0xe83a17UL, 0xe83a09UL, 0xe83a0eUL, 0xe83af0UL, 0xe83af7UL,
258  0xe83ae9UL, 0xe83aeeUL, 0xe83930UL, 0xe83937UL, 0xe83929UL, 0xe8392eUL,
259  0xe839d0UL, 0xe839d7UL, 0xe839c9UL, 0xe839ceUL, 0xebc210UL, 0xebc217UL,
260  0xebc209UL, 0xebc20eUL, 0xebc2f0UL, 0xebc2f7UL, 0xebc2e9UL, 0xebc2eeUL,
261  0xebc130UL, 0xebc137UL, 0xebc129UL, 0xebc12eUL, 0xebc1d0UL, 0xebc1d7UL,
262  0xebc1c9UL, 0xebc1ceUL, 0xebde10UL, 0xebde17UL, 0xebde09UL, 0xebde0eUL,
263  0xebdef0UL, 0xebdef7UL, 0xebdee9UL, 0xebdeeeUL, 0xebdd30UL, 0xebdd37UL,
264  0xebdd29UL, 0xebdd2eUL, 0xebddd0UL, 0xebddd7UL, 0xebddc9UL, 0xebddceUL,
265  0xeba610UL, 0xeba617UL, 0xeba609UL, 0xeba60eUL, 0xeba6f0UL, 0xeba6f7UL,
266  0xeba6e9UL, 0xeba6eeUL, 0xeba530UL, 0xeba537UL, 0xeba529UL, 0xeba52eUL,
267  0xeba5d0UL, 0xeba5d7UL, 0xeba5c9UL, 0xeba5ceUL, 0xebba10UL, 0xebba17UL,
268  0xebba09UL, 0xebba0eUL, 0xebbaf0UL, 0xebbaf7UL, 0xebbae9UL, 0xebbaeeUL,
269  0xebb930UL, 0xebb937UL, 0xebb929UL, 0xebb92eUL, 0xebb9d0UL, 0xebb9d7UL,
270  0xebb9c9UL, 0xebb9ceUL, 0xe4c210UL, 0xe4c217UL, 0xe4c209UL, 0xe4c20eUL,
271  0xe4c2f0UL, 0xe4c2f7UL, 0xe4c2e9UL, 0xe4c2eeUL, 0xe4c130UL, 0xe4c137UL,
272  0xe4c129UL, 0xe4c12eUL, 0xe4c1d0UL, 0xe4c1d7UL, 0xe4c1c9UL, 0xe4c1ceUL,
273  0xe4de10UL, 0xe4de17UL, 0xe4de09UL, 0xe4de0eUL, 0xe4def0UL, 0xe4def7UL,
274  0xe4dee9UL, 0xe4deeeUL, 0xe4dd30UL, 0xe4dd37UL, 0xe4dd29UL, 0xe4dd2eUL,
275  0xe4ddd0UL, 0xe4ddd7UL, 0xe4ddc9UL, 0xe4ddceUL, 0xe4a610UL, 0xe4a617UL,
276  0xe4a609UL, 0xe4a60eUL, 0xe4a6f0UL, 0xe4a6f7UL, 0xe4a6e9UL, 0xe4a6eeUL,
277  0xe4a530UL, 0xe4a537UL, 0xe4a529UL, 0xe4a52eUL, 0xe4a5d0UL, 0xe4a5d7UL,
278  0xe4a5c9UL, 0xe4a5ceUL, 0xe4ba10UL, 0xe4ba17UL, 0xe4ba09UL, 0xe4ba0eUL,
279  0xe4baf0UL, 0xe4baf7UL, 0xe4bae9UL, 0xe4baeeUL, 0xe4b930UL, 0xe4b937UL,
280  0xe4b929UL, 0xe4b92eUL, 0xe4b9d0UL, 0xe4b9d7UL, 0xe4b9c9UL, 0xe4b9ceUL,
281  0xe74210UL, 0xe74217UL, 0xe74209UL, 0xe7420eUL, 0xe742f0UL, 0xe742f7UL,
282  0xe742e9UL, 0xe742eeUL, 0xe74130UL, 0xe74137UL, 0xe74129UL, 0xe7412eUL,
283  0xe741d0UL, 0xe741d7UL, 0xe741c9UL, 0xe741ceUL, 0xe75e10UL, 0xe75e17UL,
284  0xe75e09UL, 0xe75e0eUL, 0xe75ef0UL, 0xe75ef7UL, 0xe75ee9UL, 0xe75eeeUL,
285  0xe75d30UL, 0xe75d37UL, 0xe75d29UL, 0xe75d2eUL, 0xe75dd0UL, 0xe75dd7UL,
286  0xe75dc9UL, 0xe75dceUL, 0xe72610UL, 0xe72617UL, 0xe72609UL, 0xe7260eUL,
287  0xe726f0UL, 0xe726f7UL, 0xe726e9UL, 0xe726eeUL, 0xe72530UL, 0xe72537UL,
288  0xe72529UL, 0xe7252eUL, 0xe725d0UL, 0xe725d7UL, 0xe725c9UL, 0xe725ceUL,
289  0xe73a10UL, 0xe73a17UL, 0xe73a09UL, 0xe73a0eUL, 0xe73af0UL, 0xe73af7UL,
290  0xe73ae9UL, 0xe73aeeUL, 0xe73930UL, 0xe73937UL, 0xe73929UL, 0xe7392eUL,
291  0xe739d0UL, 0xe739d7UL, 0xe739c9UL
292  };
293  fromVector(codes, d._code_id);
294  d._nbits = 25;
295  d._tau = 1; //
296  d._type = ARUCO;
297  d._name = "ARUCO";
298  }
299  break;
300  case ARTAG:
301  {
302  vector<uint64_t> codes = {
303  0xf89c68ea2UL, 0xf021c83fdUL, 0x9b2f835a2UL, 0xf8ffdb019UL, 0xf2d12b272UL,
304  0xf0e6afe8bUL, 0xe19dee435UL, 0xdbe424132UL, 0xa9885a341UL, 0x3add1e6caUL,
305  0x600aa0d15UL, 0xf9d5c0938UL, 0xf85b0f3d4UL, 0xf838bcd6fUL, 0xfa6c8bf2dUL,
306  0xfb469060cUL, 0xfb25238b7UL, 0xff8d4dc33UL, 0xfc3406a26UL, 0xfc57b549dUL,
307  0xfcf361750UL, 0xfd7daedbcUL, 0xf42d724b4UL, 0xf1ccb47aaUL, 0xe1fe5da8eUL,
308  0xe2e3c2f56UL, 0xe280711edUL, 0xe224a5220UL, 0xe36d0d5baUL, 0xed2cf4e23UL,
309  0xecc188a74UL, 0xcf7ea3892UL, 0xcca45b03cUL, 0xc4de9c015UL, 0xc0b1959e7UL,
310  0xd027a870eUL, 0xd1a967de2UL, 0xd3fd50fa0UL, 0xd67f25205UL, 0xdcf5013a3UL,
311  0xdea1361e1UL, 0xdb8797f89UL, 0xd8f9bb4eaUL, 0x98321c07aUL, 0x9dd3da364UL,
312  0x9162c0972UL, 0x91c614abfUL, 0x81339aaedUL, 0x3f3cd85d4UL, 0x3907e6e64UL,
313  0x2231e480aUL, 0x287ca74daUL, 0xee52d854UL, 0x3b94b615UL, 0x1ab8cdc82UL,
314  0x4463c9014UL, 0x6588d50b0UL, 0xf912a744eUL, 0xf97114af5UL, 0xfb81f7b7aUL,
315  0xfbe2445c1UL, 0xff4a2a145UL, 0xfea756512UL, 0xfe03826dfUL, 0xfc90d29ebUL,
316  0xfdbac90caUL, 0xfdd97ae71UL, 0xf564da32eUL, 0xf5c00e0e3UL, 0xf679456f6UL,
317  0xf6be22b80UL, 0xf6dd9153bUL, 0xf7f78ac1aUL, 0xf35fe489eUL, 0xf33c57625UL,
318  0xf398835e8UL, 0xf3fb30b53UL, 0xf2b298cc9UL, 0xf2164cf04UL, 0xf275ff1bfUL,
319  0xf10bd3adcUL, 0xf16860467UL, 0xe1393a7f8UL, 0xe07092062UL, 0xe0b7f5d14UL,
320  0xe0d4463afUL, 0xe7c56313eUL, 0xe7a6d0f85UL, 0xe70204c48UL, 0xe6281f569UL,
321  0xe47c2872bUL, 0xed8820deeUL, 0xedeb93355UL, 0xed4f47098UL, 0xec06ef702UL,
322  0xeef60c68dUL, 0xef78c3c61UL, 0xefbfa4117UL, 0xebb31e65eUL, 0xebd0ad8e5UL,
323  0xeb7479b28UL, 0xeb17ca593UL, 0xea5e62209UL, 0xeafab61c4UL, 0xe8ae81386UL,
324  0xe9204e96aUL, 0xe9e72941cUL, 0xe9849aaa7UL, 0xc86f86a03UL, 0xc9e1490efUL,
325  0xcbb57e2adUL, 0xcb7219fdbUL, 0xca58026faUL, 0xca9f65b8cUL, 0xcef06c27eUL,
326  0xce54b81b3UL, 0xcf1d10629UL, 0xcd8e4091dUL, 0xcc633cd4aUL, 0xccc7e8e87UL,
327  0xc7c3035cdUL, 0xc767d7600UL, 0xc62e7f19aUL, 0xc64dccf21UL, 0xc6e918cecUL,
328  0xc68aab257UL, 0xc2861151eUL, 0xc24176868UL, 0xc15ce9db0UL, 0xc0d22675cUL,
329  0xd0e0cfa78UL, 0xd0837c4c3UL, 0xd16e00094UL, 0xd2739f54cUL, 0xd2102cbf7UL,
330  0xd6dbf11c8UL, 0xd79259652UL, 0xd7368d59fUL, 0xd562ba7ddUL, 0xd5c66e410UL,
331  0xd5a5ddaabUL, 0xd48fc638aUL, 0xd4ec75d31UL, 0xdc96b2d18UL, 0xddbca9439UL,
332  0xdf4c4a5b6UL, 0xde05e222cUL, 0xdaad8c6a8UL, 0xdace3f813UL, 0xd9b013370UL,
333  0xd9d3a0dcbUL, 0xd85d6f727UL, 0x9aa14cf4eUL, 0x9ac2ff1f5UL, 0x9b4c30b19UL,
334  0x9be8e48d4UL, 0x9b8b5766fUL, 0x99bcd3a96UL, 0x99df6042dUL, 0x96b482695UL,
335  0x979e99fb4UL, 0x95caaedf6UL, 0x950dc9080UL, 0x956e7ae3bUL, 0x9427d29a1UL,
336  0x908fbcd25UL, 0x9392238fdUL, 0x92b8381dcUL, 0x824db618eUL, 0x83c379b62UL,
337  0x83041e614UL, 0x81f4fd79bUL, 0x80dee6ebaUL, 0x8019813ccUL, 0x853f20da4UL,
338  0x87cfc3c2bUL, 0x8e5878855UL, 0x8fb504c02UL, 0x8b1d6a886UL, 0x8a93a526aUL,
339  0xabdc6d103UL, 0xaa3111554UL, 0xaa52a2befUL, 0xa8a241a60UL, 0xa8c1f24dbUL,
340  0xa92c8e08cUL, 0xad438797eUL, 0xa156490a5UL, 0xa0d886a49UL, 0xb04ebb4a0UL,
341  0xb1c074e4cUL, 0xb616361abUL, 0xb73c2d88aUL, 0xbf2559618UL, 0xbd716e45aUL,
342  0xb8347c489UL, 0xb890a8744UL, 0xba604b6cbUL, 0xbb29e3151UL, 0x3c42f4eb7UL,
343  0x388929488UL, 0x3b94b6150UL, 0x33ee71179UL, 0x311e920f6UL, 0x30905da1aUL,
344  0x343833e9eUL, 0x35b6fc472UL, 0x360fb7267UL, 0x26998ac8eUL, 0x271745662UL,
345  0x20a2b473eUL, 0x20c107985UL, 0x2188afe1fUL, 0x23bf2b2e6UL, 0x229530bc7UL,
346  0x2a2890698UL, 0x2ba65fc74UL, 0x281f14a61UL, 0x2fc956586UL, 0x2f6d8264bUL,
347  0x2e80fe21cUL, 0xe869e6efUL, 0xc767d760UL, 0x8bda0d5fUL, 0xae997f1dUL,
348  0xa2ef026bUL, 0xb04ebb4aUL, 0xb67585f1UL, 0x37e2cb63UL, 0x25437242UL,
349  0x149a879aUL, 0x69fea87dUL, 0x71125291UL, 0x1609d7694UL, 0x143e53a6dUL,
350  0x11bc267c8UL, 0x12c20acabUL, 0x132f768fcUL, 0x134cc5647UL, 0x1a1c19f4fUL,
351  0x182b9d3b6UL, 0x1c27274ffUL, 0x5a10d96a9UL, 0x50f94e9b4UL, 0x509afd70fUL,
352  0x57e86bb25UL, 0x56c270204UL, 0x477e565ccUL, 0x43115fc3eUL, 0x493fafe55UL,
353  0x48b1604b9UL, 0x4a2230b8dUL, 0x6cd8099b8UL, 0x6d3575defUL, 0x6bc92cb29UL,
354  0x687067d3cUL, 0x652c0137dUL, 0x757d5b0e2UL, 0x76a7a384cUL, 0x72ab19f05UL,
355  0x73e2b189fUL, 0x709c9d3fcUL, 0x7885e9d6eUL, 0x7bfbc560dUL, 0x7e79b0ba8UL,
356  0x7dc0fbdbdUL, 0x7d642fe70UL, 0x7c4e34751UL, 0xf9b673783UL, 0xfa0f38196UL,
357  0xfac85fce0UL, 0xfaabec25bUL, 0xff2999ffeUL, 0xfec4e5ba9UL, 0xfd1e1d307UL,
358  0xf50769d95UL, 0xf5a3bde58UL, 0xf489a6779UL, 0xf44ec1a0fUL, 0xf794392a1UL,
359  0xf7535efd7UL, 0xf0427bd46UL, 0xf1af07911UL, 0xe15a89943UL, 0xe01321ed9UL,
360  0xe24716c9bUL, 0xe30ebeb01UL, 0xe3aa6a8ccUL, 0xe3c9d9677UL, 0xe761b72f3UL,
361  0xe64bacbd2UL, 0xe68ccb6a4UL, 0xe4d8fc4e6UL, 0xe4bb4fa5dUL, 0xe41f9b990UL,
362  0xe55633e0aUL, 0xe535800b1UL, 0xe5915437cUL, 0xe5f2e7dc7UL, 0xec655c9b9UL,
363  0xeca23b4cfUL, 0xee95bf836UL, 0xee52d8540UL, 0xee316bbfbUL, 0xef1b702daUL,
364  0xefdc17facUL, 0xea3dd1cb2UL, 0xea9905f7fUL, 0xe869e6ef0UL, 0xe80a5504bUL,
365  0xe943fd7d1UL, 0xc8cb529ceUL, 0xc8a8e1775UL, 0xc80c354b8UL, 0xc9459d322UL,
366  0xc982fae54UL, 0xcbd6cdc16UL, 0xcb11aa160UL, 0xca3bb1841UL, 0xcafcd6537UL,
367  0xce93dfcc5UL, 0xce370bf08UL, 0xcfb9c45e4UL, 0xcfda77b5fUL, 0xcdedf37a6UL,
368  0xcd2a94ad0UL, 0xcd492746bUL, 0xcc008f3f1UL, 0xc4bd2feaeUL, 0xc419fbd63UL,
369  0xc533e0442UL, 0xc55053af9UL, 0xc5f487934UL, 0xc5973478fUL, 0xc7a0b0b76UL,
370  0xc704648bbUL, 0xc2e5a2ba5UL, 0xc308deff2UL, 0xc19b8e0c6UL, 0xc01541a2aUL,
371  0xd0441b9b5UL, 0xd1cad4359UL, 0xd10db3e2fUL, 0xd33a372d6UL, 0xd35984c6dUL,
372  0xd2b4f883aUL, 0xd2d74b681UL, 0xd50109966UL, 0xd448a1efcUL, 0xdc51d506eUL,
373  0xdd187d7f4UL, 0xdd7bce94fUL, 0xdf2ff9b0dUL, 0xdf8b2d8c0UL, 0xdfe89e67bUL,
374  0xdec285f5aUL, 0xde6651c97UL, 0xda6aebbdeUL, 0xda0958565UL, 0xdb2343c44UL,
375  0xd97774e06UL, 0xd914c70bdUL, 0xd89a08a51UL, 0xd83edc99cUL, 0x9a662b238UL,
376  0x9a0598c83UL, 0x997bb47e0UL, 0x99180795bUL, 0x9851afec1UL, 0x9896c83b7UL,
377  0x9c9a724feUL, 0x9cf9c1a45UL, 0x9c5d15988UL, 0x9c3ea6733UL, 0x9d14bde12UL,
378  0x9d770e0a9UL, 0x9db069ddfUL, 0x9f87ed126UL, 0x9fe45ef9dUL, 0x9f408ac50UL,
379  0x9f23392ebUL, 0x9e6a91571UL, 0x9ece456bcUL, 0x96d73182eUL, 0x961056558UL,
380  0x9673e5be3UL, 0x9759fe2c2UL, 0x973a4dc79UL, 0x95a91d34dUL, 0x94446171aUL,
381  0x94e0b54d7UL, 0x90ec0f39eUL, 0x902b68ee8UL, 0x9048db053UL, 0x9101737c9UL,
382  0x93f190646UL, 0x93554458bUL, 0x921cec211UL, 0x82e962243UL, 0x83a0ca5d9UL,
383  0x8367ad8afUL, 0x815029456UL, 0x81974e920UL, 0x80bd55001UL, 0x807a32d77UL,
384  0x847688a3eUL, 0x84153b485UL, 0x84b1ef748UL, 0x84d25c9f3UL, 0x85f8470d2UL,
385  0x855c9331fUL, 0x876b17fe6UL, 0x87ac70290UL, 0x86e5d850aUL, 0x8622bf87cUL,
386  0x8e3bcb6eeUL, 0x8efcacb98UL, 0x8f7263174UL, 0x8f11d0fcfUL, 0x8d2654336UL,
387  0x8d45e7d8dUL, 0x8de133e40UL, 0x8d82800fbUL, 0x8ca89b9daUL, 0x8c6ffc4acUL,
388  0x8c0c4fa17UL, 0x8800f5d5eUL, 0x8863463e5UL, 0x88c792028UL, 0x88a421e93UL,
389  0x898e3a7b2UL, 0x89ed89909UL, 0x89495dac4UL, 0x892aee47fUL, 0x8bda0d5f0UL,
390  0x8bb9beb4bUL, 0x8af016cd1UL, 0x8a54c2f1cUL, 0x8a37711a7UL, 0xab1b0ac75UL,
391  0xaa95c5699UL, 0xa86526716UL, 0xa806959adUL, 0xa9ebe9dfaUL, 0xa94f3de37UL,
392  0xad20347c5UL, 0xade753ab3UL, 0xaccd48392UL, 0xacaefbd29UL, 0xac0a2fee4UL,
393  0xae5e18ca6UL, 0xae3dab21dUL, 0xae997f1d0UL, 0xafd0d764aUL, 0xafb3648f1UL,
394  0xa70ec45aeUL, 0xa76d77b15UL, 0xa7c9a38d8UL, 0xa7aa10663UL, 0xa6800bf42UL,
395  0xa6e3b81f9UL, 0xa624dfc8fUL, 0xa4135b076UL, 0xa4d43cd00UL, 0xa59d94a9aUL,
396  0xa5fe27421UL, 0xa55af37ecUL, 0xa135fae1eUL, 0xa1f29d368UL, 0xa1912edd3UL,
397  0xa0bb354f2UL, 0xa24bd657dUL, 0xa2ef026b0UL, 0xa28cb180bUL, 0xa3a6aa12aUL,
398  0xa361cdc5cUL, 0xa3027e2e7UL, 0xb39443c0eUL, 0xb3f7f02b5UL, 0xb35324178UL,
399  0xb33097fc3UL, 0xb2793f859UL, 0xb2ddebb94UL, 0xb089dc9d6UL, 0xb0ea6f76dUL,
400  0xb02d08a1bUL, 0xb1071333aUL, 0xb164a0d81UL, 0xb5af7d7beUL, 0xb5ccce905UL,
401  0xb5681aac8UL, 0xb50ba9473UL, 0xb421b2d52UL, 0xb442013e9UL, 0xb4e6d5024UL,
402  0xb48566e9fUL, 0xb6b2e2266UL, 0xb6d151cddUL, 0xb67585f10UL, 0xb75f9e631UL,
403  0xb7fb4a5fcUL, 0xbfe23eb6eUL, 0xbf46ea8a3UL, 0xbe6cf1182UL, 0xbeab96cf4UL,
404  0xbec82524fUL, 0xbc9c1200dUL, 0xbc38c63c0UL, 0xbc5b75d7bUL, 0xbdb60992cUL,
405  0xbdd5ba797UL, 0xb9d9000deUL, 0xb9bab3e65UL, 0xb91e67da8UL, 0xb857cfa32UL,
406  0xb8f31b9ffUL, 0xbac49f506UL, 0xbaa72cbbdUL, 0xba03f8870UL, 0xbb4a50feaUL,
407  0xbb8d3729cUL, 0xbbee84c27UL, 0x3e757024eUL, 0x3e16c3cf5UL, 0x3eb217f38UL,
408  0x3ed1a4183UL, 0x3ffbbf8a2UL, 0x3f980c619UL, 0x3f5f6bb6fUL, 0x3d0b5c92dUL,
409  0x3dcc3b45bUL, 0x3ce620d7aUL, 0x3c85933c1UL, 0x3c214700cUL, 0x384e4e9feUL,
410  0x38ea9aa33UL, 0x39c081312UL, 0x39a332da9UL, 0x3964550dfUL, 0x3b53d1c26UL,
411  0x3b306229dUL, 0x3bf705febUL, 0x3a1a79bbcUL, 0x3a79ca507UL, 0x32030d52eUL,
412  0x3260beb95UL, 0x32c46a858UL, 0x32a7d96e3UL, 0x338dc2fc2UL, 0x334aa52b4UL,
413  0x332916c0fUL, 0x317d21e4dUL, 0x31d9f5d80UL, 0x31ba4633bUL, 0x30f3ee4a1UL,
414  0x30573a76cUL, 0x3034899d7UL, 0x345b80025UL, 0x34ff543e8UL, 0x349ce7d53UL,
415  0x35d54fac9UL, 0x3512287bfUL, 0x37461f5fdUL, 0x37e2cb630UL, 0x37817888bUL,
416  0x36ab631aaUL, 0x36c8d0f11UL, 0x366c04cdcUL, 0x265eed1f8UL, 0x2774f68d9UL,
417  0x27b3915afUL, 0x258415956UL, 0x25e7a67edUL, 0x254372420UL, 0x2520c1a9bUL,
418  0x240ada3baUL, 0x246969d01UL, 0x24cdbdeccUL, 0x24ae0e077UL, 0x2006604f3UL,
419  0x23dc98c5dUL, 0x23784cf90UL, 0x231bff12bUL, 0x2252576b1UL, 0x22f68357cUL,
420  0x2aeff7beeUL, 0x2a8c44555UL, 0x2a4b23823UL, 0x2b6138102UL, 0x29f268e36UL,
421  0x29350f340UL, 0x2956bcdfbUL, 0x28d873717UL, 0x2cd4c905eUL, 0x2cb77aee5UL,
422  0x2c13aed28UL, 0x2d5a06ab2UL, 0x2faae5b3dUL, 0x2f0e318f0UL, 0x2e4799f6aUL,
423  0x2ee34dca7UL, 0xfac85fceUL, 0xf6be22b8UL, 0xe224a522UL, 0xe41f9b99UL,
424  0xcd2a94adUL, 0xd3fd50faUL, 0x9f408ac5UL, 0x950dc908UL, 0x9336f7b3UL,
425  0x81974e92UL, 0x87ac7029UL, 0x8de133e4UL, 0xa4d43cd0UL, 0xbc38c63cUL,
426  0xba03f887UL, 0x3daf88aeUL, 0x31d9f5d8UL, 0x29350f34UL, 0xc767d76UL,
427  0xa4d43cdUL, 0x63b3ebbUL, 0x12a1b921UL, 0x1ed7c457UL, 0x526a1e68UL,
428  0x545120d3UL, 0x40cba749UL, 0x4a86e484UL, 0x6fc596c6UL, 0x63b3ebb0UL,
429  0x77296c2aUL, 0x7b5f115cUL, 0x7d642fe7UL, 0x17407f10eUL, 0x1723ccfb5UL,
430  0x17e4ab2c3UL, 0x16ceb0be2UL, 0x16ad03559UL, 0x14f93471bUL, 0x15d32fe3aUL,
431  0x15b09c081UL, 0x15144834cUL, 0x1577fbdf7UL, 0x117b41abeUL, 0x1118f2405UL,
432  0x11df95973UL, 0x10963dee9UL, 0x1032e9d24UL, 0x1266def66UL, 0x12056d1ddUL,
433  0x12a1b9210UL, 0x13e81158aUL, 0x1b55b18d5UL, 0x1bf165b18UL, 0x1b92d65a3UL,
434  0x1adb7e239UL, 0x1a7faa1f4UL, 0x18482ed0dUL, 0x18ecfaec0UL, 0x188f4907bUL,
435  0x19a55295aUL, 0x190186a97UL, 0x1dca5b0a8UL, 0x1da9e8e13UL, 0x1c83f3732UL,
436  0x1ce040989UL, 0x1c4494a44UL, 0x1e10a3806UL, 0x1ed7c4570UL, 0x1eb477bcbUL,
437  0x1f9e6c2eaUL, 0x1ffddfc51UL, 0x1f590bf9cUL, 0x1f3ab8127UL, 0x5da5287f5UL,
438  0x5d624fa83UL, 0x5c2be7d19UL, 0x5edb04c96UL, 0x5e1c631e0UL, 0x5e7fd0f5bUL,
439  0x5f92acb0cUL, 0x5ff11f5b7UL, 0x5b9e16c45UL, 0x5b5971133UL, 0x5a736a812UL,
440  0x5ab40d564UL, 0x58e03a726UL, 0x58838999dUL, 0x596ef5dcaUL, 0x59a9920bcUL,
441  0x59ca21e07UL, 0x51b0e6e2eUL, 0x51d355095UL, 0x511432de3UL, 0x503e294c2UL,
442  0x52ceca54dUL, 0x526a1e680UL, 0x5209ad83bUL, 0x5323b611aUL, 0x53e4d1c6cUL,
443  0x5387622d7UL, 0x574cbf8e8UL, 0x572f0c653UL, 0x560517f72UL, 0x56a1c3cbfUL,
444  0x549647046UL, 0x54f5f4efdUL, 0x545120d30UL, 0x557b3b411UL, 0x55bc5c967UL,
445  0x45ed06af8UL, 0x458eb5443UL, 0x44a4aed62UL, 0x44007aeafUL, 0x4637fe256UL,
446  0x46f099f20UL, 0x47da82601UL, 0x4372ec285UL, 0x429f906d2UL, 0x4258f7ba4UL,
447  0x423b4451fUL, 0x40cba7490UL, 0x40a814a2bUL, 0x41820f30aUL, 0x41e1bcdb1UL,
448  0x414568e7cUL, 0x495c1c0eeUL, 0x499b7bd98UL, 0x49f8c8323UL, 0x4815b4774UL,
449  0x4a4183536UL, 0x4a86e4840UL, 0x4ae5576fbUL, 0x4bcf4cfdaUL, 0x4bacff161UL,
450  0x4b082b2acUL, 0x4b6b98c17UL, 0x4f04915e5UL, 0x4fc3f6893UL, 0x4ee9ed1b2UL,
451  0x4e8a5ef09UL, 0x4e2e8acc4UL, 0x4e4d3927fUL, 0x4c7abde86UL, 0x4c190e03dUL,
452  0x4cbdda3f0UL, 0x4cde69d4bUL, 0x4df47246aUL, 0x4d97c1ad1UL, 0x4d331591cUL,
453  0x6c1f6e4ceUL, 0x6c7cdda75UL, 0x6cbbba703UL, 0x6d91a1e22UL, 0x6df212099UL,
454  0x6d56c6354UL, 0x6f6142fadUL, 0x6fc596c60UL, 0x6e8c3ebfaUL, 0x6eef8d541UL,
455  0x6e28ea837UL, 0x6a2450f7eUL, 0x6a47e31c5UL, 0x6ae337208UL, 0x6baa9f592UL,
456  0x6b6df88e4UL, 0x6b0e4b65fUL, 0x6939cfaa6UL, 0x69fea87d0UL, 0x699d1b96bUL,
457  0x68b70004aUL, 0x68d4b3ef1UL, 0x6813d4387UL, 0x6069133aeUL, 0x60ae74ed8UL,
458  0x60cdc7063UL, 0x61846f7f9UL, 0x6120bb434UL, 0x614308a8fUL, 0x63748c676UL,
459  0x63173f8cdUL, 0x63d0585bbUL, 0x62fa43c9aUL, 0x6299f0221UL, 0x66522d81eUL,
460  0x66319e6a5UL, 0x66954a568UL, 0x66f6f9bd3UL, 0x67bf51c49UL, 0x671b85f84UL,
461  0x67783613fUL, 0x654fb2dc6UL, 0x64c17d72aUL, 0x64a2ce991UL, 0x64061aa5cUL,
462  0x6465a94e7UL, 0x74f394a0eUL, 0x7490274b5UL, 0x7434f3778UL, 0x77ee0bfd6UL,
463  0x778db816dUL, 0x774adfc1bUL, 0x7660c453aUL, 0x760377b81UL, 0x720fcdcc8UL,
464  0x726c7e273UL, 0x734665b52UL, 0x7325d65e9UL, 0x738102624UL, 0x71d535466UL,
465  0x711252910UL, 0x7171e17abUL, 0x705bfae8aUL, 0x70ff2ed47UL, 0x78213dea3UL,
466  0x790b26782UL, 0x79cc41af4UL, 0x7b98768b6UL, 0x7b5f115c0UL, 0x7b3ca2b7bUL,
467  0x7a16b925aUL, 0x7a750ace1UL, 0x7ad1def2cUL, 0x7ab26d197UL, 0x7ebed76deUL,
468  0x7edd64865UL, 0x7e1a03513UL, 0x7f3018c32UL, 0x7f53ab289UL, 0x7ff77f144UL,
469  0x7f94ccfffUL, 0x7da348306UL, 0x7d079c0cbUL, 0x7c8953a27UL, 0xffeefe288UL,
470  0xfe6031864UL, 0xf4ea159c2UL, 0xf61af684dUL, 0xf730ed16cUL, 0xf0851c030UL,
471  0xe6ef7881fUL, 0xe8cd32d3dUL, 0xc9262ed99UL, 0xc47a483d8UL, 0xc222c56d3UL,
472  0xc36b6d149UL, 0xc3ac0ac3fUL, 0xc1f83de7dUL, 0xc13f5a30bUL, 0xc076f2491UL,
473  0xd39ee311bUL, 0xd61c96cbeUL, 0xd6b842f73UL, 0xd7f1ea8e9UL, 0xd7553eb24UL,
474  0xd42b12047UL, 0xdc3266ed5UL, 0xdddf1aa82UL, 0x9e0922bcaUL, 0x9eadf6807UL,
475  0x97fd2a10fUL, 0x948306a6cUL, 0x91a5a7404UL, 0x9336f7b30UL, 0x927f5fcaaUL,
476  0x92db8bf67UL, 0x822e05f35UL, 0x828ad1cf8UL, 0x859bf4e69UL, 0x8708a415dUL,
477  0x86866bbb1UL, 0x86410c6c7UL, 0x8e9f1f523UL, 0x8fd6b72b9UL, 0x8ccb28761UL,
478  0xabbfdefb8UL, 0xaaf676822UL, 0xad84e0408UL, 0xac699c05fUL, 0xaefaccf6bUL,
479  0xaf17b0b3cUL, 0xaf7403587UL, 0xa6476c234UL, 0xa470e8ecdUL, 0xa4b78f3bbUL,
480  0xa53940957UL, 0xa07c52984UL, 0xa01fe173fUL, 0xa22865bc6UL, 0xa3c519f91UL,
481  0xb21a8c6e2UL, 0xb2be5852fUL, 0xb1a3c70f7UL, 0xb798f9b47UL, 0xbf818d5d5UL,
482  0xbe0f42f39UL, 0xbcffa1eb6UL, 0xbd12ddae1UL, 0xb97dd4313UL, 0x3d68ef796UL,
483  0x3daf88ae0UL, 0x382dfd745UL, 0x3abead871UL, 0x35719b904UL, 0x3725acb46UL,
484  0x26fa39235UL, 0x263d5ef43UL, 0x27d022b14UL, 0x2065d3a48UL, 0x212c7bdd2UL,
485  0x214fc8369UL, 0x21eb1c0a4UL, 0x2b028bfb9UL, 0x2bc5ec2cfUL, 0x2991db08dUL,
486  0x28bbc09acUL, 0x2c701d393UL, 0x2d39b5409UL, 0x2d9d617c4UL, 0x2dfed297fUL,
487  0x2e242a1d1UL, 0xfcf36175UL, 0xc15ce9dbUL, 0xd5c66e41UL, 0xdf8b2d8cUL,
488  0x997bb47eUL, 0xa8a241a6UL, 0x23784cf9UL, 0x2f0e318fUL, 0x5e1c631eUL,
489  0x58275da5UL, 0x4cbdda3fUL, 0x6588d50bUL, 0x178718c78UL, 0x166a6482fUL,
490  0x145de04d6UL, 0x149a879a0UL, 0x10f58e052UL, 0x10515a39fUL, 0x138ba2b31UL,
491  0x19c6e17e1UL, 0x19623542cUL, 0x1d0d3cddeUL, 0x1d6e8f365UL, 0x1e73106bdUL,
492  0x5dc69b94eUL, 0x5d01fc438UL, 0x5c48543a2UL, 0x5c8f33ed4UL, 0x5cec8006fUL,
493  0x5eb8b722dUL, 0x5f55cb67aUL, 0x5f36788c1UL, 0x5bfda52feUL, 0x5b3ac2f88UL,
494  0x58275da50UL, 0x5844ee4ebUL, 0x590d46371UL, 0x517781358UL, 0x505d9aa79UL,
495  0x52ad79bf6UL, 0x534005fa1UL, 0x578bd859eUL, 0x5666a41c9UL, 0x54329338bUL,
496  0x55dfef7dcUL, 0x452a6178eUL, 0x4549d2935UL, 0x44c71d3d9UL, 0x46544dcedUL,
497  0x46932a19bUL, 0x47b9318baUL, 0x471de5b77UL, 0x43d638148UL, 0x43b58bff3UL,
498  0x42fc23869UL, 0x400cc09e6UL, 0x406f7375dUL, 0x4126db0c7UL, 0x48d2d3a02UL,
499  0x4876079cfUL, 0x4f6722b5eUL, 0x4fa045628UL, 0x4d50a67a7UL, 0x6f02f1116UL,
500  0x6fa6252dbUL, 0x6e4b5968cUL, 0x6a8084cb3UL, 0x695a7c41dUL, 0x61e7dc942UL,
501  0x623d241ecUL, 0x625e97f57UL, 0x67dce22f2UL, 0x65eb66e0bUL, 0x7457409c3UL,
502  0x751ee8e59UL, 0x75d98f32fUL, 0x77296c2a0UL, 0x76c4106f7UL, 0x72c8aa1beUL,
503  0x71b686addUL, 0x703849031UL, 0x78e65a3d5UL, 0x78428e018UL, 0x796895939UL,
504  0x79aff244fUL, 0x7c2d879eaUL, 0x7ceae049cUL, 0xc3cfb9284UL, 0xdb40f02ffUL,
505  0x8b7ed963dUL, 0xab78b92ceUL, 0xf0851c03UL, 0xcb11aa16UL, 0xd9b01337UL,
506  0x18ecfaecUL, 0x46f099f2UL, 0x1b360266eUL, 0x5ad7bebdfUL, 0x551888aaaUL,
507  0x63b3ebb00UL, 0x75ba3cd94UL, 0x98f57bd0cUL, 0xf912a744eUL
508  };
509  fromVector(codes, d._code_id);
510  d._nbits = 36;
511  d._tau = 0;
512  d._type = ARTAG;
513  d._name = "ARTAG";
514  }
515  break;
516  case ARTOOLKITPLUS:
517  {
518  vector<uint64_t> codes = {
519  0x6dc269c27UL, 0x6d4229e26UL, 0x6cc2e9825UL, 0x6c42a9a24UL, 0x6fc369423UL,
520  0x6f4329622UL, 0x6ec3e9021UL, 0x6e43a9220UL, 0x69c068c2fUL, 0x694028e2eUL,
521  0x68c0e882dUL, 0x6840a8a2cUL, 0x6bc16842bUL, 0x6b412862aUL, 0x6ac1e8029UL,
522  0x6a41a8228UL, 0x65c66bc37UL, 0x65462be36UL, 0x64c6eb835UL, 0x6446aba34UL,
523  0x67c76b433UL, 0x67472b632UL, 0x66c7eb031UL, 0x6647ab230UL, 0x61c46ac3fUL,
524  0x61442ae3eUL, 0x60c4ea83dUL, 0x6044aaa3cUL, 0x63c56a43bUL, 0x63452a63aUL,
525  0x62c5ea039UL, 0x6245aa238UL, 0x7dca6dc07UL, 0x7d4a2de06UL, 0x7ccaed805UL,
526  0x7c4aada04UL, 0x7fcb6d403UL, 0x7f4b2d602UL, 0x7ecbed001UL, 0x7e4bad200UL,
527  0x79c86cc0fUL, 0x79482ce0eUL, 0x78c8ec80dUL, 0x7848aca0cUL, 0x7bc96c40bUL,
528  0x7b492c60aUL, 0x7ac9ec009UL, 0x7a49ac208UL, 0x75ce6fc17UL, 0x754e2fe16UL,
529  0x74ceef815UL, 0x744eafa14UL, 0x77cf6f413UL, 0x774f2f612UL, 0x76cfef011UL,
530  0x764faf210UL, 0x71cc6ec1fUL, 0x714c2ee1eUL, 0x70ccee81dUL, 0x704caea1cUL,
531  0x73cd6e41bUL, 0x734d2e61aUL, 0x72cdee019UL, 0x724dae218UL, 0x4dd261c67UL,
532  0x4d5221e66UL, 0x4cd2e1865UL, 0x4c52a1a64UL, 0x4fd361463UL, 0x4f5321662UL,
533  0x4ed3e1061UL, 0x4e53a1260UL, 0x49d060c6fUL, 0x495020e6eUL, 0x48d0e086dUL,
534  0x4850a0a6cUL, 0x4bd16046bUL, 0x4b512066aUL, 0x4ad1e0069UL, 0x4a51a0268UL,
535  0x45d663c77UL, 0x455623e76UL, 0x44d6e3875UL, 0x4456a3a74UL, 0x47d763473UL,
536  0x475723672UL, 0x46d7e3071UL, 0x4657a3270UL, 0x41d462c7fUL, 0x415422e7eUL,
537  0x40d4e287dUL, 0x4054a2a7cUL, 0x43d56247bUL, 0x43552267aUL, 0x42d5e2079UL,
538  0x4255a2278UL, 0x5dda65c47UL, 0x5d5a25e46UL, 0x5cdae5845UL, 0x5c5aa5a44UL,
539  0x5fdb65443UL, 0x5f5b25642UL, 0x5edbe5041UL, 0x5e5ba5240UL, 0x59d864c4fUL,
540  0x595824e4eUL, 0x58d8e484dUL, 0x5858a4a4cUL, 0x5bd96444bUL, 0x5b592464aUL,
541  0x5ad9e4049UL, 0x5a59a4248UL, 0x55de67c57UL, 0x555e27e56UL, 0x54dee7855UL,
542  0x545ea7a54UL, 0x57df67453UL, 0x575f27652UL, 0x56dfe7051UL, 0x565fa7250UL,
543  0x51dc66c5fUL, 0x515c26e5eUL, 0x50dce685dUL, 0x505ca6a5cUL, 0x53dd6645bUL,
544  0x535d2665aUL, 0x52dde6059UL, 0x525da6258UL, 0x2de279ca7UL, 0x2d6239ea6UL,
545  0x2ce2f98a5UL, 0x2c62b9aa4UL, 0x2fe3794a3UL, 0x2f63396a2UL, 0x2ee3f90a1UL,
546  0x2e63b92a0UL, 0x29e078cafUL, 0x296038eaeUL, 0x28e0f88adUL, 0x2860b8aacUL,
547  0x2be1784abUL, 0x2b61386aaUL, 0x2ae1f80a9UL, 0x2a61b82a8UL, 0x25e67bcb7UL,
548  0x25663beb6UL, 0x24e6fb8b5UL, 0x2466bbab4UL, 0x27e77b4b3UL, 0x27673b6b2UL,
549  0x26e7fb0b1UL, 0x2667bb2b0UL, 0x21e47acbfUL, 0x21643aebeUL, 0x20e4fa8bdUL,
550  0x2064baabcUL, 0x23e57a4bbUL, 0x23653a6baUL, 0x22e5fa0b9UL, 0x2265ba2b8UL,
551  0x3dea7dc87UL, 0x3d6a3de86UL, 0x3ceafd885UL, 0x3c6abda84UL, 0x3feb7d483UL,
552  0x3f6b3d682UL, 0x3eebfd081UL, 0x3e6bbd280UL, 0x39e87cc8fUL, 0x39683ce8eUL,
553  0x38e8fc88dUL, 0x3868bca8cUL, 0x3be97c48bUL, 0x3b693c68aUL, 0x3ae9fc089UL,
554  0x3a69bc288UL, 0x35ee7fc97UL, 0x356e3fe96UL, 0x34eeff895UL, 0x346ebfa94UL,
555  0x37ef7f493UL, 0x376f3f692UL, 0x36efff091UL, 0x366fbf290UL, 0x31ec7ec9fUL,
556  0x316c3ee9eUL, 0x30ecfe89dUL, 0x306cbea9cUL, 0x33ed7e49bUL, 0x336d3e69aUL,
557  0x32edfe099UL, 0x326dbe298UL, 0xdf271ce7UL, 0xd7231ee6UL, 0xcf2f18e5UL,
558  0xc72b1ae4UL, 0xff3714e3UL, 0xf73316e2UL, 0xef3f10e1UL, 0xe73b12e0UL,
559  0x9f070cefUL, 0x97030eeeUL, 0x8f0f08edUL, 0x870b0aecUL, 0xbf1704ebUL,
560  0xb71306eaUL, 0xaf1f00e9UL, 0xa71b02e8UL, 0x5f673cf7UL, 0x57633ef6UL,
561  0x4f6f38f5UL, 0x476b3af4UL, 0x7f7734f3UL, 0x777336f2UL, 0x6f7f30f1UL,
562  0x677b32f0UL, 0x1f472cffUL, 0x17432efeUL, 0xf4f28fdUL, 0x74b2afcUL,
563  0x3f5724fbUL, 0x375326faUL, 0x2f5f20f9UL, 0x275b22f8UL, 0x1dfa75cc7UL,
564  0x1d7a35ec6UL, 0x1cfaf58c5UL, 0x1c7ab5ac4UL, 0x1ffb754c3UL, 0x1f7b356c2UL,
565  0x1efbf50c1UL, 0x1e7bb52c0UL, 0x19f874ccfUL, 0x197834eceUL, 0x18f8f48cdUL,
566  0x1878b4accUL, 0x1bf9744cbUL, 0x1b79346caUL, 0x1af9f40c9UL, 0x1a79b42c8UL,
567  0x15fe77cd7UL, 0x157e37ed6UL, 0x14fef78d5UL, 0x147eb7ad4UL, 0x17ff774d3UL,
568  0x177f376d2UL, 0x16fff70d1UL, 0x167fb72d0UL, 0x11fc76cdfUL, 0x117c36edeUL,
569  0x10fcf68ddUL, 0x107cb6adcUL, 0x13fd764dbUL, 0x137d366daUL, 0x12fdf60d9UL,
570  0x127db62d8UL, 0xed8249d27UL, 0xed0209f26UL, 0xec82c9925UL, 0xec0289b24UL,
571  0xef8349523UL, 0xef0309722UL, 0xee83c9121UL, 0xee0389320UL, 0xe98048d2fUL,
572  0xe90008f2eUL, 0xe880c892dUL, 0xe80088b2cUL, 0xeb814852bUL, 0xeb010872aUL,
573  0xea81c8129UL, 0xea0188328UL, 0xe5864bd37UL, 0xe5060bf36UL, 0xe486cb935UL,
574  0xe4068bb34UL, 0xe7874b533UL, 0xe7070b732UL, 0xe687cb131UL, 0xe6078b330UL,
575  0xe1844ad3fUL, 0xe1040af3eUL, 0xe084ca93dUL, 0xe0048ab3cUL, 0xe3854a53bUL,
576  0xe3050a73aUL, 0xe285ca139UL, 0xe2058a338UL, 0xfd8a4dd07UL, 0xfd0a0df06UL,
577  0xfc8acd905UL, 0xfc0a8db04UL, 0xff8b4d503UL, 0xff0b0d702UL, 0xfe8bcd101UL,
578  0xfe0b8d300UL, 0xf9884cd0fUL, 0xf9080cf0eUL, 0xf888cc90dUL, 0xf8088cb0cUL,
579  0xfb894c50bUL, 0xfb090c70aUL, 0xfa89cc109UL, 0xfa098c308UL, 0xf58e4fd17UL,
580  0xf50e0ff16UL, 0xf48ecf915UL, 0xf40e8fb14UL, 0xf78f4f513UL, 0xf70f0f712UL,
581  0xf68fcf111UL, 0xf60f8f310UL, 0xf18c4ed1fUL, 0xf10c0ef1eUL, 0xf08cce91dUL,
582  0xf00c8eb1cUL, 0xf38d4e51bUL, 0xf30d0e71aUL, 0xf28dce119UL, 0xf20d8e318UL,
583  0xcd9241d67UL, 0xcd1201f66UL, 0xcc92c1965UL, 0xcc1281b64UL, 0xcf9341563UL,
584  0xcf1301762UL, 0xce93c1161UL, 0xce1381360UL, 0xc99040d6fUL, 0xc91000f6eUL,
585  0xc890c096dUL, 0xc81080b6cUL, 0xcb914056bUL, 0xcb110076aUL, 0xca91c0169UL,
586  0xca1180368UL, 0xc59643d77UL, 0xc51603f76UL, 0xc496c3975UL, 0xc41683b74UL,
587  0xc79743573UL, 0xc71703772UL, 0xc697c3171UL, 0xc61783370UL, 0xc19442d7fUL,
588  0xc11402f7eUL, 0xc094c297dUL, 0xc01482b7cUL, 0xc3954257bUL, 0xc3150277aUL,
589  0xc295c2179UL, 0xc21582378UL, 0xdd9a45d47UL, 0xdd1a05f46UL, 0xdc9ac5945UL,
590  0xdc1a85b44UL, 0xdf9b45543UL, 0xdf1b05742UL, 0xde9bc5141UL, 0xde1b85340UL,
591  0xd99844d4fUL, 0xd91804f4eUL, 0xd898c494dUL, 0xd81884b4cUL, 0xdb994454bUL,
592  0xdb190474aUL, 0xda99c4149UL, 0xda1984348UL, 0xd59e47d57UL, 0xd51e07f56UL,
593  0xd49ec7955UL, 0xd41e87b54UL, 0xd79f47553UL, 0xd71f07752UL, 0xd69fc7151UL,
594  0xd61f87350UL, 0xd19c46d5fUL, 0xd11c06f5eUL, 0xd09cc695dUL, 0xd01c86b5cUL,
595  0xd39d4655bUL, 0xd31d0675aUL, 0xd29dc6159UL, 0xd21d86358UL, 0xada259da7UL,
596  0xad2219fa6UL, 0xaca2d99a5UL, 0xac2299ba4UL, 0xafa3595a3UL, 0xaf23197a2UL,
597  0xaea3d91a1UL, 0xae23993a0UL, 0xa9a058dafUL, 0xa92018faeUL, 0xa8a0d89adUL,
598  0xa82098bacUL, 0xaba1585abUL, 0xab21187aaUL, 0xaaa1d81a9UL, 0xaa21983a8UL,
599  0xa5a65bdb7UL, 0xa5261bfb6UL, 0xa4a6db9b5UL, 0xa4269bbb4UL, 0xa7a75b5b3UL,
600  0xa7271b7b2UL, 0xa6a7db1b1UL, 0xa6279b3b0UL, 0xa1a45adbfUL, 0xa1241afbeUL,
601  0xa0a4da9bdUL, 0xa0249abbcUL, 0xa3a55a5bbUL, 0xa3251a7baUL, 0xa2a5da1b9UL,
602  0xa2259a3b8UL, 0xbdaa5dd87UL, 0xbd2a1df86UL, 0xbcaadd985UL, 0xbc2a9db84UL,
603  0xbfab5d583UL, 0xbf2b1d782UL, 0xbeabdd181UL, 0xbe2b9d380UL, 0xb9a85cd8fUL,
604  0xb9281cf8eUL, 0xb8a8dc98dUL, 0xb8289cb8cUL, 0xbba95c58bUL, 0xbb291c78aUL,
605  0xbaa9dc189UL, 0xba299c388UL, 0xb5ae5fd97UL, 0xb52e1ff96UL, 0xb4aedf995UL,
606  0xb42e9fb94UL, 0xb7af5f593UL, 0xb72f1f792UL, 0xb6afdf191UL, 0xb62f9f390UL,
607  0xb1ac5ed9fUL, 0xb12c1ef9eUL, 0xb0acde99dUL, 0xb02c9eb9cUL, 0xb3ad5e59bUL,
608  0xb32d1e79aUL, 0xb2adde199UL, 0xb22d9e398UL, 0x8db251de7UL, 0x8d3211fe6UL,
609  0x8cb2d19e5UL, 0x8c3291be4UL, 0x8fb3515e3UL, 0x8f33117e2UL, 0x8eb3d11e1UL,
610  0x8e33913e0UL, 0x89b050defUL, 0x893010feeUL, 0x88b0d09edUL, 0x883090becUL,
611  0x8bb1505ebUL, 0x8b31107eaUL, 0x8ab1d01e9UL, 0x8a31903e8UL, 0x85b653df7UL,
612  0x853613ff6UL, 0x84b6d39f5UL, 0x843693bf4UL, 0x87b7535f3UL, 0x8737137f2UL,
613  0x86b7d31f1UL, 0x8637933f0UL, 0x81b452dffUL, 0x813412ffeUL, 0x80b4d29fdUL,
614  0x803492bfcUL, 0x83b5525fbUL, 0x8335127faUL, 0x82b5d21f9UL, 0x8235923f8UL,
615  0x9dba55dc7UL, 0x9d3a15fc6UL, 0x9cbad59c5UL, 0x9c3a95bc4UL, 0x9fbb555c3UL,
616  0x9f3b157c2UL, 0x9ebbd51c1UL, 0x9e3b953c0UL, 0x99b854dcfUL, 0x993814fceUL,
617  0x98b8d49cdUL, 0x983894bccUL, 0x9bb9545cbUL, 0x9b39147caUL, 0x9ab9d41c9UL,
618  0x9a39943c8UL, 0x95be57dd7UL, 0x953e17fd6UL, 0x94bed79d5UL, 0x943e97bd4UL,
619  0x97bf575d3UL, 0x973f177d2UL, 0x96bfd71d1UL, 0x963f973d0UL, 0x91bc56ddfUL,
620  0x913c16fdeUL, 0x90bcd69ddUL, 0x903c96bdcUL, 0x93bd565dbUL, 0x933d167daUL,
621  0x92bdd61d9UL, 0x923d963d8UL
622  };
623  fromVector(codes, d._code_id);
624  d._nbits = 36;
625  d._tau = 4; //
626  d._type = ARTOOLKITPLUS;
627  d._name = "ARTOOLKITPLUS";
628  }
629  break;
630  case ARTOOLKITPLUSBCH:
631  {
632  vector<uint64_t> codes = {
633  0x8f80b8750UL, 0x8f9d0a027UL, 0x8fa66eec9UL, 0x8fbbdc9beUL, 0x8fcd15462UL,
634  0x8fd0a7315UL, 0x8febc3dfbUL, 0x8ff671a8cUL, 0x8f0650643UL, 0x8f1be2134UL,
635  0x8f2086fdaUL, 0x8f3d348adUL, 0x8f4bfd571UL, 0x8f564f206UL, 0x8f6d2bce8UL,
636  0x8f7099b9fUL, 0x8e8d68576UL, 0x8e90da201UL, 0x8eabbecefUL, 0x8eb60cb98UL,
637  0x8ec0c5644UL, 0x8edd77133UL, 0x8ee613fddUL, 0x8efba18aaUL, 0x8e0b80465UL,
638  0x8e1632312UL, 0x8e2d56dfcUL, 0x8e30e4a8bUL, 0x8e462d757UL, 0x8e5b9f020UL,
639  0x8e60fbeceUL, 0x8e7d499b9UL, 0x8d86aa46bUL, 0x8d9b1831cUL, 0x8da07cdf2UL,
640  0x8dbdcea85UL, 0x8dcb07759UL, 0x8dd6b502eUL, 0x8dedd1ec0UL, 0x8df0639b7UL,
641  0x8d0042578UL, 0x8d1df020fUL, 0x8d2694ce1UL, 0x8d3b26b96UL, 0x8d4def64aUL,
642  0x8d505d13dUL, 0x8d6b39fd3UL, 0x8d768b8a4UL, 0x8c8b7a64dUL, 0x8c96c813aUL,
643  0x8cadacfd4UL, 0x8cb01e8a3UL, 0x8cc6d757fUL, 0x8cdb65208UL, 0x8ce001ce6UL,
644  0x8cfdb3b91UL, 0x8c0d9275eUL, 0x8c1020029UL, 0x8c2b44ec7UL, 0x8c36f69b0UL,
645  0x8c403f46cUL, 0x8c5d8d31bUL, 0x8c66e9df5UL, 0x8c7b5ba82UL, 0x8b8c9c126UL,
646  0x8b912e651UL, 0x8baa4a8bfUL, 0x8bb7f8fc8UL, 0x8bc131214UL, 0x8bdc83563UL,
647  0x8be7e7b8dUL, 0x8bfa55cfaUL, 0x8b0a74035UL, 0x8b17c6742UL, 0x8b2ca29acUL,
648  0x8b3110edbUL, 0x8b47d9307UL, 0x8b5a6b470UL, 0x8b610fa9eUL, 0x8b7cbdde9UL,
649  0x8a814c300UL, 0x8a9cfe477UL, 0x8aa79aa99UL, 0x8aba28deeUL, 0x8acce1032UL,
650  0x8ad153745UL, 0x8aea379abUL, 0x8af785edcUL, 0x8a07a4213UL, 0x8a1a16564UL,
651  0x8a2172b8aUL, 0x8a3cc0cfdUL, 0x8a4a09121UL, 0x8a57bb656UL, 0x8a6cdf8b8UL,
652  0x8a716dfcfUL, 0x898a8e21dUL, 0x89973c56aUL, 0x89ac58b84UL, 0x89b1eacf3UL,
653  0x89c72312fUL, 0x89da91658UL, 0x89e1f58b6UL, 0x89fc47fc1UL, 0x890c6630eUL,
654  0x8911d4479UL, 0x892ab0a97UL, 0x893702de0UL, 0x8941cb03cUL, 0x895c7974bUL,
655  0x89671d9a5UL, 0x897aafed2UL, 0x88875e03bUL, 0x889aec74cUL, 0x88a1889a2UL,
656  0x88bc3aed5UL, 0x88caf3309UL, 0x88d74147eUL, 0x88ec25a90UL, 0x88f197de7UL,
657  0x8801b6128UL, 0x881c0465fUL, 0x8827608b1UL, 0x883ad2fc6UL, 0x884c1b21aUL,
658  0x8851a956dUL, 0x886acdb83UL, 0x88777fcf4UL, 0x878542ccbUL, 0x8798f0bbcUL,
659  0x87a394552UL, 0x87be26225UL, 0x87c8efff9UL, 0x87d55d88eUL, 0x87ee39660UL,
660  0x87f38b117UL, 0x8703aadd8UL, 0x871e18aafUL, 0x87257c441UL, 0x8738ce336UL,
661  0x874e07eeaUL, 0x8753b599dUL, 0x8768d1773UL, 0x877563004UL, 0x868892eedUL,
662  0x86952099aUL, 0x86ae44774UL, 0x86b3f6003UL, 0x86c53fddfUL, 0x86d88daa8UL,
663  0x86e3e9446UL, 0x86fe5b331UL, 0x860e7affeUL, 0x8613c8889UL, 0x8628ac667UL,
664  0x86351e110UL, 0x8643d7cccUL, 0x865e65bbbUL, 0x866501555UL, 0x8678b3222UL,
665  0x858350ff0UL, 0x859ee2887UL, 0x85a586669UL, 0x85b83411eUL, 0x85cefdcc2UL,
666  0x85d34fbb5UL, 0x85e82b55bUL, 0x85f59922cUL, 0x8505b8ee3UL, 0x85180a994UL,
667  0x85236e77aUL, 0x853edc00dUL, 0x854815dd1UL, 0x8555a7aa6UL, 0x856ec3448UL,
668  0x85737133fUL, 0x848e80dd6UL, 0x849332aa1UL, 0x84a85644fUL, 0x84b5e4338UL,
669  0x84c32dee4UL, 0x84de9f993UL, 0x84e5fb77dUL, 0x84f84900aUL, 0x840868cc5UL,
670  0x8415dabb2UL, 0x842ebe55cUL, 0x84330c22bUL, 0x8445c5ff7UL, 0x845877880UL,
671  0x84631366eUL, 0x847ea1119UL, 0x838966abdUL, 0x8394d4dcaUL, 0x83afb0324UL,
672  0x83b202453UL, 0x83c4cb98fUL, 0x83d979ef8UL, 0x83e21d016UL, 0x83ffaf761UL,
673  0x830f8ebaeUL, 0x83123ccd9UL, 0x832958237UL, 0x8334ea540UL, 0x83422389cUL,
674  0x835f91febUL, 0x8364f5105UL, 0x837947672UL, 0x8284b689bUL, 0x829904fecUL,
675  0x82a260102UL, 0x82bfd2675UL, 0x82c91bba9UL, 0x82d4a9cdeUL, 0x82efcd230UL,
676  0x82f27f547UL, 0x82025e988UL, 0x821feceffUL, 0x822488011UL, 0x82393a766UL,
677  0x824ff3abaUL, 0x825241dcdUL, 0x826925323UL, 0x827497454UL, 0x818f74986UL,
678  0x8192c6ef1UL, 0x81a9a201fUL, 0x81b410768UL, 0x81c2d9ab4UL, 0x81df6bdc3UL,
679  0x81e40f32dUL, 0x81f9bd45aUL, 0x81099c895UL, 0x81142efe2UL, 0x812f4a10cUL,
680  0x8132f867bUL, 0x814431ba7UL, 0x815983cd0UL, 0x8162e723eUL, 0x817f55549UL,
681  0x8082a4ba0UL, 0x809f16cd7UL, 0x80a472239UL, 0x80b9c054eUL, 0x80cf09892UL,
682  0x80d2bbfe5UL, 0x80e9df10bUL, 0x80f46d67cUL, 0x80044cab3UL, 0x8019fedc4UL,
683  0x80229a32aUL, 0x803f2845dUL, 0x8049e1981UL, 0x805453ef6UL, 0x806f37018UL,
684  0x80728576fUL, 0x9f8b4d066UL, 0x9f96ff711UL, 0x9fad9b9ffUL, 0x9fb029e88UL,
685  0x9fc6e0354UL, 0x9fdb52423UL, 0x9fe036acdUL, 0x9ffd84dbaUL, 0x9f0da5175UL,
686  0x9f1017602UL, 0x9f2b738ecUL, 0x9f36c1f9bUL, 0x9f4008247UL, 0x9f5dba530UL,
687  0x9f66debdeUL, 0x9f7b6cca9UL, 0x9e869d240UL, 0x9e9b2f537UL, 0x9ea04bbd9UL,
688  0x9ebdf9caeUL, 0x9ecb30172UL, 0x9ed682605UL, 0x9eede68ebUL, 0x9ef054f9cUL,
689  0x9e0075353UL, 0x9e1dc7424UL, 0x9e26a3acaUL, 0x9e3b11dbdUL, 0x9e4dd8061UL,
690  0x9e506a716UL, 0x9e6b0e9f8UL, 0x9e76bce8fUL, 0x9d8d5f35dUL, 0x9d90ed42aUL,
691  0x9dab89ac4UL, 0x9db63bdb3UL, 0x9dc0f206fUL, 0x9ddd40718UL, 0x9de6249f6UL,
692  0x9dfb96e81UL, 0x9d0bb724eUL, 0x9d1605539UL, 0x9d2d61bd7UL, 0x9d30d3ca0UL,
693  0x9d461a17cUL, 0x9d5ba860bUL, 0x9d60cc8e5UL, 0x9d7d7ef92UL, 0x9c808f17bUL,
694  0x9c9d3d60cUL, 0x9ca6598e2UL, 0x9cbbebf95UL, 0x9ccd22249UL, 0x9cd09053eUL,
695  0x9cebf4bd0UL, 0x9cf646ca7UL, 0x9c0667068UL, 0x9c1bd571fUL, 0x9c20b19f1UL,
696  0x9c3d03e86UL, 0x9c4bca35aUL, 0x9c567842dUL, 0x9c6d1cac3UL, 0x9c70aedb4UL,
697  0x9b8769610UL, 0x9b9adb167UL, 0x9ba1bff89UL, 0x9bbc0d8feUL, 0x9bcac4522UL,
698  0x9bd776255UL, 0x9bec12cbbUL, 0x9bf1a0bccUL, 0x9b0181703UL, 0x9b1c33074UL,
699  0x9b2757e9aUL, 0x9b3ae59edUL, 0x9b4c2c431UL, 0x9b519e346UL, 0x9b6afada8UL,
700  0x9b7748adfUL, 0x9a8ab9436UL, 0x9a970b341UL, 0x9aac6fdafUL, 0x9ab1ddad8UL,
701  0x9ac714704UL, 0x9adaa6073UL, 0x9ae1c2e9dUL, 0x9afc709eaUL, 0x9a0c51525UL,
702  0x9a11e3252UL, 0x9a2a87cbcUL, 0x9a3735bcbUL, 0x9a41fc617UL, 0x9a5c4e160UL,
703  0x9a672af8eUL, 0x9a7a988f9UL, 0x99817b52bUL, 0x999cc925cUL, 0x99a7adcb2UL,
704  0x99ba1fbc5UL, 0x99ccd6619UL, 0x99d16416eUL, 0x99ea00f80UL, 0x99f7b28f7UL,
705  0x990793438UL, 0x991a2134fUL, 0x992145da1UL, 0x993cf7ad6UL, 0x994a3e70aUL,
706  0x99578c07dUL, 0x996ce8e93UL, 0x99715a9e4UL, 0x988cab70dUL, 0x98911907aUL,
707  0x98aa7de94UL, 0x98b7cf9e3UL, 0x98c10643fUL, 0x98dcb4348UL, 0x98e7d0da6UL,
708  0x98fa62ad1UL, 0x980a4361eUL, 0x9817f1169UL, 0x982c95f87UL, 0x9831278f0UL,
709  0x9847ee52cUL, 0x985a5c25bUL, 0x986138cb5UL, 0x987c8abc2UL, 0x978eb7bfdUL,
710  0x979305c8aUL, 0x97a861264UL, 0x97b5d3513UL, 0x97c31a8cfUL, 0x97dea8fb8UL,
711  0x97e5cc156UL, 0x97f87e621UL, 0x97085faeeUL, 0x9715edd99UL, 0x972e89377UL,
712  0x97333b400UL, 0x9745f29dcUL, 0x975840eabUL, 0x976324045UL, 0x977e96732UL,
713  0x9683679dbUL, 0x969ed5eacUL, 0x96a5b1042UL, 0x96b803735UL, 0x96cecaae9UL,
714  0x96d378d9eUL, 0x96e81c370UL, 0x96f5ae407UL, 0x96058f8c8UL, 0x96183dfbfUL,
715  0x962359151UL, 0x963eeb626UL, 0x964822bfaUL, 0x965590c8dUL, 0x966ef4263UL,
716  0x967346514UL, 0x9588a58c6UL, 0x959517fb1UL, 0x95ae7315fUL, 0x95b3c1628UL,
717  0x95c508bf4UL, 0x95d8bac83UL, 0x95e3de26dUL, 0x95fe6c51aUL, 0x950e4d9d5UL,
718  0x9513ffea2UL, 0x95289b04cUL, 0x95352973bUL, 0x9543e0ae7UL, 0x955e52d90UL,
719  0x95653637eUL, 0x957884409UL, 0x948575ae0UL, 0x9498c7d97UL, 0x94a3a3379UL,
720  0x94be1140eUL, 0x94c8d89d2UL, 0x94d56aea5UL, 0x94ee0e04bUL, 0x94f3bc73cUL,
721  0x94039dbf3UL, 0x941e2fc84UL, 0x94254b26aUL, 0x9438f951dUL, 0x944e308c1UL,
722  0x945382fb6UL, 0x9468e6158UL, 0x94755462fUL, 0x938293d8bUL, 0x939f21afcUL,
723  0x93a445412UL, 0x93b9f7365UL, 0x93cf3eeb9UL, 0x93d28c9ceUL, 0x93e9e8720UL,
724  0x93f45a057UL, 0x93047bc98UL, 0x9319c9befUL, 0x9322ad501UL, 0x933f1f276UL,
725  0x9349d6faaUL, 0x9354648ddUL, 0x936f00633UL, 0x9372b2144UL, 0x928f43fadUL,
726  0x9292f18daUL, 0x92a995634UL, 0x92b427143UL, 0x92c2eec9fUL, 0x92df5cbe8UL,
727  0x92e438506UL, 0x92f98a271UL, 0x9209abebeUL, 0x9214199c9UL, 0x922f7d727UL,
728  0x9232cf050UL, 0x924406d8cUL, 0x9259b4afbUL, 0x9262d0415UL, 0x927f62362UL,
729  0x918481eb0UL, 0x9199339c7UL, 0x91a257729UL, 0x91bfe505eUL, 0x91c92cd82UL,
730  0x91d49eaf5UL, 0x91effa41bUL, 0x91f24836cUL, 0x910269fa3UL, 0x911fdb8d4UL,
731  0x9124bf63aUL, 0x91390d14dUL, 0x914fc4c91UL, 0x915276be6UL, 0x916912508UL,
732  0x9174a027fUL, 0x908951c96UL, 0x9094e3be1UL, 0x90af8750fUL, 0x90b235278UL,
733  0x90c4fcfa4UL, 0x90d94e8d3UL, 0x90e22a63dUL, 0x90ff9814aUL, 0x900fb9d85UL,
734  0x90120baf2UL, 0x90296f41cUL, 0x9034dd36bUL, 0x904214eb7UL, 0x905fa69c0UL,
735  0x9064c272eUL, 0x907970059UL, 0xaf8ae0e4bUL, 0xaf975293cUL, 0xafac367d2UL,
736  0xafb1840a5UL, 0xafc74dd79UL, 0xafdaffa0eUL, 0xafe19b4e0UL, 0xaffc29397UL,
737  0xaf0c08f58UL, 0xaf11ba82fUL, 0xaf2ade6c1UL, 0xaf376c1b6UL, 0xaf41a5c6aUL,
738  0xaf5c17b1dUL, 0xaf67735f3UL, 0xaf7ac1284UL, 0xae8730c6dUL, 0xae9a82b1aUL,
739  0xaea1e65f4UL, 0xaebc54283UL, 0xaeca9df5fUL, 0xaed72f828UL, 0xaeec4b6c6UL,
740  0xaef1f91b1UL, 0xae01d8d7eUL, 0xae1c6aa09UL, 0xae270e4e7UL, 0xae3abc390UL,
741  0xae4c75e4cUL, 0xae51c793bUL, 0xae6aa37d5UL, 0xae77110a2UL, 0xad8cf2d70UL,
742  0xad9140a07UL, 0xadaa244e9UL, 0xadb79639eUL, 0xadc15fe42UL, 0xaddced935UL,
743  0xade7897dbUL, 0xadfa3b0acUL, 0xad0a1ac63UL, 0xad17a8b14UL, 0xad2ccc5faUL,
744  0xad317e28dUL, 0xad47b7f51UL, 0xad5a05826UL, 0xad61616c8UL, 0xad7cd31bfUL,
745  0xac8122f56UL, 0xac9c90821UL, 0xaca7f46cfUL, 0xacba461b8UL, 0xaccc8fc64UL,
746  0xacd13db13UL, 0xacea595fdUL, 0xacf7eb28aUL, 0xac07cae45UL, 0xac1a78932UL,
747  0xac211c7dcUL, 0xac3cae0abUL, 0xac4a67d77UL, 0xac57d5a00UL, 0xac6cb14eeUL,
748  0xac7103399UL, 0xab86c483dUL, 0xab9b76f4aUL, 0xaba0121a4UL, 0xabbda06d3UL,
749  0xabcb69b0fUL, 0xabd6dbc78UL, 0xabedbf296UL, 0xabf00d5e1UL, 0xab002c92eUL,
750  0xab1d9ee59UL, 0xab26fa0b7UL, 0xab3b487c0UL, 0xab4d81a1cUL, 0xab5033d6bUL,
751  0xab6b57385UL, 0xab76e54f2UL, 0xaa8b14a1bUL, 0xaa96a6d6cUL, 0xaaadc2382UL,
752  0xaab0704f5UL, 0xaac6b9929UL, 0xaadb0be5eUL, 0xaae06f0b0UL, 0xaafddd7c7UL,
753  0xaa0dfcb08UL, 0xaa104ec7fUL, 0xaa2b2a291UL, 0xaa36985e6UL, 0xaa405183aUL,
754  0xaa5de3f4dUL, 0xaa66871a3UL, 0xaa7b356d4UL, 0xa980d6b06UL, 0xa99d64c71UL,
755  0xa9a60029fUL, 0xa9bbb25e8UL, 0xa9cd7b834UL, 0xa9d0c9f43UL, 0xa9ebad1adUL,
756  0xa9f61f6daUL, 0xa9063ea15UL, 0xa91b8cd62UL, 0xa920e838cUL, 0xa93d5a4fbUL,
757  0xa94b93927UL, 0xa95621e50UL, 0xa96d450beUL, 0xa970f77c9UL, 0xa88d06920UL,
758  0xa890b4e57UL, 0xa8abd00b9UL, 0xa8b6627ceUL, 0xa8c0aba12UL, 0xa8dd19d65UL,
759  0xa8e67d38bUL, 0xa8fbcf4fcUL, 0xa80bee833UL, 0xa8165cf44UL, 0xa82d381aaUL,
760  0xa8308a6ddUL, 0xa84643b01UL, 0xa85bf1c76UL, 0xa86095298UL, 0xa87d275efUL,
761  0xa78f1a5d0UL, 0xa792a82a7UL, 0xa7a9ccc49UL, 0xa7b47eb3eUL, 0xa7c2b76e2UL,
762  0xa7df05195UL, 0xa7e461f7bUL, 0xa7f9d380cUL, 0xa709f24c3UL, 0xa714403b4UL,
763  0xa72f24d5aUL, 0xa73296a2dUL, 0xa7445f7f1UL, 0xa759ed086UL, 0xa76289e68UL,
764  0xa77f3b91fUL, 0xa682ca7f6UL, 0xa69f78081UL, 0xa6a41ce6fUL, 0xa6b9ae918UL,
765  0xa6cf674c4UL, 0xa6d2d53b3UL, 0xa6e9b1d5dUL, 0xa6f403a2aUL, 0xa604226e5UL,
766  0xa61990192UL, 0xa622f4f7cUL, 0xa63f4680bUL, 0xa6498f5d7UL, 0xa6543d2a0UL,
767  0xa66f59c4eUL, 0xa672ebb39UL, 0xa589086ebUL, 0xa594ba19cUL, 0xa5afdef72UL,
768  0xa5b26c805UL, 0xa5c4a55d9UL, 0xa5d9172aeUL, 0xa5e273c40UL, 0xa5ffc1b37UL,
769  0xa50fe07f8UL, 0xa5125208fUL, 0xa52936e61UL, 0xa53484916UL, 0xa5424d4caUL,
770  0xa55fff3bdUL, 0xa5649bd53UL, 0xa57929a24UL, 0xa484d84cdUL, 0xa4996a3baUL,
771  0xa4a20ed54UL, 0xa4bfbca23UL, 0xa4c9757ffUL, 0xa4d4c7088UL, 0xa4efa3e66UL,
772  0xa4f211911UL, 0xa402305deUL, 0xa41f822a9UL, 0xa424e6c47UL, 0xa43954b30UL,
773  0xa44f9d6ecUL, 0xa4522f19bUL, 0xa4694bf75UL, 0xa474f9802UL, 0xa3833e3a6UL,
774  0xa39e8c4d1UL, 0xa3a5e8a3fUL, 0xa3b85ad48UL, 0xa3ce93094UL, 0xa3d3217e3UL,
775  0xa3e84590dUL, 0xa3f5f7e7aUL, 0xa305d62b5UL, 0xa318645c2UL, 0xa32300b2cUL,
776  0xa33eb2c5bUL, 0xa3487b187UL, 0xa355c96f0UL, 0xa36ead81eUL, 0xa3731ff69UL,
777  0xa28eee180UL, 0xa2935c6f7UL, 0xa2a838819UL, 0xa2b58af6eUL, 0xa2c3432b2UL,
778  0xa2def15c5UL, 0xa2e595b2bUL, 0xa2f827c5cUL, 0xa20806093UL, 0xa215b47e4UL,
779  0xa22ed090aUL, 0xa23362e7dUL, 0xa245ab3a1UL, 0xa258194d6UL, 0xa2637da38UL,
780  0xa27ecfd4fUL, 0xa1852c09dUL, 0xa1989e7eaUL, 0xa1a3fa904UL, 0xa1be48e73UL,
781  0xa1c8813afUL, 0xa1d5334d8UL, 0xa1ee57a36UL, 0xa1f3e5d41UL, 0xa103c418eUL,
782  0xa11e766f9UL, 0xa12512817UL, 0xa138a0f60UL, 0xa14e692bcUL, 0xa153db5cbUL,
783  0xa168bfb25UL, 0xa1750dc52UL, 0xa088fc2bbUL, 0xa0954e5ccUL, 0xa0ae2ab22UL,
784  0xa0b398c55UL, 0xa0c551189UL, 0xa0d8e36feUL, 0xa0e387810UL, 0xa0fe35f67UL,
785  0xa00e143a8UL, 0xa013a64dfUL, 0xa028c2a31UL, 0xa03570d46UL, 0xa043b909aUL,
786  0xa05e0b7edUL, 0xa0656f903UL, 0xa078dde74UL, 0xbf811597dUL, 0xbf9ca7e0aUL,
787  0xbfa7c30e4UL, 0xbfba71793UL, 0xbfccb8a4fUL, 0xbfd10ad38UL, 0xbfea6e3d6UL,
788  0xbff7dc4a1UL, 0xbf07fd86eUL, 0xbf1a4ff19UL, 0xbf212b1f7UL, 0xbf3c99680UL,
789  0xbf4a50b5cUL, 0xbf57e2c2bUL, 0xbf6c862c5UL, 0xbf71345b2UL, 0xbe8cc5b5bUL,
790  0xbe9177c2cUL, 0xbeaa132c2UL, 0xbeb7a15b5UL, 0xbec168869UL, 0xbedcdaf1eUL,
791  0xbee7be1f0UL, 0xbefa0c687UL, 0xbe0a2da48UL, 0xbe179fd3fUL, 0xbe2cfb3d1UL,
792  0xbe31494a6UL, 0xbe478097aUL, 0xbe5a32e0dUL, 0xbe61560e3UL, 0xbe7ce4794UL,
793  0xbd8707a46UL, 0xbd9ab5d31UL, 0xbda1d13dfUL, 0xbdbc634a8UL, 0xbdcaaa974UL,
794  0xbdd718e03UL, 0xbdec7c0edUL, 0xbdf1ce79aUL, 0xbd01efb55UL, 0xbd1c5dc22UL,
795  0xbd27392ccUL, 0xbd3a8b5bbUL, 0xbd4c42867UL, 0xbd51f0f10UL, 0xbd6a941feUL,
796  0xbd7726689UL, 0xbc8ad7860UL, 0xbc9765f17UL, 0xbcac011f9UL, 0xbcb1b368eUL,
797  0xbcc77ab52UL, 0xbcdac8c25UL, 0xbce1ac2cbUL, 0xbcfc1e5bcUL, 0xbc0c3f973UL,
798  0xbc118de04UL, 0xbc2ae90eaUL, 0xbc375b79dUL, 0xbc4192a41UL, 0xbc5c20d36UL,
799  0xbc67443d8UL, 0xbc7af64afUL, 0xbb8d31f0bUL, 0xbb908387cUL, 0xbbabe7692UL,
800  0xbbb6551e5UL, 0xbbc09cc39UL, 0xbbdd2eb4eUL, 0xbbe64a5a0UL, 0xbbfbf82d7UL,
801  0xbb0bd9e18UL, 0xbb166b96fUL, 0xbb2d0f781UL, 0xbb30bd0f6UL, 0xbb4674d2aUL,
802  0xbb5bc6a5dUL, 0xbb60a24b3UL, 0xbb7d103c4UL, 0xba80e1d2dUL, 0xba9d53a5aUL,
803  0xbaa6374b4UL, 0xbabb853c3UL, 0xbacd4ce1fUL, 0xbad0fe968UL, 0xbaeb9a786UL,
804  0xbaf6280f1UL, 0xba0609c3eUL, 0xba1bbbb49UL, 0xba20df5a7UL, 0xba3d6d2d0UL,
805  0xba4ba4f0cUL, 0xba561687bUL, 0xba6d72695UL, 0xba70c01e2UL, 0xb98b23c30UL,
806  0xb99691b47UL, 0xb9adf55a9UL, 0xb9b0472deUL, 0xb9c68ef02UL, 0xb9db3c875UL,
807  0xb9e05869bUL, 0xb9fdea1ecUL, 0xb90dcbd23UL, 0xb91079a54UL, 0xb92b1d4baUL,
808  0xb936af3cdUL, 0xb94066e11UL, 0xb95dd4966UL, 0xb966b0788UL, 0xb97b020ffUL,
809  0xb886f3e16UL, 0xb89b41961UL, 0xb8a02578fUL, 0xb8bd970f8UL, 0xb8cb5ed24UL,
810  0xb8d6eca53UL, 0xb8ed884bdUL, 0xb8f03a3caUL, 0xb8001bf05UL, 0xb81da9872UL,
811  0xb826cd69cUL, 0xb83b7f1ebUL, 0xb84db6c37UL, 0xb85004b40UL, 0xb86b605aeUL,
812  0xb876d22d9UL, 0xb784ef2e6UL, 0xb7995d591UL, 0xb7a239b7fUL, 0xb7bf8bc08UL,
813  0xb7c9421d4UL, 0xb7d4f06a3UL, 0xb7ef9484dUL, 0xb7f226f3aUL, 0xb702073f5UL,
814  0xb71fb5482UL, 0xb724d1a6cUL, 0xb73963d1bUL, 0xb74faa0c7UL, 0xb752187b0UL,
815  0xb7697c95eUL, 0xb774cee29UL, 0xb6893f0c0UL, 0xb6948d7b7UL, 0xb6afe9959UL,
816  0xb6b25be2eUL, 0xb6c4923f2UL, 0xb6d920485UL, 0xb6e244a6bUL, 0xb6fff6d1cUL,
817  0xb60fd71d3UL, 0xb612656a4UL, 0xb6290184aUL, 0xb634b3f3dUL, 0xb6427a2e1UL,
818  0xb65fc8596UL, 0xb664acb78UL, 0xb6791ec0fUL, 0xb582fd1ddUL, 0xb59f4f6aaUL,
819  0xb5a42b844UL, 0xb5b999f33UL, 0xb5cf502efUL, 0xb5d2e2598UL, 0xb5e986b76UL,
820  0xb5f434c01UL, 0xb504150ceUL, 0xb519a77b9UL, 0xb522c3957UL, 0xb53f71e20UL,
821  0xb549b83fcUL, 0xb5540a48bUL, 0xb56f6ea65UL, 0xb572dcd12UL, 0xb48f2d3fbUL,
822  0xb4929f48cUL, 0xb4a9fba62UL, 0xb4b449d15UL, 0xb4c2800c9UL, 0xb4df327beUL,
823  0xb4e456950UL, 0xb4f9e4e27UL, 0xb409c52e8UL, 0xb4147759fUL, 0xb42f13b71UL,
824  0xb432a1c06UL, 0xb444681daUL, 0xb459da6adUL, 0xb462be843UL, 0xb47f0cf34UL,
825  0xb388cb490UL, 0xb395793e7UL, 0xb3ae1dd09UL, 0xb3b3afa7eUL, 0xb3c5667a2UL,
826  0xb3d8d40d5UL, 0xb3e3b0e3bUL, 0xb3fe0294cUL, 0xb30e23583UL, 0xb313912f4UL,
827  0xb328f5c1aUL, 0xb33547b6dUL, 0xb3438e6b1UL, 0xb35e3c1c6UL, 0xb36558f28UL,
828  0xb378ea85fUL, 0xb2851b6b6UL, 0xb298a91c1UL, 0xb2a3cdf2fUL, 0xb2be7f858UL,
829  0xb2c8b6584UL, 0xb2d5042f3UL, 0xb2ee60c1dUL, 0xb2f3d2b6aUL, 0xb203f37a5UL,
830  0xb21e410d2UL, 0xb22525e3cUL, 0xb2389794bUL, 0xb24e5e497UL, 0xb253ec3e0UL,
831  0xb26888d0eUL, 0xb2753aa79UL, 0xb18ed97abUL, 0xb1936b0dcUL, 0xb1a80fe32UL,
832  0xb1b5bd945UL, 0xb1c374499UL, 0xb1dec63eeUL, 0xb1e5a2d00UL, 0xb1f810a77UL,
833  0xb108316b8UL, 0xb115831cfUL, 0xb12ee7f21UL, 0xb13355856UL, 0xb1459c58aUL,
834  0xb1582e2fdUL, 0xb1634ac13UL, 0xb17ef8b64UL, 0xb0830958dUL, 0xb09ebb2faUL,
835  0xb0a5dfc14UL, 0xb0b86db63UL, 0xb0cea46bfUL, 0xb0d3161c8UL, 0xb0e872f26UL,
836  0xb0f5c0851UL, 0xb005e149eUL, 0xb018533e9UL, 0xb02337d07UL, 0xb03e85a70UL,
837  0xb0484c7acUL, 0xb055fe0dbUL, 0xb06e9ae35UL, 0xb07328942UL, 0xcf89bb211UL,
838  0xcf9409566UL, 0xcfaf6db88UL, 0xcfb2dfcffUL, 0xcfc416123UL, 0xcfd9a4654UL,
839  0xcfe2c08baUL, 0xcfff72fcdUL, 0xcf0f53302UL, 0xcf12e1475UL, 0xcf2985a9bUL,
840  0xcf3437decUL, 0xcf42fe030UL, 0xcf5f4c747UL, 0xcf64289a9UL, 0xcf799aedeUL,
841  0xce846b037UL, 0xce99d9740UL, 0xcea2bd9aeUL, 0xcebf0fed9UL, 0xcec9c6305UL,
842  0xced474472UL, 0xceef10a9cUL, 0xcef2a2debUL, 0xce0283124UL, 0xce1f31653UL,
843  0xce24558bdUL, 0xce39e7fcaUL, 0xce4f2e216UL, 0xce529c561UL, 0xce69f8b8fUL,
844  0xce744acf8UL, 0xcd8fa912aUL, 0xcd921b65dUL, 0xcda97f8b3UL, 0xcdb4cdfc4UL,
845  0xcdc204218UL, 0xcddfb656fUL, 0xcde4d2b81UL, 0xcdf960cf6UL, 0xcd0941039UL,
846  0xcd14f374eUL, 0xcd2f979a0UL, 0xcd3225ed7UL, 0xcd44ec30bUL, 0xcd595e47cUL,
847  0xcd623aa92UL, 0xcd7f88de5UL, 0xcc827930cUL, 0xcc9fcb47bUL, 0xcca4afa95UL,
848  0xccb91dde2UL, 0xcccfd403eUL, 0xccd266749UL, 0xcce9029a7UL, 0xccf4b0ed0UL,
849  0xcc049121fUL, 0xcc1923568UL, 0xcc2247b86UL, 0xcc3ff5cf1UL, 0xcc493c12dUL,
850  0xcc548e65aUL, 0xcc6fea8b4UL, 0xcc7258fc3UL, 0xcb859f467UL, 0xcb982d310UL,
851  0xcba349dfeUL, 0xcbbefba89UL, 0xcbc832755UL, 0xcbd580022UL, 0xcbeee4eccUL,
852  0xcbf3569bbUL, 0xcb0377574UL, 0xcb1ec5203UL, 0xcb25a1cedUL, 0xcb3813b9aUL,
853  0xcb4eda646UL, 0xcb5368131UL, 0xcb680cfdfUL, 0xcb75be8a8UL, 0xca884f641UL,
854  0xca95fd136UL, 0xcaae99fd8UL, 0xcab32b8afUL, 0xcac5e2573UL, 0xcad850204UL,
855  0xcae334ceaUL, 0xcafe86b9dUL, 0xca0ea7752UL, 0xca1315025UL, 0xca2871ecbUL,
856  0xca35c39bcUL, 0xca430a460UL, 0xca5eb8317UL, 0xca65dcdf9UL, 0xca786ea8eUL,
857  0xc9838d75cUL, 0xc99e3f02bUL, 0xc9a55bec5UL, 0xc9b8e99b2UL, 0xc9ce2046eUL,
858  0xc9d392319UL, 0xc9e8f6df7UL, 0xc9f544a80UL, 0xc9056564fUL, 0xc918d7138UL,
859  0xc923b3fd6UL, 0xc93e018a1UL, 0xc948c857dUL, 0xc9557a20aUL, 0xc96e1ece4UL,
860  0xc973acb93UL, 0xc88e5d57aUL, 0xc893ef20dUL, 0xc8a88bce3UL, 0xc8b539b94UL,
861  0xc8c3f0648UL, 0xc8de4213fUL, 0xc8e526fd1UL, 0xc8f8948a6UL, 0xc808b5469UL,
862  0xc8150731eUL, 0xc82e63df0UL, 0xc833d1a87UL, 0xc8451875bUL, 0xc858aa02cUL,
863  0xc863ceec2UL, 0xc87e7c9b5UL, 0xc78c4198aUL, 0xc791f3efdUL, 0xc7aa97013UL,
864  0xc7b725764UL, 0xc7c1ecab8UL, 0xc7dc5edcfUL, 0xc7e73a321UL, 0xc7fa88456UL,
865  0xc70aa9899UL, 0xc7171bfeeUL, 0xc72c7f100UL, 0xc731cd677UL, 0xc74704babUL,
866  0xc75ab6cdcUL, 0xc761d2232UL, 0xc77c60545UL, 0xc68191bacUL, 0xc69c23cdbUL,
867  0xc6a747235UL, 0xc6baf5542UL, 0xc6cc3c89eUL, 0xc6d18efe9UL, 0xc6eaea107UL,
868  0xc6f758670UL, 0xc60779abfUL, 0xc61acbdc8UL, 0xc621af326UL, 0xc63c1d451UL,
869  0xc64ad498dUL, 0xc65766efaUL, 0xc66c02014UL, 0xc671b0763UL, 0xc58a53ab1UL,
870  0xc597e1dc6UL, 0xc5ac85328UL, 0xc5b13745fUL, 0xc5c7fe983UL, 0xc5da4cef4UL,
871  0xc5e12801aUL, 0xc5fc9a76dUL, 0xc50cbbba2UL, 0xc51109cd5UL, 0xc52a6d23bUL,
872  0xc537df54cUL, 0xc54116890UL, 0xc55ca4fe7UL, 0xc567c0109UL, 0xc57a7267eUL,
873  0xc48783897UL, 0xc49a31fe0UL, 0xc4a15510eUL, 0xc4bce7679UL, 0xc4ca2eba5UL,
874  0xc4d79ccd2UL, 0xc4ecf823cUL, 0xc4f14a54bUL, 0xc4016b984UL, 0xc41cd9ef3UL,
875  0xc427bd01dUL, 0xc43a0f76aUL, 0xc44cc6ab6UL, 0xc45174dc1UL, 0xc46a1032fUL,
876  0xc477a2458UL, 0xc38065ffcUL, 0xc39dd788bUL, 0xc3a6b3665UL, 0xc3bb01112UL,
877  0xc3cdc8cceUL, 0xc3d07abb9UL, 0xc3eb1e557UL, 0xc3f6ac220UL, 0xc3068deefUL,
878  0xc31b3f998UL, 0xc3205b776UL, 0xc33de9001UL, 0xc34b20dddUL, 0xc35692aaaUL,
879  0xc36df6444UL, 0xc37044333UL, 0xc28db5ddaUL, 0xc29007aadUL, 0xc2ab63443UL,
880  0xc2b6d1334UL, 0xc2c018ee8UL, 0xc2ddaa99fUL, 0xc2e6ce771UL, 0xc2fb7c006UL,
881  0xc20b5dcc9UL, 0xc216efbbeUL, 0xc22d8b550UL, 0xc23039227UL, 0xc246f0ffbUL,
882  0xc25b4288cUL, 0xc26026662UL, 0xc27d94115UL, 0xc18677cc7UL, 0xc19bc5bb0UL,
883  0xc1a0a155eUL, 0xc1bd13229UL, 0xc1cbdaff5UL, 0xc1d668882UL, 0xc1ed0c66cUL,
884  0xc1f0be11bUL, 0xc1009fdd4UL, 0xc11d2daa3UL, 0xc1264944dUL, 0xc13bfb33aUL,
885  0xc14d32ee6UL, 0xc15080991UL, 0xc16be477fUL, 0xc17656008UL, 0xc08ba7ee1UL,
886  0xc09615996UL, 0xc0ad71778UL, 0xc0b0c300fUL, 0xc0c60add3UL, 0xc0dbb8aa4UL,
887  0xc0e0dc44aUL, 0xc0fd6e33dUL, 0xc00d4fff2UL, 0xc010fd885UL, 0xc02b9966bUL,
888  0xc0362b11cUL, 0xc040e2cc0UL, 0xc05d50bb7UL, 0xc06634559UL, 0xc07b8622eUL,
889  0xdf824e527UL, 0xdf9ffc250UL, 0xdfa498cbeUL, 0xdfb92abc9UL, 0xdfcfe3615UL,
890  0xdfd251162UL, 0xdfe935f8cUL, 0xdff4878fbUL, 0xdf04a6434UL, 0xdf1914343UL,
891  0xdf2270dadUL, 0xdf3fc2adaUL, 0xdf490b706UL, 0xdf54b9071UL, 0xdf6fdde9fUL,
892  0xdf726f9e8UL, 0xde8f9e701UL, 0xde922c076UL, 0xdea948e98UL, 0xdeb4fa9efUL,
893  0xdec233433UL, 0xdedf81344UL, 0xdee4e5daaUL, 0xdef957addUL, 0xde0976612UL,
894  0xde14c4165UL, 0xde2fa0f8bUL, 0xde32128fcUL, 0xde44db520UL, 0xde5969257UL,
895  0xde620dcb9UL, 0xde7fbfbceUL, 0xdd845c61cUL, 0xdd99ee16bUL, 0xdda28af85UL,
896  0xddbf388f2UL, 0xddc9f152eUL, 0xddd443259UL, 0xddef27cb7UL, 0xddf295bc0UL,
897  0xdd02b470fUL, 0xdd1f06078UL, 0xdd2462e96UL, 0xdd39d09e1UL, 0xdd4f1943dUL,
898  0xdd52ab34aUL, 0xdd69cfda4UL, 0xdd747dad3UL, 0xdc898c43aUL, 0xdc943e34dUL,
899  0xdcaf5ada3UL, 0xdcb2e8ad4UL, 0xdcc421708UL, 0xdcd99307fUL, 0xdce2f7e91UL,
900  0xdcff459e6UL, 0xdc0f64529UL, 0xdc12d625eUL, 0xdc29b2cb0UL, 0xdc3400bc7UL,
901  0xdc42c961bUL, 0xdc5f7b16cUL, 0xdc641ff82UL, 0xdc79ad8f5UL, 0xdb8e6a351UL,
902  0xdb93d8426UL, 0xdba8bcac8UL, 0xdbb50edbfUL, 0xdbc3c7063UL, 0xdbde75714UL,
903  0xdbe5119faUL, 0xdbf8a3e8dUL, 0xdb0882242UL, 0xdb1530535UL, 0xdb2e54bdbUL,
904  0xdb33e6cacUL, 0xdb452f170UL, 0xdb589d607UL, 0xdb63f98e9UL, 0xdb7e4bf9eUL,
905  0xda83ba177UL, 0xda9e08600UL, 0xdaa56c8eeUL, 0xdab8def99UL, 0xdace17245UL,
906  0xdad3a5532UL, 0xdae8c1bdcUL, 0xdaf573cabUL, 0xda0552064UL, 0xda18e0713UL,
907  0xda23849fdUL, 0xda3e36e8aUL, 0xda48ff356UL, 0xda554d421UL, 0xda6e29acfUL,
908  0xda739bdb8UL, 0xd9887806aUL, 0xd995ca71dUL, 0xd9aeae9f3UL, 0xd9b31ce84UL,
909  0xd9c5d5358UL, 0xd9d86742fUL, 0xd9e303ac1UL, 0xd9feb1db6UL, 0xd90e90179UL,
910  0xd9132260eUL, 0xd928468e0UL, 0xd935f4f97UL, 0xd9433d24bUL, 0xd95e8f53cUL,
911  0xd965ebbd2UL, 0xd97859ca5UL, 0xd885a824cUL, 0xd8981a53bUL, 0xd8a37ebd5UL,
912  0xd8beccca2UL, 0xd8c80517eUL, 0xd8d5b7609UL, 0xd8eed38e7UL, 0xd8f361f90UL,
913  0xd8034035fUL, 0xd81ef2428UL, 0xd82596ac6UL, 0xd83824db1UL, 0xd84eed06dUL,
914  0xd8535f71aUL, 0xd8683b9f4UL, 0xd87589e83UL, 0xd787b4ebcUL, 0xd79a069cbUL,
915  0xd7a162725UL, 0xd7bcd0052UL, 0xd7ca19d8eUL, 0xd7d7abaf9UL, 0xd7eccf417UL,
916  0xd7f17d360UL, 0xd7015cfafUL, 0xd71cee8d8UL, 0xd7278a636UL, 0xd73a38141UL,
917  0xd74cf1c9dUL, 0xd75143beaUL, 0xd76a27504UL, 0xd77795273UL, 0xd68a64c9aUL,
918  0xd697d6bedUL, 0xd6acb2503UL, 0xd6b100274UL, 0xd6c7c9fa8UL, 0xd6da7b8dfUL,
919  0xd6e11f631UL, 0xd6fcad146UL, 0xd60c8cd89UL, 0xd6113eafeUL, 0xd62a5a410UL,
920  0xd637e8367UL, 0xd64121ebbUL, 0xd65c939ccUL, 0xd667f7722UL, 0xd67a45055UL,
921  0xd581a6d87UL, 0xd59c14af0UL, 0xd5a77041eUL, 0xd5bac2369UL, 0xd5cc0beb5UL,
922  0xd5d1b99c2UL, 0xd5eadd72cUL, 0xd5f76f05bUL, 0xd5074ec94UL, 0xd51afcbe3UL,
923  0xd5219850dUL, 0xd53c2a27aUL, 0xd54ae3fa6UL, 0xd557518d1UL, 0xd56c3563fUL,
924  0xd57187148UL, 0xd48c76fa1UL, 0xd491c48d6UL, 0xd4aaa0638UL, 0xd4b71214fUL,
925  0xd4c1dbc93UL, 0xd4dc69be4UL, 0xd4e70d50aUL, 0xd4fabf27dUL, 0xd40a9eeb2UL,
926  0xd4172c9c5UL, 0xd42c4872bUL, 0xd431fa05cUL, 0xd44733d80UL, 0xd45a81af7UL,
927  0xd461e5419UL, 0xd47c5736eUL, 0xd38b908caUL, 0xd39622fbdUL, 0xd3ad46153UL,
928  0xd3b0f4624UL, 0xd3c63dbf8UL, 0xd3db8fc8fUL, 0xd3e0eb261UL, 0xd3fd59516UL,
929  0xd30d789d9UL, 0xd310caeaeUL, 0xd32bae040UL, 0xd3361c737UL, 0xd340d5aebUL,
930  0xd35d67d9cUL, 0xd36603372UL, 0xd37bb1405UL, 0xd28640aecUL, 0xd29bf2d9bUL,
931  0xd2a096375UL, 0xd2bd24402UL, 0xd2cbed9deUL, 0xd2d65fea9UL, 0xd2ed3b047UL,
932  0xd2f089730UL, 0xd200a8bffUL, 0xd21d1ac88UL, 0xd2267e266UL, 0xd23bcc511UL,
933  0xd24d058cdUL, 0xd250b7fbaUL, 0xd26bd3154UL, 0xd27661623UL, 0xd18d82bf1UL,
934  0xd19030c86UL, 0xd1ab54268UL, 0xd1b6e651fUL, 0xd1c02f8c3UL, 0xd1dd9dfb4UL,
935  0xd1e6f915aUL, 0xd1fb4b62dUL, 0xd10b6aae2UL, 0xd116d8d95UL, 0xd12dbc37bUL,
936  0xd1300e40cUL, 0xd146c79d0UL, 0xd15b75ea7UL, 0xd16011049UL, 0xd17da373eUL,
937  0xd080529d7UL, 0xd09de0ea0UL, 0xd0a68404eUL, 0xd0bb36739UL, 0xd0cdffae5UL,
938  0xd0d04dd92UL, 0xd0eb2937cUL, 0xd0f69b40bUL, 0xd006ba8c4UL, 0xd01b08fb3UL,
939  0xd0206c15dUL, 0xd03dde62aUL, 0xd04b17bf6UL, 0xd056a5c81UL, 0xd06dc126fUL,
940  0xd07073518UL, 0xef83e3b0aUL, 0xef9e51c7dUL, 0xefa535293UL, 0xefb8875e4UL,
941  0xefce4e838UL, 0xefd3fcf4fUL, 0xefe8981a1UL, 0xeff52a6d6UL, 0xef050ba19UL,
942  0xef18b9d6eUL, 0xef23dd380UL, 0xef3e6f4f7UL, 0xef48a692bUL, 0xef5514e5cUL,
943  0xef6e700b2UL, 0xef73c27c5UL, 0xee8e3392cUL, 0xee9381e5bUL, 0xeea8e50b5UL,
944  0xeeb5577c2UL, 0xeec39ea1eUL, 0xeede2cd69UL, 0xeee548387UL, 0xeef8fa4f0UL,
945  0xee08db83fUL, 0xee1569f48UL, 0xee2e0d1a6UL, 0xee33bf6d1UL, 0xee4576b0dUL,
946  0xee58c4c7aUL, 0xee63a0294UL, 0xee7e125e3UL, 0xed85f1831UL, 0xed9843f46UL,
947  0xeda3271a8UL, 0xedbe956dfUL, 0xedc85cb03UL, 0xedd5eec74UL, 0xedee8a29aUL,
948  0xedf3385edUL, 0xed0319922UL, 0xed1eabe55UL, 0xed25cf0bbUL, 0xed387d7ccUL,
949  0xed4eb4a10UL, 0xed5306d67UL, 0xed6862389UL, 0xed75d04feUL, 0xec8821a17UL,
950  0xec9593d60UL, 0xecaef738eUL, 0xecb3454f9UL, 0xecc58c925UL, 0xecd83ee52UL,
951  0xece35a0bcUL, 0xecfee87cbUL, 0xec0ec9b04UL, 0xec137bc73UL, 0xec281f29dUL,
952  0xec35ad5eaUL, 0xec4364836UL, 0xec5ed6f41UL, 0xec65b21afUL, 0xec78006d8UL,
953  0xeb8fc7d7cUL, 0xeb9275a0bUL, 0xeba9114e5UL, 0xebb4a3392UL, 0xebc26ae4eUL,
954  0xebdfd8939UL, 0xebe4bc7d7UL, 0xebf90e0a0UL, 0xeb092fc6fUL, 0xeb149db18UL,
955  0xeb2ff95f6UL, 0xeb324b281UL, 0xeb4482f5dUL, 0xeb593082aUL, 0xeb62546c4UL,
956  0xeb7fe61b3UL, 0xea8217f5aUL, 0xea9fa582dUL, 0xeaa4c16c3UL, 0xeab9731b4UL,
957  0xeacfbac68UL, 0xead208b1fUL, 0xeae96c5f1UL, 0xeaf4de286UL, 0xea04ffe49UL,
958  0xea194d93eUL, 0xea22297d0UL, 0xea3f9b0a7UL, 0xea4952d7bUL, 0xea54e0a0cUL,
959  0xea6f844e2UL, 0xea7236395UL, 0xe989d5e47UL, 0xe99467930UL, 0xe9af037deUL,
960  0xe9b2b10a9UL, 0xe9c478d75UL, 0xe9d9caa02UL, 0xe9e2ae4ecUL, 0xe9ff1c39bUL,
961  0xe90f3df54UL, 0xe9128f823UL, 0xe929eb6cdUL, 0xe934591baUL, 0xe94290c66UL,
962  0xe95f22b11UL, 0xe964465ffUL, 0xe979f4288UL, 0xe88405c61UL, 0xe899b7b16UL,
963  0xe8a2d35f8UL, 0xe8bf6128fUL, 0xe8c9a8f53UL, 0xe8d41a824UL, 0xe8ef7e6caUL,
964  0xe8f2cc1bdUL, 0xe802edd72UL, 0xe81f5fa05UL, 0xe8243b4ebUL, 0xe8398939cUL,
965  0xe84f40e40UL, 0xe852f2937UL, 0xe869967d9UL, 0xe874240aeUL, 0xe78619091UL,
966  0xe79bab7e6UL, 0xe7a0cf908UL, 0xe7bd7de7fUL, 0xe7cbb43a3UL, 0xe7d6064d4UL,
967  0xe7ed62a3aUL, 0xe7f0d0d4dUL, 0xe700f1182UL, 0xe71d436f5UL, 0xe7262781bUL,
968  0xe73b95f6cUL, 0xe74d5c2b0UL, 0xe750ee5c7UL, 0xe76b8ab29UL, 0xe77638c5eUL,
969  0xe68bc92b7UL, 0xe6967b5c0UL, 0xe6ad1fb2eUL, 0xe6b0adc59UL, 0xe6c664185UL,
970  0xe6dbd66f2UL, 0xe6e0b281cUL, 0xe6fd00f6bUL, 0xe60d213a4UL, 0xe610934d3UL,
971  0xe62bf7a3dUL, 0xe63645d4aUL, 0xe6408c096UL, 0xe65d3e7e1UL, 0xe6665a90fUL,
972  0xe67be8e78UL, 0xe5800b3aaUL, 0xe59db94ddUL, 0xe5a6dda33UL, 0xe5bb6fd44UL,
973  0xe5cda6098UL, 0xe5d0147efUL, 0xe5eb70901UL, 0xe5f6c2e76UL, 0xe506e32b9UL,
974  0xe51b515ceUL, 0xe52035b20UL, 0xe53d87c57UL, 0xe54b4e18bUL, 0xe556fc6fcUL,
975  0xe56d98812UL, 0xe5702af65UL, 0xe48ddb18cUL, 0xe490696fbUL, 0xe4ab0d815UL,
976  0xe4b6bff62UL, 0xe4c0762beUL, 0xe4ddc45c9UL, 0xe4e6a0b27UL, 0xe4fb12c50UL,
977  0xe40b3309fUL, 0xe416817e8UL, 0xe42de5906UL, 0xe43057e71UL, 0xe4469e3adUL,
978  0xe45b2c4daUL, 0xe46048a34UL, 0xe47dfad43UL, 0xe38a3d6e7UL, 0xe3978f190UL,
979  0xe3acebf7eUL, 0xe3b159809UL, 0xe3c7905d5UL, 0xe3da222a2UL, 0xe3e146c4cUL,
980  0xe3fcf4b3bUL, 0xe30cd57f4UL, 0xe31167083UL, 0xe32a03e6dUL, 0xe337b191aUL,
981  0xe341784c6UL, 0xe35cca3b1UL, 0xe367aed5fUL, 0xe37a1ca28UL, 0xe287ed4c1UL,
982  0xe29a5f3b6UL, 0xe2a13bd58UL, 0xe2bc89a2fUL, 0xe2ca407f3UL, 0xe2d7f2084UL,
983  0xe2ec96e6aUL, 0xe2f12491dUL, 0xe201055d2UL, 0xe21cb72a5UL, 0xe227d3c4bUL,
984  0xe23a61b3cUL, 0xe24ca86e0UL, 0xe2511a197UL, 0xe26a7ef79UL, 0xe277cc80eUL,
985  0xe18c2f5dcUL, 0xe1919d2abUL, 0xe1aaf9c45UL, 0xe1b74bb32UL, 0xe1c1826eeUL,
986  0xe1dc30199UL, 0xe1e754f77UL, 0xe1fae6800UL, 0xe10ac74cfUL, 0xe117753b8UL,
987  0xe12c11d56UL, 0xe131a3a21UL, 0xe1476a7fdUL, 0xe15ad808aUL, 0xe161bce64UL,
988  0xe17c0e913UL, 0xe081ff7faUL, 0xe09c4d08dUL, 0xe0a729e63UL, 0xe0ba9b914UL,
989  0xe0cc524c8UL, 0xe0d1e03bfUL, 0xe0ea84d51UL, 0xe0f736a26UL, 0xe007176e9UL,
990  0xe01aa519eUL, 0xe021c1f70UL, 0xe03c73807UL, 0xe04aba5dbUL, 0xe057082acUL,
991  0xe06c6cc42UL, 0xe071deb35UL, 0xff8816c3cUL, 0xff95a4b4bUL, 0xffaec05a5UL,
992  0xffb3722d2UL, 0xffc5bbf0eUL, 0xffd809879UL, 0xffe36d697UL, 0xfffedf1e0UL,
993  0xff0efed2fUL, 0xff134ca58UL, 0xff28284b6UL, 0xff359a3c1UL, 0xff4353e1dUL,
994  0xff5ee196aUL, 0xff6585784UL, 0xff78370f3UL, 0xfe85c6e1aUL, 0xfe987496dUL,
995  0xfea310783UL, 0xfebea20f4UL, 0xfec86bd28UL, 0xfed5d9a5fUL, 0xfeeebd4b1UL,
996  0xfef30f3c6UL, 0xfe032ef09UL, 0xfe1e9c87eUL, 0xfe25f8690UL, 0xfe384a1e7UL,
997  0xfe4e83c3bUL, 0xfe5331b4cUL, 0xfe68555a2UL, 0xfe75e72d5UL, 0xfd8e04f07UL,
998  0xfd93b6870UL, 0xfda8d269eUL, 0xfdb5601e9UL, 0xfdc3a9c35UL, 0xfdde1bb42UL,
999  0xfde57f5acUL, 0xfdf8cd2dbUL, 0xfd08ece14UL, 0xfd155e963UL, 0xfd2e3a78dUL,
1000  0xfd33880faUL, 0xfd4541d26UL, 0xfd58f3a51UL, 0xfd63974bfUL, 0xfd7e253c8UL,
1001  0xfc83d4d21UL, 0xfc9e66a56UL, 0xfca5024b8UL, 0xfcb8b03cfUL, 0xfcce79e13UL,
1002  0xfcd3cb964UL, 0xfce8af78aUL, 0xfcf51d0fdUL, 0xfc053cc32UL, 0xfc188eb45UL,
1003  0xfc23ea5abUL, 0xfc3e582dcUL, 0xfc4891f00UL, 0xfc5523877UL, 0xfc6e47699UL,
1004  0xfc73f51eeUL, 0xfb8432a4aUL, 0xfb9980d3dUL, 0xfba2e43d3UL, 0xfbbf564a4UL,
1005  0xfbc99f978UL, 0xfbd42de0fUL, 0xfbef490e1UL, 0xfbf2fb796UL, 0xfb02dab59UL,
1006  0xfb1f68c2eUL, 0xfb240c2c0UL, 0xfb39be5b7UL, 0xfb4f7786bUL, 0xfb52c5f1cUL,
1007  0xfb69a11f2UL, 0xfb7413685UL, 0xfa89e286cUL, 0xfa9450f1bUL, 0xfaaf341f5UL,
1008  0xfab286682UL, 0xfac44fb5eUL, 0xfad9fdc29UL, 0xfae2992c7UL, 0xfaff2b5b0UL,
1009  0xfa0f0a97fUL, 0xfa12b8e08UL, 0xfa29dc0e6UL, 0xfa346e791UL, 0xfa42a7a4dUL,
1010  0xfa5f15d3aUL, 0xfa64713d4UL, 0xfa79c34a3UL, 0xf98220971UL, 0xf99f92e06UL,
1011  0xf9a4f60e8UL, 0xf9b94479fUL, 0xf9cf8da43UL, 0xf9d23fd34UL, 0xf9e95b3daUL,
1012  0xf9f4e94adUL, 0xf904c8862UL, 0xf9197af15UL, 0xf9221e1fbUL, 0xf93fac68cUL,
1013  0xf94965b50UL, 0xf954d7c27UL, 0xf96fb32c9UL, 0xf972015beUL, 0xf88ff0b57UL,
1014  0xf89242c20UL, 0xf8a9262ceUL, 0xf8b4945b9UL, 0xf8c25d865UL, 0xf8dfeff12UL,
1015  0xf8e48b1fcUL, 0xf8f93968bUL, 0xf80918a44UL, 0xf814aad33UL, 0xf82fce3ddUL,
1016  0xf8327c4aaUL, 0xf844b5976UL, 0xf85907e01UL, 0xf862630efUL, 0xf87fd1798UL,
1017  0xf78dec7a7UL, 0xf7905e0d0UL, 0xf7ab3ae3eUL, 0xf7b688949UL, 0xf7c041495UL,
1018  0xf7ddf33e2UL, 0xf7e697d0cUL, 0xf7fb25a7bUL, 0xf70b046b4UL, 0xf716b61c3UL,
1019  0xf72dd2f2dUL, 0xf7306085aUL, 0xf746a9586UL, 0xf75b1b2f1UL, 0xf7607fc1fUL,
1020  0xf77dcdb68UL, 0xf6803c581UL, 0xf69d8e2f6UL, 0xf6a6eac18UL, 0xf6bb58b6fUL,
1021  0xf6cd916b3UL, 0xf6d0231c4UL, 0xf6eb47f2aUL, 0xf6f6f585dUL, 0xf606d4492UL,
1022  0xf61b663e5UL, 0xf62002d0bUL, 0xf63db0a7cUL, 0xf64b797a0UL, 0xf656cb0d7UL,
1023  0xf66dafe39UL, 0xf6701d94eUL, 0xf58bfe49cUL, 0xf5964c3ebUL, 0xf5ad28d05UL,
1024  0xf5b09aa72UL, 0xf5c6537aeUL, 0xf5dbe10d9UL, 0xf5e085e37UL, 0xf5fd37940UL,
1025  0xf50d1658fUL, 0xf510a42f8UL, 0xf52bc0c16UL, 0xf53672b61UL, 0xf540bb6bdUL,
1026  0xf55d091caUL, 0xf5666df24UL, 0xf57bdf853UL, 0xf4862e6baUL, 0xf49b9c1cdUL,
1027  0xf4a0f8f23UL, 0xf4bd4a854UL, 0xf4cb83588UL, 0xf4d6312ffUL, 0xf4ed55c11UL,
1028  0xf4f0e7b66UL, 0xf400c67a9UL, 0xf41d740deUL, 0xf42610e30UL, 0xf43ba2947UL,
1029  0xf44d6b49bUL, 0xf450d93ecUL, 0xf46bbdd02UL, 0xf4760fa75UL, 0xf381c81d1UL,
1030  0xf39c7a6a6UL, 0xf3a71e848UL, 0xf3baacf3fUL, 0xf3cc652e3UL, 0xf3d1d7594UL,
1031  0xf3eab3b7aUL, 0xf3f701c0dUL, 0xf307200c2UL, 0xf31a927b5UL, 0xf321f695bUL,
1032  0xf33c44e2cUL, 0xf34a8d3f0UL, 0xf3573f487UL, 0xf36c5ba69UL, 0xf371e9d1eUL,
1033  0xf28c183f7UL, 0xf291aa480UL, 0xf2aacea6eUL, 0xf2b77cd19UL, 0xf2c1b50c5UL,
1034  0xf2dc077b2UL, 0xf2e76395cUL, 0xf2fad1e2bUL, 0xf20af02e4UL, 0xf21742593UL,
1035  0xf22c26b7dUL, 0xf23194c0aUL, 0xf2475d1d6UL, 0xf25aef6a1UL, 0xf2618b84fUL,
1036  0xf27c39f38UL, 0xf187da2eaUL, 0xf19a6859dUL, 0xf1a10cb73UL, 0xf1bcbec04UL,
1037  0xf1ca771d8UL, 0xf1d7c56afUL, 0xf1eca1841UL, 0xf1f113f36UL, 0xf101323f9UL,
1038  0xf11c8048eUL, 0xf127e4a60UL, 0xf13a56d17UL, 0xf14c9f0cbUL, 0xf1512d7bcUL,
1039  0xf16a49952UL, 0xf177fbe25UL, 0xf08a0a0ccUL, 0xf097b87bbUL, 0xf0acdc955UL,
1040  0xf0b16ee22UL, 0xf0c7a73feUL, 0xf0da15489UL, 0xf0e171a67UL, 0xf0fcc3d10UL,
1041  0xf00ce21dfUL, 0xf011506a8UL, 0xf02a34846UL, 0xf03786f31UL, 0xf0414f2edUL,
1042  0xf05cfd59aUL, 0xf06799b74UL, 0xf07a2bc03UL, 0xf8f0caa5UL, 0xf92bedd2UL,
1043  0xfa9da33cUL, 0xfb46844bUL, 0xfc2a1997UL, 0xfdf13ee0UL, 0xfe47700eUL,
1044  0xff9c5779UL, 0xf09e4bb6UL, 0xf1456cc1UL, 0xf2f3222fUL, 0xf3280558UL,
1045  0xf4449884UL, 0xf59fbff3UL, 0xf629f11dUL, 0xf7f2d66aUL, 0xe82dc883UL,
1046  0xe9f6eff4UL, 0xea40a11aUL, 0xeb9b866dUL, 0xecf71bb1UL, 0xed2c3cc6UL,
1047  0xee9a7228UL, 0xef41555fUL, 0xe0434990UL, 0xe1986ee7UL, 0xe22e2009UL,
1048  0xe3f5077eUL, 0xe4999aa2UL, 0xe542bdd5UL, 0xe6f4f33bUL, 0xe72fd44cUL,
1049  0xd891e99eUL, 0xd94acee9UL, 0xdafc8007UL, 0xdb27a770UL, 0xdc4b3aacUL,
1050  0xdd901ddbUL, 0xde265335UL, 0xdffd7442UL, 0xd0ff688dUL, 0xd1244ffaUL,
1051  0xd2920114UL, 0xd3492663UL, 0xd425bbbfUL, 0xd5fe9cc8UL, 0xd648d226UL,
1052  0xd793f551UL, 0xc84cebb8UL, 0xc997cccfUL, 0xca218221UL, 0xcbfaa556UL,
1053  0xcc96388aUL, 0xcd4d1ffdUL, 0xcefb5113UL, 0xcf207664UL, 0xc0226aabUL,
1054  0xc1f94ddcUL, 0xc24f0332UL, 0xc3942445UL, 0xc4f8b999UL, 0xc5239eeeUL,
1055  0xc695d000UL, 0xc74ef777UL, 0xb8328cd3UL, 0xb9e9aba4UL, 0xba5fe54aUL,
1056  0xbb84c23dUL, 0xbce85fe1UL, 0xbd337896UL, 0xbe853678UL, 0xbf5e110fUL,
1057  0xb05c0dc0UL, 0xb1872ab7UL, 0xb2316459UL, 0xb3ea432eUL, 0xb486def2UL,
1058  0xb55df985UL, 0xb6ebb76bUL, 0xb730901cUL, 0xa8ef8ef5UL, 0xa934a982UL,
1059  0xaa82e76cUL, 0xab59c01bUL, 0xac355dc7UL, 0xadee7ab0UL, 0xae58345eUL,
1060  0xaf831329UL, 0xa0810fe6UL, 0xa15a2891UL, 0xa2ec667fUL, 0xa3374108UL,
1061  0xa45bdcd4UL, 0xa580fba3UL, 0xa636b54dUL, 0xa7ed923aUL, 0x9853afe8UL,
1062  0x9988889fUL, 0x9a3ec671UL, 0x9be5e106UL, 0x9c897cdaUL, 0x9d525badUL,
1063  0x9ee41543UL, 0x9f3f3234UL, 0x903d2efbUL, 0x91e6098cUL, 0x92504762UL,
1064  0x938b6015UL, 0x94e7fdc9UL, 0x953cdabeUL, 0x968a9450UL, 0x9751b327UL,
1065  0x888eadceUL, 0x89558ab9UL, 0x8ae3c457UL, 0x8b38e320UL, 0x8c547efcUL,
1066  0x8d8f598bUL, 0x8e391765UL, 0x8fe23012UL, 0x80e02cddUL, 0x813b0baaUL,
1067  0x828d4544UL, 0x83566233UL, 0x843affefUL, 0x85e1d898UL, 0x86579676UL,
1068  0x878cb101UL, 0x78af613eUL, 0x79744649UL, 0x7ac208a7UL, 0x7b192fd0UL,
1069  0x7c75b20cUL, 0x7dae957bUL, 0x7e18db95UL, 0x7fc3fce2UL, 0x70c1e02dUL,
1070  0x711ac75aUL, 0x72ac89b4UL, 0x7377aec3UL, 0x741b331fUL, 0x75c01468UL,
1071  0x76765a86UL, 0x77ad7df1UL, 0x68726318UL, 0x69a9446fUL, 0x6a1f0a81UL,
1072  0x6bc42df6UL, 0x6ca8b02aUL, 0x6d73975dUL, 0x6ec5d9b3UL, 0x6f1efec4UL,
1073  0x601ce20bUL, 0x61c7c57cUL, 0x62718b92UL, 0x63aaace5UL, 0x64c63139UL,
1074  0x651d164eUL, 0x66ab58a0UL, 0x67707fd7UL, 0x58ce4205UL, 0x59156572UL,
1075  0x5aa32b9cUL, 0x5b780cebUL, 0x5c149137UL, 0x5dcfb640UL, 0x5e79f8aeUL,
1076  0x5fa2dfd9UL, 0x50a0c316UL, 0x517be461UL, 0x52cdaa8fUL, 0x53168df8UL,
1077  0x547a1024UL, 0x55a13753UL, 0x561779bdUL, 0x57cc5ecaUL, 0x48134023UL,
1078  0x49c86754UL, 0x4a7e29baUL, 0x4ba50ecdUL, 0x4cc99311UL, 0x4d12b466UL,
1079  0x4ea4fa88UL, 0x4f7fddffUL, 0x407dc130UL, 0x41a6e647UL, 0x4210a8a9UL,
1080  0x43cb8fdeUL, 0x44a71202UL, 0x457c3575UL, 0x46ca7b9bUL, 0x47115cecUL,
1081  0x386d2748UL, 0x39b6003fUL, 0x3a004ed1UL, 0x3bdb69a6UL, 0x3cb7f47aUL,
1082  0x3d6cd30dUL, 0x3eda9de3UL, 0x3f01ba94UL, 0x3003a65bUL, 0x31d8812cUL,
1083  0x326ecfc2UL, 0x33b5e8b5UL, 0x34d97569UL, 0x3502521eUL, 0x36b41cf0UL,
1084  0x376f3b87UL, 0x28b0256eUL, 0x296b0219UL, 0x2add4cf7UL, 0x2b066b80UL,
1085  0x2c6af65cUL, 0x2db1d12bUL, 0x2e079fc5UL, 0x2fdcb8b2UL, 0x20dea47dUL,
1086  0x2105830aUL, 0x22b3cde4UL, 0x2368ea93UL, 0x2404774fUL, 0x25df5038UL,
1087  0x26691ed6UL, 0x27b239a1UL, 0x180c0473UL, 0x19d72304UL, 0x1a616deaUL,
1088  0x1bba4a9dUL, 0x1cd6d741UL, 0x1d0df036UL, 0x1ebbbed8UL, 0x1f6099afUL,
1089  0x10628560UL, 0x11b9a217UL, 0x120fecf9UL, 0x13d4cb8eUL, 0x14b85652UL,
1090  0x15637125UL, 0x16d53fcbUL, 0x170e18bcUL, 0x8d10655UL, 0x90a2122UL,
1091  0xabc6fccUL, 0xb6748bbUL, 0xc0bd567UL, 0xdd0f210UL, 0xe66bcfeUL,
1092  0xfbd9b89UL, 0xbf8746UL, 0x164a031UL, 0x2d2eedfUL, 0x309c9a8UL,
1093  0x4655474UL, 0x5be7303UL, 0x6083dedUL, 0x7d31a9aUL, 0x1f84f9d93UL,
1094  0x1f994bae4UL, 0x1fa22f40aUL, 0x1fbf9d37dUL, 0x1fc954ea1UL, 0x1fd4e69d6UL,
1095  0x1fef82738UL, 0x1ff23004fUL, 0x1f0211c80UL, 0x1f1fa3bf7UL, 0x1f24c7519UL,
1096  0x1f397526eUL, 0x1f4fbcfb2UL, 0x1f520e8c5UL, 0x1f696a62bUL, 0x1f74d815cUL,
1097  0x1e8929fb5UL, 0x1e949b8c2UL, 0x1eafff62cUL, 0x1eb24d15bUL, 0x1ec484c87UL,
1098  0x1ed936bf0UL, 0x1ee25251eUL, 0x1effe0269UL, 0x1e0fc1ea6UL, 0x1e12739d1UL,
1099  0x1e291773fUL, 0x1e34a5048UL, 0x1e426cd94UL, 0x1e5fdeae3UL, 0x1e64ba40dUL,
1100  0x1e790837aUL, 0x1d82ebea8UL, 0x1d9f599dfUL, 0x1da43d731UL, 0x1db98f046UL,
1101  0x1dcf46d9aUL, 0x1dd2f4aedUL, 0x1de990403UL, 0x1df422374UL, 0x1d0403fbbUL,
1102  0x1d19b18ccUL, 0x1d22d5622UL, 0x1d3f67155UL, 0x1d49aec89UL, 0x1d541cbfeUL,
1103  0x1d6f78510UL, 0x1d72ca267UL, 0x1c8f3bc8eUL, 0x1c9289bf9UL, 0x1ca9ed517UL,
1104  0x1cb45f260UL, 0x1cc296fbcUL, 0x1cdf248cbUL, 0x1ce440625UL, 0x1cf9f2152UL,
1105  0x1c09d3d9dUL, 0x1c1461aeaUL, 0x1c2f05404UL, 0x1c32b7373UL, 0x1c447eeafUL,
1106  0x1c59cc9d8UL, 0x1c62a8736UL, 0x1c7f1a041UL, 0x1b88ddbe5UL, 0x1b956fc92UL,
1107  0x1bae0b27cUL, 0x1bb3b950bUL, 0x1bc5708d7UL, 0x1bd8c2fa0UL, 0x1be3a614eUL,
1108  0x1bfe14639UL, 0x1b0e35af6UL, 0x1b1387d81UL, 0x1b28e336fUL, 0x1b3551418UL,
1109  0x1b43989c4UL, 0x1b5e2aeb3UL, 0x1b654e05dUL, 0x1b78fc72aUL, 0x1a850d9c3UL,
1110  0x1a98bfeb4UL, 0x1aa3db05aUL, 0x1abe6972dUL, 0x1ac8a0af1UL, 0x1ad512d86UL,
1111  0x1aee76368UL, 0x1af3c441fUL, 0x1a03e58d0UL, 0x1a1e57fa7UL, 0x1a2533149UL,
1112  0x1a388163eUL, 0x1a4e48be2UL, 0x1a53fac95UL, 0x1a689e27bUL, 0x1a752c50cUL,
1113  0x198ecf8deUL, 0x19937dfa9UL, 0x19a819147UL, 0x19b5ab630UL, 0x19c362becUL,
1114  0x19ded0c9bUL, 0x19e5b4275UL, 0x19f806502UL, 0x1908279cdUL, 0x191595ebaUL,
1115  0x192ef1054UL, 0x193343723UL, 0x19458aaffUL, 0x195838d88UL, 0x19635c366UL,
1116  0x197eee411UL, 0x18831faf8UL, 0x189eadd8fUL, 0x18a5c9361UL, 0x18b87b416UL,
1117  0x18ceb29caUL, 0x18d300ebdUL, 0x18e864053UL, 0x18f5d6724UL, 0x1805f7bebUL,
1118  0x181845c9cUL, 0x182321272UL, 0x183e93505UL, 0x18485a8d9UL, 0x1855e8faeUL,
1119  0x186e8c140UL, 0x18733e637UL, 0x178103608UL, 0x179cb117fUL, 0x17a7d5f91UL,
1120  0x17ba678e6UL, 0x17ccae53aUL, 0x17d11c24dUL, 0x17ea78ca3UL, 0x17f7cabd4UL,
1121  0x1707eb71bUL, 0x171a5906cUL, 0x17213de82UL, 0x173c8f9f5UL, 0x174a46429UL,
1122  0x1757f435eUL, 0x176c90db0UL, 0x177122ac7UL, 0x168cd342eUL, 0x169161359UL,
1123  0x16aa05db7UL, 0x16b7b7ac0UL, 0x16c17e71cUL, 0x16dccc06bUL, 0x16e7a8e85UL,
1124  0x16fa1a9f2UL, 0x160a3b53dUL, 0x16178924aUL, 0x162cedca4UL, 0x16315fbd3UL,
1125  0x16479660fUL, 0x165a24178UL, 0x166140f96UL, 0x167cf28e1UL, 0x158711533UL,
1126  0x159aa3244UL, 0x15a1c7caaUL, 0x15bc75bddUL, 0x15cabc601UL, 0x15d70e176UL,
1127  0x15ec6af98UL, 0x15f1d88efUL, 0x1501f9420UL, 0x151c4b357UL, 0x15272fdb9UL,
1128  0x153a9daceUL, 0x154c54712UL, 0x1551e6065UL, 0x156a82e8bUL, 0x1577309fcUL,
1129  0x148ac1715UL, 0x149773062UL, 0x14ac17e8cUL, 0x14b1a59fbUL, 0x14c76c427UL,
1130  0x14dade350UL, 0x14e1badbeUL, 0x14fc08ac9UL, 0x140c29606UL, 0x14119b171UL,
1131  0x142afff9fUL, 0x14374d8e8UL, 0x144184534UL, 0x145c36243UL, 0x146752cadUL,
1132  0x147ae0bdaUL, 0x138d2707eUL, 0x139095709UL, 0x13abf19e7UL, 0x13b643e90UL,
1133  0x13c08a34cUL, 0x13dd3843bUL, 0x13e65cad5UL, 0x13fbeeda2UL, 0x130bcf16dUL,
1134  0x13167d61aUL, 0x132d198f4UL, 0x1330abf83UL, 0x13466225fUL, 0x135bd0528UL,
1135  0x1360b4bc6UL, 0x137d06cb1UL, 0x1280f7258UL, 0x129d4552fUL, 0x12a621bc1UL,
1136  0x12bb93cb6UL, 0x12cd5a16aUL, 0x12d0e861dUL, 0x12eb8c8f3UL, 0x12f63ef84UL,
1137  0x12061f34bUL, 0x121bad43cUL, 0x1220c9ad2UL, 0x123d7bda5UL, 0x124bb2079UL,
1138  0x12560070eUL, 0x126d649e0UL, 0x1270d6e97UL, 0x118b35345UL, 0x119687432UL,
1139  0x11ade3adcUL, 0x11b051dabUL, 0x11c698077UL, 0x11db2a700UL, 0x11e04e9eeUL,
1140  0x11fdfce99UL, 0x110ddd256UL, 0x11106f521UL, 0x112b0bbcfUL, 0x1136b9cb8UL,
1141  0x114070164UL, 0x115dc2613UL, 0x1166a68fdUL, 0x117b14f8aUL, 0x1086e5163UL,
1142  0x109b57614UL, 0x10a0338faUL, 0x10bd81f8dUL, 0x10cb48251UL, 0x10d6fa526UL,
1143  0x10ed9ebc8UL, 0x10f02ccbfUL, 0x10000d070UL, 0x101dbf707UL, 0x1026db9e9UL,
1144  0x103b69e9eUL, 0x104da0342UL, 0x105012435UL, 0x106b76adbUL, 0x1076c4dacUL,
1145  0x2f85543beUL, 0x2f98e64c9UL, 0x2fa382a27UL, 0x2fbe30d50UL, 0x2fc8f908cUL,
1146  0x2fd54b7fbUL, 0x2fee2f915UL, 0x2ff39de62UL, 0x2f03bc2adUL, 0x2f1e0e5daUL,
1147  0x2f256ab34UL, 0x2f38d8c43UL, 0x2f4e1119fUL, 0x2f53a36e8UL, 0x2f68c7806UL,
1148  0x2f7575f71UL, 0x2e8884198UL, 0x2e95366efUL, 0x2eae52801UL, 0x2eb3e0f76UL,
1149  0x2ec5292aaUL, 0x2ed89b5ddUL, 0x2ee3ffb33UL, 0x2efe4dc44UL, 0x2e0e6c08bUL,
1150  0x2e13de7fcUL, 0x2e28ba912UL, 0x2e3508e65UL, 0x2e43c13b9UL, 0x2e5e734ceUL,
1151  0x2e6517a20UL, 0x2e78a5d57UL, 0x2d8346085UL, 0x2d9ef47f2UL, 0x2da59091cUL,
1152  0x2db822e6bUL, 0x2dceeb3b7UL, 0x2dd3594c0UL, 0x2de83da2eUL, 0x2df58fd59UL,
1153  0x2d05ae196UL, 0x2d181c6e1UL, 0x2d237880fUL, 0x2d3ecaf78UL, 0x2d48032a4UL,
1154  0x2d55b15d3UL, 0x2d6ed5b3dUL, 0x2d7367c4aUL, 0x2c8e962a3UL, 0x2c93245d4UL,
1155  0x2ca840b3aUL, 0x2cb5f2c4dUL, 0x2cc33b191UL, 0x2cde896e6UL, 0x2ce5ed808UL,
1156  0x2cf85ff7fUL, 0x2c087e3b0UL, 0x2c15cc4c7UL, 0x2c2ea8a29UL, 0x2c331ad5eUL,
1157  0x2c45d3082UL, 0x2c58617f5UL, 0x2c630591bUL, 0x2c7eb7e6cUL, 0x2b89705c8UL,
1158  0x2b94c22bfUL, 0x2bafa6c51UL, 0x2bb214b26UL, 0x2bc4dd6faUL, 0x2bd96f18dUL,
1159  0x2be20bf63UL, 0x2bffb9814UL, 0x2b0f984dbUL, 0x2b122a3acUL, 0x2b294ed42UL,
1160  0x2b34fca35UL, 0x2b42357e9UL, 0x2b5f8709eUL, 0x2b64e3e70UL, 0x2b7951907UL,
1161  0x2a84a07eeUL, 0x2a9912099UL, 0x2aa276e77UL, 0x2abfc4900UL, 0x2ac90d4dcUL,
1162  0x2ad4bf3abUL, 0x2aefdbd45UL, 0x2af269a32UL, 0x2a02486fdUL, 0x2a1ffa18aUL,
1163  0x2a249ef64UL, 0x2a392c813UL, 0x2a4fe55cfUL, 0x2a52572b8UL, 0x2a6933c56UL,
1164  0x2a7481b21UL, 0x298f626f3UL, 0x2992d0184UL, 0x29a9b4f6aUL, 0x29b40681dUL,
1165  0x29c2cf5c1UL, 0x29df7d2b6UL, 0x29e419c58UL, 0x29f9abb2fUL, 0x29098a7e0UL,
1166  0x291438097UL, 0x292f5ce79UL, 0x2932ee90eUL, 0x2944274d2UL, 0x2959953a5UL,
1167  0x2962f1d4bUL, 0x297f43a3cUL, 0x2882b24d5UL, 0x289f003a2UL, 0x28a464d4cUL,
1168  0x28b9d6a3bUL, 0x28cf1f7e7UL, 0x28d2ad090UL, 0x28e9c9e7eUL, 0x28f47b909UL,
1169  0x28045a5c6UL, 0x2819e82b1UL, 0x28228cc5fUL, 0x283f3eb28UL, 0x2849f76f4UL,
1170  0x285445183UL, 0x286f21f6dUL, 0x28729381aUL, 0x2780ae825UL, 0x279d1cf52UL,
1171  0x27a6781bcUL, 0x27bbca6cbUL, 0x27cd03b17UL, 0x27d0b1c60UL, 0x27ebd528eUL,
1172  0x27f6675f9UL, 0x270646936UL, 0x271bf4e41UL, 0x2720900afUL, 0x273d227d8UL,
1173  0x274beba04UL, 0x275659d73UL, 0x276d3d39dUL, 0x27708f4eaUL, 0x268d7ea03UL,
1174  0x2690ccd74UL, 0x26aba839aUL, 0x26b61a4edUL, 0x26c0d3931UL, 0x26dd61e46UL,
1175  0x26e6050a8UL, 0x26fbb77dfUL, 0x260b96b10UL, 0x261624c67UL, 0x262d40289UL,
1176  0x2630f25feUL, 0x26463b822UL, 0x265b89f55UL, 0x2660ed1bbUL, 0x267d5f6ccUL,
1177  0x2586bcb1eUL, 0x259b0ec69UL, 0x25a06a287UL, 0x25bdd85f0UL, 0x25cb1182cUL,
1178  0x25d6a3f5bUL, 0x25edc71b5UL, 0x25f0756c2UL, 0x250054a0dUL, 0x251de6d7aUL,
1179  0x252682394UL, 0x253b304e3UL, 0x254df993fUL, 0x25504be48UL, 0x256b2f0a6UL,
1180  0x25769d7d1UL, 0x248b6c938UL, 0x2496dee4fUL, 0x24adba0a1UL, 0x24b0087d6UL,
1181  0x24c6c1a0aUL, 0x24db73d7dUL, 0x24e017393UL, 0x24fda54e4UL, 0x240d8482bUL,
1182  0x241036f5cUL, 0x242b521b2UL, 0x2436e06c5UL, 0x244029b19UL, 0x245d9bc6eUL,
1183  0x2466ff280UL, 0x247b4d5f7UL, 0x238c8ae53UL, 0x239138924UL, 0x23aa5c7caUL,
1184  0x23b7ee0bdUL, 0x23c127d61UL, 0x23dc95a16UL, 0x23e7f14f8UL, 0x23fa4338fUL,
1185  0x230a62f40UL, 0x2317d0837UL, 0x232cb46d9UL, 0x2331061aeUL, 0x2347cfc72UL,
1186  0x235a7db05UL, 0x2361195ebUL, 0x237cab29cUL, 0x22815ac75UL, 0x229ce8b02UL,
1187  0x22a78c5ecUL, 0x22ba3e29bUL, 0x22ccf7f47UL, 0x22d145830UL, 0x22ea216deUL,
1188  0x22f7931a9UL, 0x2207b2d66UL, 0x221a00a11UL, 0x2221644ffUL, 0x223cd6388UL,
1189  0x224a1fe54UL, 0x2257ad923UL, 0x226cc97cdUL, 0x22717b0baUL, 0x218a98d68UL,
1190  0x21972aa1fUL, 0x21ac4e4f1UL, 0x21b1fc386UL, 0x21c735e5aUL, 0x21da8792dUL,
1191  0x21e1e37c3UL, 0x21fc510b4UL, 0x210c70c7bUL, 0x2111c2b0cUL, 0x212aa65e2UL,
1192  0x213714295UL, 0x2141ddf49UL, 0x215c6f83eUL, 0x21670b6d0UL, 0x217ab91a7UL,
1193  0x208748f4eUL, 0x209afa839UL, 0x20a19e6d7UL, 0x20bc2c1a0UL, 0x20cae5c7cUL,
1194  0x20d757b0bUL, 0x20ec335e5UL, 0x20f181292UL, 0x2001a0e5dUL, 0x201c1292aUL,
1195  0x2027767c4UL, 0x203ac40b3UL, 0x204c0dd6fUL, 0x2051bfa18UL, 0x206adb4f6UL,
1196  0x207769381UL, 0x3f8ea1488UL, 0x3f93133ffUL, 0x3fa877d11UL, 0x3fb5c5a66UL,
1197  0x3fc30c7baUL, 0x3fdebe0cdUL, 0x3fe5dae23UL, 0x3ff868954UL, 0x3f084959bUL,
1198  0x3f15fb2ecUL, 0x3f2e9fc02UL, 0x3f332db75UL, 0x3f45e46a9UL, 0x3f58561deUL,
1199  0x3f6332f30UL, 0x3f7e80847UL, 0x3e83716aeUL, 0x3e9ec31d9UL, 0x3ea5a7f37UL,
1200  0x3eb815840UL, 0x3ecedc59cUL, 0x3ed36e2ebUL, 0x3ee80ac05UL, 0x3ef5b8b72UL,
1201  0x3e05997bdUL, 0x3e182b0caUL, 0x3e234fe24UL, 0x3e3efd953UL, 0x3e483448fUL,
1202  0x3e55863f8UL, 0x3e6ee2d16UL, 0x3e7350a61UL, 0x3d88b37b3UL, 0x3d95010c4UL,
1203  0x3dae65e2aUL, 0x3db3d795dUL, 0x3dc51e481UL, 0x3dd8ac3f6UL, 0x3de3c8d18UL,
1204  0x3dfe7aa6fUL, 0x3d0e5b6a0UL, 0x3d13e91d7UL, 0x3d288df39UL, 0x3d353f84eUL,
1205  0x3d43f6592UL, 0x3d5e442e5UL, 0x3d6520c0bUL, 0x3d7892b7cUL, 0x3c8563595UL,
1206  0x3c98d12e2UL, 0x3ca3b5c0cUL, 0x3cbe07b7bUL, 0x3cc8ce6a7UL, 0x3cd57c1d0UL,
1207  0x3cee18f3eUL, 0x3cf3aa849UL, 0x3c038b486UL, 0x3c1e393f1UL, 0x3c255dd1fUL,
1208  0x3c38efa68UL, 0x3c4e267b4UL, 0x3c53940c3UL, 0x3c68f0e2dUL, 0x3c754295aUL,
1209  0x3b82852feUL, 0x3b9f37589UL, 0x3ba453b67UL, 0x3bb9e1c10UL, 0x3bcf281ccUL,
1210  0x3bd29a6bbUL, 0x3be9fe855UL, 0x3bf44cf22UL, 0x3b046d3edUL, 0x3b19df49aUL,
1211  0x3b22bba74UL, 0x3b3f09d03UL, 0x3b49c00dfUL, 0x3b54727a8UL, 0x3b6f16946UL,
1212  0x3b72a4e31UL, 0x3a8f550d8UL, 0x3a92e77afUL, 0x3aa983941UL, 0x3ab431e36UL,
1213  0x3ac2f83eaUL, 0x3adf4a49dUL, 0x3ae42ea73UL, 0x3af99cd04UL, 0x3a09bd1cbUL,
1214  0x3a140f6bcUL, 0x3a2f6b852UL, 0x3a32d9f25UL, 0x3a44102f9UL, 0x3a59a258eUL,
1215  0x3a62c6b60UL, 0x3a7f74c17UL, 0x3984971c5UL, 0x3999256b2UL, 0x39a24185cUL,
1216  0x39bff3f2bUL, 0x39c93a2f7UL, 0x39d488580UL, 0x39efecb6eUL, 0x39f25ec19UL,
1217  0x39027f0d6UL, 0x391fcd7a1UL, 0x3924a994fUL, 0x39391be38UL, 0x394fd23e4UL,
1218  0x395260493UL, 0x396904a7dUL, 0x3974b6d0aUL, 0x3889473e3UL, 0x3894f5494UL,
1219  0x38af91a7aUL, 0x38b223d0dUL, 0x38c4ea0d1UL, 0x38d9587a6UL, 0x38e23c948UL,
1220  0x38ff8ee3fUL, 0x380faf2f0UL, 0x38121d587UL, 0x382979b69UL, 0x3834cbc1eUL,
1221  0x3842021c2UL, 0x385fb06b5UL, 0x3864d485bUL, 0x387966f2cUL, 0x378b5bf13UL,
1222  0x3796e9864UL, 0x37ad8d68aUL, 0x37b03f1fdUL, 0x37c6f6c21UL, 0x37db44b56UL,
1223  0x37e0205b8UL, 0x37fd922cfUL, 0x370db3e00UL, 0x371001977UL, 0x372b65799UL,
1224  0x3736d70eeUL, 0x37401ed32UL, 0x375daca45UL, 0x3766c84abUL, 0x377b7a3dcUL,
1225  0x36868bd35UL, 0x369b39a42UL, 0x36a05d4acUL, 0x36bdef3dbUL, 0x36cb26e07UL,
1226  0x36d694970UL, 0x36edf079eUL, 0x36f0420e9UL, 0x360063c26UL, 0x361dd1b51UL,
1227  0x3626b55bfUL, 0x363b072c8UL, 0x364dcef14UL, 0x36507c863UL, 0x366b1868dUL,
1228  0x3676aa1faUL, 0x358d49c28UL, 0x3590fbb5fUL, 0x35ab9f5b1UL, 0x35b62d2c6UL,
1229  0x35c0e4f1aUL, 0x35dd5686dUL, 0x35e632683UL, 0x35fb801f4UL, 0x350ba1d3bUL,
1230  0x351613a4cUL, 0x352d774a2UL, 0x3530c53d5UL, 0x35460ce09UL, 0x355bbe97eUL,
1231  0x3560da790UL, 0x357d680e7UL, 0x348099e0eUL, 0x349d2b979UL, 0x34a64f797UL,
1232  0x34bbfd0e0UL, 0x34cd34d3cUL, 0x34d086a4bUL, 0x34ebe24a5UL, 0x34f6503d2UL,
1233  0x340671f1dUL, 0x341bc386aUL, 0x3420a7684UL, 0x343d151f3UL, 0x344bdcc2fUL,
1234  0x34566eb58UL, 0x346d0a5b6UL, 0x3470b82c1UL, 0x33877f965UL, 0x339acde12UL,
1235  0x33a1a90fcUL, 0x33bc1b78bUL, 0x33cad2a57UL, 0x33d760d20UL, 0x33ec043ceUL,
1236  0x33f1b64b9UL, 0x330197876UL, 0x331c25f01UL, 0x3327411efUL, 0x333af3698UL,
1237  0x334c3ab44UL, 0x335188c33UL, 0x336aec2ddUL, 0x33775e5aaUL, 0x328aafb43UL,
1238  0x32971dc34UL, 0x32ac792daUL, 0x32b1cb5adUL, 0x32c702871UL, 0x32dab0f06UL,
1239  0x32e1d41e8UL, 0x32fc6669fUL, 0x320c47a50UL, 0x3211f5d27UL, 0x322a913c9UL,
1240  0x3237234beUL, 0x3241ea962UL, 0x325c58e15UL, 0x32673c0fbUL, 0x327a8e78cUL,
1241  0x31816da5eUL, 0x319cdfd29UL, 0x31a7bb3c7UL, 0x31ba094b0UL, 0x31ccc096cUL,
1242  0x31d172e1bUL, 0x31ea160f5UL, 0x31f7a4782UL, 0x310785b4dUL, 0x311a37c3aUL,
1243  0x3121532d4UL, 0x313ce15a3UL, 0x314a2887fUL, 0x31579af08UL, 0x316cfe1e6UL,
1244  0x31714c691UL, 0x308cbd878UL, 0x30910ff0fUL, 0x30aa6b1e1UL, 0x30b7d9696UL,
1245  0x30c110b4aUL, 0x30dca2c3dUL, 0x30e7c62d3UL, 0x30fa745a4UL, 0x300a5596bUL,
1246  0x3017e7e1cUL, 0x302c830f2UL, 0x303131785UL, 0x3047f8a59UL, 0x305a4ad2eUL,
1247  0x30612e3c0UL, 0x307c9c4b7UL, 0x4f860ffe4UL, 0x4f9bbd893UL, 0x4fa0d967dUL,
1248  0x4fbd6b10aUL, 0x4fcba2cd6UL, 0x4fd610ba1UL, 0x4fed7454fUL, 0x4ff0c6238UL,
1249  0x4f00e7ef7UL, 0x4f1d55980UL, 0x4f263176eUL, 0x4f3b83019UL, 0x4f4d4adc5UL,
1250  0x4f50f8ab2UL, 0x4f6b9c45cUL, 0x4f762e32bUL, 0x4e8bdfdc2UL, 0x4e966dab5UL,
1251  0x4ead0945bUL, 0x4eb0bb32cUL, 0x4ec672ef0UL, 0x4edbc0987UL, 0x4ee0a4769UL,
1252  0x4efd1601eUL, 0x4e0d37cd1UL, 0x4e1085ba6UL, 0x4e2be1548UL, 0x4e365323fUL,
1253  0x4e409afe3UL, 0x4e5d28894UL, 0x4e664c67aUL, 0x4e7bfe10dUL, 0x4d801dcdfUL,
1254  0x4d9dafba8UL, 0x4da6cb546UL, 0x4dbb79231UL, 0x4dcdb0fedUL, 0x4dd00289aUL,
1255  0x4deb66674UL, 0x4df6d4103UL, 0x4d06f5dccUL, 0x4d1b47abbUL, 0x4d2023455UL,
1256  0x4d3d91322UL, 0x4d4b58efeUL, 0x4d56ea989UL, 0x4d6d8e767UL, 0x4d703c010UL,
1257  0x4c8dcdef9UL, 0x4c907f98eUL, 0x4cab1b760UL, 0x4cb6a9017UL, 0x4cc060dcbUL,
1258  0x4cddd2abcUL, 0x4ce6b6452UL, 0x4cfb04325UL, 0x4c0b25feaUL, 0x4c169789dUL,
1259  0x4c2df3673UL, 0x4c3041104UL, 0x4c4688cd8UL, 0x4c5b3abafUL, 0x4c605e541UL,
1260  0x4c7dec236UL, 0x4b8a2b992UL, 0x4b9799ee5UL, 0x4bacfd00bUL, 0x4bb14f77cUL,
1261  0x4bc786aa0UL, 0x4bda34dd7UL, 0x4be150339UL, 0x4bfce244eUL, 0x4b0cc3881UL,
1262  0x4b1171ff6UL, 0x4b2a15118UL, 0x4b37a766fUL, 0x4b416ebb3UL, 0x4b5cdccc4UL,
1263  0x4b67b822aUL, 0x4b7a0a55dUL, 0x4a87fbbb4UL, 0x4a9a49cc3UL, 0x4aa12d22dUL,
1264  0x4abc9f55aUL, 0x4aca56886UL, 0x4ad7e4ff1UL, 0x4aec8011fUL, 0x4af132668UL,
1265  0x4a0113aa7UL, 0x4a1ca1dd0UL, 0x4a27c533eUL, 0x4a3a77449UL, 0x4a4cbe995UL,
1266  0x4a510cee2UL, 0x4a6a6800cUL, 0x4a77da77bUL, 0x498c39aa9UL, 0x49918bddeUL,
1267  0x49aaef330UL, 0x49b75d447UL, 0x49c19499bUL, 0x49dc26eecUL, 0x49e742002UL,
1268  0x49faf0775UL, 0x490ad1bbaUL, 0x491763ccdUL, 0x492c07223UL, 0x4931b5554UL,
1269  0x49477c888UL, 0x495acefffUL, 0x4961aa111UL, 0x497c18666UL, 0x4881e988fUL,
1270  0x489c5bff8UL, 0x48a73f116UL, 0x48ba8d661UL, 0x48cc44bbdUL, 0x48d1f6ccaUL,
1271  0x48ea92224UL, 0x48f720553UL, 0x48070199cUL, 0x481ab3eebUL, 0x4821d7005UL,
1272  0x483c65772UL, 0x484aacaaeUL, 0x48571edd9UL, 0x486c7a337UL, 0x4871c8440UL,
1273  0x4783f547fUL, 0x479e47308UL, 0x47a523de6UL, 0x47b891a91UL, 0x47ce5874dUL,
1274  0x47d3ea03aUL, 0x47e88eed4UL, 0x47f53c9a3UL, 0x47051d56cUL, 0x4718af21bUL,
1275  0x4723cbcf5UL, 0x473e79b82UL, 0x4748b065eUL, 0x475502129UL, 0x476e66fc7UL,
1276  0x4773d48b0UL, 0x468e25659UL, 0x46939712eUL, 0x46a8f3fc0UL, 0x46b5418b7UL,
1277  0x46c38856bUL, 0x46de3a21cUL, 0x46e55ecf2UL, 0x46f8ecb85UL, 0x4608cd74aUL,
1278  0x46157f03dUL, 0x462e1bed3UL, 0x4633a99a4UL, 0x464560478UL, 0x4658d230fUL,
1279  0x4663b6de1UL, 0x467e04a96UL, 0x4585e7744UL, 0x459855033UL, 0x45a331eddUL,
1280  0x45be839aaUL, 0x45c84a476UL, 0x45d5f8301UL, 0x45ee9cdefUL, 0x45f32ea98UL,
1281  0x45030f657UL, 0x451ebd120UL, 0x4525d9fceUL, 0x45386b8b9UL, 0x454ea2565UL,
1282  0x455310212UL, 0x456874cfcUL, 0x4575c6b8bUL, 0x448837562UL, 0x449585215UL,
1283  0x44aee1cfbUL, 0x44b353b8cUL, 0x44c59a650UL, 0x44d828127UL, 0x44e34cfc9UL,
1284  0x44fefe8beUL, 0x440edf471UL, 0x44136d306UL, 0x442809de8UL, 0x4435bba9fUL,
1285  0x444372743UL, 0x445ec0034UL, 0x4465a4edaUL, 0x4478169adUL, 0x438fd1209UL,
1286  0x43926357eUL, 0x43a907b90UL, 0x43b4b5ce7UL, 0x43c27c13bUL, 0x43dfce64cUL,
1287  0x43e4aa8a2UL, 0x43f918fd5UL, 0x43093931aUL, 0x43148b46dUL, 0x432fefa83UL,
1288  0x43325ddf4UL, 0x434494028UL, 0x43592675fUL, 0x4362429b1UL, 0x437ff0ec6UL,
1289  0x42820102fUL, 0x429fb3758UL, 0x42a4d79b6UL, 0x42b965ec1UL, 0x42cfac31dUL,
1290  0x42d21e46aUL, 0x42e97aa84UL, 0x42f4c8df3UL, 0x4204e913cUL, 0x42195b64bUL,
1291  0x42223f8a5UL, 0x423f8dfd2UL, 0x42494420eUL, 0x4254f6579UL, 0x426f92b97UL,
1292  0x427220ce0UL, 0x4189c3132UL, 0x419471645UL, 0x41af158abUL, 0x41b2a7fdcUL,
1293  0x41c46e200UL, 0x41d9dc577UL, 0x41e2b8b99UL, 0x41ff0aceeUL, 0x410f2b021UL,
1294  0x411299756UL, 0x4129fd9b8UL, 0x41344fecfUL, 0x414286313UL, 0x415f34464UL,
1295  0x416450a8aUL, 0x4179e2dfdUL, 0x408413314UL, 0x4099a1463UL, 0x40a2c5a8dUL,
1296  0x40bf77dfaUL, 0x40c9be026UL, 0x40d40c751UL, 0x40ef689bfUL, 0x40f2daec8UL,
1297  0x4002fb207UL, 0x401f49570UL, 0x40242db9eUL, 0x40399fce9UL, 0x404f56135UL,
1298  0x4052e4642UL, 0x4069808acUL, 0x407432fdbUL, 0x5f8dfa8d2UL, 0x5f9048fa5UL,
1299  0x5fab2c14bUL, 0x5fb69e63cUL, 0x5fc057be0UL, 0x5fdde5c97UL, 0x5fe681279UL,
1300  0x5ffb3350eUL, 0x5f0b129c1UL, 0x5f16a0eb6UL, 0x5f2dc4058UL, 0x5f307672fUL,
1301  0x5f46bfaf3UL, 0x5f5b0dd84UL, 0x5f606936aUL, 0x5f7ddb41dUL, 0x5e802aaf4UL,
1302  0x5e9d98d83UL, 0x5ea6fc36dUL, 0x5ebb4e41aUL, 0x5ecd879c6UL, 0x5ed035eb1UL,
1303  0x5eeb5105fUL, 0x5ef6e3728UL, 0x5e06c2be7UL, 0x5e1b70c90UL, 0x5e201427eUL,
1304  0x5e3da6509UL, 0x5e4b6f8d5UL, 0x5e56ddfa2UL, 0x5e6db914cUL, 0x5e700b63bUL,
1305  0x5d8be8be9UL, 0x5d965ac9eUL, 0x5dad3e270UL, 0x5db08c507UL, 0x5dc6458dbUL,
1306  0x5ddbf7facUL, 0x5de093142UL, 0x5dfd21635UL, 0x5d0d00afaUL, 0x5d10b2d8dUL,
1307  0x5d2bd6363UL, 0x5d3664414UL, 0x5d40ad9c8UL, 0x5d5d1febfUL, 0x5d667b051UL,
1308  0x5d7bc9726UL, 0x5c86389cfUL, 0x5c9b8aeb8UL, 0x5ca0ee056UL, 0x5cbd5c721UL,
1309  0x5ccb95afdUL, 0x5cd627d8aUL, 0x5ced43364UL, 0x5cf0f1413UL, 0x5c00d08dcUL,
1310  0x5c1d62fabUL, 0x5c2606145UL, 0x5c3bb4632UL, 0x5c4d7dbeeUL, 0x5c50cfc99UL,
1311  0x5c6bab277UL, 0x5c7619500UL, 0x5b81deea4UL, 0x5b9c6c9d3UL, 0x5ba70873dUL,
1312  0x5bbaba04aUL, 0x5bcc73d96UL, 0x5bd1c1ae1UL, 0x5beaa540fUL, 0x5bf717378UL,
1313  0x5b0736fb7UL, 0x5b1a848c0UL, 0x5b21e062eUL, 0x5b3c52159UL, 0x5b4a9bc85UL,
1314  0x5b5729bf2UL, 0x5b6c4d51cUL, 0x5b71ff26bUL, 0x5a8c0ec82UL, 0x5a91bcbf5UL,
1315  0x5aaad851bUL, 0x5ab76a26cUL, 0x5ac1a3fb0UL, 0x5adc118c7UL, 0x5ae775629UL,
1316  0x5afac715eUL, 0x5a0ae6d91UL, 0x5a1754ae6UL, 0x5a2c30408UL, 0x5a318237fUL,
1317  0x5a474bea3UL, 0x5a5af99d4UL, 0x5a619d73aUL, 0x5a7c2f04dUL, 0x5987ccd9fUL,
1318  0x599a7eae8UL, 0x59a11a406UL, 0x59bca8371UL, 0x59ca61eadUL, 0x59d7d39daUL,
1319  0x59ecb7734UL, 0x59f105043UL, 0x590124c8cUL, 0x591c96bfbUL, 0x5927f2515UL,
1320  0x593a40262UL, 0x594c89fbeUL, 0x59513b8c9UL, 0x596a5f627UL, 0x5977ed150UL,
1321  0x588a1cfb9UL, 0x5897ae8ceUL, 0x58acca620UL, 0x58b178157UL, 0x58c7b1c8bUL,
1322  0x58da03bfcUL, 0x58e167512UL, 0x58fcd5265UL, 0x580cf4eaaUL, 0x5811469ddUL,
1323  0x582a22733UL, 0x583790044UL, 0x584159d98UL, 0x585cebaefUL, 0x58678f401UL,
1324  0x587a3d376UL, 0x578800349UL, 0x5795b243eUL, 0x57aed6ad0UL, 0x57b364da7UL,
1325  0x57c5ad07bUL, 0x57d81f70cUL, 0x57e37b9e2UL, 0x57fec9e95UL, 0x570ee825aUL,
1326  0x57135a52dUL, 0x57283ebc3UL, 0x57358ccb4UL, 0x574345168UL, 0x575ef761fUL,
1327  0x5765938f1UL, 0x577821f86UL, 0x5685d016fUL, 0x569862618UL, 0x56a3068f6UL,
1328  0x56beb4f81UL, 0x56c87d25dUL, 0x56d5cf52aUL, 0x56eeabbc4UL, 0x56f319cb3UL,
1329  0x56033807cUL, 0x561e8a70bUL, 0x5625ee9e5UL, 0x56385ce92UL, 0x564e9534eUL,
1330  0x565327439UL, 0x566843ad7UL, 0x5675f1da0UL, 0x558e12072UL, 0x5593a0705UL,
1331  0x55a8c49ebUL, 0x55b576e9cUL, 0x55c3bf340UL, 0x55de0d437UL, 0x55e569ad9UL,
1332  0x55f8dbdaeUL, 0x5508fa161UL, 0x551548616UL, 0x552e2c8f8UL, 0x55339ef8fUL,
1333  0x554557253UL, 0x5558e5524UL, 0x556381bcaUL, 0x557e33cbdUL, 0x5483c2254UL,
1334  0x549e70523UL, 0x54a514bcdUL, 0x54b8a6cbaUL, 0x54ce6f166UL, 0x54d3dd611UL,
1335  0x54e8b98ffUL, 0x54f50bf88UL, 0x54052a347UL, 0x541898430UL, 0x5423fcadeUL,
1336  0x543e4eda9UL, 0x544887075UL, 0x545535702UL, 0x546e519ecUL, 0x5473e3e9bUL,
1337  0x53842453fUL, 0x539996248UL, 0x53a2f2ca6UL, 0x53bf40bd1UL, 0x53c98960dUL,
1338  0x53d43b17aUL, 0x53ef5ff94UL, 0x53f2ed8e3UL, 0x5302cc42cUL, 0x531f7e35bUL,
1339  0x53241adb5UL, 0x5339a8ac2UL, 0x534f6171eUL, 0x5352d3069UL, 0x5369b7e87UL,
1340  0x5374059f0UL, 0x5289f4719UL, 0x52944606eUL, 0x52af22e80UL, 0x52b2909f7UL,
1341  0x52c45942bUL, 0x52d9eb35cUL, 0x52e28fdb2UL, 0x52ff3dac5UL, 0x520f1c60aUL,
1342  0x5212ae17dUL, 0x5229caf93UL, 0x5234788e4UL, 0x5242b1538UL, 0x525f0324fUL,
1343  0x526467ca1UL, 0x5279d5bd6UL, 0x518236604UL, 0x519f84173UL, 0x51a4e0f9dUL,
1344  0x51b9528eaUL, 0x51cf9b536UL, 0x51d229241UL, 0x51e94dcafUL, 0x51f4ffbd8UL,
1345  0x5104de717UL, 0x51196c060UL, 0x512208e8eUL, 0x513fba9f9UL, 0x514973425UL,
1346  0x5154c1352UL, 0x516fa5dbcUL, 0x517217acbUL, 0x508fe6422UL, 0x509254355UL,
1347  0x50a930dbbUL, 0x50b482accUL, 0x50c24b710UL, 0x50dff9067UL, 0x50e49de89UL,
1348  0x50f92f9feUL, 0x50090e531UL, 0x5014bc246UL, 0x502fd8ca8UL, 0x50326abdfUL,
1349  0x5044a3603UL, 0x505911174UL, 0x506275f9aUL, 0x507fc78edUL, 0x6f8c576ffUL,
1350  0x6f91e5188UL, 0x6faa81f66UL, 0x6fb733811UL, 0x6fc1fa5cdUL, 0x6fdc482baUL,
1351  0x6fe72cc54UL, 0x6ffa9eb23UL, 0x6f0abf7ecUL, 0x6f170d09bUL, 0x6f2c69e75UL,
1352  0x6f31db902UL, 0x6f47124deUL, 0x6f5aa03a9UL, 0x6f61c4d47UL, 0x6f7c76a30UL,
1353  0x6e81874d9UL, 0x6e9c353aeUL, 0x6ea751d40UL, 0x6ebae3a37UL, 0x6ecc2a7ebUL,
1354  0x6ed19809cUL, 0x6eeafce72UL, 0x6ef74e905UL, 0x6e076f5caUL, 0x6e1add2bdUL,
1355  0x6e21b9c53UL, 0x6e3c0bb24UL, 0x6e4ac26f8UL, 0x6e577018fUL, 0x6e6c14f61UL,
1356  0x6e71a6816UL, 0x6d8a455c4UL, 0x6d97f72b3UL, 0x6dac93c5dUL, 0x6db121b2aUL,
1357  0x6dc7e86f6UL, 0x6dda5a181UL, 0x6de13ef6fUL, 0x6dfc8c818UL, 0x6d0cad4d7UL,
1358  0x6d111f3a0UL, 0x6d2a7bd4eUL, 0x6d37c9a39UL, 0x6d41007e5UL, 0x6d5cb2092UL,
1359  0x6d67d6e7cUL, 0x6d7a6490bUL, 0x6c87957e2UL, 0x6c9a27095UL, 0x6ca143e7bUL,
1360  0x6cbcf190cUL, 0x6cca384d0UL, 0x6cd78a3a7UL, 0x6ceceed49UL, 0x6cf15ca3eUL,
1361  0x6c017d6f1UL, 0x6c1ccf186UL, 0x6c27abf68UL, 0x6c3a1981fUL, 0x6c4cd05c3UL,
1362  0x6c51622b4UL, 0x6c6a06c5aUL, 0x6c77b4b2dUL, 0x6b8073089UL, 0x6b9dc17feUL,
1363  0x6ba6a5910UL, 0x6bbb17e67UL, 0x6bcdde3bbUL, 0x6bd06c4ccUL, 0x6beb08a22UL,
1364  0x6bf6bad55UL, 0x6b069b19aUL, 0x6b1b296edUL, 0x6b204d803UL, 0x6b3dfff74UL,
1365  0x6b4b362a8UL, 0x6b56845dfUL, 0x6b6de0b31UL, 0x6b7052c46UL, 0x6a8da32afUL,
1366  0x6a90115d8UL, 0x6aab75b36UL, 0x6ab6c7c41UL, 0x6ac00e19dUL, 0x6addbc6eaUL,
1367  0x6ae6d8804UL, 0x6afb6af73UL, 0x6a0b4b3bcUL, 0x6a16f94cbUL, 0x6a2d9da25UL,
1368  0x6a302fd52UL, 0x6a46e608eUL, 0x6a5b547f9UL, 0x6a6030917UL, 0x6a7d82e60UL,
1369  0x6986613b2UL, 0x699bd34c5UL, 0x69a0b7a2bUL, 0x69bd05d5cUL, 0x69cbcc080UL,
1370  0x69d67e7f7UL, 0x69ed1a919UL, 0x69f0a8e6eUL, 0x6900892a1UL, 0x691d3b5d6UL,
1371  0x69265fb38UL, 0x693bedc4fUL, 0x694d24193UL, 0x6950966e4UL, 0x696bf280aUL,
1372  0x697640f7dUL, 0x688bb1194UL, 0x6896036e3UL, 0x68ad6780dUL, 0x68b0d5f7aUL,
1373  0x68c61c2a6UL, 0x68dbae5d1UL, 0x68e0cab3fUL, 0x68fd78c48UL, 0x680d59087UL,
1374  0x6810eb7f0UL, 0x682b8f91eUL, 0x68363de69UL, 0x6840f43b5UL, 0x685d464c2UL,
1375  0x686622a2cUL, 0x687b90d5bUL, 0x6789add64UL, 0x67941fa13UL, 0x67af7b4fdUL,
1376  0x67b2c938aUL, 0x67c400e56UL, 0x67d9b2921UL, 0x67e2d67cfUL, 0x67ff640b8UL,
1377  0x670f45c77UL, 0x6712f7b00UL, 0x6729935eeUL, 0x673421299UL, 0x6742e8f45UL,
1378  0x675f5a832UL, 0x67643e6dcUL, 0x67798c1abUL, 0x66847df42UL, 0x6699cf835UL,
1379  0x66a2ab6dbUL, 0x66bf191acUL, 0x66c9d0c70UL, 0x66d462b07UL, 0x66ef065e9UL,
1380  0x66f2b429eUL, 0x660295e51UL, 0x661f27926UL, 0x6624437c8UL, 0x6639f10bfUL,
1381  0x664f38d63UL, 0x66528aa14UL, 0x6669ee4faUL, 0x66745c38dUL, 0x658fbfe5fUL,
1382  0x65920d928UL, 0x65a9697c6UL, 0x65b4db0b1UL, 0x65c212d6dUL, 0x65dfa0a1aUL,
1383  0x65e4c44f4UL, 0x65f976383UL, 0x650957f4cUL, 0x6514e583bUL, 0x652f816d5UL,
1384  0x6532331a2UL, 0x6544fac7eUL, 0x655948b09UL, 0x65622c5e7UL, 0x657f9e290UL,
1385  0x64826fc79UL, 0x649fddb0eUL, 0x64a4b95e0UL, 0x64b90b297UL, 0x64cfc2f4bUL,
1386  0x64d27083cUL, 0x64e9146d2UL, 0x64f4a61a5UL, 0x640487d6aUL, 0x641935a1dUL,
1387  0x6422514f3UL, 0x643fe3384UL, 0x64492ae58UL, 0x64549892fUL, 0x646ffc7c1UL,
1388  0x64724e0b6UL, 0x638589b12UL, 0x63983bc65UL, 0x63a35f28bUL, 0x63beed5fcUL,
1389  0x63c824820UL, 0x63d596f57UL, 0x63eef21b9UL, 0x63f3406ceUL, 0x630361a01UL,
1390  0x631ed3d76UL, 0x6325b7398UL, 0x6338054efUL, 0x634ecc933UL, 0x63537ee44UL,
1391  0x63681a0aaUL, 0x6375a87ddUL, 0x628859934UL, 0x6295ebe43UL, 0x62ae8f0adUL,
1392  0x62b33d7daUL, 0x62c5f4a06UL, 0x62d846d71UL, 0x62e32239fUL, 0x62fe904e8UL,
1393  0x620eb1827UL, 0x621303f50UL, 0x6228671beUL, 0x6235d56c9UL, 0x62431cb15UL,
1394  0x625eaec62UL, 0x6265ca28cUL, 0x6278785fbUL, 0x61839b829UL, 0x619e29f5eUL,
1395  0x61a54d1b0UL, 0x61b8ff6c7UL, 0x61ce36b1bUL, 0x61d384c6cUL, 0x61e8e0282UL,
1396  0x61f5525f5UL, 0x61057393aUL, 0x6118c1e4dUL, 0x6123a50a3UL, 0x613e177d4UL,
1397  0x6148dea08UL, 0x61556cd7fUL, 0x616e08391UL, 0x6173ba4e6UL, 0x608e4ba0fUL,
1398  0x6093f9d78UL, 0x60a89d396UL, 0x60b52f4e1UL, 0x60c3e693dUL, 0x60de54e4aUL,
1399  0x60e5300a4UL, 0x60f8827d3UL, 0x6008a3b1cUL, 0x601511c6bUL, 0x602e75285UL,
1400  0x6033c75f2UL, 0x60450e82eUL, 0x6058bcf59UL, 0x6063d81b7UL, 0x607e6a6c0UL,
1401  0x7f87a21c9UL, 0x7f9a106beUL, 0x7fa174850UL, 0x7fbcc6f27UL, 0x7fca0f2fbUL,
1402  0x7fd7bd58cUL, 0x7fecd9b62UL, 0x7ff16bc15UL, 0x7f014a0daUL, 0x7f1cf87adUL,
1403  0x7f279c943UL, 0x7f3a2ee34UL, 0x7f4ce73e8UL, 0x7f515549fUL, 0x7f6a31a71UL,
1404  0x7f7783d06UL, 0x7e8a723efUL, 0x7e97c0498UL, 0x7eaca4a76UL, 0x7eb116d01UL,
1405  0x7ec7df0ddUL, 0x7eda6d7aaUL, 0x7ee109944UL, 0x7efcbbe33UL, 0x7e0c9a2fcUL,
1406  0x7e112858bUL, 0x7e2a4cb65UL, 0x7e37fec12UL, 0x7e41371ceUL, 0x7e5c856b9UL,
1407  0x7e67e1857UL, 0x7e7a53f20UL, 0x7d81b02f2UL, 0x7d9c02585UL, 0x7da766b6bUL,
1408  0x7dbad4c1cUL, 0x7dcc1d1c0UL, 0x7dd1af6b7UL, 0x7deacb859UL, 0x7df779f2eUL,
1409  0x7d07583e1UL, 0x7d1aea496UL, 0x7d218ea78UL, 0x7d3c3cd0fUL, 0x7d4af50d3UL,
1410  0x7d57477a4UL, 0x7d6c2394aUL, 0x7d7191e3dUL, 0x7c8c600d4UL, 0x7c91d27a3UL,
1411  0x7caab694dUL, 0x7cb704e3aUL, 0x7cc1cd3e6UL, 0x7cdc7f491UL, 0x7ce71ba7fUL,
1412  0x7cfaa9d08UL, 0x7c0a881c7UL, 0x7c173a6b0UL, 0x7c2c5e85eUL, 0x7c31ecf29UL,
1413  0x7c47252f5UL, 0x7c5a97582UL, 0x7c61f3b6cUL, 0x7c7c41c1bUL, 0x7b8b867bfUL,
1414  0x7b96340c8UL, 0x7bad50e26UL, 0x7bb0e2951UL, 0x7bc62b48dUL, 0x7bdb993faUL,
1415  0x7be0fdd14UL, 0x7bfd4fa63UL, 0x7b0d6e6acUL, 0x7b10dc1dbUL, 0x7b2bb8f35UL,
1416  0x7b360a842UL, 0x7b40c359eUL, 0x7b5d712e9UL, 0x7b6615c07UL, 0x7b7ba7b70UL,
1417  0x7a8656599UL, 0x7a9be42eeUL, 0x7aa080c00UL, 0x7abd32b77UL, 0x7acbfb6abUL,
1418  0x7ad6491dcUL, 0x7aed2df32UL, 0x7af09f845UL, 0x7a00be48aUL, 0x7a1d0c3fdUL,
1419  0x7a2668d13UL, 0x7a3bdaa64UL, 0x7a4d137b8UL, 0x7a50a10cfUL, 0x7a6bc5e21UL,
1420  0x7a7677956UL, 0x798d94484UL, 0x7990263f3UL, 0x79ab42d1dUL, 0x79b6f0a6aUL,
1421  0x79c0397b6UL, 0x79dd8b0c1UL, 0x79e6efe2fUL, 0x79fb5d958UL, 0x790b7c597UL,
1422  0x7916ce2e0UL, 0x792daac0eUL, 0x793018b79UL, 0x7946d16a5UL, 0x795b631d2UL,
1423  0x796007f3cUL, 0x797db584bUL, 0x7880446a2UL, 0x789df61d5UL, 0x78a692f3bUL,
1424  0x78bb2084cUL, 0x78cde9590UL, 0x78d05b2e7UL, 0x78eb3fc09UL, 0x78f68db7eUL,
1425  0x7806ac7b1UL, 0x781b1e0c6UL, 0x78207ae28UL, 0x783dc895fUL, 0x784b01483UL,
1426  0x7856b33f4UL, 0x786dd7d1aUL, 0x787065a6dUL, 0x778258a52UL, 0x779fead25UL,
1427  0x77a48e3cbUL, 0x77b93c4bcUL, 0x77cff5960UL, 0x77d247e17UL, 0x77e9230f9UL,
1428  0x77f49178eUL, 0x7704b0b41UL, 0x771902c36UL, 0x7722662d8UL, 0x773fd45afUL,
1429  0x77491d873UL, 0x7754aff04UL, 0x776fcb1eaUL, 0x77727969dUL, 0x768f88874UL,
1430  0x76923af03UL, 0x76a95e1edUL, 0x76b4ec69aUL, 0x76c225b46UL, 0x76df97c31UL,
1431  0x76e4f32dfUL, 0x76f9415a8UL, 0x760960967UL, 0x7614d2e10UL, 0x762fb60feUL,
1432  0x763204789UL, 0x7644cda55UL, 0x76597fd22UL, 0x76621b3ccUL, 0x767fa94bbUL,
1433  0x75844a969UL, 0x7599f8e1eUL, 0x75a29c0f0UL, 0x75bf2e787UL, 0x75c9e7a5bUL,
1434  0x75d455d2cUL, 0x75ef313c2UL, 0x75f2834b5UL, 0x7502a287aUL, 0x751f10f0dUL,
1435  0x7524741e3UL, 0x7539c6694UL, 0x754f0fb48UL, 0x7552bdc3fUL, 0x7569d92d1UL,
1436  0x75746b5a6UL, 0x74899ab4fUL, 0x749428c38UL, 0x74af4c2d6UL, 0x74b2fe5a1UL,
1437  0x74c43787dUL, 0x74d985f0aUL, 0x74e2e11e4UL, 0x74ff53693UL, 0x740f72a5cUL,
1438  0x7412c0d2bUL, 0x7429a43c5UL, 0x7434164b2UL, 0x7442df96eUL, 0x745f6de19UL,
1439  0x7464090f7UL, 0x7479bb780UL, 0x738e7cc24UL, 0x7393ceb53UL, 0x73a8aa5bdUL,
1440  0x73b5182caUL, 0x73c3d1f16UL, 0x73de63861UL, 0x73e50768fUL, 0x73f8b51f8UL,
1441  0x730894d37UL, 0x731526a40UL, 0x732e424aeUL, 0x7333f03d9UL, 0x734539e05UL,
1442  0x73588b972UL, 0x7363ef79cUL, 0x737e5d0ebUL, 0x7283ace02UL, 0x729e1e975UL,
1443  0x72a57a79bUL, 0x72b8c80ecUL, 0x72ce01d30UL, 0x72d3b3a47UL, 0x72e8d74a9UL,
1444  0x72f5653deUL, 0x720544f11UL, 0x7218f6866UL, 0x722392688UL, 0x723e201ffUL,
1445  0x7248e9c23UL, 0x72555bb54UL, 0x726e3f5baUL, 0x72738d2cdUL, 0x71886ef1fUL,
1446  0x7195dc868UL, 0x71aeb8686UL, 0x71b30a1f1UL, 0x71c5c3c2dUL, 0x71d871b5aUL,
1447  0x71e3155b4UL, 0x71fea72c3UL, 0x710e86e0cUL, 0x71133497bUL, 0x712850795UL,
1448  0x7135e20e2UL, 0x71432bd3eUL, 0x715e99a49UL, 0x7165fd4a7UL, 0x71784f3d0UL,
1449  0x7085bed39UL, 0x70980ca4eUL, 0x70a3684a0UL, 0x70beda3d7UL, 0x70c813e0bUL,
1450  0x70d5a197cUL, 0x70eec5792UL, 0x70f3770e5UL, 0x700356c2aUL, 0x701ee4b5dUL,
1451  0x7025805b3UL, 0x7038322c4UL, 0x704efbf18UL, 0x70534986fUL, 0x70682d681UL,
1452  0x70759f1f6UL
1453  };
1454  fromVector(codes, d._code_id);
1455  d._nbits = 36;
1456  d._tau = 2; //
1457  d._type = ARTOOLKITPLUSBCH;
1458  d._name = "ARTOOLKITPLUSBCH";
1459  }
1460  break;
1461  case TAG36h11:
1462  {
1463  vector<uint64_t> codes = {
1464  0xd5d628584UL, 0xd97f18b49UL, 0xdd280910eUL, 0xe479e9c98UL, 0xebcbca822UL,
1465  0xf31dab3acUL, 0x56a5d085UL, 0x10652e1d4UL, 0x22b1dfeadUL, 0x265ad0472UL,
1466  0x34fe91b86UL, 0x3ff962cd5UL, 0x43a25329aUL, 0x474b4385fUL, 0x4e9d243e9UL,
1467  0x5246149aeUL, 0x5997f5538UL, 0x683bb6c4cUL, 0x6be4a7211UL, 0x7e3158eeaUL,
1468  0x81da494afUL, 0x858339a74UL, 0x8cd51a5feUL, 0x9f21cc2d7UL, 0xa2cabc89cUL,
1469  0xadc58d9ebUL, 0xb16e7dfb0UL, 0xb8c05eb3aUL, 0xd25ef139dUL, 0xd607e1962UL,
1470  0xe4aba3076UL, 0x2dde6a3daUL, 0x43d40c678UL, 0x5620be351UL, 0x64c47fa65UL,
1471  0x686d7002aUL, 0x6c16605efUL, 0x6fbf50bb4UL, 0x8d06d39dcUL, 0x9f53856b5UL,
1472  0xadf746dc9UL, 0xbc9b084ddUL, 0xd290aa77bUL, 0xd9e28b305UL, 0xe4dd5c454UL,
1473  0xfad2fe6f2UL, 0x181a8151aUL, 0x26be42c2eUL, 0x2e10237b8UL, 0x405cd5491UL,
1474  0x7742eab1cUL, 0x85e6ac230UL, 0x8d388cdbaUL, 0x9f853ea93UL, 0xc41ea2445UL,
1475  0xcf1973594UL, 0x14a34a333UL, 0x31eacd15bUL, 0x6c79d2dabUL, 0x73cbb3935UL,
1476  0x89c155bd3UL, 0x8d6a46198UL, 0x91133675dUL, 0xa708d89fbUL, 0xae5ab9585UL,
1477  0xb9558a6d4UL, 0xb98743ab2UL, 0xd6cec68daUL, 0x1506bcaefUL, 0x4becd217aUL,
1478  0x4f95c273fUL, 0x658b649ddUL, 0xa76c4b1b7UL, 0xecf621f56UL, 0x1c8a56a57UL,
1479  0x3628e92baUL, 0x53706c0e2UL, 0x5e6b3d231UL, 0x7809cfa94UL, 0xe97eead6fUL,
1480  0x5af40604aUL, 0x7492988adUL, 0xed5994712UL, 0x5eceaf9edUL, 0x7c1632815UL,
1481  0xc1a0095b4UL, 0xe9e25d52bUL, 0x3a6705419UL, 0xa8333012fUL, 0x4ce5704d0UL,
1482  0x508e60a95UL, 0x877476120UL, 0xa864e950dUL, 0xea45cfce7UL, 0x19da047e8UL,
1483  0x24d4d5937UL, 0x6e079cc9bUL, 0x99f2e11d7UL, 0x33aa50429UL, 0x499ff26c7UL,
1484  0x50f1d3251UL, 0x66e7754efUL, 0x96ad633ceUL, 0x9a5653993UL, 0xaca30566cUL,
1485  0xc298a790aUL, 0x8be44b65dUL, 0xdc68f354bUL, 0x16f7f919bUL, 0x4dde0e826UL,
1486  0xd548cbd9fUL, 0xe0439ceeeUL, 0xfd8b1fd16UL, 0x76521bb7bUL, 0xd92375742UL,
1487  0xcab16d40cUL, 0x730c9dd72UL, 0xad9ba39c2UL, 0xb14493f87UL, 0x52b15651fUL,
1488  0x185409cadUL, 0x77ae2c68dUL, 0x94f5af4b5UL, 0xa13bad55UL, 0x61ea437cdUL,
1489  0xa022399e2UL, 0x203b163d1UL, 0x7bba8f40eUL, 0x95bc9442dUL, 0x41c0b5358UL,
1490  0x8e9c6cc81UL, 0xeb549670UL, 0x9da3a0b51UL, 0xd832a67a1UL, 0xdcd4350bcUL,
1491  0x4aa05fdd2UL, 0x60c7bb44eUL, 0x4b358b96cUL, 0x67299b45UL, 0xb9c89b5faUL,
1492  0x6975acaeaUL, 0x62b8f7afaUL, 0x33567c3d7UL, 0xbac139950UL, 0xa5927c62aUL,
1493  0x5c916e6a4UL, 0x260ecb7d5UL, 0x29b7bbd9aUL, 0x903205f26UL, 0xae72270a4UL,
1494  0x3d2ec51a7UL, 0x82ea55324UL, 0x11a6f3427UL, 0x1ca1c4576UL, 0xa40c81aefUL,
1495  0xbddccd730UL, 0xe617561eUL, 0x969317b0fUL, 0x67f781364UL, 0x610912f96UL,
1496  0xb2549fdfcUL, 0x6e5aaa6bUL, 0xb6c475339UL, 0xc56836a4dUL, 0x844e351ebUL,
1497  0x4647f83b4UL, 0x908a04f5UL, 0x7f51034c9UL, 0xaee537fcaUL, 0x5e92494baUL,
1498  0xd445808f4UL, 0x28d68b563UL, 0x4d25374bUL, 0x2bc065f65UL, 0x96dc3ea0cUL,
1499  0x4b2ade817UL, 0x7c3fd502UL, 0xe768b5cafUL, 0x17605cf6cUL, 0x182741ee4UL,
1500  0x62846097cUL, 0x72b5ebf80UL, 0x263da6e13UL, 0xfa841bcb5UL, 0x7e45e8c69UL,
1501  0x653c81fa0UL, 0x7443b5e70UL, 0xa5234afdUL, 0x74756f24eUL, 0x157ebf02aUL,
1502  0x82ef46939UL, 0x80d420264UL, 0x2aeed3e98UL, 0xb0a1dd4f8UL, 0xb5436be13UL,
1503  0x7b7b4b13bUL, 0x1ce80d6d3UL, 0x16c08427dUL, 0xee54462ddUL, 0x1f7644cceUL,
1504  0x9c7b5cc92UL, 0xe369138f8UL, 0x5d5a66e91UL, 0x485d62f49UL, 0xe6e819e94UL,
1505  0xb1f340eb5UL, 0x9d198ce2UL, 0xd60717437UL, 0x196b856cUL, 0xf0a6173a5UL,
1506  0x12c0e1ec6UL, 0x62b82d5cfUL, 0xad154c067UL, 0xce3778832UL, 0x6b0a7b864UL,
1507  0x4c7686694UL, 0x5058ff3ecUL, 0xd5e21ea23UL, 0x9ff4a76eeUL, 0x9dd981019UL,
1508  0x1bad4d30aUL, 0xc601896d1UL, 0x973439b48UL, 0x1ce7431a8UL, 0x57a8021d6UL,
1509  0xf9dba96e6UL, 0x83a2e4e7cUL, 0x8ea585380UL, 0xaf6c0e744UL, 0x875b73babUL,
1510  0xda34ca901UL, 0x2ab9727efUL, 0xd39f21b9aUL, 0x8a10b742fUL, 0x5f8952dbaUL,
1511  0xf8da71ab0UL, 0xc25f9df96UL, 0x6f8a5d94UL, 0xe42e63e1aUL, 0xb78409d1bUL,
1512  0x792229addUL, 0x5acf8c455UL, 0x2fc29a9b0UL, 0xea486237bUL, 0xb0c9685a0UL,
1513  0x1ad748a47UL, 0x3b4712d5UL, 0xf29216d30UL, 0x8dad65e49UL, 0xa2cf09ddUL,
1514  0xb5f174c6UL, 0xe54f57743UL, 0xb9cf54d78UL, 0x4a312a88aUL, 0x27babc962UL,
1515  0xb86897111UL, 0xf2ff6c116UL, 0x82274bd8aUL, 0x97023505eUL, 0x52d46edd1UL,
1516  0x585c1f538UL, 0xbddd00e43UL, 0x5590b74dfUL, 0x729404a1fUL, 0x65320855eUL,
1517  0xd3d4b6956UL, 0x7ae374f14UL, 0x2d7a60e06UL, 0x315cd9b5eUL, 0xfd36b4eacUL,
1518  0xf1df7642bUL, 0x55db27726UL, 0x8f15ebc19UL, 0x992f8c531UL, 0x62dea2a40UL,
1519  0x928275cabUL, 0x69c263cb9UL, 0xa774cca9eUL, 0x266b2110eUL, 0x1b14acbb8UL,
1520  0x624b8a71bUL, 0x1c539406bUL, 0x3086d529bUL, 0x111dd66eUL, 0x98cd630bfUL,
1521  0x8b9d1ffdcUL, 0x72b2f61e7UL, 0x9ed9d672bUL, 0x96cdd15f3UL, 0x6366c2504UL,
1522  0x6ca9df73aUL, 0xa066d60f0UL, 0xe7a4b8addUL, 0x8264647efUL, 0xaa195bf81UL,
1523  0x9a3db8244UL, 0x14d2df6aUL, 0xb63265b7UL, 0x2f010de73UL, 0x97e774986UL,
1524  0x248affc29UL, 0xfb57dcd11UL, 0xb1a7e4d9UL, 0x4bfa2d07dUL, 0x54e5cdf96UL,
1525  0x4c15c1c86UL, 0xcd9c61166UL, 0x499380b2aUL, 0x540308d09UL, 0x8b63fe66fUL,
1526  0xc81aeb35eUL, 0x86fe0bd5cUL, 0xce2480c2aUL, 0x1ab29ee60UL, 0x8048daa15UL,
1527  0xdbfeb2d39UL, 0x567c9858cUL, 0x2b6edc5bcUL, 0x2078fca82UL, 0xadacc22aaUL,
1528  0xb92486f49UL, 0x51fac5964UL, 0x691ee6420UL, 0xf63b3e129UL, 0x39be7e572UL,
1529  0xda2ce6c74UL, 0x20cf17a5cUL, 0xee55f9b6eUL, 0xfb8572726UL, 0xb2c2de548UL,
1530  0xcaa9bce92UL, 0xae9182db3UL, 0x74b6e5bd1UL, 0x137b252afUL, 0x51f686881UL,
1531  0xd672f6c02UL, 0x654146ce4UL, 0xf944bc825UL, 0xe8327f809UL, 0x76a73fd59UL,
1532  0xf79da4cb4UL, 0x956f8099bUL, 0x7b5f2655cUL, 0xd06b114a6UL, 0xd0697ca50UL,
1533  0x27c390797UL, 0xbc61ed9b2UL, 0xcc12dd19bUL, 0xeb7818d2cUL, 0x92fcecdaUL,
1534  0x89ded4ea1UL, 0x256a0ba34UL, 0xb6948e627UL, 0x1ef6b1054UL, 0x8639294a2UL,
1535  0xeda3780a4UL, 0x39ee2af1dUL, 0xcd257edc5UL, 0x2d9d6bc22UL, 0x121d3b47dUL,
1536  0x37e23f8adUL, 0x119f31cf6UL, 0x2c97f4f09UL, 0xd502abfe0UL, 0x10bc3ca77UL,
1537  0x53d7190efUL, 0x90c3e62a6UL, 0x7e9ebf675UL, 0x979ce23d1UL, 0x27f0c98e9UL,
1538  0xeafb4ae59UL, 0x7ca7fe2bdUL, 0x1490ca8f6UL, 0x9123387baUL, 0xb3bc73888UL,
1539  0x3ea87e325UL, 0x4888964aaUL, 0xa0188a6b9UL, 0xcd383c666UL, 0x40029a3fdUL,
1540  0xe1c00ac5cUL, 0x39e6f2b6eUL, 0xde664f622UL, 0xe979a75e8UL, 0x7c6b4c86cUL,
1541  0xfd492e071UL, 0x8fbb35118UL, 0x40b4a09b7UL, 0xaf80bd6daUL, 0x70e0b2521UL,
1542  0x2f5c54d93UL, 0x3f4a118d5UL, 0x9c1897b9UL, 0x79776eacUL, 0x84b00b17UL,
1543  0x3a95ad90eUL, 0x28c544095UL, 0x39d457c05UL, 0x7a3791a78UL, 0xbb770e22eUL,
1544  0x9a822bd6cUL, 0x68a4b1fedUL, 0xa5fd27b3bUL, 0xc3995b79UL, 0xd1519dff1UL,
1545  0x8e7eee359UL, 0xcd3ca50b1UL, 0xb73b8b793UL, 0x57aca1c43UL, 0xec2655277UL,
1546  0x785a2c1b3UL, 0x75a07985aUL, 0xa4b01eb69UL, 0xa18a11347UL, 0xdb1f28ca3UL,
1547  0x877ec3e25UL, 0x31f6341b8UL, 0x1363a3a4cUL, 0x75d8b9baUL, 0x7ae0792a9UL,
1548  0xa83a21651UL, 0x7f08f9fb5UL, 0xd0cf73a9UL, 0xb04dcc98eUL, 0xf65c7b0f8UL,
1549  0x65ddaf69aUL, 0x2cf9b86b3UL, 0x14cb51e25UL, 0xf48027b5bUL, 0xec26ea8bUL,
1550  0x44bafd45cUL, 0xb12c7c0c4UL, 0x959fd9d82UL, 0xc77c9725aUL, 0x48a22d462UL,
1551  0x8398e8072UL, 0xec89b05ceUL, 0xbb682d4c9UL, 0xe5a86d2ffUL, 0x358f01134UL,
1552  0x8556ddcf6UL, 0x67584b6e2UL, 0x11609439fUL, 0x8488816eUL, 0xaaf1a2c46UL,
1553  0xf879898cfUL, 0x8bbe5e2f7UL, 0x101eee363UL, 0x690f69377UL, 0xf5bd93cd9UL,
1554  0xcea4c2bf6UL, 0x9550be706UL, 0x2c5b38a60UL, 0xe72033547UL, 0x4458b0629UL,
1555  0xee8d9ed41UL, 0xd2f918d72UL, 0x78dc39fd3UL, 0x8212636f6UL, 0x7450a72a7UL,
1556  0xc4f0cf4c6UL, 0x367bcddcdUL, 0xc1caf8cc6UL, 0xa7f5b853dUL, 0x9d536818bUL,
1557  0x535e021b0UL, 0xa7eb8729eUL, 0x422a67b49UL, 0x929e928a6UL, 0x48e8aefccUL,
1558  0xa9897393cUL, 0x5eb81d37eUL, 0x1e80287b7UL, 0x34770d903UL, 0x2eef86728UL,
1559  0x59266ccb6UL, 0x110bba61UL, 0x1dfd284efUL, 0x447439d1bUL, 0xfece0e599UL,
1560  0x9309f3703UL, 0x80764d1ddUL, 0x353f1e6a0UL, 0x2c1c12dccUL, 0xc1d21b9d7UL,
1561  0x457ee453eUL, 0xd66faf540UL, 0x44831e652UL, 0xcfd49a848UL, 0x9312d4133UL,
1562  0x3f097d3eeUL, 0x8c9ebef7aUL, 0xa99e29e88UL, 0xe9fab22cUL, 0x4e748f4fbUL,
1563  0xecdee4288UL, 0xabce5f1d0UL, 0xc42f6876cUL, 0x7ed402ea0UL, 0xe5c4242c3UL,
1564  0xd5b2c31aeUL, 0x286863be6UL, 0x160444d94UL, 0x5f0f5808eUL, 0xae3d44b2aUL,
1565  0x9f5c5d109UL, 0x8ad9316d7UL, 0x3422ba064UL, 0x2fed11d56UL, 0xbea6e3e04UL,
1566  0x4b029eecUL, 0x6deed7435UL, 0x3718ce17cUL, 0x55857f5e2UL, 0x2edac7b62UL,
1567  0x85d6c512UL, 0xd6ca88e0fUL, 0x2b7e1fc69UL, 0xa699d5c1bUL, 0xf05ad74deUL,
1568  0x4cf5fb56dUL, 0x5725e07e1UL, 0x72f18a2deUL, 0x1cec52609UL, 0x48534243cUL,
1569  0x2523a4d69UL, 0x35c1b80d1UL, 0xa4d7338a7UL, 0xdb1af012UL, 0xe61a9475dUL,
1570  0x5df03f91UL, 0x97ae260bbUL, 0x32d627fefUL, 0xb640f73c2UL, 0x45a1ac9c6UL,
1571  0x6a2202de1UL, 0x57d3e25f2UL, 0x5aa9f986eUL, 0xcc859d8aUL, 0xe3ec6cca8UL,
1572  0x54e95e1aeUL, 0x446887b06UL, 0x7516732beUL, 0x3817ac8f5UL, 0x3e26d938cUL,
1573  0xaa81bc235UL, 0xdf387ca1bUL, 0xf3a3b3f2UL, 0xb4bf69677UL, 0xae21868edUL,
1574  0x81e1d2d9dUL, 0xa0a9ea14cUL, 0x8eee297a9UL, 0x4740c0559UL, 0xe8b141837UL,
1575  0xac69e0a3dUL, 0x9ed83a1e1UL, 0x5edb55ecbUL, 0x7340fe81UL, 0x50dfbc6bfUL,
1576  0x4f583508aUL, 0xcb1fb78bcUL, 0x4025ced2fUL, 0x39791ebecUL, 0x53ee388f1UL,
1577  0x7d6c0bd23UL, 0x93a995fbeUL, 0x8a41728deUL, 0x2fe70e053UL, 0xab3db443aUL,
1578  0x1364edb05UL, 0x47b6eeed6UL, 0x12e71af01UL, 0x52ff83587UL, 0x3a1575dd8UL,
1579  0x3feaa3564UL, 0xeacf78ba7UL, 0x872b94f8UL, 0xda8ddf9a2UL, 0x9aa920d2bUL,
1580  0x1f350ed36UL, 0x18a5e861fUL, 0x2c35b89c3UL, 0x3347ac48aUL, 0x7f23e022eUL,
1581  0x2459068fbUL, 0xe83be4b73UL
1582  };
1583  fromVector(codes, d._code_id);
1584  d._nbits = 36;
1585  d._tau = 11;
1586  d._type = TAG36h11;
1587  d._name = "TAG36h11";
1588  }
1589  break;
1590  case TAG36h10:
1591  {
1592  vector<uint64_t> codes = {
1593  0x1ca92a687UL, 0x20521ac4cUL, 0x27a3fb7d6UL, 0x2b4cebd9bUL, 0x3647bceeaUL,
1594  0x39f0ad4afUL, 0x3d999da74UL, 0x44eb7e5feUL, 0x538f3fd12UL, 0x5738302d7UL,
1595  0x65dbf19ebUL, 0x70d6c2b3aUL, 0x7f7a8424eUL, 0x832374813UL, 0x86cc64dd8UL,
1596  0x8a755539dUL, 0x9570264ecUL, 0x991916ab1UL, 0xa06af763bUL, 0xab65c878aUL,
1597  0xb2b7a9314UL, 0xb660998d9UL, 0xbdb27a463UL, 0xcc563bb77UL, 0xe24bdde15UL,
1598  0xed46aef64UL, 0xf4988faeeUL, 0x6e5417c7UL, 0x158902edbUL, 0x1cdae3a65UL,
1599  0x242cc45efUL, 0x27d5b4bb4UL, 0x2b7ea5179UL, 0x32d085d03UL, 0x3679762c8UL,
1600  0x3a226688dUL, 0x3dcb56e52UL, 0x48c627fa1UL, 0x5769e96b5UL, 0x6264ba804UL,
1601  0x660daadc9UL, 0x6d5f8b953UL, 0x74b16c4ddUL, 0x7fac3d62cUL, 0x91f8ef305UL,
1602  0x95a1df8caUL, 0x994acfe8fUL, 0xa09cb0a19UL, 0xa445a0fdeUL, 0xa7ee915a3UL,
1603  0xab9781b68UL, 0xaf407212dUL, 0xb69252cb7UL, 0xc8df04990UL, 0xd3d9d5adfUL,
1604  0xd782c60a4UL, 0xf12158907UL, 0x1d0c9ce43UL, 0x20b58d408UL, 0x2f594eb1cUL,
1605  0x3a541fc6bUL, 0x454ef0dbaUL, 0x53f2b24ceUL, 0x629673be2UL, 0x74e3258bbUL,
1606  0x8ad8c7b59UL, 0x9d2579832UL, 0xa8204a981UL, 0xaf722b50bUL, 0xb6c40c095UL,
1607  0xba6cfc65aUL, 0xf15311ce5UL, 0x748b3f83UL, 0xaf1a4548UL, 0xe9a94b0dUL,
1608  0x2be217935UL, 0x3e2ec960eUL, 0x4cd28ad22UL, 0x507b7b2e7UL, 0x54246b8acUL,
1609  0x57cd5be71UL, 0x6a1a0db4aUL, 0x6dc2fe10fUL, 0x876190972UL, 0x99ae4264bUL,
1610  0xabfaf4324UL, 0xc9427714cUL, 0xd09457cd6UL, 0xd43d4829bUL, 0xea32ea539UL,
1611  0xf52dbb688UL, 0x161e2ea75UL, 0x286ae074eUL, 0x66a2d6963UL, 0x8b3c3a315UL,
1612  0x8ee52a8daUL, 0xa131dc5b3UL, 0xe6bbb3352UL, 0xf55f74a66UL, 0x5a45bb5UL,
1613  0x7ac2673fUL, 0x1da1c89ddUL, 0x289c99b2cUL, 0x3ae94b805UL, 0x50deedaa3UL,
1614  0x5830ce62dUL, 0x5bd9bebf2UL, 0x632b9f77cUL, 0x6e26708cbUL, 0x841c12b69UL,
1615  0x92bfd427dUL, 0x9668c4842UL, 0x9dbaa53ccUL, 0xb007570a5UL, 0xb3b04766aUL,
1616  0xc25408d7eUL, 0xea965ccf5UL, 0xf93a1e409UL, 0x434ef558UL, 0x1681a1231UL,
1617  0x1dd381dbbUL, 0x302033a94UL, 0x75aa0a833UL, 0x92f18d65bUL, 0x9a436e1e5UL,
1618  0xa1954ed6fUL, 0xb78af100dUL, 0xbb33e15d2UL, 0xc62eb2721UL, 0x466a8936UL,
1619  0xf6179a85UL, 0x16b35a60fUL, 0x589440de9UL, 0x6738024fdUL, 0x847f85325UL,
1620  0x9e1e17b88UL, 0xacc1d929cUL, 0xb06ac9861UL, 0xd5042d213UL, 0xfd468118aUL,
1621  0xf9332e63UL, 0x342c96815UL, 0x37d586ddaUL, 0x551d09c02UL, 0x5c6eea78cUL,
1622  0x6017dad51UL, 0x9354ffe17UL, 0x9aa6e09a1UL, 0xa94aa20b5UL, 0xacf39267aUL,
1623  0xbb9753d8eUL, 0xbf4044353UL, 0x8730b6b7UL, 0x1716ccdcbUL, 0x22119df1aUL,
1624  0x3f5920d42UL, 0x58f7b35a5UL, 0x6b446527eUL, 0x972fa97baUL, 0x9e818a344UL,
1625  0xa5d36aeceUL, 0xd1beaf40aUL, 0xdcb980559UL, 0xf65812dbcUL, 0x139f95be4UL,
1626  0x6b761e65cUL, 0x6f1f0ec21UL, 0xa605242acUL, 0xe43d1a4c1UL, 0x29c6f1260UL,
1627  0x386ab2974UL, 0x4e6054c12UL, 0x8c984ae27UL, 0x97931bf76UL, 0x9ee4fcb00UL,
1628  0xd22221bc6UL, 0xe46ed389fUL, 0xebc0b4429UL, 0x6f82813ddUL, 0x732b719a2UL,
1629  0x9072f47caUL, 0x941be4d8fUL, 0x97c4d5354UL, 0x9f16b5edeUL, 0xb8b548741UL,
1630  0xd253dafa4UL, 0xd5fccb569UL, 0xd9a5bbb2eUL, 0xe4a08cc7dUL, 0x3c77156f5UL,
1631  0x7aaf0b90aUL, 0xb53e1155aUL, 0xb8e701b1fUL, 0x5c2b9448UL, 0x14667ab5cUL,
1632  0x47a39fc22UL, 0x4ef5807acUL, 0x64eb22a4aUL, 0x982847b10UL, 0xaa74f97e9UL,
1633  0xae1de9daeUL, 0xb56fca938UL, 0xf750b1112UL, 0x1bea14ac4UL, 0x1f9305089UL,
1634  0x233bf564eUL, 0x31dfb6d62UL, 0x3931978ecUL, 0x52d02a14fUL, 0x5a220acd9UL,
1635  0xb1f893751UL, 0xfb2b5aab5UL, 0x40b531854UL, 0x5a53c40b7UL, 0x8d90e917dUL,
1636  0x9139d9742UL, 0x94e2c9d07UL, 0xd6c3b04e1UL, 0xe910621baUL, 0xf40b33309UL,
1637  0x1152b6131UL, 0x32432951eUL, 0x3d3dfa66dUL, 0x65804e5e4UL, 0xab0a25383UL,
1638  0xb604f64d2UL, 0xde474a449UL, 0x11846f50fUL, 0x6d03e854cUL, 0x7455c90d6UL,
1639  0xab3bde761UL, 0xdad013262UL, 0xe973d4976UL, 0x2b54bb150UL, 0x9577f58a1UL,
1640  0x9920e5e66UL, 0xb66868c8eUL, 0xf4a05eea3UL, 0x3dd326207UL, 0x5b1aa902fUL,
1641  0x99529f244UL, 0xb2f131aa7UL, 0xd038b48cfUL, 0xd3e1a4e94UL, 0x24664cd82UL,
1642  0x36b2fea5bUL, 0x95db6805dUL, 0xa0d6391acUL, 0xabd10a2fbUL, 0x15f444a4cUL,
1643  0x2be9e6ceaUL, 0x57d52b226UL, 0x5f270bdb0UL, 0xb6fd94828UL, 0x879b19105UL,
1644  0xd476d0a2eUL, 0xe6c382707UL, 0xdbfa6a996UL, 0x1689705e6UL, 0x3b22d3f98UL,
1645  0x636527f0fUL, 0x7d03ba772UL, 0xee78d5a4dUL, 0xbf165a32aUL, 0xc2bf4a8efUL,
1646  0x517be89f2UL, 0x67718ac90UL, 0x6b1a7b255UL, 0x726c5bddfUL, 0xbb9f23143UL,
1647  0x1375abbbbUL, 0x296b4de59UL, 0x8893b745bUL, 0xa9842a848UL, 0xb827ebf5cUL,
1648  0x3840c894bUL, 0x6b7deda11UL, 0xbc02958ffUL, 0x55ba04b51UL, 0x76aa77f3eUL,
1649  0x9b43db8f0UL, 0x9eeccbeb5UL, 0xa295bc47aUL, 0xb4e26e153UL, 0xe476a2c54UL,
1650  0x6be1601cdUL, 0x6f8a50792UL, 0x97cca4709UL, 0xbc66080bbUL, 0x1093a056eUL,
1651  0x6fbc09b70UL, 0xb8eed0ed4UL, 0xcee473172UL, 0x23120b625UL, 0x5da111275UL,
1652  0xcf162c550UL, 0xec8f68756UL, 0xb5db0c4a9UL, 0x2b2ad1127UL, 0x536d2509eUL,
1653  0x9c9fec402UL, 0xc1394fdb4UL, 0x6c326b53UL, 0x5e99af5cbUL, 0xaf1e574b9UL,
1654  0xe6046cb44UL, 0x661d49533UL, 0x8e5f9d4aaUL, 0xdb3b54dd3UL, 0xe63625f22UL,
1655  0xe9df164e7UL, 0x455e8f524UL, 0x5b54317c2UL, 0xbe258b389UL, 0x54340a016UL,
1656  0x5b85eaba0UL, 0x1284dcc1aUL, 0x24d18e8f3UL, 0x4d13e286aUL, 0x8b4bd8a7fUL,
1657  0x215a5770cUL, 0x46572d87aUL, 0xc2c719ca4UL, 0x4ddac77e2UL, 0xd19c94796UL,
1658  0x2d1c0d7d3UL, 0x9ae8384e9UL, 0x9e9128aaeUL, 0xca7c6cfeaUL, 0x16282675UL,
1659  0xad985c97eUL, 0x4af8bc195UL, 0x9f580da26UL, 0xa6a9ee5b0UL, 0xbc9f9084eUL,
1660  0xd63e230b1UL, 0xc4232a7b6UL, 0xd66fdc48fUL, 0xec657e72dUL, 0xa364707a7UL,
1661  0xf79208c5aUL, 0xde88a1f91UL, 0x574f9ddf6UL, 0x65f35f50aUL, 0x69ce08eadUL,
1662  0x490f4ee9eUL, 0xc9282b88dUL, 0x752c4c7b8UL, 0xb364429cdUL, 0x8b53a7e34UL,
1663  0xbe90ccefaUL, 0xb0507dfa2UL, 0xd525e90UL, 0x5c549eecdUL, 0xe3bf5c446UL,
1664  0x936c6d936UL, 0x9747172d9UL, 0xca843c39fUL, 0xd57f0d4eeUL, 0x2d5595f66UL,
1665  0xbfbb2462eUL, 0x266727b98UL, 0x7ac679429UL, 0x26fc53732UL, 0x656602d25UL,
1666  0x2eb1a6a78UL, 0x4850392dbUL, 0xe5b098af2UL, 0xab534c280UL, 0x9ce143f4aUL,
1667  0xf4b7cc9c2UL, 0x35b8e0d6UL, 0x871d5b08aUL, 0x5b958930aUL, 0xb429a7faUL,
1668  0x54d8d431aUL, 0x7d1b28291UL, 0xa1e645021UL, 0xb80da069dUL, 0xeef3b5d28UL,
1669  0x263d3db6fUL, 0x9592d503UL, 0x4b9d86499UL, 0x6c8df9886UL, 0xa3740ef11UL,
1670  0xc4963b6dcUL, 0x6da94672UL, 0x53b64bf9bUL, 0xb2deb559dUL, 0xf116ab7b2UL,
1671  0x8ace1aa04UL, 0x8ea8c43a7UL, 0x6a4119dd3UL, 0x99d54e8d4UL, 0xc969833d5UL,
1672  0xf554c7911UL, 0x3ade9e6b0UL, 0x6e1bc3776UL, 0x7916948c5UL, 0xdbe7ee48cUL,
1673  0x79484dca3UL, 0xf992e3a70UL, 0x884f81b73UL, 0xc68777d88UL, 0x603ee6fdaUL,
1674  0x728b98cb3UL, 0xb12701684UL, 0xd5f21e414UL, 0x58652f15UL, 0x2dc8a6e8cUL,
1675  0x4767396efUL, 0xb8dc549caUL, 0xf36b5a61aUL, 0xd09ece7dUL, 0xdda77175aUL,
1676  0x5e9c56d1UL, 0x73e7a97c5UL, 0xb21f9f9daUL, 0xde3c9d2f4UL, 0x69504ae32UL,
1677  0x77f40c546UL, 0xed1217de6UL, 0x3a1f88aedUL, 0xe623a9a18UL, 0xaeec67a8UL,
1678  0xbea83aa19UL, 0x92eeaf8bbUL, 0xa5d08d12eUL, 0x819a9bf38UL, 0x473d4f6c6UL,
1679  0xb192431f5UL, 0xa6c92b484UL, 0x7046885b5UL, 0xb9ab08cf7UL, 0x782d94cd9UL,
1680  0xf158032faUL, 0x77f5e976UL, 0x12dda2281UL, 0xe72417123UL, 0x3056de487UL,
1681  0xe3de9931aUL, 0xeb3079ea4UL, 0xe4420bad6UL, 0x439c2e4b6UL, 0x47da4a615UL,
1682  0xd7cfdda3UL, 0x56afc5107UL, 0xe978c5f8bUL, 0x5aede1266UL, 0xaf1b79719UL,
1683  0xf8b1b3239UL, 0x75e8845dbUL, 0xbf1b4b93fUL, 0xfd5341b54UL, 0xa2373b2d3UL,
1684  0x5967e672bUL, 0xa2cc66e6dUL, 0xb17028581UL, 0xb54ad1f24UL, 0xe91d22b84UL,
1685  0xde85c41f1UL, 0x53d588e6fUL, 0xe9e407afcUL, 0xfc6272bb3UL, 0xa8ca0629aUL,
1686  0xb86665d04UL, 0x5a58fde9UL, 0x1855b427eUL, 0xaabb42946UL, 0xe204ca78dUL,
1687  0x32897267bUL, 0xa78d7ae2UL, 0x96536a598UL, 0xbf2aea0a9UL, 0xc9bcd56cUL,
1688  0x81eb921eaUL, 0x2732fe125UL, 0x2eb69808dUL, 0x61f3bd153UL, 0x8ddf0168fUL,
1689  0x921d1d7eeUL, 0x2bd48ca40UL, 0x83ab154b8UL, 0x5f436aee4UL, 0x93dca0abcUL,
1690  0x26d75ad1eUL, 0x872a1ba54UL, 0x373a9f700UL, 0x50d931f63UL, 0x12d2f512cUL,
1691  0xc6efdbb59UL, 0x88e99ed22UL, 0x903b7f8acUL, 0xa9da1210fUL, 0xa2eba3d41UL,
1692  0xfe9cd615cUL, 0xfb8911731UL, 0x1cab3defcUL, 0xe6289b02dUL, 0x66d6a35b6UL,
1693  0xb0096a91aUL, 0xc9afcc532UL, 0x80aebe5acUL, 0xd2f2e9768UL, 0xcc67edb56UL,
1694  0xa51e37f35UL, 0x6ac0eb6c3UL, 0x6af2a4aa1UL, 0xe76290ecbUL, 0x37e738db9UL,
1695  0x72d9b11c5UL, 0x76e613f46UL, 0x4f073278bUL, 0xe1eea307UL, 0xe9e8f9111UL,
1696  0x793ee6f5UL, 0x17304e15fUL, 0x7a3361104UL, 0x731339958UL, 0x8daa6a511UL,
1697  0xa4037ef6bUL, 0x210896f2fUL, 0xafc535032UL, 0xe3025a0f8UL, 0x63e21ba5fUL,
1698  0x3ebb5b8c8UL, 0xf9c6b06c3UL, 0xca95ee37eUL, 0x81f852bb4UL, 0xd6895d823UL,
1699  0x7040cca75UL, 0x4d66ec391UL, 0x4a216e588UL, 0x51d6c18ceUL, 0x47711c319UL,
1700  0x6ae7f794cUL, 0x4abe694d7UL, 0xbc96f6f6eUL, 0x57aa76cd2UL, 0xf948f2648UL,
1701  0x31bcd1bc3UL, 0x94c7b3f1dUL, 0x32eef86acUL, 0x668f8ff2eUL, 0x6de170ab8UL,
1702  0x9341b93e2UL, 0x974e1c163UL, 0x73182af6dUL, 0x5d85fb48bUL, 0x78b257bdeUL,
1703  0x173d0eb29UL, 0x5add785d1UL, 0xaf6e83240UL, 0xdce79166cUL, 0x22716840bUL,
1704  0x7b408f1d9UL, 0xde43a217eUL, 0x36e10fb6eUL, 0xea9a83ddfUL, 0x4dcf50162UL,
1705  0x9aab07a8bUL, 0x281364431UL, 0x8392dd46eUL, 0x945e6aceUL, 0x8d07b3a82UL,
1706  0xd012f1990UL, 0xb7098acc7UL, 0xc2fcfa16cUL, 0x1e7c731a9UL, 0xf16ea68eeUL,
1707  0x2fa69cb03UL, 0x4cee1f92bUL, 0x1e20cfda2UL, 0x9e9d1ef4dUL, 0xe83358a6dUL,
1708  0x59a873d48UL, 0xa6842b671UL, 0x6885bdbefUL, 0x73e4014faUL, 0x7b9954840UL,
1709  0x548157ffdUL, 0x8853a8c5dUL, 0xeb8874fe0UL, 0xb25d4f257UL, 0x36b447da5UL,
1710  0x71d87958fUL, 0xeedd91553UL, 0x4af23612aUL, 0x278329eacUL, 0x191121b76UL,
1711  0x6e691175dUL, 0xbd140329UL, 0x6ed4532ceUL, 0xd5e3c8ff4UL, 0xe26c64033UL,
1712  0x494a2097bUL, 0xf5e36d440UL, 0xb7818d202UL, 0xa63548c34UL, 0x682f0bdfdUL,
1713  0x3d3c65c17UL, 0x4c4399ae7UL, 0x6b18e67ffUL, 0x4778211a3UL, 0x4089b2dd5UL,
1714  0x21edee850UL, 0x739cede72UL, 0x858dfc744UL, 0x4bc5dba6cUL, 0x21cbd3bdcUL,
1715  0xac83de313UL, 0x6135f08daUL, 0xd3a3a9f0bUL, 0xeb2716099UL, 0x40b88e413UL,
1716  0x992442a25UL, 0xc639de695UL, 0x683bcc7c7UL, 0x6245fc74fUL, 0x543766bd5UL,
1717  0x375356569UL, 0xfa45b7a88UL, 0x9f29b1207UL, 0xba245457cUL, 0x5b98e5ec9UL,
1718  0x204aca6b6UL, 0xd52e9605bUL, 0x504a40d28UL, 0xab6e1695eUL, 0xa26481ebbUL,
1719  0x9455ec341UL, 0x2f05f98e9UL, 0xead83365cUL, 0xb928d8486UL, 0x7b860de0bUL,
1720  0x964ef7da2UL, 0x2422962b9UL, 0x28f5ddfb2UL, 0x8c5c63713UL, 0x9068c6494UL,
1721  0x50aad5744UL, 0x93e7cca30UL, 0x9825e8b8fUL, 0x3a8b4947dUL, 0xfa06737b5UL,
1722  0xcb9c963e8UL, 0x91a2bc332UL, 0x284666b59UL, 0xceb82a1c8UL, 0xa2fe9f06aUL,
1723  0x6fa50365UL, 0x19aa747faUL, 0xa6e117dc2UL, 0x2b3810910UL, 0xff7e857b2UL,
1724  0x48b55c3eUL, 0x975456ac2UL, 0xad200ed37UL, 0xe4d4d86efUL, 0xb3ec62491UL,
1725  0x8cd465c4eUL, 0x8a2be2d94UL, 0x5a9f7d648UL, 0x59e067a85UL, 0xb5c35327eUL,
1726  0xc4ca8714eUL, 0xe927a04cUL, 0xf71eac628UL, 0x109354e62UL, 0x1037b1a5bUL,
1727  0x26c27f893UL, 0x3597fa385UL, 0xee24b62efUL, 0x4b31f921cUL, 0x650244e5dUL,
1728  0xcfec64526UL, 0xcd4bb0a21UL, 0x648c56197UL, 0xbd95056f8UL, 0x983c8c183UL,
1729  0xddc662f22UL, 0x5631bb980UL, 0x1203f56f3UL, 0x6a0c37549UL, 0xa59baa8a4UL,
1730  0x6a23a5068UL, 0xad609c354UL, 0xf6f6d5e74UL, 0x36bc95f79UL, 0x424c92c62UL,
1731  0x3692abf50UL, 0xa4bc460dUL, 0x1b4434b89UL, 0x4eb31302dUL, 0x9a3a891f9UL,
1732  0x93af8d5e7UL, 0xef60bfa02UL, 0x607a378d6UL, 0x5a5a7d835UL, 0x536c0f467UL,
1733  0x11f66a7feUL, 0x74c7c43c5UL, 0x66eae7c29UL, 0xf5a785d2cUL, 0xd3948a5c0UL,
1734  0xec1094aa4UL, 0xfcad61c19UL, 0x49ca7108aUL, 0x77437f4b6UL, 0x553083d4aUL,
1735  0x5c26c14cdUL, 0x6eb4caceeUL, 0xe8aded63cUL, 0x132aa4b5cUL, 0x57603a19eUL,
1736  0xee359dda3UL, 0xd0f5ea330UL, 0x46b0f0b1fUL, 0xd47cbfc81UL, 0x3ed1b37b0UL,
1737  0x4c8c752d8UL, 0xac202044bUL, 0x207f16128UL, 0x53f5c3981UL, 0x70e1a33a2UL,
1738  0xed8348baaUL, 0x798f94a3eUL, 0x8896c890eUL, 0x521425a3fUL, 0xc8329e9eaUL,
1739  0x41f238ba5UL, 0x1093d3c81UL, 0xcab628e90UL, 0xa1b4bf356UL, 0x92eee2fceUL,
1740  0x59d35b9afUL, 0x2176e9f53UL, 0x7c9abfb89UL, 0xb06d107e9UL, 0xe94c318d5UL,
1741  0x2f397ae30UL, 0xd7e5a1a48UL, 0x98c4abc47UL, 0x574737c29UL, 0xd7f5401b2UL,
1742  0x852b87bc6UL, 0x1180fa957UL, 0x501c63328UL, 0xfd28c0d13UL, 0xf764aa079UL,
1743  0xc8a6f8c5aUL, 0x975b10240UL, 0x6bd33e4c0UL, 0xa1113e39cUL, 0xabcfa8fb8UL,
1744  0x149ea1facUL, 0xf6443556fUL, 0x959da07e7UL, 0x4721a2ac4UL, 0x30bde0f15UL,
1745  0xc7c4fdef8UL, 0xb7feb4465UL, 0x56675073cUL, 0x96f3f57b9UL, 0x876f0386eUL,
1746  0x393f0a7e8UL, 0x32b40ebd6UL, 0x10a11346aUL, 0xfb81f48aeUL, 0xa892877eUL,
1747  0x86f636e08UL, 0x4fbc4d72bUL, 0x561d5f314UL, 0xca18e2835UL, 0x7e6f519f5UL,
1748  0x8b94e7983UL, 0x619adfaf3UL, 0x4c9ddbbabUL, 0xcb6a461f2UL, 0xf6e22456UL,
1749  0x858c9b401UL, 0x92dc1b3b8UL, 0x3a783615bUL, 0xc74b66f67UL, 0xea90891bcUL,
1750  0x31a829e4bUL, 0x7bd38f505UL, 0xb4476ea80UL, 0x1af371feaUL, 0x84894ff56UL,
1751  0x537584dfUL, 0xd4ebdd1d0UL, 0xb43cc192bUL, 0x76700d287UL, 0xaaad9fa58UL,
1752  0xfa511710fUL, 0x6e54699e5UL, 0x6d73391aeUL, 0x3c2f1fb49UL, 0x4fbd96a75UL,
1753  0x252e6304bUL, 0xe72826214UL, 0x8fe6c9336UL, 0x326397743UL, 0xe03bc524UL,
1754  0xdedac9594UL, 0x4ff19096UL, 0x409b4cdbbUL, 0xb15921888UL, 0xa259bcd6dUL,
1755  0x43c67f305UL, 0x1dc65dcecUL, 0x1730b4f85UL, 0xf8a48f16aUL, 0x57a30e743UL,
1756  0x5afd9839UL, 0x682d5f3aeUL, 0xb694337eUL, 0x758c7dacfUL, 0x18fa1ae7dUL,
1757  0x5ba9b5984UL, 0x32e1d45ddUL, 0x672f05518UL, 0x382ffc5b1UL, 0x8f0b08f33UL,
1758  0xb4a4d9ff0UL, 0x53ba0f980UL, 0x2ac0751fbUL, 0xab005de73UL, 0x61ab7be9bUL,
1759  0x63078c9adUL, 0x27659d148UL, 0xc653c684fUL, 0xecee05017UL, 0x24378ce5eUL,
1760  0xd0f7e5bacUL, 0x8b4bf4199UL, 0xb7aa495fbUL, 0xf3d6b78a5UL, 0x98bab1024UL,
1761  0x6b4971fadUL, 0x723d6c89UL, 0xa17071a75UL, 0xd55a301f4UL, 0x988de925bUL,
1762  0x7ca276f45UL, 0x321b6e484UL, 0x316149ed6UL, 0xb8dba5bb9UL, 0xaad4df3f4UL,
1763  0x178e204f5UL, 0x95cd2e357UL, 0x73fb8a733UL, 0x84ca10c86UL, 0x89498492dUL,
1764  0x5b9bdf383UL, 0x66c58bb10UL, 0xf153ac21eUL, 0x7ca5d3b04UL, 0x637a521c7UL,
1765  0xb5ed589c1UL, 0xd0a3c644eUL, 0x3d5d0754fUL, 0xc6b901174UL, 0x3e96fd3edUL,
1766  0x79c2fdf8cUL, 0x6594ae371UL, 0x3504fd77aUL, 0x32b81dcc7UL, 0x57b4f3e35UL,
1767  0x4c9808072UL, 0xa06c10993UL, 0xb059666afUL, 0x72b69c034UL, 0xe33ae836eUL,
1768  0xad6cadf0dUL, 0x19573ace1UL, 0xd562fd1e7UL, 0x847804d9dUL, 0x9e32f6734UL,
1769  0x2355c580fUL, 0x2f177b8d6UL, 0xd689ac650UL, 0x71b70abcUL, 0x254915730UL,
1770  0xc5934f949UL, 0x134d59d09UL, 0x2c731fb06UL, 0xd90c6c5cbUL, 0xcc3f9bca4UL,
1771  0xbf078980cUL, 0x80838e95aUL, 0x5ccd6f054UL, 0x378bae56UL, 0x8d1ddb978UL,
1772  0x93b875cf4UL, 0xe2ce90bc6UL, 0xec291b91bUL, 0xd0a11bdc1UL, 0x751be7244UL,
1773  0x579fcd29eUL, 0xf76e5ccb1UL, 0xeb33da184UL, 0xc0ac75b0fUL, 0x15454fb33UL,
1774  0x8b92a411cUL, 0x7da34b476UL, 0x4f413d45eUL, 0x10ec1dbeaUL, 0x650739b93UL,
1775  0x315e08a31UL, 0xd4fd5f1bdUL, 0xb5058a126UL, 0x20d5cb63bUL, 0xc1598dfe7UL,
1776  0xa0a2a338dUL, 0xe29af7686UL, 0x83fd0cac9UL, 0x14a8094d8UL, 0x816e0afa3UL,
1777  0x499ef5d2cUL, 0xbddbd0d95UL, 0xa30839ca9UL, 0x4fd33fb4cUL, 0xef63557b7UL,
1778  0x535f06ab2UL, 0xd47d352eUL, 0xa371e6dc4UL, 0x8ac914b17UL, 0x6ba9d69d7UL,
1779  0x96da89aaUL, 0x65bbd5d14UL, 0xd41d2c5c4UL, 0x52a283583UL, 0x4c1f56d26UL,
1780  0x86cd9984aUL, 0x26cbcedc6UL, 0x1aa0eaa03UL, 0xb95d5ad2cUL, 0xe2eb56b20UL,
1781  0xff49d9d5cUL, 0xcce338378UL, 0x330e9fac7UL, 0xe2f53974aUL, 0x668d1c6d5UL,
1782  0xeca0ba751UL, 0x8d48ab5e6UL, 0xd205e18cdUL, 0x1c391633cUL, 0xef5d02e5fUL,
1783  0xd12bb5f20UL, 0x323215199UL, 0x88f5b3ffcUL, 0x931445f29UL, 0xb893cb727UL,
1784  0x32851ecc0UL, 0x80b44d81bUL, 0x5aa48da98UL, 0x46d1e1284UL, 0x4c837ba14UL,
1785  0xeb22c26deUL, 0xe51e9d246UL, 0x8d03deee6UL, 0x5af8e0909UL, 0xbde9773a4UL,
1786  0xbf611cabfUL, 0xd24ac96e7UL, 0x9fe919318UL, 0x50d0206a6UL, 0xb43b9741cUL,
1787  0xba48d4fb3UL, 0x6bccd7290UL, 0x8bc6bfb9cUL, 0xe5a036c9fUL, 0xa80a2cfeeUL,
1788  0xc193655a7UL, 0x7c8e5170dUL, 0x6141edbbbUL, 0x4d6b990dcUL, 0xcc49b5702UL,
1789  0x2343fef58UL, 0xd50cb593cUL, 0x4248a60cdUL, 0x901cfbd4cUL, 0x64a4c8736UL,
1790  0x1b2dcbaeaUL, 0xd691e5f4cUL, 0xdf352a493UL, 0x1991ac7daUL, 0x4c4879f45UL,
1791  0x9b34aadeeUL, 0x52bb3db0dUL, 0x7b9a8c9d3UL, 0xd7ce6e47eUL, 0xec0b922d8UL,
1792  0x8079cab6bUL, 0xabadc8899UL, 0xf57b93b7UL, 0x5c4ef219UL, 0xd7a438d49UL,
1793  0xf55ecca97UL, 0xd07899f1dUL, 0x260947d6cUL, 0xffbd21ab6UL, 0xd04ff923eUL,
1794  0x964b72033UL, 0x31ac3fd7eUL, 0xd2c52e2c4UL, 0x799a640efUL, 0x98dd061edUL,
1795  0x5cb2ab7b8UL, 0x72f3881c8UL, 0xe65ed1164UL, 0x34fa0bd5bUL, 0x64f9823cdUL,
1796  0x3797e1ac0UL, 0x2fb8a4751UL, 0x6f347342eUL, 0x22dd7ea0aUL, 0xb19b65e57UL,
1797  0x44fe83e8aUL, 0x7732732eUL, 0x64de20ed7UL, 0x6c9ea834UL, 0x8ce066650UL,
1798  0xc2a685ff0UL, 0x64f19b01fUL, 0x491ab8a88UL, 0x41212fe5aUL, 0x6f9916f3bUL,
1799  0x694f72e71UL, 0xad7a5b35eUL, 0xf62795292UL, 0xc8cdc3d3aUL, 0xfbc6b3518UL,
1800  0x67b631901UL, 0x5b5ba79d5UL, 0xf4fadebddUL, 0xac7c802e7UL, 0x385712d9dUL,
1801  0x64bd375b4UL, 0xc9a11df70UL, 0x88355bf31UL, 0x606ffbb0aUL, 0xbda93c2d5UL,
1802  0x7c5f94f0aUL, 0x76fe26501UL, 0x5d8b9153cUL, 0x886bbb218UL, 0xacee2fecaUL,
1803  0x2ad19a925UL, 0x83b97855cUL, 0xd36608312UL, 0x8ac60dbc7UL, 0x885c8f58UL,
1804  0x8abbdf891UL, 0xea1602271UL, 0xad654fee1UL, 0x6c461195eUL, 0x5eeb1a327UL,
1805  0x18d743962UL, 0x1fc7c55a5UL, 0xaba749670UL, 0x9c9a59c60UL, 0x6e5bafc06UL,
1806  0x96977db12UL, 0xa97b6ebfaUL, 0x63d2d9da6UL, 0xfab00cd60UL, 0xd7bdf4632UL,
1807  0xf83878d59UL, 0xb1c2c462eUL, 0x14e5144a7UL, 0xf4a909b28UL, 0xe979a185bUL,
1808  0x908090a64UL, 0x99eccd798UL, 0x348780a96UL, 0xfdc7ad169UL, 0xa600c2e5bUL,
1809  0xb0968cd98UL, 0x1a45ec098UL, 0x99118c1b4UL, 0x8afa5cd5aUL, 0x1db7e655eUL,
1810  0x9f637e452UL, 0x9568504e3UL, 0x45b2a662UL, 0xf2a1455a2UL, 0x6c1ca9e75UL,
1811  0x30a4a4639UL, 0xc6c2c1a30UL, 0x87500b452UL, 0x5e338bb2eUL, 0xd9dd11dffUL,
1812  0x8c4b5d012UL, 0x8191194e0UL, 0xdd11db867UL, 0xc67c151ceUL, 0x5cb1a00e4UL,
1813  0x98b7a1c6UL, 0x369f35cd4UL, 0xca2190bdbUL, 0x6e14bb3b9UL, 0x8d5692f8cUL,
1814  0xca4b2f4f8UL, 0x787f06877UL, 0x8acbb8550UL, 0x535f4b56aUL, 0xf4caf7ecbUL,
1815  0xd4615b258UL, 0x347ca7070UL, 0x3c798c85dUL, 0x460506465UL, 0x870d0a5dcUL,
1816  0x6510b2464UL, 0xd1dba5544UL, 0xd57789a33UL, 0xe2417c5baUL, 0xb5ff8628cUL,
1817  0xa3bb22787UL, 0xa16b64f34UL, 0x421e81d3dUL, 0x35b4596a7UL, 0x8d7a2dd7eUL,
1818  0x50b2d83faUL, 0x9ea87e7c2UL, 0xd5055e752UL, 0xf96aa9da5UL, 0xb096e2a07UL,
1819  0x49970b44bUL, 0x867fb1518UL, 0x5d0f5dba2UL, 0x1b191d11eUL, 0x8e839bb8fUL,
1820  0x1cd4aca15UL, 0x971ec5615UL, 0x7d72a7ebdUL, 0x8b1253bfbUL, 0xe11de1d25UL,
1821  0xa7566839UL, 0xf4f3542e0UL, 0x1ea791e32UL, 0x32a84f759UL, 0x646f1844eUL,
1822  0x42af26809UL, 0x1f4b464ffUL, 0xda684d2d9UL, 0xd854f5fb9UL, 0x4d4d3e91aUL,
1823  0x5af3ef4e2UL, 0x8a1ef5ce7UL, 0x2354febf3UL, 0xb3c5a8944UL, 0x98b62a144UL,
1824  0x9bdba0b4eUL, 0x4aa99b42UL, 0x8099ea151UL, 0x2185463a3UL, 0xb0a1ae997UL,
1825  0xe628d5770UL, 0xb40b5ac89UL, 0x27213b17dUL, 0x4d21db5b5UL, 0x10d0748f7UL,
1826  0x2276c7876UL, 0xb98bee56dUL, 0xbd1ca6ae8UL, 0x824ab48faUL, 0xc6f35ae62UL,
1827  0x3547a563cUL, 0xf1fc0d824UL, 0x58f55ed75UL, 0xaa9d0de01UL, 0x4719dde60UL,
1828  0xd5386b3ddUL, 0x4d8d9f666UL, 0xaee36013bUL, 0xba4ee322fUL, 0x898d2db4eUL,
1829  0x9fe364808UL, 0xbb13e8045UL, 0xbe346d43aUL, 0xb4c9f886fUL, 0xc9a6f53b8UL,
1830  0xed5a7b6fUL, 0x2a1fac740UL, 0xb8c134a59UL, 0xb1f773993UL, 0xc4d9d0025UL,
1831  0xca905bdcaUL, 0x3150a39a7UL, 0xe8329fad5UL, 0xbd4f98059UL, 0x3bc5cf6cdUL,
1832  0xc982fdd03UL, 0xa372de28UL, 0x73fe2e35aUL, 0xb9f684ecUL, 0xc543ff680UL,
1833  0x1bcf5f09aUL, 0x51b2a8099UL, 0xee53277c2UL, 0xb3835a6cUL, 0xaed6765c1UL,
1834  0x92cfd64c8UL, 0xd20c60ed2UL, 0x59dbd9f51UL, 0xb6acb694bUL, 0x427dcd5fdUL,
1835  0x646336a75UL, 0x8008dea4dUL, 0xaf2bdc7cUL, 0xb8a46478aUL, 0xb02c535b6UL,
1836  0xc645d8631UL, 0x44b4af3dUL, 0xc9edfe6cbUL, 0x32ac8ea2aUL, 0x79266a23fUL,
1837  0xc2d902e93UL, 0x6ae5cfbdbUL, 0x2c66c633eUL, 0xeb7a8a4e3UL, 0xcb17281cfUL,
1838  0x7ca378680UL, 0x7ac81509dUL, 0xa59a05073UL, 0xc9cb9f18dUL, 0xb78100d29UL,
1839  0xfab49420aUL, 0xd0a4e69c4UL, 0xd6c33f722UL, 0x68d21bff8UL, 0x1fdad8ca3UL,
1840  0x2884d6968UL, 0xb091ff264UL, 0xeb5fb236fUL, 0xa3d2a1839UL, 0x527db0bc8UL,
1841  0x2dc68cd9fUL, 0xe3f4ea98aUL, 0xa629fe44fUL, 0xb73bd7d66UL, 0x2abfd7b6bUL,
1842  0x1b4056054UL, 0xd6efaac28UL, 0xd13cc950UL, 0xef84ead94UL, 0x5b6ee0d50UL,
1843  0xf4bec692UL, 0xde1b98881UL, 0x55ccccd31UL, 0x86d9b84dUL, 0x5ab736e3dUL,
1844  0x167d2f005UL, 0x118ed1522UL, 0x38bbdc903UL, 0x39cd31ac2UL, 0x31091bc51UL,
1845  0xd66a87d3fUL, 0xafdade6d3UL, 0x2bd1fe097UL, 0x5cf545dd2UL, 0x5e0af578eUL,
1846  0x6fe6dd4c9UL, 0x862bc8fcaUL, 0xcbce0b4c6UL, 0x8b7fa8ddUL, 0x3d108ae9fUL,
1847  0xfed2d914aUL, 0xbab304bd8UL, 0xdebe74f8dUL, 0x1e857e3dcUL, 0x570340581UL,
1848  0x114bbf4f5UL, 0xa3cfc0566UL, 0x4026cd686UL, 0x266fb76cdUL, 0xb715773bbUL,
1849  0x2fd2785fdUL, 0x481b34cadUL, 0x11c58d2baUL, 0x3a5186f4dUL, 0xda55ab71cUL,
1850  0xac887db92UL, 0x9bd6d5592UL, 0x45857d12aUL, 0x8c862f0b9UL, 0x870c88666UL,
1851  0x4a4f4901fUL, 0x774a993d0UL, 0xc9f16c81dUL, 0xeb415e9efUL, 0x307aa6302UL,
1852  0xa246f21eeUL, 0x1a4f8a9c2UL, 0xcf09f9b4UL, 0xdb30dbb49UL, 0x3581be36fUL,
1853  0x6919a4318UL, 0x8ee677afdUL, 0x5944b9d59UL, 0x8d5fe61aaUL, 0x77c174b1dUL,
1854  0x5cff8fa10UL, 0xc1ce82f48UL, 0x7fbb18e65UL, 0xb6737103UL, 0xe2d30a9b6UL,
1855  0x6481ff469UL, 0x5834b4d26UL, 0x3bba517d5UL, 0xeee6e8080UL, 0x5fe4fea5eUL,
1856  0xe84e94c8cUL, 0xba2ad0a2aUL, 0xa7f2aead0UL, 0x63cecb46dUL, 0x8943d7229UL,
1857  0x1d3878b2bUL, 0xf2b4efe94UL, 0xd9af1949dUL, 0xbb5824d39UL, 0xb8d8f5090UL,
1858  0xed5e19d08UL, 0x60287437eUL, 0x8fe6ae5c2UL, 0x6c85ac058UL, 0xb906be1b8UL,
1859  0xf9d423f65UL, 0x6efed81d6UL, 0x781b67fa2UL, 0xe1dd437acUL, 0x7a9201a8cUL,
1860  0xfb444c819UL, 0xce75af959UL, 0x86df6e72bUL, 0x756695aa7UL, 0xb7b2bddf2UL,
1861  0xf19a1b99eUL, 0x9a5790e90UL, 0x1d3b3eac0UL, 0xa5c5d9d2bUL, 0x152850218UL,
1862  0x25c4ba6eUL, 0xd4a5f4bebUL, 0x709cec10eUL, 0x94ddbdb6cUL, 0x9d1218277UL,
1863  0x6190ca34aUL, 0x468ed6a3fUL, 0x801bda52eUL, 0x261b3f1a9UL, 0xb3494d9bUL,
1864  0x583e2d7e5UL, 0x9407a80f2UL, 0x58e902456UL, 0x9108c2273UL, 0x59778ff8cUL,
1865  0xd6ce05028UL, 0x286adc62UL, 0x7ed3060dcUL, 0x57b7e03edUL, 0x3e3dce5c1UL,
1866  0x1bebc2295UL, 0x14a17c9aUL, 0xc7d90fbdaUL, 0x8158ae35aUL, 0x69d70a335UL,
1867  0xd3ef97931UL, 0x5793efb7aUL, 0xe6989ef43UL, 0xcd15f0116UL, 0xf9dbc6e25UL,
1868  0xda4a91117UL, 0x54d0917aUL, 0x60f2c3f15UL, 0x7393b0a66UL, 0x6630ed79bUL,
1869  0xed8589c60UL, 0x7db37ab26UL, 0xc4631e80aUL, 0x1badaf501UL, 0x9bdef764dUL,
1870  0xdd0949b4bUL, 0x86f116771UL, 0xacd7ea109UL, 0x7cc9d2f6bUL, 0x3f5598822UL,
1871  0x4ba5a8d0cUL, 0x66e7f9c42UL, 0x33127fb36UL, 0xc85ff976UL, 0x9dbb32ddfUL,
1872  0x3d06c7a56UL, 0xac07601ddUL, 0x5fda3d7e9UL, 0x40a47aef0UL, 0x139928cd0UL,
1873  0x183ab75ebUL, 0x9dd6d1f4bUL, 0x954afec44UL, 0x29953fe22UL, 0xf947e49b1UL,
1874  0xa74266cb0UL, 0x3bbb7fdabUL, 0x8a72b63d1UL, 0x8763e2fbbUL, 0x8c9b4f9a2UL,
1875  0xa35f5a861UL, 0x99e54752cUL, 0x2fdb8e16fUL, 0x2d083ed68UL, 0xa05d36c5eUL,
1876  0x5460842feUL, 0x173ae0ee6UL, 0x38b3c62e5UL, 0x476c1ae99UL, 0x9a8cb898aUL,
1877  0x19d4032acUL, 0xa9c01d80bUL, 0xca7d5e4deUL, 0x295d53115UL, 0xb26740e51UL,
1878  0xbf21b0988UL, 0x167391c15UL, 0xd10af35c6UL, 0xd94750799UL, 0xcb986d117UL,
1879  0x1dddf588UL, 0x71ed85f46UL, 0xa5437d58fUL, 0x4029d1e25UL, 0xc580ec972UL,
1880  0x6847df8baUL, 0xe294d997bUL, 0xe2e8b10eeUL, 0x1593103ddUL, 0x222103857UL,
1881  0x1e035591dUL, 0xb5c9ef2e9UL, 0x9f815ec3eUL, 0xd1da2a021UL, 0x54f171191UL,
1882  0xe51f4a05eUL, 0xc15e7d603UL, 0xba7f16b87UL, 0x80b7a83e1UL, 0x720e2b18dUL,
1883  0x5ec0c069dUL, 0xa4f9f689cUL, 0x5871cafdaUL, 0xc913140a2UL, 0x7a8f2efd1UL,
1884  0x77064952cUL, 0x4ea2d857fUL, 0x484523555UL, 0x54971a9e3UL, 0xeb0694eb2UL,
1885  0xb513c8e63UL, 0x5c910db58UL, 0xca87a4dd7UL, 0xb8ca63158UL, 0xb4b09431dUL,
1886  0x3dc9d50b7UL, 0x7d57f02acUL, 0x5c595b1b2UL, 0x9e0caf698UL, 0x136b48555UL,
1887  0x687dbcc2bUL, 0x54bae2294UL, 0x6899bbd7bUL, 0x8108f46deUL, 0x1dbe8cf08UL,
1888  0xa02e1ae1dUL, 0xf5f26d59UL, 0x805cf202bUL, 0xafede5687UL, 0x1583d5b30UL,
1889  0xda9ed0620UL, 0xcf1237338UL, 0x3a5a77bc4UL, 0xa17ffa0c6UL, 0x29de4c387UL,
1890  0x7825d431UL, 0x2d7b9b38UL, 0x8ed0f26aaUL, 0x56e54e30dUL, 0x9620ab0e7UL,
1891  0xc7e3ea94cUL, 0xd288a41e2UL, 0xf68884f1eUL, 0x5ee02df09UL, 0xc02dbf645UL,
1892  0xeac4c2424UL, 0xcab2d51e1UL, 0x37439577UL, 0x5618ada43UL, 0x2683b5859UL,
1893  0x8a607c1ceUL, 0x795fd9198UL, 0xb3edb11b8UL, 0x846939c5cUL, 0x8b1f6fa23UL,
1894  0xb1a2f2bfeUL, 0xb63a07ad7UL, 0x5f8ea7b00UL, 0x4ee9c6d0cUL, 0x990f2889bUL,
1895  0xb7f7251d0UL, 0xac3291369UL, 0x9d8f36a7bUL, 0xd57342897UL, 0xefca98365UL,
1896  0xdacc69f0eUL, 0x3a70e4b3cUL, 0x1e95c34c2UL, 0x4caab6c06UL, 0x7231f6ee1UL,
1897  0x37909aa04UL, 0x48c9a9ccUL, 0x59cd081bcUL, 0x4dd78c2e4UL, 0x4979da10fUL,
1898  0x4749d0c5UL, 0xa17a4283bUL, 0xde7e1d52dUL, 0xe47cedf1UL, 0x4fa48cbffUL,
1899  0x545a932a0UL, 0x6c2bd9eb8UL, 0xdd9bd3b8cUL, 0x43332c1baUL, 0x501fa761dUL,
1900  0x7ec40adbbUL, 0x4049f2b33UL, 0xcde28f57bUL, 0xf68c804b9UL, 0x8f50fbd3eUL,
1901  0x54e1bc344UL, 0x36b26e3a2UL, 0x2e5ac9b1UL, 0x10837858dUL, 0x6ccac9e0bUL,
1902  0x625ba8a52UL, 0xac4c8b45cUL, 0x868678237UL, 0x4187235feUL, 0xbd62663ceUL,
1903  0xea832dfb2UL, 0xd5a72f0a7UL, 0x659c855eUL, 0xbea7f5e48UL, 0xff9566715UL,
1904  0x1bd06d99aUL, 0x9666c578cUL, 0xc6527d3ecUL, 0xb541f3c61UL, 0x678a9ad70UL,
1905  0x36eaadfa3UL, 0xaf74b01deUL, 0x54cc3cdc3UL, 0xd2e587ce6UL, 0x8694b9349UL,
1906  0xd309898feUL, 0x5c3250e09UL, 0x84dcac28eUL, 0xf72add2dfUL, 0x1901681a3UL,
1907  0x9e6a8fd4UL, 0x12f614cd1UL, 0x6d7801ac4UL, 0x14cf1ca54UL, 0x12a7eb608UL,
1908  0x5e7a3bf62UL, 0xba5056a2UL, 0x5bee44c9bUL, 0x819d7dc86UL, 0x62adc8fdUL,
1909  0xbd3155d41UL, 0xcd8c6b38aUL, 0xe320fd50eUL, 0xe189d6655UL, 0x6863c2831UL,
1910  0xd2b9058fUL, 0x23bfad8faUL, 0x199bd1216UL, 0x56138afd7UL, 0xface83a93UL,
1911  0x9554da725UL, 0x9b614dd91UL, 0x98acbca3fUL, 0xd5f0d5f21UL, 0xeb59039e1UL,
1912  0x51d1ec82aUL, 0xa366ef3baUL, 0x1ad0e01f0UL, 0x7f038ad0bUL, 0x3ee055321UL,
1913  0x3bf2dcbb7UL, 0x210e9856cUL, 0xe4fea8231UL, 0xb89444937UL, 0x58852cc34UL,
1914  0x1ee29eea9UL, 0xb919c79f2UL, 0xddc44d3adUL, 0xddcbd4777UL, 0x3c3982ba1UL,
1915  0xdc8ebc45dUL, 0x8b97712b1UL, 0x9702ea21eUL, 0x1f457e726UL, 0x27c6f6e26UL,
1916  0xa9797770UL, 0xd7615f53bUL, 0x74f1cb6e1UL, 0xa32e4d7dcUL, 0x2e89afd1dUL,
1917  0xb03704d5UL, 0xcca58aab0UL, 0x1e5749225UL, 0x6e63a36baUL, 0x562992099UL,
1918  0x64701b950UL, 0xf94ed6196UL, 0xb3441b5f1UL, 0xc64fac247UL, 0xd72ebd98bUL,
1919  0xfa1985b23UL, 0x2df788358UL, 0x88838b488UL, 0x6091032b4UL, 0x25ff2d736UL,
1920  0xdce63d3d5UL, 0xbb5970414UL, 0x44d8b5ffeUL, 0xe1a5666d8UL, 0xe34129125UL,
1921  0xe23854b1UL, 0x1b2a6dbeUL, 0xd11507bcdUL, 0x844531e6bUL, 0xd864a8611UL,
1922  0xe2a5a7700UL, 0x2d178962aUL, 0x156b07f01UL, 0x48b59fec3UL, 0x3d3d9d79cUL,
1923  0x1846fb339UL, 0xddf1d03caUL, 0x998abaf9UL, 0xc9d76190bUL, 0x67354a1a8UL,
1924  0xcc89e2b09UL, 0x353356834UL, 0x7ad97470eUL, 0xf4d560524UL, 0x534b7804eUL,
1925  0x14290c632UL, 0xb67d39d60UL, 0x35b166febUL, 0x88e6fb681UL, 0xa0f82ae1aUL,
1926  0x8460ce52UL, 0x8b06a9012UL, 0xdaf1299dcUL, 0x629ab696cUL, 0x3113b448aUL,
1927  0xdb5ca215UL, 0x3e00b1e2dUL, 0x85a87f5abUL, 0xb3995ff20UL, 0x85661554dUL,
1928  0xe709c5384UL, 0x111ca99bUL, 0x49e614279UL, 0xf14677ec4UL, 0x8f6439bfbUL,
1929  0x749faa461UL, 0x1c4f9189aUL, 0xe8e9015caUL, 0xf6e68d510UL, 0xb3819319fUL,
1930  0xda9f7119fUL, 0x7787f40f8UL, 0xbc57f5716UL, 0x60ff2897eUL, 0xb3a28a934UL,
1931  0x10b34c97cUL, 0xc14f53aedUL, 0xd3c4eaf5dUL, 0xb3148d39eUL, 0x7874ea02UL,
1932  0xf86692b4aUL, 0x5b03a0e8dUL, 0xce6db8cc6UL, 0x8233d5908UL, 0xf163e3c06UL,
1933  0xdff854cceUL, 0x26706f1bcUL, 0x94c358653UL, 0x7384c9821UL, 0xe51b8e5d5UL,
1934  0xeda32963bUL, 0xa073f392fUL, 0xc3ccfa213UL, 0x34adf5216UL, 0xcb8da286bUL,
1935  0x3b5fbbf08UL, 0x12812d1f8UL, 0xc97c54c39UL, 0xe1c3e36b9UL, 0xabb8dc0edUL,
1936  0x19dcbbf6UL, 0x25b0d7c4dUL, 0x45e6b5ceUL, 0x17dc086caUL, 0xc3f425e6bUL,
1937  0x6fdee14f8UL, 0x39155e6b4UL, 0xa191ec15UL, 0x398fcd7f4UL, 0xa6e2b0594UL,
1938  0xfe5678d82UL, 0xe317eba1fUL, 0x2c4f10ca1UL, 0xae239c19eUL, 0x18e663ed2UL,
1939  0x4a040b7e7UL, 0xbbca0849cUL, 0xce05b3a74UL, 0x7cee982fdUL, 0x78ee54fa7UL,
1940  0x7b47bb0bdUL, 0x7e8f19216UL, 0xd67d91cedUL, 0xef5effe94UL, 0xec1d1938dUL,
1941  0x4c05ef70eUL, 0x324442d9UL, 0xfb0183bb4UL, 0xfb7a0bd50UL, 0x89aa17d87UL,
1942  0xe4e6aed89UL, 0xdbecf68b4UL, 0x683770de4UL, 0xb9f41a136UL, 0xc7614caceUL,
1943  0x89c298386UL, 0x959cf09deUL, 0xab30b19e3UL, 0xdb2e4b614UL, 0x26d30d39bUL,
1944  0x6ccefe452UL, 0x587c5035cUL, 0xea73bbbe0UL, 0xdd9d91a11UL, 0xdd8c5e851UL,
1945  0xe8b4aa077UL, 0x8ccf8faddUL, 0x47ddd3c0bUL, 0x635a92f19UL, 0xf0edfd1a3UL,
1946  0x1f760bf5eUL, 0xa83feb68aUL, 0x4f74da9ddUL, 0x52f759252UL, 0x98bee689eUL,
1947  0xc5fc8c3d5UL, 0x8373d1286UL, 0xf5f1cdabdUL, 0xada68d3e5UL, 0x3bbb9eb5eUL,
1948  0x50cde8478UL, 0xf01f956e0UL, 0xa922f2842UL, 0x233a8b25aUL, 0x71118b754UL,
1949  0xb7f874552UL, 0x44d757121UL, 0xb873b14ccUL, 0x5bcc1db5cUL, 0xbf9b895ceUL,
1950  0x5e65bb620UL, 0xbbd1ed35cUL, 0x358e79973UL, 0x62aa5a4a5UL, 0x81715fc0fUL,
1951  0x8df03a76eUL, 0x376b7c6c7UL, 0xa07a49f2eUL, 0x45e159b63UL, 0xdae5706b0UL,
1952  0xb5e52c7ccUL, 0x206935e8eUL, 0x39f0c5119UL, 0x3cd58c574UL, 0x571986d35UL,
1953  0xad66da60fUL, 0x2b1a6315UL, 0xd0131b533UL, 0x741a195c5UL, 0xb8663437UL,
1954  0x1cde52798UL, 0x6b8e658b1UL, 0xb43c0d44dUL, 0x45481d697UL, 0x29de93df5UL,
1955  0x10549b874UL, 0xc056b5828UL, 0x3fa830adUL, 0x9496d14faUL, 0xf540592a0UL,
1956  0xf31c8b855UL, 0x64f2ba36bUL, 0xfe7c6e4f5UL, 0x5e42a78b0UL, 0x9c2b8b096UL,
1957  0xdcb4a6e71UL, 0xd63b0e7edUL, 0xde1bcbcdaUL, 0x68e7161f2UL, 0x3e5ddf88dUL,
1958  0x419a37501UL, 0xfad63e7abUL, 0xc6e81b4baUL, 0x8329315d3UL, 0xc88d267e6UL,
1959  0x73a0ac25fUL, 0xe7b75690fUL, 0xdcbb95be2UL, 0x7a1d2a059UL, 0xd8fac361eUL,
1960  0x6312ff5c9UL, 0xd2cf50d54UL, 0x8c65fd00fUL, 0xaa1636532UL, 0x870c7285dUL,
1961  0x1894f0b84UL, 0x4260cc5c3UL, 0xe9997b9ecUL, 0x87a052144UL, 0x8706babf6UL,
1962  0xbd5f62ad3UL, 0x1a7895439UL, 0xf7e294bbcUL, 0xbcc27ca26UL, 0x3186a63d4UL,
1963  0x7f3ede4a4UL, 0xb64e32468UL, 0x71f250d53UL, 0x7c6513783UL, 0xb1778714aUL,
1964  0x94bf2c57fUL, 0x64a9f893aUL, 0x1305be654UL, 0x493e0c9f6UL, 0x5ba6fed8UL,
1965  0xc4a0c7a06UL, 0xcc2ec0ddUL, 0xd9a6769afUL, 0x724c78a49UL, 0xc85c981a4UL,
1966  0x12553c4cdUL, 0x83cb892b1UL, 0xbc324ccc7UL, 0xef43f6c1dUL, 0x2d6748bb7UL,
1967  0x5efdce2d7UL, 0x94af64f28UL, 0xf9d58feb3UL, 0xcf547ac63UL, 0xceb309febUL,
1968  0x30beba8caUL, 0x8ab2e486aUL, 0x4a95d58adUL, 0x25ce07c46UL, 0x712b93fd7UL,
1969  0x7f46acc81UL, 0x64049d4beUL, 0x65303aa09UL, 0xf3aad21b3UL, 0x2903a6cd0UL,
1970  0x5a0e0467dUL, 0x3c4fa64e4UL, 0x5c6655126UL, 0xb40a2a67fUL, 0xb0c22c6e5UL,
1971  0x1507e039bUL, 0xb282b16b8UL, 0xc0e14a3d3UL, 0x93d381427UL, 0x6bb55bb87UL,
1972  0xb675af72fUL, 0xfceb4f95eUL, 0x66af6ebbdUL, 0x20a44d1f2UL, 0x6bc873916UL,
1973  0xb8947bee8UL, 0x4b6bed8a6UL, 0x7012f7867UL, 0x7eda3c150UL, 0xab3ef1b8eUL,
1974  0x6d71466eeUL, 0x408c4e225UL, 0xe117838b1UL, 0xaef3a075UL, 0x5a0779d4fUL,
1975  0x70a3b1d69UL, 0x26ccd31fdUL, 0xed64dd1b2UL, 0x981d4f60cUL, 0x6a6e4fb61UL,
1976  0x52f15fc93UL, 0x32b3a64dUL, 0xecb17d667UL, 0xa983fb935UL, 0x37d23c88dUL,
1977  0xb8590fbcbUL, 0xec2f1a277UL, 0x90d3053e6UL, 0xa36fa8ccdUL, 0x44bd08eccUL,
1978  0x61dd197d9UL, 0xa307cfd82UL, 0x1d09c2de4UL, 0x5f6d74368UL, 0x1327d1b2dUL,
1979  0x594cc36b9UL, 0xfea1cba7cUL, 0x50c31262dUL, 0xd99b1a6baUL, 0x1bf789cd2UL,
1980  0xe2f6f66f9UL, 0x13d5edfc6UL, 0xbc3a9ab0cUL, 0x1da5b2734UL, 0x25ef4f2deUL,
1981  0xdcb55a50aUL, 0x9c6dbc6acUL, 0x89a838853UL, 0x168f099eeUL, 0xd51601760UL,
1982  0x89f324f1aUL, 0x2cb1ec1eaUL, 0x6306de366UL, 0x12a2f11eUL, 0xb5c0bf797UL,
1983  0x5c5f02be4UL, 0x5019f54beUL, 0x6ae4a096aUL, 0x4bce78778UL, 0x94b65b97fUL,
1984  0xd3f6e7bd2UL, 0x1fbd2a84cUL, 0x6d0127ab1UL, 0x3e82799aaUL, 0x4c1264dfeUL,
1985  0xcf69c9360UL, 0x4b43e5342UL, 0x35d1f0372UL, 0xd78c18eb4UL, 0x262574101UL,
1986  0xc2c5c7335UL, 0xbad04051aUL, 0x1c481f94eUL, 0x3285aa0deUL, 0x8973e1f69UL,
1987  0x5d238c694UL, 0x7b71847b9UL, 0x242f5675cUL, 0xcc5751c2dUL, 0xe09bc620bUL,
1988  0xe4e904ddUL, 0x7ca4f1a7UL, 0x2ac79ae43UL, 0xe213d4250UL, 0xd4137c2b5UL,
1989  0xddfce11bcUL, 0xd1d658566UL, 0x213f5b1bbUL, 0xcd35be0a8UL, 0xcc67d7f91UL,
1990  0x509bde098UL, 0x74d3d8f46UL, 0x51309c970UL, 0x53e2bdf66UL, 0xa5dd3fed3UL,
1991  0xa4e69b212UL, 0xb1d39936dUL, 0x6b6c8926bUL, 0x46540a7b0UL, 0x2eebc599fUL,
1992  0x2e54a283eUL, 0xf9a328a9cUL, 0x7ea9cfc53UL, 0x5cffa2bdbUL, 0x464d16f8eUL,
1993  0xeb09444bcUL, 0x3f341b259UL, 0x4d112b108UL, 0x70cb94242UL, 0x974ed4ffdUL,
1994  0x1084da291UL, 0x85673ca39UL, 0xd4d74766fUL, 0x64a68e1deUL, 0xe35630caeUL,
1995  0x2073229dbUL, 0x63d3a3902UL, 0x31598ee06UL, 0x808d61126UL, 0x29957984UL,
1996  0xd4f5f2649UL, 0x9ec8a706bUL, 0x349981760UL, 0xc93ab23a6UL, 0x2c7aa80daUL,
1997  0x866f102baUL, 0xb15cff7bcUL, 0x66a13a4caUL, 0x54a755048UL, 0xd13fdb8d9UL,
1998  0x16ad5edf3UL, 0xe043bb154UL, 0xcc8755671UL, 0xcf9b2bfd5UL, 0x3608890b4UL,
1999  0x330fef315UL, 0xe3299ca65UL, 0xb60765e1UL, 0xe9bb17dcUL, 0x95f474d8bUL,
2000  0xe721d3d00UL, 0xd4679e565UL, 0xc80da6113UL, 0x98deeff30UL, 0xc293bb871UL,
2001  0xe79132f48UL, 0xb152dafbbUL, 0x55f6a4386UL, 0xa1b8a4044UL, 0x4f4187b05UL,
2002  0xb17c2ed3UL, 0x95d75ba04UL, 0xbbf12e96dUL, 0x6abd1a52fUL, 0xf300bc991UL,
2003  0xf0a7385d4UL, 0x52964f82aUL, 0xa9962925fUL, 0x613b2eef1UL, 0x5fd2c92a8UL,
2004  0x9ebecd05UL, 0x36002b87aUL, 0x902c79eefUL, 0x394e63c7eUL, 0x133285064UL,
2005  0xf7cfe2d4bUL, 0x4f068522cUL, 0x96fea1a0fUL, 0xc5a927b13UL, 0xe9a2c1994UL,
2006  0x5c53b3803UL, 0xf636b6188UL, 0x7c656e3UL, 0x26af1fc5fUL, 0xec2f40b78UL,
2007  0xfaa1921e5UL, 0x6137a8b30UL, 0x28674f7bUL, 0x3de184e35UL, 0xeeef093e6UL,
2008  0xd44b3dae0UL, 0xbb7ab7d93UL, 0x2ae18c956UL, 0xcde492bd6UL, 0x1cee0216eUL,
2009  0xf1e5830adUL, 0x76f6c3299UL, 0xdea24af84UL, 0x277e75586UL, 0xa17318024UL,
2010  0x5c4739486UL, 0x5e3de4725UL, 0x6f67c9f6dUL, 0x25f42791dUL, 0x3c54d15b3UL,
2011  0xef98d9c32UL, 0x42f64819dUL, 0x16d5fd070UL, 0x63cb98d4fUL, 0x45a3ad27cUL,
2012  0x1b496b0acUL, 0xaa471c42dUL, 0x599346a2UL, 0xdc8d1c2dUL, 0x7498928c1UL,
2013  0xea06e90ffUL, 0xb683baa32UL, 0xf93014e16UL, 0x20575d56eUL, 0x794325589UL,
2014  0x1533e9935UL, 0x86b8bcb70UL, 0xce11faf5dUL, 0x36c0bd318UL, 0xe5e8c1167UL,
2015  0xe1831ba64UL, 0xe088dbfa4UL, 0x984479674UL, 0xafef02b29UL, 0x48518c716UL,
2016  0x4301564ceUL, 0x21cc88710UL, 0xd5c995278UL, 0xd8367de1cUL, 0x4a51125e8UL,
2017  0x113e1c226UL, 0xef141e076UL, 0x44097011dUL, 0x4ca9d707cUL, 0x40d8831f1UL,
2018  0xbd9c3b1d8UL, 0x978364177UL, 0x10f7606a9UL, 0x46a64270aUL, 0x42df1b22bUL,
2019  0xe906cf2a0UL, 0x997da6fa5UL, 0xa5722c26fUL, 0xb14f58aaaUL, 0xafc167ad8UL,
2020  0x37be56e60UL, 0xde7f80d62UL, 0xc3fb0a64UL, 0xce8ca802cUL, 0x35032ed9dUL,
2021  0xaa8ba3ee6UL, 0x94b2e707cUL, 0x2debbdae1UL, 0xf53e25fcfUL, 0xe935543ebUL,
2022  0x1462f0e90UL, 0x54ce7d18cUL, 0x2ddafdc5fUL, 0x700565deeUL, 0xfd408e0afUL,
2023  0x17d089decUL, 0x833ea2459UL, 0x3c8d3776aUL, 0x2e5eebac8UL, 0x20cbf49b0UL,
2024  0xc44675eb7UL, 0x3a4b6beb1UL, 0xce6f37c1eUL, 0x63fba2e7cUL, 0x5a05b553dUL,
2025  0x1286445b0UL, 0x5e07a9b61UL, 0x7d8397ea4UL, 0x8084b7bbbUL, 0xb05b38097UL,
2026  0x29c3019eeUL, 0xed1d2708bUL, 0x9df8a4d47UL, 0xe4891e436UL, 0x2a762ab72UL,
2027  0x92f70600fUL, 0x92329a2cdUL, 0x3e200c6edUL, 0x8c0a7233eUL, 0x60866806aUL,
2028  0xf4fddd24aUL, 0xf78464c71UL, 0x9c3d22242UL, 0x3877ea6d1UL, 0xe2a6d54acUL,
2029  0x497d2a5e7UL, 0xca82f781eUL, 0x481524f4cUL, 0xdee088814UL, 0xb2a82d3a4UL,
2030  0x8e6afe6e5UL, 0xd6279a5daUL, 0x4567cbc1aUL, 0x5bec2b2fdUL, 0x4ef452505UL,
2031  0x61d992cbaUL, 0xab96be0cbUL, 0x708ef35d9UL, 0xb3f6f3623UL, 0x36eb1801dUL,
2032  0xbadfee917UL, 0xa3db13cd0UL, 0x1d1a12828UL, 0x2500816ceUL, 0xcf7612148UL,
2033  0xbe6a3f4bUL, 0x74142f3daUL, 0xce5deed92UL, 0xf9530a786UL, 0x47c8bb38UL,
2034  0xfcabfe88fUL, 0xbc83accb1UL, 0x20cd9fb1fUL, 0x23dcceb3UL, 0x9e969b8c4UL,
2035  0x6e28de934UL, 0x80a399667UL, 0x76a0b85adUL, 0x21a84be3cUL, 0xa28d028b5UL,
2036  0xc4e7690dfUL, 0xbfd9621e8UL, 0x6f4bc0c24UL, 0xaa8e76bd7UL, 0xdeb55dac9UL,
2037  0xbb344fa8bUL, 0xfcaab4decUL, 0x146aba6cbUL, 0xf49ed6eb8UL, 0xdd57e9deaUL,
2038  0x225d5d090UL, 0xd6e86c1c5UL, 0x639be5f39UL, 0xf5e7a6132UL, 0xd2968b09fUL,
2039  0x82b30ba1eUL, 0x803fa46ccUL, 0xc290fab00UL, 0x10df59de5UL, 0x51ae9dcfbUL,
2040  0x49af8516dUL, 0x2b564ce6UL, 0xc615a1de0UL, 0xfef9864a4UL, 0xc16e27341UL,
2041  0x39e846736UL, 0x1ecbb6746UL, 0x588d03a7cUL, 0x10a0eaf9cUL, 0x671ccea6bUL,
2042  0x33a154603UL, 0xa7b003bc1UL, 0xc5fc3848dUL, 0x78e50a9c7UL, 0x17dbfb88eUL,
2043  0x4fd0ed541UL, 0x84221debaUL, 0x3132cf7e6UL, 0xb67e7ac53UL, 0xdf6b28024UL,
2044  0x785b9f7edUL, 0xe3d35320dUL, 0x159c06583UL, 0x5c54a80a3UL, 0xed4d4533bUL,
2045  0xcf16c601aUL, 0x5e94efbd1UL, 0x5d587126eUL, 0xeef2f2807UL, 0x9f3c558eUL,
2046  0x736cfd539UL, 0xf5a922ae1UL, 0x4e2ab9959UL, 0x6a2dd34e7UL, 0x8c9d30d23UL,
2047  0xeba20b791UL, 0xd5c5095e3UL, 0x423d75a82UL, 0x40cebaafeUL, 0x65e08d288UL,
2048  0x2e4f6d767UL, 0xfe10d2f21UL, 0x110347bdaUL, 0xe43a9bfb3UL, 0xcdea483ccUL,
2049  0xfb1e2d8c6UL, 0xd8a0af7a7UL, 0x37d05b182UL, 0x8d1241d83UL, 0xda1ea7b6eUL,
2050  0x65bea93dbUL, 0x2a02f8753UL, 0x454243289UL, 0x4150bc5a2UL, 0xbbabe5911UL,
2051  0x4cbcdbc59UL, 0xf0e61340bUL, 0x30a2cdea8UL, 0x5daecb091UL, 0x5dc93d891UL,
2052  0xc501b4051UL, 0x782cfba78UL, 0x4c191b61eUL, 0xb7e27ef35UL, 0x5a476838UL,
2053  0x9b0209574UL, 0xa775164cfUL, 0xd33d21701UL, 0x3afcb7d45UL, 0x4df2035cdUL,
2054  0x498819a21UL, 0x293f9e506UL, 0x9a35ff1c8UL, 0xc090ebe6bUL, 0xa4f0551d4UL,
2055  0x5dc0dc194UL, 0x1388aeb31UL, 0x340b27bf4UL, 0x3a0f320abUL, 0x996be75dUL,
2056  0xb257ecf39UL, 0x78d86f2f1UL, 0x673f5ff91UL, 0x4538d7e3eUL, 0xde5bc4369UL
2057  };
2058  fromVector(codes, d._code_id);
2059  d._nbits = 36;
2060  d._tau = 10;
2061  d._type = TAG36h10;
2062  d._name = "TAG36h10";
2063  }
2064  break;
2065  case TAG16h5:
2066  {
2067  vector<uint64_t> codes = { 0x231bUL, 0x2ea5UL, 0x346aUL, 0x45b9UL, 0x79a6UL,
2068  0x7f6bUL, 0xb358UL, 0xe745UL, 0xfe59UL, 0x156dUL,
2069  0x380bUL, 0xf0abUL, 0xd84UL, 0x4736UL, 0x8c72UL,
2070  0xaf10UL, 0x93cUL, 0x93b4UL, 0xa503UL, 0x468fUL,
2071  0xe137UL, 0x5795UL, 0xdf42UL, 0x1c1dUL, 0xe9dcUL,
2072  0x73adUL, 0xad5fUL, 0xd530UL, 0x7caUL, 0xaf2eUL };
2073  fromVector(codes, d._code_id);
2074  d._nbits = 16;
2075  d._tau = 5;
2076  d._type = TAG16h5;
2077  d._name = "TAG16h5";
2078  }
2079  break;
2080  case TAG25h7:
2081  {
2082  vector<uint64_t> codes = {
2083  0x4b770dUL, 0x11693e6UL, 0x1a599abUL, 0xc3a535UL, 0x152aafaUL, 0xaccd98UL,
2084  0x1cad922UL, 0x2c2fadUL, 0xbb3572UL, 0x14a3b37UL, 0x186524bUL, 0xc99d4cUL,
2085  0x23bfeaUL, 0x141cb74UL, 0x1d0d139UL, 0x1670aebUL, 0x851675UL, 0x150334eUL,
2086  0x6e3ed8UL, 0xfd449dUL, 0xaa55ecUL, 0x1c86176UL, 0x15e9b28UL, 0x7ca6b2UL,
2087  0x147c38bUL, 0x1d6c950UL, 0x8b0e8cUL, 0x11a1451UL, 0x1562b65UL, 0x13f53c8UL,
2088  0xd58d7aUL, 0x829ec9UL, 0xfaccf1UL, 0x136e405UL, 0x7a2f06UL, 0x10934cbUL,
2089  0x16a8b56UL, 0x1a6a26aUL, 0xf85545UL, 0x195c2e4UL, 0x24c8a9UL, 0x12bfc96UL,
2090  0x16813aaUL, 0x1a42abeUL, 0x1573424UL, 0x1044573UL, 0xb156c2UL, 0x5e6811UL,
2091  0x1659bfeUL, 0x1d55a63UL, 0x5bf065UL, 0xe28667UL, 0x1e9ba54UL, 0x17d7c5aUL,
2092  0x1f5aa82UL, 0x1a2bbd1UL, 0x1ae9f9UL, 0x1259e51UL, 0x134062bUL, 0xe1177aUL,
2093  0xed07a8UL, 0x162be24UL, 0x59128bUL, 0x1663e8fUL, 0x1a83cbUL, 0x45bb59UL,
2094  0x189065aUL, 0x4bb370UL, 0x16fb711UL, 0x122c077UL, 0xeca17aUL, 0xdbc1f4UL,
2095  0x88d343UL, 0x58ac5dUL, 0xba02e8UL, 0x1a1d9dUL, 0x1c72eecUL, 0x924bc5UL,
2096  0xdccab3UL, 0x886d15UL, 0x178c965UL, 0x5bc69aUL, 0x1716261UL, 0x174e2ccUL,
2097  0x1ed10f4UL, 0x156aa8UL, 0x3e2a8aUL, 0x2752edUL, 0x153c651UL, 0x1741670UL,
2098  0x765b05UL, 0x119c0bbUL, 0x172a783UL, 0x4faca1UL, 0xf31257UL, 0x12441fcUL,
2099  0xd3748UL, 0xc21f15UL, 0xac5037UL, 0x180e592UL, 0x7d3210UL, 0xa27187UL,
2100  0x2beeafUL, 0x26ff57UL, 0x690e82UL, 0x77765cUL, 0x1a9e1d7UL, 0x140be1aUL,
2101  0x1aa1e3aUL, 0x1944f5cUL, 0x19b5032UL, 0x169897UL, 0x1068eb9UL, 0xf30dbcUL,
2102  0x106a151UL, 0x1d53e95UL, 0x1348ceeUL, 0xcf4fcaUL, 0x1728bb5UL, 0xdc1eecUL,
2103  0x69e8dbUL, 0x16e1523UL, 0x105fa25UL, 0x18abb0cUL, 0xc4275dUL, 0x6d8e76UL,
2104  0xe8d6dbUL, 0xe16fd7UL, 0x1ac2682UL, 0x77435bUL, 0xa359ddUL, 0x3a9c4eUL,
2105  0x123919aUL, 0x1e25817UL, 0x2a836UL, 0x1545a4UL, 0x1209c8dUL, 0xbb5f69UL,
2106  0x1dc1f02UL, 0x5d5f7eUL, 0x12d0581UL, 0x13786c2UL, 0xe15409UL, 0x1aa3599UL,
2107  0x139aad8UL, 0xb09d2aUL, 0x54488fUL, 0x13c351cUL, 0x976079UL, 0xb25b12UL,
2108  0x1addb34UL, 0x1cb23aeUL, 0x1175738UL, 0x1303bb8UL, 0xd47716UL, 0x188ceeaUL,
2109  0xbaf967UL, 0x1226d39UL, 0x135e99bUL, 0x34adc5UL, 0x2e384dUL, 0x90d3faUL,
2110  0x232713UL, 0x17d49b1UL, 0xaa84d6UL, 0xc2ddf8UL, 0x1665646UL, 0x4f345fUL,
2111  0x2276b1UL, 0x1255dd7UL, 0x16f4cccUL, 0x4aaffcUL, 0xc46da6UL, 0x85c7b3UL,
2112  0x1311fcbUL, 0x9c6c4fUL, 0x187d947UL, 0x8578e4UL, 0xe2bf0bUL, 0xa01b4cUL,
2113  0xa1493bUL, 0x7ad766UL, 0xccfe82UL, 0x1981b5bUL, 0x1cacc85UL, 0x562cdbUL,
2114  0x15b0e78UL, 0x8f66c5UL, 0x3332bfUL, 0x12ce754UL, 0x96a76UL, 0x1d5e3baUL,
2115  0x27ea41UL, 0x14412dfUL, 0x67b9b4UL, 0xdaa51aUL, 0x1dcb17UL, 0x4d4afdUL,
2116  0x6335d5UL, 0xee2334UL, 0x17d4e55UL, 0x1b8b0f0UL, 0x14999e3UL, 0x1513dfaUL,
2117  0x765cf2UL, 0x56af90UL, 0x12e16acUL, 0x1d3d86cUL, 0xff279bUL, 0x18822ddUL,
2118  0x99d478UL, 0x8dc0d2UL, 0x34b666UL, 0xcf9526UL, 0x186443dUL, 0x7a8e29UL,
2119  0x19c6aa5UL, 0x1f2a27dUL, 0x12b2136UL, 0xd0cd0dUL, 0x12cb320UL, 0x17ddb0bUL,
2120  0x5353bUL, 0x15b2cafUL, 0x1e5a507UL, 0x120f1e5UL, 0x114605aUL, 0x14efe4cUL,
2121  0x568134UL, 0x11b9f92UL, 0x174d2a7UL, 0x692b1dUL, 0x39e4feUL, 0xaaff3dUL,
2122  0x96224cUL, 0x13c9f77UL, 0x110ee8fUL, 0xf17beaUL, 0x99fb5dUL, 0x337141UL,
2123  0x2b54dUL, 0x1233a70UL
2124  };
2125  fromVector(codes, d._code_id);
2126  d._nbits = 25;
2127  d._tau = 7;
2128  d._type = TAG25h7;
2129  d._name = "TAG25h7";
2130  }
2131  break;
2132  case TAG25h9:
2133  {
2134  vector<uint64_t> codes = {
2135  0x155cbf1UL, 0x1e4d1b6UL, 0x17b0b68UL, 0x1eac9cdUL, 0x12e14ceUL, 0x3548bbUL,
2136  0x7757e6UL, 0x1065dabUL, 0x1baa2e7UL, 0xdea688UL, 0x81d927UL, 0x51b241UL,
2137  0xdbc8aeUL, 0x1e50e19UL, 0x15819d2UL, 0x16d8282UL, 0x163e035UL, 0x9d9b81UL,
2138  0x173eec4UL, 0xae3a09UL, 0x5f7c51UL, 0x1a137fcUL, 0xdc9562UL, 0x1802e45UL,
2139  0x1c3542cUL, 0x870fa4UL, 0x914709UL, 0x16684f0UL, 0xc8f2a5UL, 0x833ebbUL,
2140  0x59717fUL, 0x13cd050UL, 0xfa0ad1UL, 0x1b763b0UL, 0xb991ceUL
2141  };
2142  fromVector(codes, d._code_id);
2143  d._nbits = 25;
2144  d._tau = 9;
2145  d._type = TAG25h9;
2146  d._name = "TAG25h9";
2147  }
2148  break;
2149  case ARUCO_MIP_16h3:
2150  {
2151  vector<uint64_t> codes = {
2152  0x5867UL, 0x8b03UL, 0x2537UL, 0xb6c7UL, 0xe45UL, 0x161UL, 0x219UL, 0x859bUL,
2153  0x87UL, 0xc93fUL, 0x905fUL, 0x3e73UL, 0x6ab7UL, 0x1bafUL, 0x6f0fUL, 0x23d3UL,
2154  0x47a5UL, 0x8cf7UL, 0x83cfUL, 0x9205UL, 0x29a5UL, 0x8033UL, 0x857dUL, 0xa4afUL,
2155  0x422fUL, 0x1d07UL, 0x4ee3UL, 0x64c5UL, 0xaa7fUL, 0x4b75UL, 0x34dbUL, 0x926UL,
2156  0x262UL, 0x501dUL, 0x415UL, 0x6201UL, 0x2064UL, 0x2d5UL, 0x10bUL, 0x9427UL,
2157  0xc16bUL, 0xa603UL, 0x911UL, 0x1043UL, 0x87bUL, 0xccfUL, 0x162bUL, 0x9ab3UL,
2158  0x30b7UL, 0xad0bUL, 0x60a6UL, 0x3845UL, 0xce2bUL, 0xadc7UL, 0x612UL, 0x4253UL,
2159  0x9cc3UL, 0xc23UL, 0x409bUL, 0x8e87UL, 0x98e5UL, 0x20f1UL, 0xa807UL, 0x1bfUL,
2160  0x7023UL, 0xdf1UL, 0x2957UL, 0x26b3UL, 0xd80fUL, 0x4076UL, 0x233bUL, 0x32e3UL,
2161  0x7a85UL, 0x4349UL, 0xc857UL, 0x41c6UL, 0x3813UL, 0x6d97UL, 0x324fUL, 0xe3fUL,
2162  0x47ffUL, 0x2217UL, 0xdd6fUL, 0x48b1UL, 0x8b95UL, 0xd9c7UL, 0x1a7dUL, 0x867bUL,
2163  0xb7ffUL, 0x7fa7UL, 0x478bUL, 0x6d43UL, 0x6167UL, 0x8f67UL, 0xcda7UL, 0x5cb7UL,
2164  0xf3afUL, 0x889fUL, 0x2fdfUL, 0xd2e7UL, 0x553UL, 0xbc1fUL, 0x7607UL, 0x2a61UL,
2165  0x11ebUL, 0xa457UL, 0x789fUL, 0x2e95UL, 0xb46bUL, 0x39ffUL, 0x4fb6UL, 0x647fUL,
2166  0x250dUL, 0x5883UL, 0xc5d7UL, 0xe73fUL, 0x129fUL, 0x548fUL, 0xb253UL, 0x635fUL,
2167  0x1ed7UL, 0xc647UL, 0xa1f7UL, 0x565fUL, 0x7e6fUL, 0xe10fUL, 0xf56UL, 0xf2dfUL,
2168  0x87a3UL, 0x4b87UL, 0x24f6UL, 0xafb7UL, 0x3bc7UL, 0x51a7UL, 0x6a47UL, 0x4c46UL,
2169  0x6723UL, 0x2787UL, 0x2667UL, 0x2f13UL, 0x50d7UL, 0x680dUL, 0x7ad3UL, 0x454fUL,
2170  0x6c35UL, 0xf17fUL, 0x6b91UL, 0x4011UL, 0x16UL, 0x2022UL, 0xa1UL, 0x142UL,
2171  0x40fUL, 0x1025UL, 0xcbUL, 0x45UL, 0x4427UL, 0x8491UL, 0x2292UL, 0x482bUL,
2172  0x8221UL, 0x8293UL, 0xf7UL, 0x7dUL, 0x601UL, 0x84a5UL, 0x2443UL, 0x806fUL,
2173  0x21c1UL, 0x4825UL, 0x466UL, 0x742dUL, 0xca07UL, 0x20bbUL, 0x88a3UL, 0x2251UL,
2174  0xa81UL, 0x202dUL, 0x205bUL, 0x1a07UL, 0x8119UL, 0x6413UL, 0x6105UL, 0x820bUL,
2175  0x8715UL, 0x1c0bUL, 0xb003UL, 0x307UL, 0x147bUL, 0x135UL, 0x62a3UL, 0x6c0bUL,
2176  0x14b3UL, 0x5c05UL, 0xd81UL, 0x36dUL, 0x8d3UL, 0x8ba7UL, 0xb25UL, 0x4c5bUL,
2177  0x2867UL, 0x242bUL, 0x1237UL, 0x4206UL, 0xa0c3UL, 0xa4f3UL, 0x984bUL, 0x8507UL,
2178  0x4529UL, 0xf0dUL, 0xb2bUL, 0x2891UL, 0x1a3bUL, 0x234bUL, 0x8d43UL, 0x22e6UL,
2179  0x7245UL, 0x1c77UL, 0x825dUL, 0x3487UL, 0x60d6UL, 0x5403UL, 0x90e3UL, 0xa43UL,
2180  0x6519UL, 0x6169UL, 0xc397UL, 0x2285UL, 0xc127UL, 0x2c05UL, 0x8871UL, 0x5a0bUL,
2181  0x4e26UL, 0x15afUL, 0xf97UL, 0x258bUL, 0x463bUL, 0x86c3UL, 0x292fUL, 0x9e3UL,
2182  0x2571UL, 0x4ce5UL, 0x81d5UL, 0x459UL, 0x40e2UL, 0x5b6UL, 0x4a33UL, 0x837UL,
2183  0xa2a7UL, 0xf4bUL
2184  };
2185  fromVector(codes, d._code_id);
2186  d._nbits = 16;
2187  d._tau = 3;
2188  d._type = ARUCO_MIP_16h3;
2189  d._name = "ARUCO_MIP_16h3";
2190  }
2191  break;
2192 
2193  case ARUCO_MIP_25h7:
2194  {
2195  vector<uint64_t> codes = {
2196  0x1ad2487UL, 0x141b6e9UL, 0x1780e66UL, 0x1a86ad8UL, 0x1146916UL, 0x14ebcb6UL,
2197  0x1a1893cUL, 0xd79525UL, 0xf8db53UL, 0x1b5928UL, 0x127bf52UL, 0x1cb3a02UL,
2198  0x145ed8cUL, 0x3970efUL, 0xc8934cUL, 0x5badedUL, 0x53c9daUL, 0x1991f79UL,
2199  0x1d40a4dUL, 0x1631993UL, 0x74d97cUL, 0x62c8a5UL, 0x1a6ce96UL, 0x1c71456UL,
2200  0x18d8df2UL, 0xe290faUL, 0x494061UL, 0xedc6cdUL, 0x12bd8f0UL, 0x1a5d254UL,
2201  0x172eb3aUL, 0x9d6e92UL, 0x10a2172UL, 0x1bd085aUL, 0x186e528UL, 0xb4af45UL,
2202  0x55a5b2UL, 0x5e5136UL, 0x88508bUL, 0xea2c6fUL, 0x1a9274cUL, 0xbbb977UL,
2203  0x5ede62UL, 0x105ba85UL, 0x18a79bcUL, 0x18d4b9dUL, 0x1a144deUL, 0x1ba5390UL,
2204  0x1b8a652UL, 0x1c4948dUL, 0x3ce285UL, 0xb5cce7UL, 0x16d2cb9UL, 0xb7d338UL,
2205  0xb650e9UL, 0x130e4b1UL, 0xd3badcUL, 0xf2161dUL, 0x17a45a7UL, 0x14c5c50UL,
2206  0x14be8abUL, 0x1230de9UL, 0xf7c242UL, 0x508697UL, 0x14b1cc5UL, 0x2c1e94UL,
2207  0xf89469UL, 0xdc52d8UL, 0x6eb5c4UL, 0xd8ea08UL, 0x16c779dUL, 0x1770dbeUL,
2208  0x90a4ecUL, 0x1bf212eUL, 0x1a4b99aUL, 0x1d2d3a9UL, 0xf4f5aeUL, 0x842e89UL,
2209  0x1c0e8d4UL, 0x1af4a4cUL, 0x189044bUL, 0xdd3108UL, 0x1ab639eUL, 0x18836c5UL,
2210  0x5f5ad3UL, 0x1410f5dUL, 0xeb532fUL, 0xbda0baUL, 0x9edf2dUL, 0xd5ae4eUL,
2211  0x165d1b8UL, 0x187d07aUL, 0x1dd616dUL, 0x912527UL, 0x940c3cUL, 0x516b8dUL,
2212  0xc1da19UL, 0xc7db85UL, 0x144cb34UL, 0xcd7a34UL
2213  };
2214  fromVector(codes, d._code_id);
2215  d._nbits = 25;
2216  d._tau = 7;
2217  d._type = ARUCO_MIP_25h7;
2218  d._name = "ARUCO_MIP_25h7";
2219  }
2220  break;
2221 
2222  case ARUCO_MIP_36h12:
2223  {
2224  vector<uint64_t> codes = {
2225  0xd2b63a09dUL, 0x6001134e5UL, 0x1206fbe72UL, 0xff8ad6cb4UL, 0x85da9bc49UL,
2226  0xb461afe9cUL, 0x6db51fe13UL, 0x5248c541fUL, 0x8f34503UL, 0x8ea462eceUL,
2227  0xeac2be76dUL, 0x1af615c44UL, 0xb48a49f27UL, 0x2e4e1283bUL, 0x78b1f2fa8UL,
2228  0x27d34f57eUL, 0x89222fff1UL, 0x4c1669406UL, 0xbf49b3511UL, 0xdc191cd5dUL,
2229  0x11d7c3f85UL, 0x16a130e35UL, 0xe29f27effUL, 0x428d8ae0cUL, 0x90d548477UL,
2230  0x2319cbc93UL, 0xc3b0c3dfcUL, 0x424bccc9UL, 0x2a081d630UL, 0x762743d96UL,
2231  0xd0645bf19UL, 0xf38d7fd60UL, 0xc6cbf9a10UL, 0x3c1be7c65UL, 0x276f75e63UL,
2232  0x4490a3f63UL, 0xda60acd52UL, 0x3cc68df59UL, 0xab46f9daeUL, 0x88d533d78UL,
2233  0xb6d62ec21UL, 0xb3c02b646UL, 0x22e56d408UL, 0xac5f5770aUL, 0xaaa993f66UL,
2234  0x4caa07c8dUL, 0x5c9b4f7b0UL, 0xaa9ef0e05UL, 0x705c5750UL, 0xac81f545eUL,
2235  0x735b91e74UL, 0x8cc35cee4UL, 0xe44694d04UL, 0xb5e121de0UL, 0x261017d0fUL,
2236  0xf1d439eb5UL, 0xa1a33ac96UL, 0x174c62c02UL, 0x1ee27f716UL, 0x8b1c5ece9UL,
2237  0x6a05b0c6aUL, 0xd0568dfcUL, 0x192d25e5fUL, 0x1adbeccc8UL, 0xcfec87f00UL,
2238  0xd0b9dde7aUL, 0x88dcef81eUL, 0x445681cb9UL, 0xdbb2ffc83UL, 0xa48d96df1UL,
2239  0xb72cc2e7dUL, 0xc295b53fUL, 0xf49832704UL, 0x9968edc29UL, 0x9e4e1af85UL,
2240  0x8683e2d1bUL, 0x810b45c04UL, 0x6ac44bfe2UL, 0x645346615UL, 0x3990bd598UL,
2241  0x1c9ed0f6aUL, 0xc26729d65UL, 0x83993f795UL, 0x3ac05ac5dUL, 0x357adff3bUL,
2242  0xd5c05565UL, 0x2f547ef44UL, 0x86c115041UL, 0x640fd9e5fUL, 0xce08bbcf7UL,
2243  0x109bb343eUL, 0xc21435c92UL, 0x35b4dfce4UL, 0x459752cf2UL, 0xec915b82cUL,
2244  0x51881eed0UL, 0x2dda7dc97UL, 0x2e0142144UL, 0x42e890f99UL, 0x9a8856527UL,
2245  0x8e80d9d80UL, 0x891cbcf34UL, 0x25dd82410UL, 0x239551d34UL, 0x8fe8f0c70UL,
2246  0x94106a970UL, 0x82609b40cUL, 0xfc9caf36UL, 0x688181d11UL, 0x718613c08UL,
2247  0xf1ab7629UL, 0xa357bfc18UL, 0x4c03b7a46UL, 0x204dedce6UL, 0xad6300d37UL,
2248  0x84cc4cd09UL, 0x42160e5c4UL, 0x87d2adfa8UL, 0x7850e7749UL, 0x4e750fc7cUL,
2249  0xbf2e5dfdaUL, 0xd88324da5UL, 0x234b52f80UL, 0x378204514UL, 0xabdf2ad53UL,
2250  0x365e78ef9UL, 0x49caa6ca2UL, 0x3c39ddf3UL, 0xc68c5385dUL, 0x5bfcbbf67UL,
2251  0x623241e21UL, 0xabc90d5ccUL, 0x388c6fe85UL, 0xda0e2d62dUL, 0x10855dfe9UL,
2252  0x4d46efd6bUL, 0x76ea12d61UL, 0x9db377d3dUL, 0xeed0efa71UL, 0xe6ec3ae2fUL,
2253  0x441faee83UL, 0xba19c8ff5UL, 0x313035eabUL, 0x6ce8f7625UL, 0x880dab58dUL,
2254  0x8d3409e0dUL, 0x2be92ee21UL, 0xd60302c6cUL, 0x469ffc724UL, 0x87eebeed3UL,
2255  0x42587ef7aUL, 0x7a8cc4e52UL, 0x76a437650UL, 0x999e41ef4UL, 0x7d0969e42UL,
2256  0xc02baf46bUL, 0x9259f3e47UL, 0x2116a1dc0UL, 0x9f2de4d84UL, 0xeffac29UL,
2257  0x7b371ff8cUL, 0x668339da9UL, 0xd010aee3fUL, 0x1cd00b4c0UL, 0x95070fc3bUL,
2258  0xf84c9a770UL, 0x38f863d76UL, 0x3646ff045UL, 0xce1b96412UL, 0x7a5d45da8UL,
2259  0x14e00ef6cUL, 0x5e95abfd8UL, 0xb2e9cb729UL, 0x36c47dd7UL, 0xb8ee97c6bUL,
2260  0xe9e8f657UL, 0xd4ad2ef1aUL, 0x8811c7f32UL, 0x47bde7c31UL, 0x3adadfb64UL,
2261  0x6e5b28574UL, 0x33e67cd91UL, 0x2ab9fdd2dUL, 0x8afa67f2bUL, 0xe6a28fc5eUL,
2262  0x72049cdbdUL, 0xae65dac12UL, 0x1251a4526UL, 0x1089ab841UL, 0xe2f096ee0UL,
2263  0xb0caee573UL, 0xfd6677e86UL, 0x444b3f518UL, 0xbe8b3a56aUL, 0x680a75cfcUL,
2264  0xac02baea8UL, 0x97d815e1cUL, 0x1d4386e08UL, 0x1a14f5b0eUL, 0xe658a8d81UL,
2265  0xa3868efa7UL, 0x3668a9673UL, 0xe8fc53d85UL, 0x2e2b7edd5UL, 0x8b2470f13UL,
2266  0xf69795f32UL, 0x4589ffc8eUL, 0x2e2080c9cUL, 0x64265f7dUL, 0x3d714dd10UL,
2267  0x1692c6ef1UL, 0x3e67f2f49UL, 0x5041dad63UL, 0x1a1503415UL, 0x64c18c742UL,
2268  0xa72eec35UL, 0x1f0f9dc60UL, 0xa9559bc67UL, 0xf32911d0dUL, 0x21c0d4ffcUL,
2269  0xe01cef5b0UL, 0x4e23a3520UL, 0xaa4f04e49UL, 0xe1c4fcc43UL, 0x208e8f6e8UL,
2270  0x8486774a5UL, 0x9e98c7558UL, 0x2c59fb7dcUL, 0x9446a4613UL, 0x8292dcc2eUL,
2271  0x4d61631UL, 0xd05527809UL, 0xa0163852dUL, 0x8f657f639UL, 0xcca6c3e37UL,
2272  0xcb136bc7aUL, 0xfc5a83e53UL, 0x9aa44fc30UL, 0xbdec1bd3cUL, 0xe020b9f7cUL,
2273  0x4b8f35fb0UL, 0xb8165f637UL, 0x33dc88d69UL, 0x10a2f7e4dUL, 0xc8cb5ff53UL,
2274  0xde259ff6bUL, 0x46d070dd4UL, 0x32d3b9741UL, 0x7075f1c04UL, 0x4d58dbea0UL
2275  };
2276  fromVector(codes, d._code_id);
2277  d._nbits = 36;
2278  d._tau = 12;
2279  d._type = ARUCO_MIP_36h12;
2280  d._name = "ARUCO_MIP_36h12";
2281  }
2282  break;
2283  case CHILITAGS:
2284  {
2285  vector<uint64_t> codes = { 0x7c765c6e0c3e00UL,
2286  0x7c765c14121e00UL,
2287  0x7c765a06763e00UL,
2288  0x7c765a7c681e00UL,
2289  0x7c764248643e00UL,
2290  0x7c7642327a1e00UL,
2291  0x7c7644201e3e00UL,
2292  0x7c76445a001e00UL,
2293  0x7c7626702c3800UL,
2294  0x7c76260a321800UL,
2295  0x7c762018563800UL,
2296  0x7c762062481800UL,
2297  0x7c763856443800UL,
2298  0x7c76382c5a1800UL,
2299  0x7c763e3e3e3800UL,
2300  0x7c763e44201800UL,
2301  0x7c70346e120000UL,
2302  0x7c7034140c2000UL,
2303  0x7c703206680000UL,
2304  0x7c70327c762000UL,
2305  0x7c702a487a0000UL,
2306  0x7c702a32642000UL,
2307  0x7c702c20000000UL,
2308  0x7c702c5a1e2000UL,
2309  0x7c704e70320600UL,
2310  0x7c704e0a2c2600UL,
2311  0x7c704818480600UL,
2312  0x7c704862562600UL,
2313  0x7c7050565a0600UL,
2314  0x7c70502c442600UL,
2315  0x7c70563e200600UL,
2316  0x7c7056443e2600UL,
2317  0x7c687c6e764400UL,
2318  0x7c687c14686400UL,
2319  0x7c687a060c4400UL,
2320  0x7c687a7c126400UL,
2321  0x7c6862481e4400UL,
2322  0x7c686232006400UL,
2323  0x7c686420644400UL,
2324  0x7c68645a7a6400UL,
2325  0x7c680670564200UL,
2326  0x7c68060a486200UL,
2327  0x7c6800182c4200UL,
2328  0x7c680062326200UL,
2329  0x7c6818563e4200UL,
2330  0x7c68182c206200UL,
2331  0x7c681e3e444200UL,
2332  0x7c681e445a6200UL,
2333  0x7c6e146e687a00UL,
2334  0x7c6e1414765a00UL,
2335  0x7c6e1206127a00UL,
2336  0x7c6e127c0c5a00UL,
2337  0x7c6e0a48007a00UL,
2338  0x7c6e0a321e5a00UL,
2339  0x7c6e0c207a7a00UL,
2340  0x7c6e0c5a645a00UL,
2341  0x7c6e6e70487c00UL,
2342  0x7c6e6e0a565c00UL,
2343  0x7c6e6818327c00UL,
2344  0x7c6e68622c5c00UL,
2345  0x7c6e7056207c00UL,
2346  0x7c6e702c3e5c00UL,
2347  0x7c6e763e5a7c00UL,
2348  0x7c6e7644445c00UL,
2349  0x7c0c5c68625600UL,
2350  0x7c0c5c127c7600UL,
2351  0x7c0c5a00185600UL,
2352  0x7c0c5a7a067600UL,
2353  0x7c0c424e0a5600UL,
2354  0x7c0c4234147600UL,
2355  0x7c0c4426705600UL,
2356  0x7c0c445c6e7600UL,
2357  0x7c0c2676425000UL,
2358  0x7c0c260c5c7000UL,
2359  0x7c0c201e385000UL,
2360  0x7c0c2064267000UL,
2361  0x7c0c38502a5000UL,
2362  0x7c0c382a347000UL,
2363  0x7c0c3e38505000UL,
2364  0x7c0c3e424e7000UL,
2365  0x7c0a34687c6800UL,
2366  0x7c0a3412624800UL,
2367  0x7c0a3200066800UL,
2368  0x7c0a327a184800UL,
2369  0x7c0a2a4e146800UL,
2370  0x7c0a2a340a4800UL,
2371  0x7c0a2c266e6800UL,
2372  0x7c0a2c5c704800UL,
2373  0x7c0a4e765c6e00UL,
2374  0x7c0a4e0c424e00UL,
2375  0x7c0a481e266e00UL,
2376  0x7c0a4864384e00UL,
2377  0x7c0a5050346e00UL,
2378  0x7c0a502a2a4e00UL,
2379  0x7c0a56384e6e00UL,
2380  0x7c0a5642504e00UL,
2381  0x7c127c68182c00UL,
2382  0x7c127c12060c00UL,
2383  0x7c127a00622c00UL,
2384  0x7c127a7a7c0c00UL,
2385  0x7c12624e702c00UL,
2386  0x7c1262346e0c00UL,
2387  0x7c1264260a2c00UL,
2388  0x7c12645c140c00UL,
2389  0x7c120676382a00UL,
2390  0x7c12060c260a00UL,
2391  0x7c12001e422a00UL,
2392  0x7c1200645c0a00UL,
2393  0x7c121850502a00UL,
2394  0x7c12182a4e0a00UL,
2395  0x7c121e382a2a00UL,
2396  0x7c121e42340a00UL,
2397  0x7c141468061200UL,
2398  0x7c141412183200UL,
2399  0x7c1412007c1200UL,
2400  0x7c14127a623200UL,
2401  0x7c140a4e6e1200UL,
2402  0x7c140a34703200UL,
2403  0x7c140c26141200UL,
2404  0x7c140c5c0a3200UL,
2405  0x7c146e76261400UL,
2406  0x7c146e0c383400UL,
2407  0x7c14681e5c1400UL,
2408  0x7c146864423400UL,
2409  0x7c1470504e1400UL,
2410  0x7c14702a503400UL,
2411  0x7c147638341400UL,
2412  0x7c1476422a3400UL,
2413  0x7a1e5c70321800UL,
2414  0x7a1e5c0a2c3800UL,
2415  0x7a1e5a18481800UL,
2416  0x7a1e5a62563800UL,
2417  0x7a1e42565a1800UL,
2418  0x7a1e422c443800UL,
2419  0x7a1e443e201800UL,
2420  0x7a1e44443e3800UL,
2421  0x7a1e266e121e00UL,
2422  0x7a1e26140c3e00UL,
2423  0x7a1e2006681e00UL,
2424  0x7a1e207c763e00UL,
2425  0x7a1e38487a1e00UL,
2426  0x7a1e3832643e00UL,
2427  0x7a1e3e20001e00UL,
2428  0x7a1e3e5a1e3e00UL,
2429  0x7a1834702c2600UL,
2430  0x7a18340a320600UL,
2431  0x7a183218562600UL,
2432  0x7a183262480600UL,
2433  0x7a182a56442600UL,
2434  0x7a182a2c5a0600UL,
2435  0x7a182c3e3e2600UL,
2436  0x7a182c44200600UL,
2437  0x7a184e6e0c2000UL,
2438  0x7a184e14120000UL,
2439  0x7a184806762000UL,
2440  0x7a18487c680000UL,
2441  0x7a185048642000UL,
2442  0x7a1850327a0000UL,
2443  0x7a1856201e2000UL,
2444  0x7a18565a000000UL,
2445  0x7a007c70486200UL,
2446  0x7a007c0a564200UL,
2447  0x7a007a18326200UL,
2448  0x7a007a622c4200UL,
2449  0x7a006256206200UL,
2450  0x7a00622c3e4200UL,
2451  0x7a00643e5a6200UL,
2452  0x7a006444444200UL,
2453  0x7a00066e686400UL,
2454  0x7a000614764400UL,
2455  0x7a000006126400UL,
2456  0x7a00007c0c4400UL,
2457  0x7a001848006400UL,
2458  0x7a0018321e4400UL,
2459  0x7a001e207a6400UL,
2460  0x7a001e5a644400UL,
2461  0x7a061470565c00UL,
2462  0x7a06140a487c00UL,
2463  0x7a0612182c5c00UL,
2464  0x7a061262327c00UL,
2465  0x7a060a563e5c00UL,
2466  0x7a060a2c207c00UL,
2467  0x7a060c3e445c00UL,
2468  0x7a060c445a7c00UL,
2469  0x7a066e6e765a00UL,
2470  0x7a066e14687a00UL,
2471  0x7a0668060c5a00UL,
2472  0x7a06687c127a00UL,
2473  0x7a0670481e5a00UL,
2474  0x7a067032007a00UL,
2475  0x7a067620645a00UL,
2476  0x7a06765a7a7a00UL,
2477  0x7a645c765c7000UL,
2478  0x7a645c0c425000UL,
2479  0x7a645a1e267000UL,
2480  0x7a645a64385000UL,
2481  0x7a644250347000UL,
2482  0x7a64422a2a5000UL,
2483  0x7a6444384e7000UL,
2484  0x7a644442505000UL,
2485  0x7a6426687c7600UL,
2486  0x7a642612625600UL,
2487  0x7a642000067600UL,
2488  0x7a64207a185600UL,
2489  0x7a64384e147600UL,
2490  0x7a6438340a5600UL,
2491  0x7a643e266e7600UL,
2492  0x7a643e5c705600UL,
2493  0x7a623476424e00UL,
2494  0x7a62340c5c6e00UL,
2495  0x7a62321e384e00UL,
2496  0x7a623264266e00UL,
2497  0x7a622a502a4e00UL,
2498  0x7a622a2a346e00UL,
2499  0x7a622c38504e00UL,
2500  0x7a622c424e6e00UL,
2501  0x7a624e68624800UL,
2502  0x7a624e127c6800UL,
2503  0x7a624800184800UL,
2504  0x7a62487a066800UL,
2505  0x7a62504e0a4800UL,
2506  0x7a625034146800UL,
2507  0x7a625626704800UL,
2508  0x7a62565c6e6800UL,
2509  0x7a7a7c76260a00UL,
2510  0x7a7a7c0c382a00UL,
2511  0x7a7a7a1e5c0a00UL,
2512  0x7a7a7a64422a00UL,
2513  0x7a7a62504e0a00UL,
2514  0x7a7a622a502a00UL,
2515  0x7a7a6438340a00UL,
2516  0x7a7a64422a2a00UL,
2517  0x7a7a0668060c00UL,
2518  0x7a7a0612182c00UL,
2519  0x7a7a00007c0c00UL,
2520  0x7a7a007a622c00UL,
2521  0x7a7a184e6e0c00UL,
2522  0x7a7a1834702c00UL,
2523  0x7a7a1e26140c00UL,
2524  0x7a7a1e5c0a2c00UL,
2525  0x7a7c1476383400UL,
2526  0x7a7c140c261400UL,
2527  0x7a7c121e423400UL,
2528  0x7a7c12645c1400UL,
2529  0x7a7c0a50503400UL,
2530  0x7a7c0a2a4e1400UL,
2531  0x7a7c0c382a3400UL,
2532  0x7a7c0c42341400UL,
2533  0x7a7c6e68183200UL,
2534  0x7a7c6e12061200UL,
2535  0x7a7c6800623200UL,
2536  0x7a7c687a7c1200UL,
2537  0x7a7c704e703200UL,
2538  0x7a7c70346e1200UL,
2539  0x7a7c76260a3200UL,
2540  0x7a7c765c141200UL,
2541  0x62565c6e680600UL,
2542  0x62565c14762600UL,
2543  0x62565a06120600UL,
2544  0x62565a7c0c2600UL,
2545  0x62564248000600UL,
2546  0x625642321e2600UL,
2547  0x625644207a0600UL,
2548  0x6256445a642600UL,
2549  0x62562670480000UL,
2550  0x6256260a562000UL,
2551  0x62562018320000UL,
2552  0x625620622c2000UL,
2553  0x62563856200000UL,
2554  0x6256382c3e2000UL,
2555  0x62563e3e5a0000UL,
2556  0x62563e44442000UL,
2557  0x6250346e763800UL,
2558  0x62503414681800UL,
2559  0x625032060c3800UL,
2560  0x6250327c121800UL,
2561  0x62502a481e3800UL,
2562  0x62502a32001800UL,
2563  0x62502c20643800UL,
2564  0x62502c5a7a1800UL,
2565  0x62504e70563e00UL,
2566  0x62504e0a481e00UL,
2567  0x625048182c3e00UL,
2568  0x62504862321e00UL,
2569  0x625050563e3e00UL,
2570  0x6250502c201e00UL,
2571  0x6250563e443e00UL,
2572  0x625056445a1e00UL,
2573  0x62487c6e127c00UL,
2574  0x62487c140c5c00UL,
2575  0x62487a06687c00UL,
2576  0x62487a7c765c00UL,
2577  0x624862487a7c00UL,
2578  0x62486232645c00UL,
2579  0x62486420007c00UL,
2580  0x6248645a1e5c00UL,
2581  0x62480670327a00UL,
2582  0x6248060a2c5a00UL,
2583  0x62480018487a00UL,
2584  0x62480062565a00UL,
2585  0x624818565a7a00UL,
2586  0x6248182c445a00UL,
2587  0x62481e3e207a00UL,
2588  0x62481e443e5a00UL,
2589  0x624e146e0c4200UL,
2590  0x624e1414126200UL,
2591  0x624e1206764200UL,
2592  0x624e127c686200UL,
2593  0x624e0a48644200UL,
2594  0x624e0a327a6200UL,
2595  0x624e0c201e4200UL,
2596  0x624e0c5a006200UL,
2597  0x624e6e702c4400UL,
2598  0x624e6e0a326400UL,
2599  0x624e6818564400UL,
2600  0x624e6862486400UL,
2601  0x624e7056444400UL,
2602  0x624e702c5a6400UL,
2603  0x624e763e3e4400UL,
2604  0x624e7644206400UL,
2605  0x622c5c68066e00UL,
2606  0x622c5c12184e00UL,
2607  0x622c5a007c6e00UL,
2608  0x622c5a7a624e00UL,
2609  0x622c424e6e6e00UL,
2610  0x622c4234704e00UL,
2611  0x622c4426146e00UL,
2612  0x622c445c0a4e00UL,
2613  0x622c2676266800UL,
2614  0x622c260c384800UL,
2615  0x622c201e5c6800UL,
2616  0x622c2064424800UL,
2617  0x622c38504e6800UL,
2618  0x622c382a504800UL,
2619  0x622c3e38346800UL,
2620  0x622c3e422a4800UL,
2621  0x622a3468185000UL,
2622  0x622a3412067000UL,
2623  0x622a3200625000UL,
2624  0x622a327a7c7000UL,
2625  0x622a2a4e705000UL,
2626  0x622a2a346e7000UL,
2627  0x622a2c260a5000UL,
2628  0x622a2c5c147000UL,
2629  0x622a4e76385600UL,
2630  0x622a4e0c267600UL,
2631  0x622a481e425600UL,
2632  0x622a48645c7600UL,
2633  0x622a5050505600UL,
2634  0x622a502a4e7600UL,
2635  0x622a56382a5600UL,
2636  0x622a5642347600UL,
2637  0x62327c687c1400UL,
2638  0x62327c12623400UL,
2639  0x62327a00061400UL,
2640  0x62327a7a183400UL,
2641  0x6232624e141400UL,
2642  0x623262340a3400UL,
2643  0x623264266e1400UL,
2644  0x6232645c703400UL,
2645  0x623206765c1200UL,
2646  0x6232060c423200UL,
2647  0x6232001e261200UL,
2648  0x62320064383200UL,
2649  0x62321850341200UL,
2650  0x6232182a2a3200UL,
2651  0x62321e384e1200UL,
2652  0x62321e42503200UL,
2653  0x62341468622a00UL,
2654  0x623414127c0a00UL,
2655  0x62341200182a00UL,
2656  0x6234127a060a00UL,
2657  0x62340a4e0a2a00UL,
2658  0x62340a34140a00UL,
2659  0x62340c26702a00UL,
2660  0x62340c5c6e0a00UL,
2661  0x62346e76422c00UL,
2662  0x62346e0c5c0c00UL,
2663  0x6234681e382c00UL,
2664  0x62346864260c00UL,
2665  0x623470502a2c00UL,
2666  0x6234702a340c00UL,
2667  0x62347638502c00UL,
2668  0x623476424e0c00UL,
2669  0x643e5c70562000UL,
2670  0x643e5c0a480000UL,
2671  0x643e5a182c2000UL,
2672  0x643e5a62320000UL,
2673  0x643e42563e2000UL,
2674  0x643e422c200000UL,
2675  0x643e443e442000UL,
2676  0x643e44445a0000UL,
2677  0x643e266e762600UL,
2678  0x643e2614680600UL,
2679  0x643e20060c2600UL,
2680  0x643e207c120600UL,
2681  0x643e38481e2600UL,
2682  0x643e3832000600UL,
2683  0x643e3e20642600UL,
2684  0x643e3e5a7a0600UL,
2685  0x64383470481e00UL,
2686  0x6438340a563e00UL,
2687  0x64383218321e00UL,
2688  0x643832622c3e00UL,
2689  0x64382a56201e00UL,
2690  0x64382a2c3e3e00UL,
2691  0x64382c3e5a1e00UL,
2692  0x64382c44443e00UL,
2693  0x64384e6e681800UL,
2694  0x64384e14763800UL,
2695  0x64384806121800UL,
2696  0x6438487c0c3800UL,
2697  0x64385048001800UL,
2698  0x643850321e3800UL,
2699  0x643856207a1800UL,
2700  0x6438565a643800UL,
2701  0x64207c702c5a00UL,
2702  0x64207c0a327a00UL,
2703  0x64207a18565a00UL,
2704  0x64207a62487a00UL,
2705  0x64206256445a00UL,
2706  0x6420622c5a7a00UL,
2707  0x6420643e3e5a00UL,
2708  0x64206444207a00UL,
2709  0x6420066e0c5c00UL,
2710  0x64200614127c00UL,
2711  0x64200006765c00UL,
2712  0x6420007c687c00UL,
2713  0x64201848645c00UL,
2714  0x642018327a7c00UL,
2715  0x64201e201e5c00UL,
2716  0x64201e5a007c00UL,
2717  0x64261470326400UL,
2718  0x6426140a2c4400UL,
2719  0x64261218486400UL,
2720  0x64261262564400UL,
2721  0x64260a565a6400UL,
2722  0x64260a2c444400UL,
2723  0x64260c3e206400UL,
2724  0x64260c443e4400UL,
2725  0x64266e6e126200UL,
2726  0x64266e140c4200UL,
2727  0x64266806686200UL,
2728  0x6426687c764200UL,
2729  0x642670487a6200UL,
2730  0x64267032644200UL,
2731  0x64267620006200UL,
2732  0x6426765a1e4200UL,
2733  0x64445c76384800UL,
2734  0x64445c0c266800UL,
2735  0x64445a1e424800UL,
2736  0x64445a645c6800UL,
2737  0x64444250504800UL,
2738  0x6444422a4e6800UL,
2739  0x644444382a4800UL,
2740  0x64444442346800UL,
2741  0x64442668184e00UL,
2742  0x64442612066e00UL,
2743  0x64442000624e00UL,
2744  0x6444207a7c6e00UL,
2745  0x6444384e704e00UL,
2746  0x644438346e6e00UL,
2747  0x64443e260a4e00UL,
2748  0x64443e5c146e00UL,
2749  0x64423476267600UL,
2750  0x6442340c385600UL,
2751  0x6442321e5c7600UL,
2752  0x64423264425600UL,
2753  0x64422a504e7600UL,
2754  0x64422a2a505600UL,
2755  0x64422c38347600UL,
2756  0x64422c422a5600UL,
2757  0x64424e68067000UL,
2758  0x64424e12185000UL,
2759  0x644248007c7000UL,
2760  0x6442487a625000UL,
2761  0x6442504e6e7000UL,
2762  0x64425034705000UL,
2763  0x64425626147000UL,
2764  0x6442565c0a5000UL,
2765  0x645a7c76423200UL,
2766  0x645a7c0c5c1200UL,
2767  0x645a7a1e383200UL,
2768  0x645a7a64261200UL,
2769  0x645a62502a3200UL,
2770  0x645a622a341200UL,
2771  0x645a6438503200UL,
2772  0x645a64424e1200UL,
2773  0x645a0668623400UL,
2774  0x645a06127c1400UL,
2775  0x645a0000183400UL,
2776  0x645a007a061400UL,
2777  0x645a184e0a3400UL,
2778  0x645a1834141400UL,
2779  0x645a1e26703400UL,
2780  0x645a1e5c6e1400UL,
2781  0x645c14765c0c00UL,
2782  0x645c140c422c00UL,
2783  0x645c121e260c00UL,
2784  0x645c1264382c00UL,
2785  0x645c0a50340c00UL,
2786  0x645c0a2a2a2c00UL,
2787  0x645c0c384e0c00UL,
2788  0x645c0c42502c00UL,
2789  0x645c6e687c0a00UL,
2790  0x645c6e12622a00UL,
2791  0x645c6800060a00UL,
2792  0x645c687a182a00UL,
2793  0x645c704e140a00UL,
2794  0x645c70340a2a00UL,
2795  0x645c76266e0a00UL,
2796  0x645c765c702a00UL,
2797  0x6765c681e5a00UL,
2798  0x6765c12007a00UL,
2799  0x6765a00645a00UL,
2800  0x6765a7a7a7a00UL,
2801  0x676424e765a00UL,
2802  0x6764234687a00UL,
2803  0x67644260c5a00UL,
2804  0x676445c127a00UL,
2805  0x67626763e5c00UL,
2806  0x676260c207c00UL,
2807  0x676201e445c00UL,
2808  0x67620645a7c00UL,
2809  0x6763850565c00UL,
2810  0x676382a487c00UL,
2811  0x6763e382c5c00UL,
2812  0x6763e42327c00UL,
2813  0x6703468006400UL,
2814  0x67034121e4400UL,
2815  0x67032007a6400UL,
2816  0x670327a644400UL,
2817  0x6702a4e686400UL,
2818  0x6702a34764400UL,
2819  0x6702c26126400UL,
2820  0x6702c5c0c4400UL,
2821  0x6704e76206200UL,
2822  0x6704e0c3e4200UL,
2823  0x670481e5a6200UL,
2824  0x6704864444200UL,
2825  0x6705050486200UL,
2826  0x670502a564200UL,
2827  0x6705638326200UL,
2828  0x67056422c4200UL,
2829  0x6687c68642000UL,
2830  0x6687c127a0000UL,
2831  0x6687a001e2000UL,
2832  0x6687a7a000000UL,
2833  0x668624e0c2000UL,
2834  0x6686234120000UL,
2835  0x6686426762000UL,
2836  0x668645c680000UL,
2837  0x6680676442600UL,
2838  0x668060c5a0600UL,
2839  0x668001e3e2600UL,
2840  0x6680064200600UL,
2841  0x66818502c2600UL,
2842  0x668182a320600UL,
2843  0x6681e38562600UL,
2844  0x6681e42480600UL,
2845  0x66e14687a1e00UL,
2846  0x66e1412643e00UL,
2847  0x66e1200001e00UL,
2848  0x66e127a1e3e00UL,
2849  0x66e0a4e121e00UL,
2850  0x66e0a340c3e00UL,
2851  0x66e0c26681e00UL,
2852  0x66e0c5c763e00UL,
2853  0x66e6e765a1800UL,
2854  0x66e6e0c443800UL,
2855  0x66e681e201800UL,
2856  0x66e68643e3800UL,
2857  0x66e7050321800UL,
2858  0x66e702a2c3800UL,
2859  0x66e7638481800UL,
2860  0x66e7642563800UL,
2861  0x60c5c6e703200UL,
2862  0x60c5c146e1200UL,
2863  0x60c5a060a3200UL,
2864  0x60c5a7c141200UL,
2865  0x60c4248183200UL,
2866  0x60c4232061200UL,
2867  0x60c4420623200UL,
2868  0x60c445a7c1200UL,
2869  0x60c2670503400UL,
2870  0x60c260a4e1400UL,
2871  0x60c20182a3400UL,
2872  0x60c2062341400UL,
2873  0x60c3856383400UL,
2874  0x60c382c261400UL,
2875  0x60c3e3e423400UL,
2876  0x60c3e445c1400UL,
2877  0x60a346e6e0c00UL,
2878  0x60a3414702c00UL,
2879  0x60a3206140c00UL,
2880  0x60a327c0a2c00UL,
2881  0x60a2a48060c00UL,
2882  0x60a2a32182c00UL,
2883  0x60a2c207c0c00UL,
2884  0x60a2c5a622c00UL,
2885  0x60a4e704e0a00UL,
2886  0x60a4e0a502a00UL,
2887  0x60a4818340a00UL,
2888  0x60a48622a2a00UL,
2889  0x60a5056260a00UL,
2890  0x60a502c382a00UL,
2891  0x60a563e5c0a00UL,
2892  0x60a5644422a00UL,
2893  0x6127c6e0a4800UL,
2894  0x6127c14146800UL,
2895  0x6127a06704800UL,
2896  0x6127a7c6e6800UL,
2897  0x6126248624800UL,
2898  0x61262327c6800UL,
2899  0x6126420184800UL,
2900  0x612645a066800UL,
2901  0x61206702a4e00UL,
2902  0x612060a346e00UL,
2903  0x6120018504e00UL,
2904  0x61200624e6e00UL,
2905  0x6121856424e00UL,
2906  0x612182c5c6e00UL,
2907  0x6121e3e384e00UL,
2908  0x6121e44266e00UL,
2909  0x614146e147600UL,
2910  0x61414140a5600UL,
2911  0x61412066e7600UL,
2912  0x614127c705600UL,
2913  0x6140a487c7600UL,
2914  0x6140a32625600UL,
2915  0x6140c20067600UL,
2916  0x6140c5a185600UL,
2917  0x6146e70347000UL,
2918  0x6146e0a2a5000UL,
2919  0x61468184e7000UL,
2920  0x6146862505000UL,
2921  0x61470565c7000UL,
2922  0x614702c425000UL,
2923  0x614763e267000UL,
2924  0x6147644385000UL,
2925  0x1e5c76207c00UL,
2926  0x1e5c0c3e5c00UL,
2927  0x1e5a1e5a7c00UL,
2928  0x1e5a64445c00UL,
2929  0x1e4250487c00UL,
2930  0x1e422a565c00UL,
2931  0x1e4438327c00UL,
2932  0x1e44422c5c00UL,
2933  0x1e2668007a00UL,
2934  0x1e26121e5a00UL,
2935  0x1e20007a7a00UL,
2936  0x1e207a645a00UL,
2937  0x1e384e687a00UL,
2938  0x1e3834765a00UL,
2939  0x1e3e26127a00UL,
2940  0x1e3e5c0c5a00UL,
2941  0x1834763e4200UL,
2942  0x18340c206200UL,
2943  0x18321e444200UL,
2944  0x1832645a6200UL,
2945  0x182a50564200UL,
2946  0x182a2a486200UL,
2947  0x182c382c4200UL,
2948  0x182c42326200UL,
2949  0x184e681e4400UL,
2950  0x184e12006400UL,
2951  0x184800644400UL,
2952  0x18487a7a6400UL,
2953  0x18504e764400UL,
2954  0x185034686400UL,
2955  0x1856260c4400UL,
2956  0x18565c126400UL,
2957  0x7c765a0600UL,
2958  0x7c0c442600UL,
2959  0x7a1e200600UL,
2960  0x7a643e2600UL,
2961  0x6250320600UL,
2962  0x622a2c2600UL,
2963  0x6438480600UL,
2964  0x6442562600UL,
2965  0x6687a0000UL,
2966  0x612642000UL,
2967  0x0UL,
2968  0x7a1e2000UL,
2969  0x184e120000UL,
2970  0x18340c2000UL,
2971  0x1e26680000UL,
2972  0x1e5c762000UL,
2973  0x61476443800UL,
2974  0x6140c5a1800UL,
2975  0x6121e3e3800UL,
2976  0x61264201800UL,
2977  0x60a502c3800UL,
2978  0x60a2a321800UL,
2979  0x60c38563800UL,
2980  0x60c42481800UL,
2981  0x66e68643e00UL,
2982  0x66e127a1e00UL,
2983  0x668001e3e00UL,
2984  0x6687a001e00UL,
2985  0x6704e0c3e00UL,
2986  0x67034121e00UL,
2987  0x67626763e00UL,
2988  0x6765c681e00UL,
2989  0x645c704e1400UL,
2990  0x645c0a503400UL,
2991  0x645a18341400UL,
2992  0x645a622a3400UL,
2993  0x644256261400UL,
2994  0x64422c383400UL,
2995  0x64443e5c1400UL,
2996  0x644444423400UL,
2997  0x64266e6e1200UL,
2998  0x642614703200UL,
2999  0x642006141200UL,
3000  0x64207c0a3200UL,
3001  0x643848061200UL,
3002  0x643832183200UL,
3003  0x643e207c1200UL,
3004  0x643e5a623200UL,
3005  0x623470502a00UL,
3006  0x62340a4e0a00UL,
3007  0x6232182a2a00UL,
3008  0x623262340a00UL,
3009  0x622a56382a00UL,
3010  0x622a2c260a00UL,
3011  0x622c3e422a00UL,
3012  0x622c445c0a00UL,
3013  0x624e6e702c00UL,
3014  0x624e146e0c00UL,
3015  0x6248060a2c00UL,
3016  0x62487c140c00UL,
3017  0x625048182c00UL,
3018  0x625032060c00UL,
3019  0x625620622c00UL,
3020  0x62565a7c0c00UL,
3021  0x7a7c70346e00UL,
3022  0x7a7c0a2a4e00UL,
3023  0x7a7a184e6e00UL,
3024  0x7a7a62504e00UL,
3025  0x7a62565c6e00UL,
3026  0x7a622c424e00UL,
3027  0x7a643e266e00UL,
3028  0x7a6444384e00UL,
3029  0x7a066e146800UL,
3030  0x7a06140a4800UL,
3031  0x7a00066e6800UL,
3032  0x7a007c704800UL,
3033  0x7a18487c6800UL,
3034  0x7a1832624800UL,
3035  0x7a1e20066800UL,
3036  0x7a1e5a184800UL,
3037  0x7c14702a5000UL,
3038  0x7c140a347000UL,
3039  0x7c1218505000UL,
3040  0x7c12624e7000UL,
3041  0x7c0a56425000UL,
3042  0x7c0a2c5c7000UL,
3043  0x7c0c3e385000UL,
3044  0x7c0c44267000UL,
3045  0x7c6e6e0a5600UL,
3046  0x7c6e14147600UL,
3047  0x7c6806705600UL,
3048  0x7c687c6e7600UL,
3049  0x7c7048625600UL,
3050  0x7c70327c7600UL,
3051  0x7c7620185600UL,
3052  0x7c765a067600UL,
3053  0x18565c687a6200UL,
3054  0x18565c12644200UL,
3055  0x18565a00006200UL,
3056  0x18565a7a1e4200UL,
3057  0x1856424e126200UL,
3058  0x185642340c4200UL,
3059  0x18564426686200UL,
3060  0x1856445c764200UL,
3061  0x185626765a6400UL,
3062  0x1856260c444400UL,
3063  0x1856201e206400UL,
3064  0x185620643e4400UL,
3065  0x18563850326400UL,
3066  0x1856382a2c4400UL,
3067  0x18563e38486400UL,
3068  0x18563e42564400UL,
3069  0x18503468645c00UL,
3070  0x185034127a7c00UL,
3071  0x185032001e5c00UL,
3072  0x1850327a007c00UL,
3073  0x18502a4e0c5c00UL,
3074  0x18502a34127c00UL,
3075  0x18502c26765c00UL,
3076  0x18502c5c687c00UL,
3077  0x18504e76445a00UL,
3078  0x18504e0c5a7a00UL,
3079  0x1850481e3e5a00UL,
3080  0x18504864207a00UL,
3081  0x185050502c5a00UL,
3082  0x1850502a327a00UL,
3083  0x18505638565a00UL,
3084  0x18505642487a00UL,
3085  0x18487c68001800UL,
3086  0x18487c121e3800UL,
3087  0x18487a007a1800UL,
3088  0x18487a7a643800UL,
3089  0x1848624e681800UL,
3090  0x18486234763800UL,
3091  0x18486426121800UL,
3092  0x1848645c0c3800UL,
3093  0x18480676201e00UL,
3094  0x1848060c3e3e00UL,
3095  0x1848001e5a1e00UL,
3096  0x18480064443e00UL,
3097  0x18481850481e00UL,
3098  0x1848182a563e00UL,
3099  0x18481e38321e00UL,
3100  0x18481e422c3e00UL,
3101  0x184e14681e2600UL,
3102  0x184e1412000600UL,
3103  0x184e1200642600UL,
3104  0x184e127a7a0600UL,
3105  0x184e0a4e762600UL,
3106  0x184e0a34680600UL,
3107  0x184e0c260c2600UL,
3108  0x184e0c5c120600UL,
3109  0x184e6e763e2000UL,
3110  0x184e6e0c200000UL,
3111  0x184e681e442000UL,
3112  0x184e68645a0000UL,
3113  0x184e7050562000UL,
3114  0x184e702a480000UL,
3115  0x184e76382c2000UL,
3116  0x184e7642320000UL,
3117  0x182c5c6e140a00UL,
3118  0x182c5c140a2a00UL,
3119  0x182c5a066e0a00UL,
3120  0x182c5a7c702a00UL,
3121  0x182c42487c0a00UL,
3122  0x182c4232622a00UL,
3123  0x182c4420060a00UL,
3124  0x182c445a182a00UL,
3125  0x182c2670340c00UL,
3126  0x182c260a2a2c00UL,
3127  0x182c20184e0c00UL,
3128  0x182c2062502c00UL,
3129  0x182c38565c0c00UL,
3130  0x182c382c422c00UL,
3131  0x182c3e3e260c00UL,
3132  0x182c3e44382c00UL,
3133  0x182a346e0a3400UL,
3134  0x182a3414141400UL,
3135  0x182a3206703400UL,
3136  0x182a327c6e1400UL,
3137  0x182a2a48623400UL,
3138  0x182a2a327c1400UL,
3139  0x182a2c20183400UL,
3140  0x182a2c5a061400UL,
3141  0x182a4e702a3200UL,
3142  0x182a4e0a341200UL,
3143  0x182a4818503200UL,
3144  0x182a48624e1200UL,
3145  0x182a5056423200UL,
3146  0x182a502c5c1200UL,
3147  0x182a563e383200UL,
3148  0x182a5644261200UL,
3149  0x18327c6e6e7000UL,
3150  0x18327c14705000UL,
3151  0x18327a06147000UL,
3152  0x18327a7c0a5000UL,
3153  0x18326248067000UL,
3154  0x18326232185000UL,
3155  0x183264207c7000UL,
3156  0x1832645a625000UL,
3157  0x183206704e7600UL,
3158  0x1832060a505600UL,
3159  0x18320018347600UL,
3160  0x183200622a5600UL,
3161  0x18321856267600UL,
3162  0x1832182c385600UL,
3163  0x18321e3e5c7600UL,
3164  0x18321e44425600UL,
3165  0x1834146e704e00UL,
3166  0x183414146e6e00UL,
3167  0x183412060a4e00UL,
3168  0x1834127c146e00UL,
3169  0x18340a48184e00UL,
3170  0x18340a32066e00UL,
3171  0x18340c20624e00UL,
3172  0x18340c5a7c6e00UL,
3173  0x18346e70504800UL,
3174  0x18346e0a4e6800UL,
3175  0x183468182a4800UL,
3176  0x18346862346800UL,
3177  0x18347056384800UL,
3178  0x1834702c266800UL,
3179  0x1834763e424800UL,
3180  0x183476445c6800UL,
3181  0x1e3e5c76444400UL,
3182  0x1e3e5c0c5a6400UL,
3183  0x1e3e5a1e3e4400UL,
3184  0x1e3e5a64206400UL,
3185  0x1e3e42502c4400UL,
3186  0x1e3e422a326400UL,
3187  0x1e3e4438564400UL,
3188  0x1e3e4442486400UL,
3189  0x1e3e2668644200UL,
3190  0x1e3e26127a6200UL,
3191  0x1e3e20001e4200UL,
3192  0x1e3e207a006200UL,
3193  0x1e3e384e0c4200UL,
3194  0x1e3e3834126200UL,
3195  0x1e3e3e26764200UL,
3196  0x1e3e3e5c686200UL,
3197  0x1e3834765a7a00UL,
3198  0x1e38340c445a00UL,
3199  0x1e38321e207a00UL,
3200  0x1e3832643e5a00UL,
3201  0x1e382a50327a00UL,
3202  0x1e382a2a2c5a00UL,
3203  0x1e382c38487a00UL,
3204  0x1e382c42565a00UL,
3205  0x1e384e687a7c00UL,
3206  0x1e384e12645c00UL,
3207  0x1e384800007c00UL,
3208  0x1e38487a1e5c00UL,
3209  0x1e38504e127c00UL,
3210  0x1e3850340c5c00UL,
3211  0x1e385626687c00UL,
3212  0x1e38565c765c00UL,
3213  0x1e207c763e3e00UL,
3214  0x1e207c0c201e00UL,
3215  0x1e207a1e443e00UL,
3216  0x1e207a645a1e00UL,
3217  0x1e206250563e00UL,
3218  0x1e20622a481e00UL,
3219  0x1e2064382c3e00UL,
3220  0x1e206442321e00UL,
3221  0x1e2006681e3800UL,
3222  0x1e200612001800UL,
3223  0x1e200000643800UL,
3224  0x1e20007a7a1800UL,
3225  0x1e20184e763800UL,
3226  0x1e201834681800UL,
3227  0x1e201e260c3800UL,
3228  0x1e201e5c121800UL,
3229  0x1e261476200000UL,
3230  0x1e26140c3e2000UL,
3231  0x1e26121e5a0000UL,
3232  0x1e261264442000UL,
3233  0x1e260a50480000UL,
3234  0x1e260a2a562000UL,
3235  0x1e260c38320000UL,
3236  0x1e260c422c2000UL,
3237  0x1e266e68000600UL,
3238  0x1e266e121e2600UL,
3239  0x1e2668007a0600UL,
3240  0x1e26687a642600UL,
3241  0x1e26704e680600UL,
3242  0x1e267034762600UL,
3243  0x1e267626120600UL,
3244  0x1e26765c0c2600UL,
3245  0x1e445c702a2c00UL,
3246  0x1e445c0a340c00UL,
3247  0x1e445a18502c00UL,
3248  0x1e445a624e0c00UL,
3249  0x1e444256422c00UL,
3250  0x1e44422c5c0c00UL,
3251  0x1e44443e382c00UL,
3252  0x1e444444260c00UL,
3253  0x1e44266e0a2a00UL,
3254  0x1e442614140a00UL,
3255  0x1e442006702a00UL,
3256  0x1e44207c6e0a00UL,
3257  0x1e443848622a00UL,
3258  0x1e4438327c0a00UL,
3259  0x1e443e20182a00UL,
3260  0x1e443e5a060a00UL,
3261  0x1e423470341200UL,
3262  0x1e42340a2a3200UL,
3263  0x1e4232184e1200UL,
3264  0x1e423262503200UL,
3265  0x1e422a565c1200UL,
3266  0x1e422a2c423200UL,
3267  0x1e422c3e261200UL,
3268  0x1e422c44383200UL,
3269  0x1e424e6e141400UL,
3270  0x1e424e140a3400UL,
3271  0x1e4248066e1400UL,
3272  0x1e42487c703400UL,
3273  0x1e4250487c1400UL,
3274  0x1e425032623400UL,
3275  0x1e425620061400UL,
3276  0x1e42565a183400UL,
3277  0x1e5a7c70505600UL,
3278  0x1e5a7c0a4e7600UL,
3279  0x1e5a7a182a5600UL,
3280  0x1e5a7a62347600UL,
3281  0x1e5a6256385600UL,
3282  0x1e5a622c267600UL,
3283  0x1e5a643e425600UL,
3284  0x1e5a64445c7600UL,
3285  0x1e5a066e705000UL,
3286  0x1e5a06146e7000UL,
3287  0x1e5a00060a5000UL,
3288  0x1e5a007c147000UL,
3289  0x1e5a1848185000UL,
3290  0x1e5a1832067000UL,
3291  0x1e5a1e20625000UL,
3292  0x1e5a1e5a7c7000UL,
3293  0x1e5c14704e6800UL,
3294  0x1e5c140a504800UL,
3295  0x1e5c1218346800UL,
3296  0x1e5c12622a4800UL,
3297  0x1e5c0a56266800UL,
3298  0x1e5c0a2c384800UL,
3299  0x1e5c0c3e5c6800UL,
3300  0x1e5c0c44424800UL,
3301  0x1e5c6e6e6e6e00UL,
3302  0x1e5c6e14704e00UL,
3303  0x1e5c6806146e00UL,
3304  0x1e5c687c0a4e00UL,
3305  0x1e5c7048066e00UL,
3306  0x1e5c7032184e00UL,
3307  0x1e5c76207c6e00UL,
3308  0x1e5c765a624e00UL };
3309  fromVector(codes, d._code_id);
3310  d._nbits = 64;
3311  d._tau = 5;
3312  d._type = CHILITAGS;
3313  d._name = "CHILITAGS";
3314  }
3315  break;
3316  case CUSTOM:
3317  throw cv::Exception(-1, "CUSTOM type is only set by loading from file",
3318  "Dictionary::loadPredefined", "dictionary.h", -1);
3319  break;
3320  case ALL_DICTS:
3321  {
3322  d._nbits = 64;
3323  d._tau = 1; //
3324  d._type = ALL_DICTS;
3325  d._name = "ALL_DICTS";
3326  }
3327  break;
3328 
3329  default:
3330  throw cv::Exception(9001, "Invalid Dictionary type requested",
3331  "Dictionary::loadPredefined", __FILE__, __LINE__);
3332  };
3333  return d;
3334 }
3340 // cv::Mat Dictionary::getMarkerMatrix_id(int id){
3341 // const int nBitsSquared = static_cast<int>(std::sqrt(nbits()));
3342 // const int A=bit_size*(2+nBitsSquared);
3343 
3344 // cv::Mat img=cv::Mat::zeros(A,A,CV_8UC1);
3345 //}
3346 
3347 
3348 cv::Mat Dictionary::getMarkerImage_id(int id, int bit_size, bool addWaterMark,
3349  bool enclosed_corners, bool externalWhiteBorder,
3350  bool centralCircle)
3351 {
3352  const int nBitsSquared = static_cast<int>(std::sqrt(nbits()));
3353  const int A = bit_size * (2 + nBitsSquared);
3354 
3355  cv::Mat img = cv::Mat::zeros(A, A, CV_8UC1);
3356 
3357  // find the code in the map
3358  uint64_t code;
3359  bool found = false;
3360  for (auto c_id : _code_id)
3361  if (c_id.second == id)
3362  {
3363  found = true;
3364  code = c_id.first;
3365  break;
3366  }
3367  if (!found)
3368  {
3369  cerr << "marker " << id << " not found" << endl;
3370  return cv::Mat();
3371  }
3372  // get the code as a bitset
3373  bitset<64> bset = code;
3374 
3375  int bidx = 0;
3376  for (int y = nBitsSquared - 1; y >= 0; y--)
3377  for (int x = nBitsSquared - 1; x >= 0; x--)
3378  {
3379  if (bset[bidx++])
3380  {
3381  cv::Mat bit_pix = img(cv::Range((1 + y) * bit_size, (2 + y) * bit_size),
3382  cv::Range((1 + x) * bit_size, (2 + x) * bit_size));
3383  bit_pix.setTo(cv::Scalar::all(255));
3384  }
3385  }
3386 
3387  if (addWaterMark)
3388  {
3389  char idcad[30];
3390  sprintf(idcad, "#%d", id);
3391  float ax = static_cast<float>(A) / 100.f;
3392  int linew = 1 + (img.rows / 500);
3393  cv::putText(img, idcad, cv::Point(0, img.rows - img.rows / 40),
3394  cv::FONT_HERSHEY_COMPLEX, ax * 0.15f, cv::Scalar::all(30), linew);
3395  }
3396 
3397 
3398  if (enclosed_corners)
3399  {
3400  cv::Mat biggerImage(img.rows + img.rows / 2, img.cols + img.cols / 2, img.type());
3401  biggerImage.setTo(cv::Scalar::all(255));
3402  // set the image in the center
3403  int sy = img.rows / 4;
3404  int sx = img.cols / 4;
3405  cv::Mat center = biggerImage(cv::Range(sy, sy + img.rows), cv::Range(sx, sx + img.cols));
3406  img.copyTo(center);
3407  biggerImage(cv::Range(0, sy), cv::Range(0, sx)).setTo(cv::Scalar::all(0));
3408  biggerImage(cv::Range(biggerImage.rows - sy, biggerImage.rows), cv::Range(0, sx))
3409  .setTo(cv::Scalar::all(0));
3410  biggerImage(cv::Range(biggerImage.rows - sy, biggerImage.rows),
3411  cv::Range(biggerImage.cols - sx, biggerImage.cols))
3412  .setTo(cv::Scalar::all(0));
3413  biggerImage(cv::Range(0, sy), cv::Range(biggerImage.cols - sx, biggerImage.cols))
3414  .setTo(cv::Scalar::all(0));
3415 
3416  img = biggerImage;
3417  }
3418 
3419  if (externalWhiteBorder && !enclosed_corners)
3420  {
3421  int borderSize = bit_size;
3422  // Create another image in white and put the marker in the middle
3423  cv::Mat biggerImage(img.rows + 2 * borderSize, img.cols + 2 * borderSize, img.type());
3424  biggerImage.setTo(cv::Scalar::all(255));
3425  // set the image in the center
3426  cv::Mat center = biggerImage(cv::Range(borderSize, borderSize + img.rows),
3427  cv::Range(borderSize, borderSize + img.cols));
3428  img.copyTo(center);
3429  img = biggerImage;
3430  }
3431 
3432  if (centralCircle)
3433  {
3434  // at the image center, draw a circle to mark the center
3435  cv::Point2f center(img.cols / 2, img.rows / 2);
3436  cv::Mat mask(img.size(), CV_8UC1);
3437  mask.setTo(cv::Scalar::all(0));
3438  cv::circle(mask, center, sqrt(bit_size), cv::Scalar::all(255), -1);
3439  // now, invert the color in the image
3440  for (int r = 0; r < img.rows; r++)
3441  {
3442  uchar *imgptr = img.ptr<uchar>(r);
3443  uchar *maskptr = mask.ptr<uchar>(r);
3444  for (int c = 0; c < img.cols; c++)
3445  {
3446  if (maskptr[c])
3447  imgptr[c] = 255 - imgptr[c];
3448  }
3449  }
3450  }
3451  return img;
3452 }
3453 
3454 
3455 std::string Dictionary::getTypeString(DICT_TYPES t)
3456 {
3457  switch (t)
3458  {
3459  case ARUCO:
3460  return "ARUCO";
3461  case ARUCO_MIP_16h3:
3462  return "ARUCO_MIP_16h3";
3463  case ARUCO_MIP_25h7:
3464  return "ARUCO_MIP_25h7";
3465  case ARTAG:
3466  return "ARTAG";
3467 
3468  case ARUCO_MIP_36h12:
3469  return "ARUCO_MIP_36h12";
3470  case ARTOOLKITPLUS:
3471  return "ARTOOLKITPLUS";
3472  case ARTOOLKITPLUSBCH:
3473  return "ARTOOLKITPLUSBCH";
3474  case TAG16h5:
3475  return "TAG16h5";
3476  case TAG25h7:
3477  return "TAG25h7";
3478  case TAG25h9:
3479  return "TAG25h9";
3480  case TAG36h11:
3481  return "TAG36h11";
3482  case TAG36h10:
3483  return "TAG36h10";
3484  case CHILITAGS:
3485  return "CHILITAGS";
3486  case CUSTOM:
3487  return "CUSTOM";
3488  case ALL_DICTS:
3489  return "ALL_DICTS";
3490  };
3491  return "Non valid DICT_TYPE";
3492 }
3493 
3494 Dictionary::DICT_TYPES Dictionary::getTypeFromString(std::string str)
3495 {
3496  if (str == "ARUCO")
3497  return ARUCO;
3498  if (str == "ARUCO_MIP_16h3")
3499  return ARUCO_MIP_16h3;
3500  if (str == "ARUCO_MIP_25h7")
3501  return ARUCO_MIP_25h7;
3502  if (str == "ARUCO_MIP_36h12")
3503  return ARUCO_MIP_36h12;
3504  if (str == "ARTOOLKITPLUS")
3505  return ARTOOLKITPLUS;
3506  if (str == "ARTOOLKITPLUSBCH")
3507  return ARTOOLKITPLUSBCH;
3508  if (str == "ARTAG")
3509  return ARTAG;
3510  if (str == "TAG16h5")
3511  return TAG16h5;
3512  if (str == "TAG25h7")
3513  return TAG25h7;
3514  if (str == "TAG25h9")
3515  return TAG25h9;
3516  if (str == "TAG36h11")
3517  return TAG36h11;
3518  if (str == "TAG36h10")
3519  return TAG36h10;
3520  if (str == "CHILITAGS")
3521  return CHILITAGS;
3522  if (str == "ALL_DICTS")
3523  return ALL_DICTS;
3524  else
3525  return CUSTOM;
3526 
3527  // throw cv::Exception(9001, "Invalid string <"+str+"> to convert to Dictionary
3528  // type", "Dictionary::getTypeFromString", __FILE__, __LINE__);
3529 }
3530 
3531 bool Dictionary::isPredefinedDictinaryString(string str)
3532 {
3533  return getTypeFromString(str) != CUSTOM;
3534 }
3535 
3536 vector<std::string> Dictionary::getDicTypes()
3537 {
3538  return { "ARUCO", "ARUCO_MIP_16h3", "ARUCO_MIP_25h7", "ARUCO_MIP_36h12",
3539  "ARTOOLKITPLUS", "ARTOOLKITPLUSBCH", "TAG16h5", "TAG25h7",
3540  "TAG25h9", "TAG36h11", "TAG36h10", "CHILITAGS",
3541  "ALL_DICTS" };
3542 }
3543 
3544 MarkerMap Dictionary::createMarkerMap(cv::Size gridSize, int MarkerSize, int MarkerDistance,
3545  const std::vector<int> &ids, bool chess_board)
3546 {
3547  if (gridSize.height * gridSize.width != int(ids.size()))
3548  throw cv::Exception(9001, "gridSize != ids.size()Invalid ",
3549  "Dictionary::createMarkerMap", __FILE__, __LINE__);
3550  MarkerMap TInfo;
3551 
3552  TInfo.mInfoType = MarkerMap::PIX;
3553  TInfo.setDictionary(getTypeString(_type));
3554  const float markerSizeFloat = static_cast<float>(MarkerSize);
3555 
3556 
3557  if (!chess_board)
3558  {
3559  TInfo.resize(ids.size());
3560  for (size_t i = 0; i < ids.size(); i++)
3561  TInfo[i].id = ids[i];
3562  int idp = 0;
3563  float mtotal = static_cast<float>(MarkerDistance) + markerSizeFloat;
3564  for (int y = 0; y < gridSize.height; y++)
3565  for (int x = 0; x < gridSize.width; x++, idp++)
3566  {
3568  for (auto p : aruco::Marker::get3DPoints(markerSizeFloat))
3569  TInfo[idp].points.push_back(p + cv::Point3f(x * mtotal, y * mtotal, 0));
3570  }
3571  }
3572  else
3573  {
3574  // find the center so that the ref systeem is in it
3575  int CurMarkerIdx = 0;
3576  for (int y = 0; y < gridSize.height; y++)
3577  {
3578  bool toWrite;
3579  if (y % 2 == 0)
3580  toWrite = false;
3581  else
3582  toWrite = true;
3583  for (int x = 0; x < gridSize.width; x++)
3584  {
3585  toWrite = !toWrite;
3586  if (toWrite)
3587  {
3588  if (CurMarkerIdx >= int(ids.size()))
3589  throw cv::Exception(999, " FiducidalMarkers::createMarkerMapImage_ChessMarkerMap",
3590  "INTERNAL ERROR. REWRITE THIS!!", __FILE__, __LINE__);
3591  TInfo.push_back(Marker3DInfo(ids[CurMarkerIdx++]));
3593  for (auto p : aruco::Marker::get3DPoints(markerSizeFloat))
3594  TInfo.back().points.push_back(
3595  p + cv::Point3f(x * markerSizeFloat, y * markerSizeFloat, 0));
3596  }
3597  }
3598  }
3599  }
3600 
3601  // cv::Point3f center(0,0,0);
3602  // double n=0;
3603  // for(auto &ti:TInfo)for(auto p:ti) {center+=p;n++;}
3604  // center*=1./n;
3605  cv::Point3f center(gridSize.width / 2.0f * markerSizeFloat - markerSizeFloat / 2.0f,
3606  gridSize.height / 2.0f * markerSizeFloat - markerSizeFloat / 2.0f, 0.f);
3607  for (auto &ti : TInfo)
3608  for (auto &p : ti.points)
3609  p -= center;
3610 
3611 
3612  return TInfo;
3613 }
3614 
3620 uint64_t Dictionary::computeDictionaryDistance(const Dictionary &dict)
3621 {
3622  auto rotate = [](const cv::Mat &in)
3623  {
3624  cv::Mat out;
3625  in.copyTo(out);
3626  for (int i = 0; i < in.rows; i++)
3627  {
3628  for (int j = 0; j < in.cols; j++)
3629  {
3630  out.at<uchar>(i, j) = in.at<uchar>(in.cols - j - 1, i);
3631  }
3632  }
3633  return out;
3634  };
3635  auto getImage = [](uint64_t tag, int nbits)
3636  {
3637  std::bitset<64> bs(tag);
3638  cv::Mat im(nbits, nbits, CV_8UC1);
3639  int bit = (nbits * nbits) - 1;
3640  for (int i = 0; i < nbits; i++)
3641  for (int j = 0; j < nbits; j++)
3642  im.at<uchar>(i, j) = bs[bit--];
3643  return im;
3644  };
3645 
3646  auto getCode = [](const cv::Mat &in)
3647  {
3648  assert(in.type() == CV_8UC1);
3649  std::bitset<64> bs;
3650  size_t bit = in.total() - 1;
3651  for (int i = 0; i < in.rows; i++)
3652  for (int j = 0; j < in.cols; j++)
3653  bs[bit--] = in.at<uchar>(i, j);
3654  return bs.to_ullong();
3655  };
3656 
3657 
3658  // convert each element into its 4 rorations first
3659  std::vector<uint64_t> all_rotations;
3660 
3661  std::vector<uint64_t> ids;
3662  // for chilitag
3663  auto code_id2 = dict._code_id;
3664  for (auto tag_id : code_id2)
3665  {
3666  all_rotations.push_back(tag_id.first);
3667  auto m = getImage(tag_id.first, static_cast<int>(sqrt(dict._nbits)));
3668  for (int i = 0; i < 3; i++)
3669  {
3670  m = rotate(m);
3671  all_rotations.push_back(getCode(m));
3672  ids.push_back(tag_id.second);
3673  }
3674  assert(getCode(rotate(m)) == tag_id.first);
3675  }
3676 
3677  // now, compute minimum distance
3678  std::map<uint64_t, std::set<uint64_t> > errors;
3679  uint64_t mind = std::numeric_limits<uint64_t>::max();
3680  for (size_t i = 0; i < all_rotations.size(); i++)
3681  {
3682  for (size_t j = 0; j < all_rotations.size(); j++)
3683  {
3684  if (i != j)
3685  {
3686  auto d = bitset<64>(all_rotations[i] ^ all_rotations[j]).count();
3687  if (d == 0)
3688  {
3689  if (errors[ids[i]].count(ids[j]) == 0)
3690  {
3691  cerr << " Dictionary::computeDictionaryDistance ERROR IN YOUR DICT!!!!!" << endl;
3692  if (ids[i] == ids[j])
3693  {
3694  cerr << "marker " << ids[i]
3695  << " can be confused with one of its rotations. It is imposible to determine properly its rotation. You should remove this marker from the dictionary"
3696  << endl;
3697  }
3698  else
3699  {
3700  cerr << "marker " << ids[i] << " and " << ids[j]
3701  << " can be confused. It is imposible to determine distinguish them . You should remove any of this marker from the dictionary"
3702  << endl;
3703  }
3704  errors[ids[i]].insert(ids[j]);
3705  errors[ids[j]].insert(ids[i]);
3706  }
3707  }
3708  mind = std::min(mind, uint64_t(d));
3709  }
3710  }
3711  }
3712  return mind;
3713 }
3714 
3715 }; // namespace aruco
aruco::MarkerMap
This class defines a set of markers whose locations are attached to a common reference system,...
Definition: markermap.h:111
aruco::Dictionary
Definition: dictionary.h:41
aruco::MarkerMap::setDictionary
void setDictionary(std::string d)
Definition: markermap.h:188
aruco::Dictionary::_code_id
std::map< uint64_t, uint16_t > _code_id
Definition: dictionary.h:179
f
f
markermap.h
d
d
aruco::Dictionary::DICT_TYPES
DICT_TYPES
Definition: dictionary.h:45
dictionary.h
aruco::MarkerMap::mInfoType
int mInfoType
Definition: markermap.h:195
std
aruco
Definition: cameraparameters.h:24
aruco::Marker::get3DPoints
vector< cv::Point3f > get3DPoints() const
Definition: marker.h:178
aruco::rotate
auto rotate
Definition: fractalmarkerset.cpp:526
aruco::Dictionary::_nbits
uint32_t _nbits
Definition: dictionary.h:182
aruco::Marker3DInfo
Definition: markermap.h:33


aruco
Author(s): Rafael Muñoz Salinas , Bence Magyar
autogenerated on Sat Sep 23 2023 02:26:45