PageSourceSearch

https://charluv.com/assets/chance-ByDNIzCV.js

js charluv.com collected 2026-10-02 01:25:22 UTC 413,765 bytes, 11,912 lines download raw bytes

1import { c4 as getDefaultExportFromCjs, C as Buffer } from "./index-BhA_zdKR.js";
2function _mergeNamespaces(n, m) {
3  for (var i = 0; i < m.length; i++) {
4    const e = m[i];
5    if (typeof e !== "string" && !Array.isArray(e)) {
6      for (const k in e) {
7        if (k !== "default" && !(k in n)) {
8          const d = Object.getOwnPropertyDescriptor(e, k);
9          if (d) {
10            Object.defineProperty(n, k, d.get ? d : {
11              enumerable: true,
12              get: () => e[k]
13            });
14          }
15        }
16      }
17    }
18  }
19  return Object.freeze(Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }));
20}
21var chance$3 = { exports: {} };
22(function(module, exports) {
23  (function() {
24    var MAX_INT = 9007199254740992;
25    var MIN_INT = -MAX_INT;
26    var NUMBERS = "0123456789";
27    var CHARS_LOWER = "abcdefghijklmnopqrstuvwxyz";
28    var CHARS_UPPER = CHARS_LOWER.toUpperCase();
29    var HEX_POOL = NUMBERS + "abcdef";
30    function UnsupportedError(message) {
31      this.name = "UnsupportedError";
32      this.message = message || "This feature is not supported on this platform";
33    }
34    UnsupportedError.prototype = new Error();
35    UnsupportedError.prototype.constructor = UnsupportedError;
36    var slice = Array.prototype.slice;
37    function Chance(seed) {
38      if (!(this instanceof Chance)) {
39        if (!seed) {
40          seed = null;
41        }
42        return seed === null ? new Chance() : new Chance(seed);
43      }
44      if (typeof seed === "function") {
45        this.random = seed;
46        return this;
47      }
48      if (arguments.length) {
49        this.seed = 0;
50      }
51      for (var i = 0; i < arguments.length; i++) {
52        var seedling = 0;
53        if (Object.prototype.toString.call(arguments[i]) === "[object String]") {
54          for (var j = 0; j < arguments[i].length; j++) {
55            var hash = 0;
56            for (var k = 0; k < arguments[i].length; k++) {
57              hash = arguments[i].charCodeAt(k) + (hash << 6) + (hash << 16) - hash;
58            }
59            seedling += hash;
60          }
61        } else {
62          seedling = arguments[i];
63        }
64        this.seed += (arguments.length - i) * seedling;
65      }
66      this.mt = this.mersenne_twister(this.seed);
67      this.bimd5 = this.blueimp_md5();
68      this.random = function() {
69        return this.mt.random(this.seed);
70      };
71      return this;
72    }
73    Chance.prototype.VERSION = "1.1.12";
74    function initOptions(options, defaults) {
75      options = options || {};
76      if (defaults) {
77        for (var i in defaults) {
78          if (typeof options[i] === "undefined") {
79            options[i] = defaults[i];
80          }
81        }
82      }
83      return options;
84    }
85    function range(size) {
86      return Array.apply(null, Array(size)).map(function(_, i) {
87        return i;
88      });
89    }
90    function testRange(test, errorMessage) {
91      if (test) {
92        throw new RangeError(errorMessage);
93      }
94    }
95    var base64 = function() {
96      throw new Error("No Base64 encoder available.");
97    };
98    (function determineBase64Encoder() {
99      if (typeof btoa === "function") {
100        base64 = btoa;
101      } else if (typeof Buffer === "function") {
102        base64 = function(input) {
103          return new Buffer(input).toString("base64");
104        };
105      }
106    })();
107    Chance.prototype.bool = function(options) {
108      options = initOptions(options, { likelihood: 50 });
109      testRange(
110        options.likelihood < 0 || options.likelihood > 100,
111        "Chance: Likelihood accepts values from 0 to 100."
112      );
113      return this.random() * 100 < options.likelihood;
114    };
115    Chance.prototype.falsy = function(options) {
116      options = initOptions(options, { pool: [false, null, 0, NaN, "", void 0] });
117      var pool = options.pool, index = this.integer({ min: 0, max: pool.length - 1 }), value = pool[index];
118      return value;
119    };
120    Chance.prototype.animal = function(options) {
121      options = initOptions(options);
122      if (typeof options.type !== "undefined") {
123        testRange(
124          !this.get("animals")[options.type.toLowerCase()],
125          "Please pick from desert, ocean, grassland, forest, zoo, pets, farm."
126        );
127        return this.pick(this.get("animals")[options.type.toLowerCase()]);
128      }
129      var animalTypeArray = ["desert", "forest", "ocean", "zoo", "farm", "pet", "grassland"];
130      return this.pick(this.get("animals")[this.pick(animalTypeArray)]);
131    };
132    Chance.prototype.character = function(options) {
133      options = initOptions(options);
134      var symbols = "!@#$%^&*()[]", letters, pool;
135      if (options.casing === "lower") {
136        letters = CHARS_LOWER;
137      } else if (options.casing === "upper") {
138        letters = CHARS_UPPER;
139      } else {
140        letters = CHARS_LOWER + CHARS_UPPER;
141      }
142      if (options.pool) {
143        pool = options.pool;
144      } else {
145        pool = "";
146        if (options.alpha) {
147          pool += letters;
148        }
149        if (options.numeric) {
150          pool += NUMBERS;
151        }
152        if (options.symbols) {
153          pool += symbols;
154        }
155        if (!pool) {
156          pool = letters + NUMBERS + symbols;
157        }
158      }
159      return pool.charAt(this.natural({ max: pool.length - 1 }));
160    };
161    Chance.prototype.floating = function(options) {
162      options = initOptions(options, { fixed: 4 });
163      testRange(
164        options.fixed && options.precision,
165        "Chance: Cannot specify both fixed and precision."
166      );
167      var num;
168      var fixed = Math.pow(10, options.fixed);
169      var max = MAX_INT / fixed;
170      var min = -max;
171      testRange(
172        options.min && options.fixed && options.min < min,
173        "Chance: Min specified is out of range with fixed. Min should be, at least, " + min
174      );
175      testRange(
176        options.max && options.fixed && options.max > max,
177        "Chance: Max specified is out of range with fixed. Max should be, at most, " + max
178      );
179      options = initOptions(options, { min, max });
180      num = this.integer({ min: options.min * fixed, max: options.max * fixed });
181      var num_fixed = (num / fixed).toFixed(options.fixed);
182      return parseFloat(num_fixed);
183    };
184    Chance.prototype.integer = function(options) {
185      options = initOptions(options, { min: MIN_INT, max: MAX_INT });
186      testRange(options.min > options.max, "Chance: Min cannot be greater than Max.");
187      return Math.floor(this.random() * (options.max - options.min + 1) + options.min);
188    };
189    Chance.prototype.natural = function(options) {
190      options = initOptions(options, { min: 0, max: MAX_INT });
191      if (typeof options.numerals === "number") {
192        testRange(options.numerals < 1, "Chance: Numerals cannot be less than one.");
193        options.min = Math.pow(10, options.numerals - 1);
194        options.max = Math.pow(10, options.numerals) - 1;
195      }
196      testRange(options.min < 0, "Chance: Min cannot be less than zero.");
197      if (options.exclude) {
198        testRange(!Array.isArray(options.exclude), "Chance: exclude must be an array.");
199        for (var exclusionIndex in options.exclude) {
200          testRange(!Number.isInteger(options.exclude[exclusionIndex]), "Chance: exclude must be numbers.");
201        }
202        var random = options.min + this.natural({ max: options.max - options.min - options.exclude.length });
203        var sortedExclusions = options.exclude.sort();
204        for (var sortedExclusionIndex in sortedExclusions) {
205          if (random < sortedExclusions[sortedExclusionIndex]) {
206            break;
207          }
208          random++;
209        }
210        return random;
211      }
212      return this.integer(options);
213    };
214    Chance.prototype.prime = function(options) {
215      options = initOptions(options, { min: 0, max: 1e4 });
216      testRange(options.min < 0, "Chance: Min cannot be less than zero.");
217      testRange(options.min > options.max, "Chance: Min cannot be greater than Max.");
218      var lastPrime = data.primes[data.primes.length - 1];
219      if (options.max > lastPrime) {
220        for (var i = lastPrime + 2; i <= options.max; ++i) {
221          if (this.is_prime(i)) {
222            data.primes.push(i);
223          }
224        }
225      }
226      var targetPrimes = data.primes.filter(function(prime) {
227        return prime >= options.min && prime <= options.max;
228      });
229      return this.pick(targetPrimes);
230    };
231    Chance.prototype.is_prime = function(n) {
232      if (n % 1 || n < 2) {
233        return false;
234      }
235      if (n % 2 === 0) {
236        return n === 2;
237      }
238      if (n % 3 === 0) {
239        return n === 3;
240      }
241      var m = Math.sqrt(n);
242      for (var i = 5; i <= m; i += 6) {
243        if (n % i === 0 || n % (i + 2) === 0) {
244          return false;
245        }
246      }
247      return true;
248    };
249    Chance.prototype.hex = function(options) {
250      options = initOptions(options, { min: 0, max: MAX_INT, casing: "lower" });
251      testRange(options.min < 0, "Chance: Min cannot be less than zero.");
252      var integer = this.natural({ min: options.min, max: options.max });
253      if (options.casing === "upper") {
254        return integer.toString(16).toUpperCase();
255      }
256      return integer.toString(16);
257    };
258    Chance.prototype.letter = function(options) {
259      options = initOptions(options, { casing: "lower" });
260      var pool = "abcdefghijklmnopqrstuvwxyz";
261      var letter = this.character({ pool });
262      if (options.casing === "upper") {
263        letter = letter.toUpperCase();
264      }
265      return letter;
266    };
267    Chance.prototype.string = function(options) {
268      options = initOptions(options, { min: 5, max: 20 });
269      if (options.length !== 0 && !options.length) {
270        options.length = this.natural({ min: options.min, max: options.max });
271      }
272      testRange(options.length < 0, "Chance: Length cannot be less than zero.");
273      var length = options.length, text = this.n(this.character, length, options);
274      return text.join("");
275    };
276    function CopyToken(c) {
277      this.c = c;
278    }
279    CopyToken.prototype = {
280      substitute: function() {
281        return this.c;
282      }
283    };
284    function EscapeToken(c) {
285      this.c = c;
286    }
287    EscapeToken.prototype = {
288      substitute: function() {
289        if (!/[{}\\]/.test(this.c)) {
290          throw new Error('Invalid escape sequence: "\\' + this.c + '".');
291        }
292        return this.c;
293      }
294    };
295    function ReplaceToken(c) {
296      this.c = c;
297    }
298    ReplaceToken.prototype = {
299      replacers: {
300        "#": function(chance2) {
301          return chance2.character({ pool: NUMBERS });
302        },
303        "A": function(chance2) {
304          return chance2.character({ pool: CHARS_UPPER });
305        },
306        "a": function(chance2) {
307          return chance2.character({ pool: CHARS_LOWER });
308        }
309      },
310      substitute: function(chance2) {
311        var replacer = this.replacers[this.c];
312        if (!replacer) {
313          throw new Error('Invalid replacement character: "' + this.c + '".');
314        }
315        return replacer(chance2);
316      }
317    };
318    function parseTemplate(template) {
319      var tokens = [];
320      var mode = "identity";
321      for (var i = 0; i < template.length; i++) {
322        var c = template[i];
323        switch (mode) {
324          case "escape":
325            tokens.push(new EscapeToken(c));
326            mode = "identity";
327            break;
328          case "identity":
329            if (c === "{") {
330              mode = "replace";
331            } else if (c === "\\") {
332              mode = "escape";
333            } else {
334              tokens.push(new CopyToken(c));
335            }
336            break;
337          case "replace":
338            if (c === "}") {
339              mode = "identity";
340            } else {
341              tokens.push(new ReplaceToken(c));
342            }
343            break;
344        }
345      }
346      return tokens;
347    }
348    Chance.prototype.template = function(template) {
349      if (!template) {
350        throw new Error("Template string is required");
351      }
352      var self2 = this;
353      return parseTemplate(template).map(function(token) {
354        return token.substitute(self2);
355      }).join("");
356    };
357    Chance.prototype.buffer = function(options) {
358      if (typeof Buffer === "undefined") {
359        throw new UnsupportedError("Sorry, the buffer() function is not supported on your platform");
360      }
361      options = initOptions(options, { length: this.natural({ min: 5, max: 20 }) });
362      testRange(options.length < 0, "Chance: Length cannot be less than zero.");
363      var length = options.length;
364      var content = this.n(this.character, length, options);
365      return Buffer.from(content);
366    };
367    Chance.prototype.capitalize = function(word) {
368      return word.charAt(0).toUpperCase() + word.substr(1);
369    };
370    Chance.prototype.mixin = function(obj) {
371      for (var func_name in obj) {
372        this[func_name] = obj[func_name];
373      }
374      return this;
375    };
376    Chance.prototype.unique = function(fn, num, options) {
377      testRange(
378        typeof fn !== "function",
379        "Chance: The first argument must be a function."
380      );
381      var comparator = function(arr2, val) {
382        return arr2.indexOf(val) !== -1;
383      };
384      if (options) {
385        comparator = options.comparator || comparator;
386      }
387      var arr = [], count = 0, result, MAX_DUPLICATES = num * 50, params = slice.call(arguments, 2);
388      while (arr.length < num) {
389        var clonedParams = JSON.parse(JSON.stringify(params));
390        result = fn.apply(this, clonedParams);
391        if (!comparator(arr, result)) {
392          arr.push(result);
393          count = 0;
394        }
395        if (++count > MAX_DUPLICATES) {
396          throw new RangeError("Chance: num is likely too large for sample set");
397        }
398      }
399      return arr;
400    };
401    Chance.prototype.n = function(fn, n) {
402      testRange(
403        typeof fn !== "function",
404        "Chance: The first argument must be a function."
405      );
406      if (typeof n === "undefined") {
407        n = 1;
408      }
409      var i = n, arr = [], params = slice.call(arguments, 2);
410      i = Math.max(0, i);
411      for (null; i--; null) {
412        arr.push(fn.apply(this, params));
413      }
414      return arr;
415    };
416    Chance.prototype.pad = function(number, width, pad) {
417      pad = pad || "0";
418      number = number + "";
419      return number.length >= width ? number : new Array(width - number.length + 1).join(pad) + number;
420    };
421    Chance.prototype.pick = function(arr, count) {
422      if (arr.length === 0) {
423        throw new RangeError("Chance: Cannot pick() from an empty array");
424      }
425      if (!count || count === 1) {
426        return arr[this.natural({ max: arr.length - 1 })];
427      } else {
428        return this.shuffle(arr).slice(0, count);
429      }
430    };
431    Chance.prototype.pickone = function(arr) {
432      if (arr.length === 0) {
433        throw new RangeError("Chance: Cannot pickone() from an empty array");
434      }
435      return arr[this.natural({ max: arr.length - 1 })];
436    };
437    Chance.prototype.pickset = function(arr, count) {
438      if (count === 0) {
439        return [];
440      }
441      if (arr.length === 0) {
442        throw new RangeError("Chance: Cannot pickset() from an empty array");
443      }
444      if (count < 0) {
445        throw new RangeError("Chance: Count must be a positive number");
446      }
447      if (!count || count === 1) {
448        return [this.pickone(arr)];
449      } else {
450        var array = arr.slice(0);
451        var end = array.length;
452        return this.n(function() {
453          var index = this.natural({ max: --end });
454          var value = array[index];
455          array[index] = array[end];
456          return value;
457        }, Math.min(end, count));
458      }
459    };
460    Chance.prototype.shuffle = function(arr) {
461      var new_array = [], j = 0, length = Number(arr.length), source_indexes = range(length), last_source_index = length - 1, selected_source_index;
462      for (var i = 0; i < length; i++) {
463        selected_source_index = this.natural({ max: last_source_index });
464        j = source_indexes[selected_source_index];
465        new_array[i] = arr[j];
466        source_indexes[selected_source_index] = source_indexes[last_source_index];
467        last_source_index -= 1;
468      }
469      return new_array;
470    };
471    Chance.prototype.weighted = function(arr, weights, trim) {
472      if (arr.length !== weights.length) {
473        throw new RangeError("Chance: Length of array and weights must match");
474      }
475      var sum = 0;
476      var val;
477      for (var weightIndex = 0; weightIndex < weights.length; ++weightIndex) {
478        val = weights[weightIndex];
479        if (isNaN(val)) {
480          throw new RangeError("Chance: All weights must be numbers");
481        }
482        if (val > 0) {
483          sum += val;
484        }
485      }
486      if (sum === 0) {
487        throw new RangeError("Chance: No valid entries in array weights");
488      }
489      var selected = this.random() * sum;
490      var total = 0;
491      var lastGoodIdx = -1;
492      var chosenIdx;
493      for (weightIndex = 0; weightIndex < weights.length; ++weightIndex) {
494        val = weights[weightIndex];
495        total += val;
496        if (val > 0) {
497          if (selected <= total) {
498            chosenIdx = weightIndex;
499            break;
500          }
501          lastGoodIdx = weightIndex;
502        }
503        if (weightIndex === weights.length - 1) {
504          chosenIdx = lastGoodIdx;
505        }
506      }
507      var chosen = arr[chosenIdx];
508      trim = typeof trim === "undefined" ? false : trim;
509      if (trim) {
510        arr.splice(chosenIdx, 1);
511        weights.splice(chosenIdx, 1);
512      }
513      return chosen;
514    };
515    Chance.prototype.paragraph = function(options) {
516      options = initOptions(options);
517      var sentences = options.sentences || this.natural({ min: 3, max: 7 }), sentence_array = this.n(this.sentence, sentences), separator = options.linebreak === true ? "\n" : " ";
518      return sentence_array.join(separator);
519    };
520    Chance.prototype.sentence = function(options) {
521      options = initOptions(options);
522      var words = options.words || this.natural({ min: 12, max: 18 }), punctuation = options.punctuation, text, word_array = this.n(this.word, words);
523      text = word_array.join(" ");
524      text = this.capitalize(text);
525      if (punctuation !== false && !/^[.?;!:]$/.test(punctuation)) {
526        punctuation = ".";
527      }
528      if (punctuation) {
529        text += punctuation;
530      }
531      return text;
532    };
533    Chance.prototype.syllable = function(options) {
534      options = initOptions(options);
535      var length = options.length || this.natural({ min: 2, max: 3 }), consonants = "bcdfghjklmnprstvwz", vowels = "aeiou", all = consonants + vowels, text = "", chr;
536      for (var i = 0; i < length; i++) {
537        if (i === 0) {
538          chr = this.character({ pool: all });
539        } else if (consonants.indexOf(chr) === -1) {
540          chr = this.character({ pool: consonants });
541        } else {
542          chr = this.character({ pool: vowels });
543        }
544        text += chr;
545      }
546      if (options.capitalize) {
547        text = this.capitalize(text);
548      }
549      return text;
550    };
551    Chance.prototype.word = function(options) {
552      options = initOptions(options);
553      testRange(
554        options.syllables && options.length,
555        "Chance: Cannot specify both syllables AND length."
556      );
557      var syllables = options.syllables || this.natural({ min: 1, max: 3 }), text = "";
558      if (options.length) {
559        do {
560          text += this.syllable();
561        } while (text.length < options.length);
562        text = text.substring(0, options.length);
563      } else {
564        for (var i = 0; i < syllables; i++) {
565          text += this.syllable();
566        }
567      }
568      if (options.capitalize) {
569        text = this.capitalize(text);
570      }
571      return text;
572    };
573    Chance.prototype.emoji = function(options) {
574      options = initOptions(options, { category: "all", length: 1 });
575      testRange(
576        options.length < 1 || BigInt(options.length) > BigInt(MAX_INT),
577        "Chance: length must be between 1 and " + String(MAX_INT)
578      );
579      var emojis = this.get("emojis");
580      if (options.category === "all") {
581        options.category = this.pickone(Object.keys(emojis));
582      }
583      var emojisForCategory = emojis[options.category];
584      testRange(
585        emojisForCategory === void 0,
586        "Chance: Unrecognised emoji category: [" + options.category + "]."
587      );
588      return this.pickset(emojisForCategory, options.length).map(function(codePoint) {
589        return String.fromCodePoint(codePoint);
590      }).join("");
591    };
592    Chance.prototype.age = function(options) {
593      options = initOptions(options);
594      var ageRange;
595      switch (options.type) {
596        case "child":
597          ageRange = { min: 0, max: 12 };
598          break;
599        case "teen":
600          ageRange = { min: 13, max: 19 };
601          break;
602        case "adult":
603          ageRange = { min: 18, max: 65 };
604          break;
605        case "senior":
606          ageRange = { min: 65, max: 100 };
607          break;
608        case "all":
609          ageRange = { min: 0, max: 100 };
610          break;
611        default:
612          ageRange = { min: 18, max: 65 };
613          break;
614      }
615      return this.natural(ageRange);
616    };
617    Chance.prototype.birthday = function(options) {
618      var age = this.age(options);
619      var now = /* @__PURE__ */ new Date();
620      var currentYear = now.getFullYear();
621      if (options && options.type) {
622        var min = /* @__PURE__ */ new Date();
623        var max = /* @__PURE__ */ new Date();
624        min.setFullYear(currentYear - age - 1);
625        max.setFullYear(currentYear - age);
626        options = initOptions(options, {
627          min,
628          max
629        });
630      } else if (options && (options.minAge !== void 0 || options.maxAge !== void 0)) {
631        testRange(options.minAge < 0, "Chance: MinAge cannot be less than zero.");
632        testRange(options.minAge > options.maxAge, "Chance: MinAge cannot be greater than MaxAge.");
633        var minAge = options.minAge !== void 0 ? options.minAge : 0;
634        var maxAge = options.maxAge !== void 0 ? options.maxAge : 100;
635        var minDate = new Date(currentYear - maxAge - 1, now.getMonth(), now.getDate());
636        var maxDate = new Date(currentYear - minAge, now.getMonth(), now.getDate());
637        minDate.setDate(minDate.getDate() + 1);
638        maxDate.setDate(maxDate.getDate() + 1);
639        maxDate.setMilliseconds(maxDate.getMilliseconds() - 1);
640        options = initOptions(options, {
641          min: minDate,
642          max: maxDate
643        });
644      } else {
645        options = initOptions(options, {
646          year: currentYear - age
647        });
648      }
649      return this.date(options);
650    };
651    Chance.prototype.cpf = function(options) {
652      options = initOptions(options, {
653        formatted: true
654      });
655      var n = this.n(this.natural, 9, { max: 9 });
656      var d1 = n[8] * 2 + n[7] * 3 + n[6] * 4 + n[5] * 5 + n[4] * 6 + n[3] * 7 + n[2] * 8 + n[1] * 9 + n[0] * 10;
657      d1 = 11 - d1 % 11;
658      if (d1 >= 10) {
659        d1 = 0;
660      }
661      var d2 = d1 * 2 + n[8] * 3 + n[7] * 4 + n[6] * 5 + n[5] * 6 + n[4] * 7 + n[3] * 8 + n[2] * 9 + n[1] * 10 + n[0] * 11;
662      d2 = 11 - d2 % 11;
663      if (d2 >= 10) {
664        d2 = 0;
665      }
666      var cpf = "" + n[0] + n[1] + n[2] + "." + n[3] + n[4] + n[5] + "." + n[6] + n[7] + n[8] + "-" + d1 + d2;
667      return options.formatted ? cpf : cpf.replace(/\D/g, "");
668    };
669    Chance.prototype.cnpj = function(options) {
670      options = initOptions(options, {
671        formatted: true
672      });
673      var n = this.n(this.natural, 12, { max: 12 });
674      var d1 = n[11] * 2 + n[10] * 3 + n[9] * 4 + n[8] * 5 + n[7] * 6 + n[6] * 7 + n[5] * 8 + n[4] * 9 + n[3] * 2 + n[2] * 3 + n[1] * 4 + n[0] * 5;
675      d1 = 11 - d1 % 11;
676      if (d1 < 2) {
677        d1 = 0;
678      }
679      var d2 = d1 * 2 + n[11] * 3 + n[10] * 4 + n[9] * 5 + n[8] * 6 + n[7] * 7 + n[6] * 8 + n[5] * 9 + n[4] * 2 + n[3] * 3 + n[2] * 4 + n[1] * 5 + n[0] * 6;
680      d2 = 11 - d2 % 11;
681      if (d2 < 2) {
682        d2 = 0;
683      }
684      var cnpj = "" + n[0] + n[1] + "." + n[2] + n[3] + n[4] + "." + n[5] + n[6] + n[7] + "/" + n[8] + n[9] + n[10] + n[11] + "-" + d1 + d2;
685      return options.formatted ? cnpj : cnpj.replace(/\D/g, "");
686    };
687    Chance.prototype.first = function(options) {
688      options = initOptions(options, { gender: this.gender(), nationality: "en" });
689      return this.pick(this.get("firstNames")[options.gender.toLowerCase()][options.nationality.toLowerCase()]);
690    };
691    Chance.prototype.profession = function(options) {
692      options = initOptions(options);
693      if (options.rank) {
694        return this.pick(["Apprentice ", "Junior ", "Senior ", "Lead "]) + this.pick(this.get("profession"));
695      } else {
696        return this.pick(this.get("profession"));
697      }
698    };
699    Chance.prototype.company = function() {
700      return this.pick(this.get("company"));
701    };
702    Chance.prototype.gender = function(options) {
703      options = initOptions(options, { extraGenders: [] });
704      return this.pick(["Male", "Female"].concat(options.extraGenders));
705    };
706    Chance.prototype.last = function(options) {
707      options = initOptions(options, { nationality: "*" });
708      if (options.nationality === "*") {
709        var allLastNames = [];
710        var lastNames = this.get("lastNames");
711        Object.keys(lastNames).forEach(function(key) {
712          allLastNames = allLastNames.concat(lastNames[key]);
713        });
714        return this.pick(allLastNames);
715      } else {
716        return this.pick(this.get("lastNames")[options.nationality.toLowerCase()]);
717      }
718    };
719    Chance.prototype.israelId = function() {
720      var x = this.string({ pool: "0123456789", length: 8 });
721      var y = 0;
722      for (var i = 0; i < x.length; i++) {
723        var thisDigit = x[i] * (i / 2 === parseInt(i / 2) ? 1 : 2);
724        thisDigit = this.pad(thisDigit, 2).toString();
725        thisDigit = parseInt(thisDigit[0]) + parseInt(thisDigit[1]);
726        y = y + thisDigit;
727      }
728      x = x + (10 - parseInt(y.toString().slice(-1))).toString().slice(-1);
729      return x;
730    };
731    Chance.prototype.mrz = function(options) {
732      var checkDigit = function(input) {
733        var alpha = "<ABCDEFGHIJKLMNOPQRSTUVWXYXZ".split(""), multipliers = [7, 3, 1], runningTotal = 0;
734        if (typeof input !== "string") {
735          input = input.toString();
736        }
737        input.split("").forEach(function(character, idx) {
738          var pos = alpha.indexOf(character);
739          if (pos !== -1) {
740            character = pos === 0 ? 0 : pos + 9;
741          } else {
742            character = parseInt(character, 10);
743          }
744          character *= multipliers[idx % multipliers.length];
745          runningTotal += character;
746        });
747        return runningTotal % 10;
748      };
749      var generate = function(opts) {
750        var pad = function(length) {
751          return new Array(length + 1).join("<");
752        };
753        var number = [
754          "P<",
755          opts.issuer,
756          opts.last.toUpperCase(),
757          "<<",
758          opts.first.toUpperCase(),
759          pad(39 - (opts.last.length + opts.first.length + 2)),
760          opts.passportNumber,
761          checkDigit(opts.passportNumber),
762          opts.nationality,
763          opts.dob,
764          checkDigit(opts.dob),
765          opts.gender,
766          opts.expiry,
767          checkDigit(opts.expiry),
768          pad(14),
769          checkDigit(pad(14))
770        ].join("");
771        return number + checkDigit(number.substr(44, 10) + number.substr(57, 7) + number.substr(65, 7));
772      };
773      var that = this;
774      options = initOptions(options, {
775        first: this.first(),
776        last: this.last(),
777        passportNumber: this.integer({ min: 1e8, max: 999999999 }),
778        dob: (function() {
779          var date = that.birthday({ type: "adult" });
780          return [
781            date.getFullYear().toString().substr(2),
782            that.pad(date.getMonth() + 1, 2),
783            that.pad(date.getDate(), 2)
784          ].join("");
785        })(),
786        expiry: (function() {
787          var date = /* @__PURE__ */ new Date();
788          return [
789            (date.getFullYear() + 5).toString().substr(2),
790            that.pad(date.getMonth() + 1, 2),
791            that.pad(date.getDate(), 2)
792          ].join("");
793        })(),
794        gender: this.gender() === "Female" ? "F" : "M",
795        issuer: "GBR",
796        nationality: "GBR"
797      });
798      return generate(options);
799    };
800    Chance.prototype.name = function(options) {
801      options = initOptions(options);
802      var first = this.first(options), last = this.last(options), name;
803      if (options.middle) {
804        name = first + " " + this.first(options) + " " + last;
805      } else if (options.middle_initial) {
806        name = first + " " + this.character({ alpha: true, casing: "upper" }) + ". " + last;
807      } else {
808        name = first + " " + last;
809      }
810      if (options.prefix) {
811        name = this.prefix(options) + " " + name;
812      }
813      if (options.suffix) {
814        name = name + " " + this.suffix(options);
815      }
816      return name;
817    };
818    Chance.prototype.name_prefixes = function(gender) {
819      gender = gender || "all";
820      gender = gender.toLowerCase();
821      var prefixes = [
822        { name: "Doctor", abbreviation: "Dr." }
823      ];
824      if (gender === "male" || gender === "all") {
825        prefixes.push({ name: "Mister", abbreviation: "Mr." });
826      }
827      if (gender === "female" || gender === "all") {
828        prefixes.push({ name: "Miss", abbreviation: "Miss" });
829        prefixes.push({ name: "Misses", abbreviation: "Mrs." });
830      }
831      return prefixes;
832    };
833    Chance.prototype.prefix = function(options) {
834      return this.name_prefix(options);
835    };
836    Chance.prototype.name_prefix = function(options) {
837      options = initOptions(options, { gender: "all" });
838      return options.full ? this.pick(this.name_prefixes(options.gender)).name : this.pick(this.name_prefixes(options.gender)).abbreviation;
839    };
840    Chance.prototype.HIDN = function() {
841      var idn_pool = "0123456789";
842      var idn_chrs = "ABCDEFGHIJKLMNOPQRSTUVWXYXZ";
843      var idn = "";
844      idn += this.string({ pool: idn_pool, length: 6 });
845      idn += this.string({ pool: idn_chrs, length: 2 });
846      return idn;
847    };
848    Chance.prototype.ssn = function(options) {
849      options = initOptions(options, { ssnFour: false, dashes: true });
850      var ssn_pool = "1234567890", ssn, dash = options.dashes ? "-" : "";
851      if (!options.ssnFour) {
852        ssn = this.string({ pool: ssn_pool, length: 3 }) + dash + this.string({ pool: ssn_pool, length: 2 }) + dash + this.string({ pool: ssn_pool, length: 4 });
853      } else {
854        ssn = this.string({ pool: ssn_pool, length: 4 });
855      }
856      return ssn;
857    };
858    Chance.prototype.aadhar = function(options) {
859      options = initOptions(options, { onlyLastFour: false, separatedByWhiteSpace: true });
860      var aadhar_pool = "1234567890", aadhar, whiteSpace = options.separatedByWhiteSpace ? " " : "";
861      if (!options.onlyLastFour) {
862        aadhar = this.string({ pool: aadhar_pool, length: 4 }) + whiteSpace + this.string({ pool: aadhar_pool, length: 4 }) + whiteSpace + this.string({ pool: aadhar_pool, length: 4 });
863      } else {
864        aadhar = this.string({ pool: aadhar_pool, length: 4 });
865      }
866      return aadhar;
867    };
868    Chance.prototype.name_suffixes = function() {
869      var suffixes = [
870        { name: "Doctor of Osteopathic Medicine", abbreviation: "D.O." },
871        { name: "Doctor of Philosophy", abbreviation: "Ph.D." },
872        { name: "Esquire", abbreviation: "Esq." },
873        { name: "Junior", abbreviation: "Jr." },
874        { name: "Juris Doctor", abbreviation: "J.D." },
875        { name: "Master of Arts", abbreviation: "M.A." },
876        { name: "Master of Business Administration", abbreviation: "M.B.A." },
877        { name: "Master of Science", abbreviation: "M.S." },
878        { name: "Medical Doctor", abbreviation: "M.D." },
879        { name: "Senior", abbreviation: "Sr." },
880        { name: "The Third", abbreviation: "III" },
881        { name: "The Fourth", abbreviation: "IV" },
882        { name: "Bachelor of Engineering", abbreviation: "B.E" },
883        { name: "Bachelor of Technology", abbreviation: "B.TECH" }
884      ];
885      return suffixes;
886    };
887    Chance.prototype.suffix = function(options) {
888      return this.name_suffix(options);
889    };
890    Chance.prototype.name_suffix = function(options) {
891      options = initOptions(options);
892      return options.full ? this.pick(this.name_suffixes()).name : this.pick(this.name_suffixes()).abbreviation;
893    };
894    Chance.prototype.nationalities = function() {
895      return this.get("nationalities");
896    };
897    Chance.prototype.nationality = function() {
898      var nationality = this.pick(this.nationalities());
899      return nationality.name;
900    };
901    Chance.prototype.zodiac = function() {
902      const zodiacSymbols = ["Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn", "Aquarius", "Pisces"];
903      return this.pickone(zodiacSymbols);
904    };
905    Chance.prototype.android_id = function() {
906      return "APA91" + this.string({ pool: "0123456789abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_", length: 178 });
907    };
908    Chance.prototype.apple_token = function() {
909      return this.string({ pool: "abcdef1234567890", length: 64 });
910    };
911    Chance.prototype.wp8_anid2 = function() {
912      return base64(this.hash({ length: 32 }));
913    };
914    Chance.prototype.wp7_anid = function() {
915      return "A=" + this.guid().replace(/-/g, "").toUpperCase() + "&E=" + this.hash({ length: 3 }) + "&W=" + this.integer({ min: 0, max: 9 });
916    };
917    Chance.prototype.bb_pin = function() {
918      return this.hash({ length: 8 });
919    };
920    Chance.prototype.avatar = function(options) {
921      var url = null;
922      var URL_BASE = "//www.gravatar.com/avatar/";
923      var PROTOCOLS = {
924        http: "http",
925        https: "https"
926      };
927      var FILE_TYPES = {
928        bmp: "bmp",
929        gif: "gif",
930        jpg: "jpg",
931        png: "png"
932      };
933      var FALLBACKS = {
934        "404": "404",
935        // Return 404 if not found
936        mm: "mm",
937        // Mystery man
938        identicon: "identicon",
939        // Geometric pattern based on hash
940        monsterid: "monsterid",
941        // A generated monster icon
942        wavatar: "wavatar",
943        // A generated face
944        retro: "retro",
945        // 8-bit icon
946        blank: "blank"
947        // A transparent png
948      };
949      var RATINGS = {
950        g: "g",
951        pg: "pg",
952        r: "r",
953        x: "x"
954      };
955      var opts = {
956        protocol: null,
957        email: null,
958        fileExtension: null,
959        size: null,
960        fallback: null,
961        rating: null
962      };
963      if (!options) {
964        opts.email = this.email();
965        options = {};
966      } else if (typeof options === "string") {
967        opts.email = options;
968        options = {};
969      } else if (typeof options !== "object") {
970        return null;
971      } else if (options.constructor === "Array") {
972        return null;
973      }
974      opts = initOptions(options, opts);
975      if (!opts.email) {
976        opts.email = this.email();
977      }
978      opts.protocol = PROTOCOLS[opts.protocol] ? opts.protocol + ":" : "";
979      opts.size = parseInt(opts.size, 0) ? opts.size : "";
980      opts.rating = RATINGS[opts.rating] ? opts.rating : "";
981      opts.fallback = FALLBACKS[opts.fallback] ? opts.fallback : "";
982      opts.fileExtension = FILE_TYPES[opts.fileExtension] ? opts.fileExtension : "";
983      url = opts.protocol + URL_BASE + this.bimd5.md5(opts.email) + (opts.fileExtension ? "." + opts.fileExtension : "") + (opts.size || opts.rating || opts.fallback ? "?" : "") + (opts.size ? "&s=" + opts.size.toString() : "") + (opts.rating ? "&r=" + opts.rating : "") + (opts.fallback ? "&d=" + opts.fallback : "");
984      return url;
985    };
986    Chance.prototype.color = function(options) {
987      function gray(value, delimiter) {
988        return [value, value, value].join(delimiter || "");
989      }
990      function rgb(hasAlpha) {
991        var rgbValue = hasAlpha ? "rgba" : "rgb";
992        var alphaChannel = hasAlpha ? "," + this.floating({ min: min_alpha, max: max_alpha }) : "";
993        var colorValue2 = isGrayscale ? gray(this.natural({ min: min_rgb, max: max_rgb }), ",") : this.natural({ min: min_green, max: max_green }) + "," + this.natural({ min: min_blue, max: max_blue }) + "," + this.natural({ max: 255 });
994        return rgbValue + "(" + colorValue2 + alphaChannel + ")";
995      }
996      function hex(start, end, withHash) {
997        var symbol = withHash ? "#" : "";
998        var hexstring = "";
999        if (isGrayscale) {
1000          hexstring = gray(this.pad(this.hex({ min: min_rgb, max: max_rgb }), 2));
1001          if (options.format === "shorthex") {
1002            hexstring = gray(this.hex({ min: 0, max: 15 }));
1003          }
1004        } else {
1005          if (options.format === "shorthex") {
1006            hexstring = this.pad(this.hex({ min: Math.floor(min_red / 16), max: Math.floor(max_red / 16) }), 1) + this.pad(this.hex({ min: Math.floor(min_green / 16), max: Math.floor(max_green / 16) }), 1) + this.pad(this.hex({ min: Math.floor(min_blue / 16), max: Math.floor(max_blue / 16) }), 1);
1007          } else if (min_red !== void 0 || max_red !== void 0 || min_green !== void 0 || max_green !== void 0 || min_blue !== void 0 || max_blue !== void 0) {
1008            hexstring = this.pad(this.hex({ min: min_red, max: max_red }), 2) + this.pad(this.hex({ min: min_green, max: max_green }), 2) + this.pad(this.hex({ min: min_blue, max: max_blue }), 2);
1009          } else {
1010            hexstring = this.pad(this.hex({ min: min_rgb, max: max_rgb }), 2) + this.pad(this.hex({ min: min_rgb, max: max_rgb }), 2) + this.pad(this.hex({ min: min_rgb, max: max_rgb }), 2);
1011          }
1012        }
1013        return symbol + hexstring;
1014      }
1015      options = initOptions(options, {
1016        format: this.pick(["hex", "shorthex", "rgb", "rgba", "0x", "name"]),
1017        grayscale: false,
1018        casing: "lower",
1019        min: 0,
1020        max: 255,
1021        min_red: void 0,
1022        max_red: void 0,
1023        min_green: void 0,
1024        max_green: void 0,
1025        min_blue: void 0,
1026        max_blue: void 0,
1027        min_alpha: 0,
1028        max_alpha: 1
1029      });
1030      var isGrayscale = options.grayscale;
1031      var min_rgb = options.min;
1032      var max_rgb = options.max;
1033      var min_red = options.min_red;
1034      var max_red = options.max_red;
1035      var min_green = options.min_green;
1036      var max_green = options.max_green;
1037      var min_blue = options.min_blue;
1038      var max_blue = options.max_blue;
1039      var min_alpha = options.min_alpha;
1040      var max_alpha = options.max_alpha;
1041      if (options.min_red === void 0) {
1042        min_red = min_rgb;
1043      }
1044      if (options.max_red === void 0) {
1045        max_red = max_rgb;
1046      }
1047      if (options.min_green === void 0) {
1048        min_green = min_rgb;
1049      }
1050      if (options.max_green === void 0) {
1051        max_green = max_rgb;
1052      }
1053      if (options.min_blue === void 0) {
1054        min_blue = min_rgb;
1055      }
1056      if (options.max_blue === void 0) {
1057        max_blue = max_rgb;
1058      }
1059      if (options.min_alpha === void 0) {
1060        min_alpha = 0;
1061      }
1062      if (options.max_alpha === void 0) {
1063        max_alpha = 1;
1064      }
1065      if (isGrayscale && min_rgb === 0 && max_rgb === 255 && min_red !== void 0 && max_red !== void 0) {
1066        min_rgb = (min_red + min_green + min_blue) / 3;
1067        max_rgb = (max_red + max_green + max_blue) / 3;
1068      }
1069      var colorValue;
1070      if (options.format === "hex") {
1071        colorValue = hex.call(this, 2, 6, true);
1072      } else if (options.format === "shorthex") {
1073        colorValue = hex.call(this, 1, 3, true);
1074      } else if (options.format === "rgb") {
1075        colorValue = rgb.call(this, false);
1076      } else if (options.format === "rgba") {
1077        colorValue = rgb.call(this, true);
1078      } else if (options.format === "0x") {
1079        colorValue = "0x" + hex.call(this, 2, 6);
1080      } else if (options.format === "name") {
1081        return this.pick(this.get("colorNames"));
1082      } else {
1083        throw new RangeError('Invalid format provided. Please provide one of "hex", "shorthex", "rgb", "rgba", "0x" or "name".');
1084      }
1085      if (options.casing === "upper") {
1086        colorValue = colorValue.toUpperCase();
1087      }
1088      return colorValue;
1089    };
1090    Chance.prototype.domain = function(options) {
1091      options = initOptions(options);
1092      return this.word() + "." + (options.tld || this.tld());
1093    };
1094    Chance.prototype.email = function(options) {
1095      options = initOptions(options);
1096      return this.word({ length: options.length }) + "@" + (options.domain || this.domain());
1097    };
1098    Chance.prototype.fbid = function() {
1099      return "10000" + this.string({ pool: "1234567890", length: 11 });
1100    };
1101    Chance.prototype.google_analytics = function() {
1102      var account = this.pad(this.natural({ max: 999999 }), 6);
1103      var property = this.pad(this.natural({ max: 99 }), 2);
1104      return "UA-" + account + "-" + property;
1105    };
1106    Chance.prototype.hashtag = function() {
1107      return "#" + this.word();
1108    };
1109    Chance.prototype.ip = function() {
1110      return this.natural({ min: 1, max: 254 }) + "." + this.natural({ max: 255 }) + "." + this.natural({ max: 255 }) + "." + this.natural({ min: 1, max: 254 });
1111    };
1112    Chance.prototype.ipv6 = function() {
1113      var ip_addr = this.n(this.hash, 8, { length: 4 });
1114      return ip_addr.join(":");
1115    };
1116    Chance.prototype.klout = function() {
1117      return this.natural({ min: 1, max: 99 });
1118    };
1119    Chance.prototype.mac = function(options) {
1120      options = initOptions(options, { delimiter: ":" });
1121      return this.pad(this.natural({ max: 255 }).toString(16), 2) + options.delimiter + this.pad(this.natural({ max: 255 }).toString(16), 2) + options.delimiter + this.pad(this.natural({ max: 255 }).toString(16), 2) + options.delimiter + this.pad(this.natural({ max: 255 }).toString(16), 2) + options.delimiter + this.pad(this.natural({ max: 255 }).toString(16), 2) + options.delimiter + this.pad(this.natural({ max: 255 }).toString(16), 2);
1122    };
1123    Chance.prototype.semver = function(options) {
1124      options = initOptions(options, { include_prerelease: true });
1125      var range2 = this.pickone(["^", "~", "<", ">", "<=", ">=", "="]);
1126      if (options.range) {
1127        range2 = options.range;
1128      }
1129      var prerelease = "";
1130      if (options.include_prerelease) {
1131        prerelease = this.weighted(["", "-dev", "-beta", "-alpha"], [50, 10, 5, 1]);
1132      }
1133      return range2 + this.rpg("3d10").join(".") + prerelease;
1134    };
1135    Chance.prototype.tlds = function() {
1136      return ["com", "org", "edu", "gov", "co.uk", "net", "io", "ac", "ad", "ae", "af", "ag", "ai", "al", "am", "ao", "aq", "ar", "as", "at", "au", "aw", "ax", "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "bj", "bm", "bn", "bo", "br", "bs", "bt", "bv", "bw", "by", "bz", "ca", "cc", "cd", "cf", "cg", "ch", "ci", "ck", "cl", "cm", "cn", "co", "cr", "cu", "cv", "cw", "cx", "cy", "cz", "de", "dj", "dk", "dm", "do", "dz", "ec", "ee", "eg", "eh", "er", "es", "et", "eu", "fi", "fj", "fk", "fm", "fo", "fr", "ga", "gb", "gd", "ge", "gf", "gg", "gh", "gi", "gl", "gm", "gn", "gp", "gq", "gr", "gs", "gt", "gu", "gw", "gy", "hk", "hm", "hn", "hr", "ht", "hu", "id", "ie", "il", "im", "in", "io", "iq", "ir", "is", "it", "je", "jm", "jo", "jp", "ke", "kg", "kh", "ki", "km", "kn", "kp", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", "lr", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "me", "mg", "mh", "mk", "ml", "mm", "mn", "mo", "mp", "mq", "mr", "ms", "mt", "mu", "mv", "mw", "mx", "my", "mz", "na", "nc", "ne", "nf", "ng", "ni", "nl", "no", "np", "nr", "nu", "nz", "om", "pa", "pe", "pf", "pg", "ph", "pk", "pl", "pm", "pn", "pr", "ps", "pt", "pw", "py", "qa", "re", "ro", "rs", "ru", "rw", "sa", "sb", "sc", "sd", "se", "sg", "sh", "si", "sj", "sk", "sl", "sm", "sn", "so", "sr", "ss", "st", "su", "sv", "sx", "sy", "sz", "tc", "td", "tf", "tg", "th", "tj", "tk", "tl", "tm", "tn", "to", "tr", "tt", "tv", "tw", "tz", "ua", "ug", "uk", "us", "uy", "uz", "va", "vc", "ve", "vg", "vi", "vn", "vu", "wf", "ws", "ye", "yt", "za", "zm", "zw"];
1137    };
1138    Chance.prototype.tld = function() {
1139      return this.pick(this.tlds());
1140    };
1141    Chance.prototype.twitter = function() {
1142      return "@" + this.word();
1143    };
1144    Chance.prototype.url = function(options) {
1145      options = initOptions(options, { protocol: "http", domain: this.domain(options), domain_prefix: "", path: this.word(), extensions: [] });
1146      var extension = options.extensions.length > 0 ? "." + this.pick(options.extensions) : "";
1147      var domain = options.domain_prefix ? options.domain_prefix + "." + options.domain : options.domain;
1148      return options.protocol + "://" + domain + "/" + options.path + extension;
1149    };
1150    Chance.prototype.port = function() {
1151      return this.integer({ min: 0, max: 65535 });
1152    };
1153    Chance.prototype.locale = function(options) {
1154      options = initOptions(options);
1155      if (options.region) {
1156        return this.pick(this.get("locale_regions"));
1157      } else {
1158        return this.pick(this.get("locale_languages"));
1159      }
1160    };
1161    Chance.prototype.locales = function(options) {
1162      options = initOptions(options);
1163      if (options.region) {
1164        return this.get("locale_regions");
1165      } else {
1166        return this.get("locale_languages");
1167      }
1168    };
1169    Chance.prototype.loremPicsum = function(options) {
1170      options = initOptions(options, { width: 500, height: 500, greyscale: false, blurred: false });
1171      var greyscale = options.greyscale ? "g/" : "";
1172      var query = options.blurred ? "/?blur" : "/?random";
1173      return "https://picsum.photos/" + greyscale + options.width + "/" + options.height + query;
1174    };
1175    Chance.prototype.address = function(options) {
1176      options = initOptions(options);
1177      return this.natural({ min: 5, max: 2e3 }) + " " + this.street(options);
1178    };
1179    Chance.prototype.altitude = function(options) {
1180      options = initOptions(options, { fixed: 5, min: 0, max: 8848 });
1181      return this.floating({
1182        min: options.min,
1183        max: options.max,
1184        fixed: options.fixed
1185      });
1186    };
1187    Chance.prototype.areacode = function(options) {
1188      options = initOptions(options, { parens: true });
1189      var areacode = options.exampleNumber ? "555" : this.natural({ min: 2, max: 9 }).toString() + this.natural({ min: 0, max: 8 }).toString() + this.natural({ min: 0, max: 9 }).toString();
1190      return options.parens ? "(" + areacode + ")" : areacode;
1191    };
1192    Chance.prototype.city = function() {
1193      return this.capitalize(this.word({ syllables: 3 }));
1194    };
1195    Chance.prototype.coordinates = function(options) {
1196      return this.latitude(options) + ", " + this.longitude(options);
1197    };
1198    Chance.prototype.countries = function() {
1199      return this.get("countries");
1200    };
1201    Chance.prototype.country = function(options) {
1202      options = initOptions(options);
1203      var country = this.pick(this.countries());
1204      return options.raw ? country : options.full ? country.name : country.abbreviation;
1205    };
1206    Chance.prototype.depth = function(options) {
1207      options = initOptions(options, { fixed: 5, min: -10994, max: 0 });
1208      return this.floating({
1209        min: options.min,
1210        max: options.max,
1211        fixed: options.fixed
1212      });
1213    };
1214    Chance.prototype.geohash = function(options) {
1215      options = initOptions(options, { length: 7 });
1216      return this.string({ length: options.length, pool: "0123456789bcdefghjkmnpqrstuvwxyz" });
1217    };
1218    Chance.prototype.geojson = function(options) {
1219      return this.latitude(options) + ", " + this.longitude(options) + ", " + this.altitude(options);
1220    };
1221    Chance.prototype.latitude = function(options) {
1222      var [DDM, DMS, DD] = ["ddm", "dms", "dd"];
1223      options = initOptions(
1224        options,
1225        options && options.format && [DDM, DMS].includes(options.format.toLowerCase()) ? { min: 0, max: 89, fixed: 4 } : { fixed: 5, min: -90, max: 90, format: DD }
1226      );
1227      var format = options.format.toLowerCase();
1228      if (format === DDM || format === DMS) {
1229        testRange(options.min < 0 || options.min > 89, "Chance: Min specified is out of range. Should be between 0 - 89");
1230        testRange(options.max < 0 || options.max > 89, "Chance: Max specified is out of range. Should be between 0 - 89");
1231        testRange(options.fixed > 4, "Chance: Fixed specified should be below or equal to 4");
1232      }
1233      switch (format) {
1234        case DDM: {
1235          return this.integer({ min: options.min, max: options.max }) + "°" + this.floating({ min: 0, max: 59, fixed: options.fixed });
1236        }
1237        case DMS: {
1238          return this.integer({ min: options.min, max: options.max }) + "°" + this.integer({ min: 0, max: 59 }) + "’" + this.floating({ min: 0, max: 59, fixed: options.fixed }) + "”";
1239        }
1240        case DD:
1241        default: {
1242          return this.floating({ min: options.min, max: options.max, fixed: options.fixed });
1243        }
1244      }
1245    };
1246    Chance.prototype.longitude = function(options) {
1247      var [DDM, DMS, DD] = ["ddm", "dms", "dd"];
1248      options = initOptions(
1249        options,
1250        options && options.format && [DDM, DMS].includes(options.format.toLowerCase()) ? { min: 0, max: 179, fixed: 4 } : { fixed: 5, min: -180, max: 180, format: DD }
1251      );
1252      var format = options.format.toLowerCase();
1253      if (format === DDM || format === DMS) {
1254        testRange(options.min < 0 || options.min > 179, "Chance: Min specified is out of range. Should be between 0 - 179");
1255        testRange(options.max < 0 || options.max > 179, "Chance: Max specified is out of range. Should be between 0 - 179");
1256        testRange(options.fixed > 4, "Chance: Fixed specified should be below or equal to 4");
1257      }
1258      switch (format) {
1259        case DDM: {
1260          return this.integer({ min: options.min, max: options.max }) + "°" + this.floating({ min: 0, max: 59.9999, fixed: options.fixed });
1261        }
1262        case DMS: {
1263          return this.integer({ min: options.min, max: options.max }) + "°" + this.integer({ min: 0, max: 59 }) + "’" + this.floating({ min: 0, max: 59.9999, fixed: options.fixed }) + "”";
1264        }
1265        case DD:
1266        default: {
1267          return this.floating({ min: options.min, max: options.max, fixed: options.fixed });
1268        }
1269      }
1270    };
1271    Chance.prototype.phone = function(options) {
1272      var self2 = this, numPick, ukNum = function(parts) {
1273        var section = [];
1274        parts.sections.forEach(function(n) {
1275          section.push(self2.string({ pool: "0123456789", length: n }));
1276        });
1277        return parts.area + section.join(" ");
1278      };
1279      options = initOptions(options, {
1280        formatted: true,
1281        country: "us",
1282        mobile: false,
1283        exampleNumber: false
1284      });
1285      if (!options.formatted) {
1286        options.parens = false;
1287      }
1288      var phone;
1289      switch (options.country) {
1290        case "fr":
1291          if (!options.mobile) {
1292            numPick = this.pick([
1293              // Valid zone and département codes.
1294              "01" + this.pick(["30", "34", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "53", "55", "56", "58", "60", "64", "69", "70", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83"]) + self2.string({ pool: "0123456789", length: 6 }),
1295              "02" + this.pick(["14", "18", "22", "23", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "40", "41", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "56", "57", "61", "62", "69", "72", "76", "77", "78", "85", "90", "96", "97", "98", "99"]) + self2.string({ pool: "0123456789", length: 6 }),
1296              "03" + this.pick(["10", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "39", "44", "45", "51", "52", "54", "55", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90"]) + self2.string({ pool: "0123456789", length: 6 }),
1297              "04" + this.pick(["11", "13", "15", "20", "22", "26", "27", "30", "32", "34", "37", "42", "43", "44", "50", "56", "57", "63", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "88", "89", "90", "91", "92", "93", "94", "95", "97", "98"]) + self2.string({ pool: "0123456789", length: 6 }),
1298              "05" + this.pick(["08", "16", "17", "19", "24", "31", "32", "33", "34", "35", "40", "45", "46", "47", "49", "53", "55", "56", "57", "58", "59", "61", "62", "63", "64", "65", "67", "79", "81", "82", "86", "87", "90", "94"]) + self2.string({ pool: "0123456789", length: 6 }),
1299              "09" + self2.string({ pool: "0123456789", length: 8 })
1300            ]);
1301            phone = options.formatted ? numPick.match(/../g).join(" ") : numPick;
1302          } else {
1303            numPick = this.pick(["06", "07"]) + self2.string({ pool: "0123456789", length: 8 });
1304            phone = options.formatted ? numPick.match(/../g).join(" ") : numPick;
1305          }
1306          break;
1307        case "uk":
1308          if (!options.mobile) {
1309            numPick = this.pick([
1310              //valid area codes of major cities/counties followed by random numbers in required format.
1311              { area: "01" + this.character({ pool: "234569" }) + "1 ", sections: [3, 4] },
1312              { area: "020 " + this.character({ pool: "378" }), sections: [3, 4] },
1313              { area: "023 " + this.character({ pool: "89" }), sections: [3, 4] },
1314              { area: "024 7", sections: [3, 4] },
1315              { area: "028 " + this.pick(["25", "28", "37", "71", "82", "90", "92", "95"]), sections: [2, 4] },
1316              { area: "012" + this.pick(["04", "08", "54", "76", "97", "98"]) + " ", sections: [6] },
1317              { area: "013" + this.pick(["63", "64", "84", "86"]) + " ", sections: [6] },
1318              { area: "014" + this.pick(["04", "20", "60", "61", "80", "88"]) + " ", sections: [6] },
1319              { area: "015" + this.pick(["24", "27", "62", "66"]) + " ", sections: [6] },
1320              { area: "016" + this.pick(["06", "29", "35", "47", "59", "95"]) + " ", sections: [6] },
1321              { area: "017" + this.pick(["26", "44", "50", "68"]) + " ", sections: [6] },
1322              { area: "018" + this.pick(["27", "37", "84", "97"]) + " ", sections: [6] },
1323              { area: "019" + this.pick(["00", "05", "35", "46", "49", "63", "95"]) + " ", sections: [6] }
1324            ]);
1325            phone = options.formatted ? ukNum(numPick) : ukNum(numPick).replace(" ", "", "g");
1326          } else {
1327            numPick = this.pick([
1328              { area: "07" + this.pick(["4", "5", "7", "8", "9"]), sections: [2, 6] },
1329              { area: "07624 ", sections: [6] }
1330            ]);
1331            phone = options.formatted ? ukNum(numPick) : ukNum(numPick).replace(" ", "");
1332          }
1333          break;
1334        case "za":
1335          if (!options.mobile) {
1336            numPick = this.pick([
1337              "01" + this.pick(["0", "1", "2", "3", "4", "5", "6", "7", "8"]) + self2.string({ pool: "0123456789", length: 7 }),
1338              "02" + this.pick(["1", "2", "3", "4", "7", "8"]) + self2.string({ pool: "0123456789", length: 7 }),
1339              "03" + this.pick(["1", "2", "3", "5", "6", "9"]) + self2.string({ pool: "0123456789", length: 7 }),
1340              "04" + this.pick(["1", "2", "3", "4", "5", "6", "7", "8", "9"]) + self2.string({ pool: "0123456789", length: 7 }),
1341              "05" + this.pick(["1", "3", "4", "6", "7", "8"]) + self2.string({ pool: "0123456789", length: 7 })
1342            ]);
1343            phone = options.formatted || numPick;
1344          } else {
1345            numPick = this.pick([
1346              "060" + this.pick(["3", "4", "5", "6", "7", "8", "9"]) + self2.string({ pool: "0123456789", length: 6 }),
1347              "061" + this.pick(["0", "1", "2", "3", "4", "5", "8"]) + self2.string({ pool: "0123456789", length: 6 }),
1348              "06" + self2.string({ pool: "0123456789", length: 7 }),
1349              "071" + this.pick(["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]) + self2.string({ pool: "0123456789", length: 6 }),
1350              "07" + this.pick(["2", "3", "4", "6", "7", "8", "9"]) + self2.string({ pool: "0123456789", length: 7 }),
1351              "08" + this.pick(["0", "1", "2", "3", "4", "5"]) + self2.string({ pool: "0123456789", length: 7 })
1352            ]);
1353            phone = options.formatted || numPick;
1354          }
1355          break;
1356        case "us":
1357          var areacode = this.areacode(options).toString();
1358          var exchange = this.natural({ min: 2, max: 9 }).toString() + this.natural({ min: 0, max: 9 }).toString() + this.natural({ min: 0, max: 9 }).toString();
1359          var subscriber = this.natural({ min: 1e3, max: 9999 }).toString();
1360          phone = options.formatted ? areacode + " " + exchange + "-" + subscriber : areacode + exchange + subscriber;
1361          break;
1362        case "br":
1363          var areaCode = this.pick(["11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22", "24", "27", "28", "31", "32", "33", "34", "35", "37", "38", "41", "42", "43", "44", "45", "46", "47", "48", "49", "51", "53", "54", "55", "61", "62", "63", "64", "65", "66", "67", "68", "69", "71", "73", "74", "75", "77", "79", "81", "82", "83", "84", "85", "86", "87", "88", "89", "91", "92", "93", "94", "95", "96", "97", "98", "99"]);
1364          var prefix;
1365          if (options.mobile) {
1366            prefix = "9" + self2.string({ pool: "0123456789", length: 4 });
1367          } else {
1368            prefix = this.natural({ min: 2e3, max: 5999 }).toString();
1369          }
1370          var mcdu = self2.string({ pool: "0123456789", length: 4 });
1371          phone = options.formatted ? "(" + areaCode + ") " + prefix + "-" + mcdu : areaCode + prefix + mcdu;
1372          break;
1373      }
1374      return phone;
1375    };
1376    Chance.prototype.postal = function() {
1377      var pd = this.character({ pool: "XVTSRPNKLMHJGECBA" });
1378      var fsa = pd + this.natural({ max: 9 }) + this.character({ alpha: true, casing: "upper" });
1379      var ldu = this.natural({ max: 9 }) + this.character({ alpha: true, casing: "upper" }) + this.natural({ max: 9 });
1380      return fsa + " " + ldu;
1381    };
1382    Chance.prototype.postcode = function() {
1383      var area = this.pick(this.get("postcodeAreas")).code;
1384      var district = this.natural({ max: 9 });
1385      var subDistrict = this.bool() ? this.character({ alpha: true, casing: "upper" }) : "";
1386      var outward = area + district + subDistrict;
1387      var sector = this.natural({ max: 9 });
1388      var unit = this.character({ alpha: true, casing: "upper" }) + this.character({ alpha: true, casing: "upper" });
1389      var inward = sector + unit;
1390      return outward + " " + inward;
1391    };
1392    Chance.prototype.counties = function(options) {
1393      options = initOptions(options, { country: "uk" });
1394      return this.get("counties")[options.country.toLowerCase()];
1395    };
1396    Chance.prototype.county = function(options) {
1397      return this.pick(this.counties(options)).name;
1398    };
1399    Chance.prototype.provinces = function(options) {
1400      options = initOptions(options, { country: "ca" });
1401      return this.get("provinces")[options.country.toLowerCase()];
1402    };
1403    Chance.prototype.province = function(options) {
1404      return options && options.full ? this.pick(this.provinces(options)).name : this.pick(this.provinces(options)).abbreviation;
1405    };
1406    Chance.prototype.state = function(options) {
1407      return options && options.full ? this.pick(this.states(options)).name : this.pick(this.states(options)).abbreviation;
1408    };
1409    Chance.prototype.states = function(options) {
1410      options = initOptions(options, { country: "us", us_states_and_dc: true });
1411      var states;
1412      switch (options.country.toLowerCase()) {
1413        case "us":
1414          var us_states_and_dc = this.get("us_states_and_dc"), territories = this.get("territories"), armed_forces = this.get("armed_forces");
1415          states = [];
1416          if (options.us_states_and_dc) {
1417            states = states.concat(us_states_and_dc);
1418          }
1419          if (options.territories) {
1420            states = states.concat(territories);
1421          }
1422          if (options.armed_forces) {
1423            states = states.concat(armed_forces);
1424          }
1425          break;
1426        case "it":
1427        case "mx":
1428          states = this.get("country_regions")[options.country.toLowerCase()];
1429          break;
1430        case "uk":
1431          states = this.get("counties")[options.country.toLowerCase()];
1432          break;
1433      }
1434      return states;
1435    };
1436    Chance.prototype.street = function(options) {
1437      options = initOptions(options, { country: "us", syllables: 2 });
1438      var street;
1439      switch (options.country.toLowerCase()) {
1440        case "us":
1441          street = this.word({ syllables: options.syllables });
1442          street = this.capitalize(street);
1443          street += " ";
1444          street += options.short_suffix ? this.street_suffix(options).abbreviation : this.street_suffix(options).name;
1445          break;
1446        case "it":
1447          street = this.word({ syllables: options.syllables });
1448          street = this.capitalize(street);
1449          street = (options.short_suffix ? this.street_suffix(options).abbreviation : this.street_suffix(options).name) + " " + street;
1450          break;
1451      }
1452      return street;
1453    };
1454    Chance.prototype.street_suffix = function(options) {
1455      options = initOptions(options, { country: "us" });
1456      return this.pick(this.street_suffixes(options));
1457    };
1458    Chance.prototype.street_suffixes = function(options) {
1459      options = initOptions(options, { country: "us" });
1460      return this.get("street_suffixes")[options.country.toLowerCase()];
1461    };
1462    Chance.prototype.zip = function(options) {
1463      var zip = this.n(this.natural, 5, { max: 9 });
1464      if (options && options.plusfour === true) {
1465        zip.push("-");
1466        zip = zip.concat(this.n(this.natural, 4, { max: 9 }));
1467      }
1468      return zip.join("");
1469    };
1470    Chance.prototype.ampm = function() {
1471      return this.bool() ? "am" : "pm";
1472    };
1473    Chance.prototype.date = function(options) {
1474      var date_string, date;
1475      if (options && (options.min || options.max)) {
1476        options = initOptions(options, {
1477          american: true,
1478          string: false
1479        });
1480        var min = typeof options.min !== "undefined" ? options.min.getTime() : 1;
1481        var max = typeof options.max !== "undefined" ? options.max.getTime() : 864e13;
1482        date = new Date(this.integer({ min, max }));
1483      } else {
1484        var m = this.month({ raw: true });
1485        var daysInMonth = m.days;
1486        if (options && options.month) {
1487          daysInMonth = this.get("months")[(options.month % 12 + 12) % 12].days;
1488        }
1489        options = initOptions(options, {
1490          year: parseInt(this.year(), 10),
1491          // Necessary to subtract 1 because Date() 0-indexes month but not day or year
1492          // for some reason.
1493          month: m.numeric - 1,
1494          day: this.natural({ min: 1, max: daysInMonth }),
1495          hour: this.hour({ twentyfour: true }),
1496          minute: this.minute(),
1497          second: this.second(),
1498          millisecond: this.millisecond(),
1499          american: true,
1500          string: false
1501        });
1502        date = new Date(options.year, options.month, options.day, options.hour, options.minute, options.second, options.millisecond);
1503      }
1504      if (options.american) {
1505        date_string = date.getMonth() + 1 + "/" + date.getDate() + "/" + date.getFullYear();
1506      } else {
1507        date_string = date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
1508      }
1509      return options.string ? date_string : date;
1510    };
1511    Chance.prototype.hammertime = function(options) {
1512      return this.date(options).getTime();
1513    };
1514    Chance.prototype.hour = function(options) {
1515      options = initOptions(options, {
1516        min: options && options.twentyfour ? 0 : 1,
1517        max: options && options.twentyfour ? 23 : 12
1518      });
1519      testRange(options.min < 0, "Chance: Min cannot be less than 0.");
1520      testRange(options.twentyfour && options.max > 23, "Chance: Max cannot be greater than 23 for twentyfour option.");
1521      testRange(!options.twentyfour && options.max > 12, "Chance: Max cannot be greater than 12.");
1522      testRange(options.min > options.max, "Chance: Min cannot be greater than Max.");
1523      return this.natural({ min: options.min, max: options.max });
1524    };
1525    Chance.prototype.millisecond = function() {
1526      return this.natural({ max: 999 });
1527    };
1528    Chance.prototype.minute = Chance.prototype.second = function(options) {
1529      options = initOptions(options, { min: 0, max: 59 });
1530      testRange(options.min < 0, "Chance: Min cannot be less than 0.");
1531      testRange(options.max > 59, "Chance: Max cannot be greater than 59.");
1532      testRange(options.min > options.max, "Chance: Min cannot be greater than Max.");
1533      return this.natural({ min: options.min, max: options.max });
1534    };
1535    Chance.prototype.month = function(options) {
1536      options = initOptions(options, { min: 1, max: 12 });
1537      testRange(options.min < 1, "Chance: Min cannot be less than 1.");
1538      testRange(options.max > 12, "Chance: Max cannot be greater than 12.");
1539      testRange(options.min > options.max, "Chance: Min cannot be greater than Max.");
1540      var month = this.pick(this.months().slice(options.min - 1, options.max));
1541      return options.raw ? month : month.name;
1542    };
1543    Chance.prototype.months = function() {
1544      return this.get("months");
1545    };
1546    Chance.prototype.second = function() {
1547      return this.natural({ max: 59 });
1548    };
1549    Chance.prototype.timestamp = function() {
1550      return this.natural({ min: 1, max: parseInt((/* @__PURE__ */ new Date()).getTime() / 1e3, 10) });
1551    };
1552    Chance.prototype.weekday = function(options) {
1553      options = initOptions(options, { weekday_only: false });
1554      var weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
1555      if (!options.weekday_only) {
1556        weekdays.push("Saturday");
1557        weekdays.push("Sunday");
1558      }
1559      return this.pickone(weekdays);
1560    };
1561    Chance.prototype.year = function(options) {
1562      options = initOptions(options, { min: (/* @__PURE__ */ new Date()).getFullYear() });
1563      options.max = typeof options.max !== "undefined" ? options.max : options.min + 100;
1564      return this.natural(options).toString();
1565    };
1566    Chance.prototype.cc = function(options) {
1567      options = initOptions(options);
1568      var type, number, to_generate;
1569      type = options.type ? this.cc_type({ name: options.type, raw: true }) : this.cc_type({ raw: true });
1570      number = type.prefix.split("");
1571      to_generate = type.length - type.prefix.length - 1;
1572      number = number.concat(this.n(this.integer, to_generate, { min: 0, max: 9 }));
1573      number.push(this.luhn_calculate(number.join("")));
1574      return number.join("");
1575    };
1576    Chance.prototype.cc_types = function() {
1577      return this.get("cc_types");
1578    };
1579    Chance.prototype.cc_type = function(options) {
1580      options = initOptions(options);
1581      var types = this.cc_types(), type = null;
1582      if (options.name) {
1583        for (var i = 0; i < types.length; i++) {
1584          if (types[i].name === options.name || types[i].short_name === options.name) {
1585            type = types[i];
1586            break;
1587          }
1588        }
1589        if (type === null) {
1590          throw new RangeError("Chance: Credit card type '" + options.name + "' is not supported");
1591        }
1592      } else {
1593        type = this.pick(types);
1594      }
1595      return options.raw ? type : type.name;
1596    };
1597    Chance.prototype.currency_types = function() {
1598      return this.get("currency_types");
1599    };
1600    Chance.prototype.currency = function() {
1601      return this.pick(this.currency_types());
1602    };
1603    Chance.prototype.timezones = function() {
1604      return this.get("timezones");
1605    };
1606    Chance.prototype.timezone = function() {
1607      return this.pick(this.timezones());
1608    };
1609    Chance.prototype.currency_pair = function(returnAsString) {
1610      var currencies = this.unique(this.currency, 2, {
1611        comparator: function(arr, val) {
1612          return arr.reduce(function(acc, item) {
1613            return acc || item.code === val.code;
1614          }, false);
1615        }
1616      });
1617      if (returnAsString) {
1618        return currencies[0].code + "/" + currencies[1].code;
1619      } else {
1620        return currencies;
1621      }
1622    };
1623    Chance.prototype.dollar = function(options) {
1624      options = initOptions(options, { max: 1e4, min: 0 });
1625      var dollar = this.floating({ min: options.min, max: options.max, fixed: 2 }).toString(), cents = dollar.split(".")[1];
1626      if (cents === void 0) {
1627        dollar += ".00";
1628      } else if (cents.length < 2) {
1629        dollar = dollar + "0";
1630      }
1631      if (dollar < 0) {
1632        return "-$" + dollar.replace("-", "");
1633      } else {
1634        return "$" + dollar;
1635      }
1636    };
1637    Chance.prototype.euro = function(options) {
1638      return Number(this.dollar(options).replace("$", "")).toLocaleStr
1638ing() + "€";
1639    };
1640    Chance.prototype.exp = function(options) {
1641      options = initOptions(options);
1642      var exp = {};
1643      exp.year = this.exp_year();
1644      if (exp.year === (/* @__PURE__ */ new Date()).getFullYear().toString()) {
1645        exp.month = this.exp_month({ future: true });
1646      } else {
1647        exp.month = this.exp_month();
1648      }
1649      return options.raw ? exp : exp.month + "/" + exp.year;
1650    };
1651    Chance.prototype.exp_month = function(options) {
1652      options = initOptions(options);
1653      var month, month_int, curMonth = (/* @__PURE__ */ new Date()).getMonth() + 1;
1654      if (options.future && curMonth !== 12) {
1655        do {
1656          month = this.month({ raw: true }).numeric;
1657          month_int = parseInt(month, 10);
1658        } while (month_int <= curMonth);
1659      } else {
1660        month = this.month({ raw: true }).numeric;
1661      }
1662      return month;
1663    };
1664    Chance.prototype.exp_year = function() {
1665      var curMonth = (/* @__PURE__ */ new Date()).getMonth() + 1, curYear = (/* @__PURE__ */ new Date()).getFullYear();
1666      return this.year({ min: curMonth === 12 ? curYear + 1 : curYear, max: curYear + 10 });
1667    };
1668    Chance.prototype.vat = function(options) {
1669      options = initOptions(options, { country: "it" });
1670      switch (options.country.toLowerCase()) {
1671        case "it":
1672          return this.it_vat();
1673      }
1674    };
1675    Chance.prototype.iban = function() {
1676      var alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
1677      var alphanum = alpha + "0123456789";
1678      var iban = this.string({ length: 2, pool: alpha }) + this.pad(this.integer({ min: 0, max: 99 }), 2) + this.string({ length: 4, pool: alphanum }) + this.pad(this.natural(), this.natural({ min: 6, max: 26 }));
1679      return iban;
1680    };
1681    Chance.prototype.it_vat = function() {
1682      var it_vat = this.natural({ min: 1, max: 18e5 });
1683      it_vat = this.pad(it_vat, 7) + this.pad(this.pick(this.provinces({ country: "it" })).code, 3);
1684      return it_vat + this.luhn_calculate(it_vat);
1685    };
1686    Chance.prototype.cf = function(options) {
1687      options = options || {};
1688      var gender = !!options.gender ? options.gender : this.gender(), first = !!options.first ? options.first : this.first({ gender, nationality: "it" }), last = !!options.last ? options.last : this.last({ nationality: "it" }), birthday = !!options.birthday ? options.birthday : this.birthday(), city = !!options.city ? options.city : this.pickone(["A", "B", "C", "D", "E", "F", "G", "H", "I", "L", "M", "Z"]) + this.pad(this.natural({ max: 999 }), 3), cf = [], name_generator = function(name, isLast) {
1689        var temp, return_value = [];
1690        if (name.length < 3) {
1691          return_value = name.split("").concat("XXX".split("")).splice(0, 3);
1692        } else {
1693          temp = name.toUpperCase().split("").map(function(c) {
1694            return "BCDFGHJKLMNPRSTVWZ".indexOf(c) !== -1 ? c : void 0;
1695          }).join("");
1696          if (temp.length > 3) {
1697            if (isLast) {
1698              temp = temp.substr(0, 3);
1699            } else {
1700              temp = temp[0] + temp.substr(2, 2);
1701            }
1702          }
1703          if (temp.length < 3) {
1704            return_value = temp;
1705            temp = name.toUpperCase().split("").map(function(c) {
1706              return "AEIOU".indexOf(c) !== -1 ? c : void 0;
1707            }).join("").substr(0, 3 - return_value.length);
1708          }
1709          return_value = return_value + temp;
1710        }
1711        return return_value;
1712      }, date_generator = function(birthday2, gender2, that) {
1713        var lettermonths = ["A", "B", "C", "D", "E", "H", "L", "M", "P", "R", "S", "T"];
1714        return birthday2.getFullYear().toString().substr(2) + lettermonths[birthday2.getMonth()] + that.pad(birthday2.getDate() + (gender2.toLowerCase() === "female" ? 40 : 0), 2);
1715      }, checkdigit_generator = function(cf2) {
1716        var range1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ", range2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ", evens = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", odds = "BAKPLCQDREVOSFTGUHMINJWZYX", digit = 0;
1717        for (var i = 0; i < 15; i++) {
1718          if (i % 2 !== 0) {
1719            digit += evens.indexOf(range2[range1.indexOf(cf2[i])]);
1720          } else {
1721            digit += odds.indexOf(range2[range1.indexOf(cf2[i])]);
1722          }
1723        }
1724        return evens[digit % 26];
1725      };
1726      cf = cf.concat(name_generator(last, true), name_generator(first), date_generator(birthday, gender, this), city.toUpperCase().split("")).join("");
1727      cf += checkdigit_generator(cf.toUpperCase());
1728      return cf.toUpperCase();
1729    };
1730    Chance.prototype.pl_pesel = function() {
1731      var number = this.natural({ min: 1, max: 9999999999 });
1732      var arr = this.pad(number, 10).split("");
1733      for (var i = 0; i < arr.length; i++) {
1734        arr[i] = parseInt(arr[i]);
1735      }
1736      var controlNumber = (1 * arr[0] + 3 * arr[1] + 7 * arr[2] + 9 * arr[3] + 1 * arr[4] + 3 * arr[5] + 7 * arr[6] + 9 * arr[7] + 1 * arr[8] + 3 * arr[9]) % 10;
1737      if (controlNumber !== 0) {
1738        controlNumber = 10 - controlNumber;
1739      }
1740      return arr.join("") + controlNumber;
1741    };
1742    Chance.prototype.pl_nip = function() {
1743      var number = this.natural({ min: 1, max: 999999999 });
1744      var arr = this.pad(number, 9).split("");
1745      for (var i = 0; i < arr.length; i++) {
1746        arr[i] = parseInt(arr[i]);
1747      }
1748      var controlNumber = (6 * arr[0] + 5 * arr[1] + 7 * arr[2] + 2 * arr[3] + 3 * arr[4] + 4 * arr[5] + 5 * arr[6] + 6 * arr[7] + 7 * arr[8]) % 11;
1749      if (controlNumber === 10) {
1750        return this.pl_nip();
1751      }
1752      return arr.join("") + controlNumber;
1753    };
1754    Chance.prototype.pl_regon = function() {
1755      var number = this.natural({ min: 1, max: 99999999 });
1756      var arr = this.pad(number, 8).split("");
1757      for (var i = 0; i < arr.length; i++) {
1758        arr[i] = parseInt(arr[i]);
1759      }
1760      var controlNumber = (8 * arr[0] + 9 * arr[1] + 2 * arr[2] + 3 * arr[3] + 4 * arr[4] + 5 * arr[5] + 6 * arr[6] + 7 * arr[7]) % 11;
1761      if (controlNumber === 10) {
1762        controlNumber = 0;
1763      }
1764      return arr.join("") + controlNumber;
1765    };
1766    Chance.prototype.music_genre = function(genre = "general") {
1767      if (!(genre.toLowerCase() in data.music_genres)) {
1768        throw new Error(`Unsupported genre: ${genre}`);
1769      }
1770      const genres = data.music_genres[genre.toLowerCase()];
1771      const randomIndex = this.integer({ min: 0, max: genres.length - 1 });
1772      return genres[randomIndex];
1773    };
1774    Chance.prototype.note = function(options) {
1775      options = initOptions(options, { notes: "flatKey" });
1776      var scales = {
1777        naturals: ["C", "D", "E", "F", "G", "A", "B"],
1778        flats: ["D♭", "E♭", "G♭", "A♭", "B♭"],
1779        sharps: ["C♯", "D♯", "F♯", "G♯", "A♯"]
1780      };
1781      scales.all = scales.naturals.concat(scales.flats.concat(scales.sharps));
1782      scales.flatKey = scales.naturals.concat(scales.flats);
1783      scales.sharpKey = scales.naturals.concat(scales.sharps);
1784      return this.pickone(scales[options.notes]);
1785    };
1786    Chance.prototype.midi_note = function(options) {
1787      var min = 0;
1788      var max = 127;
1789      options = initOptions(options, { min, max });
1790      return this.integer({ min: options.min, max: options.max });
1791    };
1792    Chance.prototype.chord_quality = function(options) {
1793      options = initOptions(options, { jazz: true });
1794      var chord_qualities = ["maj", "min", "aug", "dim"];
1795      if (options.jazz) {
1796        chord_qualities = [
1797          "maj7",
1798          "min7",
1799          "7",
1800          "sus",
1801          "dim",
1802          "ø"
1803        ];
1804      }
1805      return this.pickone(chord_qualities);
1806    };
1807    Chance.prototype.chord = function(options) {
1808      options = initOptions(options);
1809      return this.note(options) + this.chord_quality(options);
1810    };
1811    Chance.prototype.tempo = function(options) {
1812      var min = 40;
1813      var max = 320;
1814      options = initOptions(options, { min, max });
1815      return this.integer({ min: options.min, max: options.max });
1816    };
1817    Chance.prototype.coin = function() {
1818      return this.bool() ? "heads" : "tails";
1819    };
1820    function diceFn(range2) {
1821      return function() {
1822        return this.natural(range2);
1823      };
1824    }
1825    Chance.prototype.d4 = diceFn({ min: 1, max: 4 });
1826    Chance.prototype.d6 = diceFn({ min: 1, max: 6 });
1827    Chance.prototype.d8 = diceFn({ min: 1, max: 8 });
1828    Chance.prototype.d10 = diceFn({ min: 1, max: 10 });
1829    Chance.prototype.d12 = diceFn({ min: 1, max: 12 });
1830    Chance.prototype.d20 = diceFn({ min: 1, max: 20 });
1831    Chance.prototype.d30 = diceFn({ min: 1, max: 30 });
1832    Chance.prototype.d100 = diceFn({ min: 1, max: 100 });
1833    Chance.prototype.rpg = function(thrown, options) {
1834      options = initOptions(options);
1835      if (!thrown) {
1836        throw new RangeError("Chance: A type of die roll must be included");
1837      } else {
1838        var bits = thrown.toLowerCase().split("d"), rolls = [];
1839        if (bits.length !== 2 || !parseInt(bits[0], 10) || !parseInt(bits[1], 10)) {
1840          throw new Error("Chance: Invalid format provided. Please provide #d# where the first # is the number of dice to roll, the second # is the max of each die");
1841        }
1842        for (var i = bits[0]; i > 0; i--) {
1843          rolls[i - 1] = this.natural({ min: 1, max: bits[1] });
1844        }
1845        return typeof options.sum !== "undefined" && options.sum ? rolls.reduce(function(p, c) {
1846          return p + c;
1847        }) : rolls;
1848      }
1849    };
1850    Chance.prototype.guid = function(options) {
1851      options = initOptions(options, { version: 5 });
1852      var guid_pool = "abcdef1234567890", variant_pool = "ab89", guid = this.string({ pool: guid_pool, length: 8 }) + "-" + this.string({ pool: guid_pool, length: 4 }) + "-" + // The Version
1853      options.version + this.string({ pool: guid_pool, length: 3 }) + "-" + // The Variant
1854      this.string({ pool: variant_pool, length: 1 }) + this.string({ pool: guid_pool, length: 3 }) + "-" + this.string({ pool: guid_pool, length: 12 });
1855      return guid;
1856    };
1857    Chance.prototype.hash = function(options) {
1858      options = initOptions(options, { length: 40, casing: "lower" });
1859      var pool = options.casing === "upper" ? HEX_POOL.toUpperCase() : HEX_POOL;
1860      return this.string({ pool, length: options.length });
1861    };
1862    Chance.prototype.luhn_check = function(num) {
1863      var str = num.toString();
1864      var checkDigit = +str.substring(str.length - 1);
1865      return checkDigit === this.luhn_calculate(+str.substring(0, str.length - 1));
1866    };
1867    Chance.prototype.luhn_calculate = function(num) {
1868      var digits = num.toString().split("").reverse();
1869      var sum = 0;
1870      var digit;
1871      for (var i = 0, l = digits.length; l > i; ++i) {
1872        digit = +digits[i];
1873        if (i % 2 === 0) {
1874          digit *= 2;
1875          if (digit > 9) {
1876            digit -= 9;
1877          }
1878        }
1879        sum += digit;
1880      }
1881      return sum * 9 % 10;
1882    };
1883    Chance.prototype.md5 = function(options) {
1884      var opts = { str: "", key: null, raw: false };
1885      if (!options) {
1886        opts.str = this.string();
1887        options = {};
1888      } else if (typeof options === "string") {
1889        opts.str = options;
1890        options = {};
1891      } else if (typeof options !== "object") {
1892        return null;
1893      } else if (options.constructor === "Array") {
1894        return null;
1895      }
1896      opts = initOptions(options, opts);
1897      if (!opts.str) {
1898        throw new Error("A parameter is required to return an md5 hash.");
1899      }
1900      return this.bimd5.md5(opts.str, opts.key, opts.raw);
1901    };
1902    Chance.prototype.file = function(options) {
1903      var fileOptions = options || {};
1904      var poolCollectionKey = "fileExtension";
1905      var typeRange = Object.keys(this.get("fileExtension"));
1906      var fileName;
1907      var fileExtension;
1908      fileName = this.word({ length: fileOptions.length });
1909      if (fileOptions.extension) {
1910        fileExtension = fileOptions.extension;
1911        return fileName + "." + fileExtension;
1912      }
1913      if (fileOptions.extensions) {
1914        if (Array.isArray(fileOptions.extensions)) {
1915          fileExtension = this.pickone(fileOptions.extensions);
1916          return fileName + "." + fileExtension;
1917        } else if (fileOptions.extensions.constructor === Object) {
1918          var extensionObjectCollection = fileOptions.extensions;
1919          var keys = Object.keys(extensionObjectCollection);
1920          fileExtension = this.pickone(extensionObjectCollection[this.pickone(keys)]);
1921          return fileName + "." + fileExtension;
1922        }
1923        throw new Error("Chance: Extensions must be an Array or Object");
1924      }
1925      if (fileOptions.fileType) {
1926        var fileType = fileOptions.fileType;
1927        if (typeRange.indexOf(fileType) !== -1) {
1928          fileExtension = this.pickone(this.get(poolCollectionKey)[fileType]);
1929          return fileName + "." + fileExtension;
1930        }
1931        throw new RangeError("Chance: Expect file type value to be 'raster', 'vector', '3d' or 'document'");
1932      }
1933      fileExtension = this.pickone(this.get(poolCollectionKey)[this.pickone(typeRange)]);
1934      return fileName + "." + fileExtension;
1935    };
1936    Chance.prototype.fileWithContent = function(options) {
1937      var fileOptions = options || {};
1938      var fileName = "fileName" in fileOptions ? fileOptions.fileName : this.file().split(".")[0];
1939      fileName += "." + ("fileExtension" in fileOptions ? fileOptions.fileExtension : this.file().split(".")[1]);
1940      if (typeof fileOptions.fileSize !== "number") {
1941        throw new Error("File size must be an integer");
1942      }
1943      var file = {
1944        fileData: this.buffer({ length: fileOptions.fileSize }),
1945        fileName
1946      };
1947      return file;
1948    };
1949    var data = {
1950      firstNames: {
1951        "male": {
1952          "en": ["James", "John", "Robert", "Michael", "William", "David", "Richard", "Joseph", "Charles", "Thomas", "Christopher", "Daniel", "Matthew", "George", "Donald", "Anthony", "Paul", "Mark", "Edward", "Steven", "Kenneth", "Andrew", "Brian", "Joshua", "Kevin", "Ronald", "Timothy", "Jason", "Jeffrey", "Frank", "Gary", "Ryan", "Nicholas", "Eric", "Stephen", "Jacob", "Larry", "Jonathan", "Scott", "Raymond", "Justin", "Brandon", "Gregory", "Samuel", "Benjamin", "Patrick", "Jack", "Henry", "Walter", "Dennis", "Jerry", "Alexander", "Peter", "Tyler", "Douglas", "Harold", "Aaron", "Jose", "Adam", "Arthur", "Zachary", "Carl", "Nathan", "Albert", "Kyle", "Lawrence", "Joe", "Willie", "Gerald", "Roger", "Keith", "Jeremy", "Terry", "Harry", "Ralph", "Sean", "Jesse", "Roy", "Louis", "Billy", "Austin", "Bruce", "Eugene", "Christian", "Bryan", "Wayne", "Russell", "Howard", "Fred", "Ethan", "Jordan", "Philip", "Alan", "Juan", "Randy", "Vincent", "Bobby", "Dylan", "Johnny", "Phillip", "Victor", "Clarence", "Ernest", "Martin", "Craig", "Stanley", "Shawn", "Travis", "Bradley", "Leonard", "Earl", "Gabriel", "Jimmy", "Francis", "Todd", "Noah", "Danny", "Dale", "Cody", "Carlos", "Allen", "Frederick", "Logan", "Curtis", "Alex", "Joel", "Luis", "Norman", "Marvin", "Glenn", "Tony", "Nathaniel", "Rodney", "Melvin", "Alfred", "Steve", "Cameron", "Chad", "Edwin", "Caleb", "Evan", "Antonio", "Lee", "Herbert", "Jeffery", "Isaac", "Derek", "Ricky", "Marcus", "Theodore", "Elijah", "Luke", "Jesus", "Eddie", "Troy", "Mike", "Dustin", "Ray", "Adrian", "Bernard", "Leroy", "Angel", "Randall", "Wesley", "Ian", "Jared", "Mason", "Hunter", "Calvin", "Oscar", "Clifford", "Jay", "Shane", "Ronnie", "Barry", "Lucas", "Corey", "Manuel", "Leo", "Tommy", "Warren", "Jackson", "Isaiah", "Connor", "Don", "Dean", "Jon", "Julian", "Miguel", "Bill", "Lloyd", "Charlie", "Mitchell", "Leon", "Jerome", "Darrell", "Jeremiah", "Alvin", "Brett", "Seth", "Floyd", "Jim", "Blake", "Micheal", "Gordon", "Trevor", "Lewis", "Erik", "Edgar", "Vernon", "Devin", "Gavin", "Jayden", "Chris", "Clyde", "Tom", "Derrick", "Mario", "Brent", "Marc", "Herman", "Chase", "Dominic", "Ricardo", "Franklin", "Maurice", "Max", "Aiden", "Owen", "Lester", "Gilbert", "Elmer", "Gene", "Francisco", "Glen", "Cory", "Garrett", "Clayton", "Sam", "Jorge", "Chester", "Alejandro", "Jeff", "Harvey", "Milton", "Cole", "Ivan", "Andre", "Duane", "Landon"],
1953          // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0163
1954          "it": ["Adolfo", "Alberto", "Aldo", "Alessandro", "Alessio", "Alfredo", "Alvaro", "Andrea", "Angelo", "Angiolo", "Antonino", "Antonio", "Attilio", "Benito", "Bernardo", "Bruno", "Carlo", "Cesare", "Christian", "Claudio", "Corrado", "Cosimo", "Cristian", "Cristiano", "Daniele", "Dario", "David", "Davide", "Diego", "Dino", "Domenico", "Duccio", "Edoardo", "Elia", "Elio", "Emanuele", "Emiliano", "Emilio", "Enrico", "Enzo", "Ettore", "Fabio", "Fabrizio", "Federico", "Ferdinando", "Fernando", "Filippo", "Francesco", "Franco", "Gabriele", "Giacomo", "Giampaolo", "Giampiero", "Giancarlo", "Gianfranco", "Gianluca", "Gianmarco", "Gianni", "Gino", "Giorgio", "Giovanni", "Giuliano", "Giulio", "Giuseppe", "Graziano", "Gregorio", "Guido", "Iacopo", "Jacopo", "Lapo", "Leonardo", "Lorenzo", "Luca", "Luciano", "Luigi", "Manuel", "Marcello", "Marco", "Marino", "Mario", "Massimiliano", "Massimo", "Matteo", "Mattia", "Maurizio", "Mauro", "Michele", "Mirko", "Mohamed", "Nello", "Neri", "Niccolò", "Nicola", "Osvaldo", "Otello", "Paolo", "Pier Luigi", "Piero", "Pietro", "Raffaele", "Remo", "Renato", "Renzo", "Riccardo", "Roberto", "Rolando", "Romano", "Salvatore", "Samuele", "Sandro", "Sergio", "Silvano", "Simone", "Stefano", "Thomas", "Tommaso", "Ubaldo", "Ugo", "Umberto", "Valerio", "Valter", "Vasco", "Vincenzo", "Vittorio"],
1955          // Data taken from http://www.svbkindernamen.nl/int/nl/kindernamen/index.html
1956          "nl": ["Aaron", "Abel", "Adam", "Adriaan", "Albert", "Alexander", "Ali", "Arjen", "Arno", "Bart", "Bas", "Bastiaan", "Benjamin", "Bob", "Boris", "Bram", "Brent", "Cas", "Casper", "Chris", "Christiaan", "Cornelis", "Daan", "Daley", "Damian", "Dani", "Daniel", "Daniël", "David", "Dean", "Dirk", "Dylan", "Egbert", "Elijah", "Erik", "Erwin", "Evert", "Ezra", "Fabian", "Fedde", "Finn", "Florian", "Floris", "Frank", "Frans", "Frederik", "Freek", "Geert", "Gerard", "Gerben", "Gerrit", "Gijs", "Guus", "Hans", "Hendrik", "Henk", "Herman", "Hidde", "Hugo", "Jaap", "Jan Jaap", "Jan-Willem", "Jack", "Jacob", "Jan", "Jason", "Jasper", "Jayden", "Jelle", "Jelte", "Jens", "Jeroen", "Jesse", "Jim", "Job", "Joep", "Johannes", "John", "Jonathan", "Joris", "Joshua", "Joël", "Julian", "Kees", "Kevin", "Koen", "Lars", "Laurens", "Leendert", "Lennard", "Lodewijk", "Luc", "Luca", "Lucas", "Lukas", "Luuk", "Maarten", "Marcus", "Martijn", "Martin", "Matthijs", "Maurits", "Max", "Mees", "Melle", "Mick", "Mika", "Milan", "Mohamed", "Mohammed", "Morris", "Muhammed", "Nathan", "Nick", "Nico", "Niek", "Niels", "Noah", "Noud", "Olivier", "Oscar", "Owen", "Paul", "Pepijn", "Peter", "Pieter", "Pim", "Quinten", "Reinier", "Rens", "Robin", "Ruben", "Sam", "Samuel", "Sander", "Sebastiaan", "Sem", "Sep", "Sepp", "Siem", "Simon", "Stan", "Stef", "Steven", "Stijn", "Sven", "Teun", "Thijmen", "Thijs", "Thomas", "Tijn", "Tim", "Timo", "Tobias", "Tom", "Victor", "Vince", "Willem", "Wim", "Wouter", "Yusuf"],
1957          // Data taken from https://fr.wikipedia.org/wiki/Liste_de_pr%C3%A9noms_fran%C3%A7ais_et_de_la_francophonie
1958          "fr": ["Aaron", "Abdon", "Abel", "Abélard", "Abelin", "Abondance", "Abraham", "Absalon", "Acace", "Achaire", "Achille", "Adalard", "Adalbald", "Adalbéron", "Adalbert", "Adalric", "Adam", "Adegrin", "Adel", "Adelin", "Andelin", "Adelphe", "Adam", "Adéodat", "Adhémar", "Adjutor", "Adolphe", "Adonis", "Adon", "Adrien", "Agapet", "Agathange", "Agathon", "Agilbert", "Agénor", "Agnan", "Aignan", "Agrippin", "Aimable", "Aimé", "Alain", "Alban", "Albin", "Aubin", "Albéric", "Albert", "Albertet", "Alcibiade", "Alcide", "Alcée", "Alcime", "Aldonce", "Aldric", "Aldéric", "Aleaume", "Alexandre", "Alexis", "Alix", "Alliaume", "Aleaume", "Almine", "Almire", "Aloïs", "Alphée", "Alphonse", "Alpinien", "Alverède", "Amalric", "Amaury", "Amandin", "Amant", "Ambroise", "Amédée", "Amélien", "Amiel", "Amour", "Anaël", "Anastase", "Anatole", "Ancelin", "Andéol", "Andoche", "André", "Andoche", "Ange", "Angelin", "Angilbe", "Anglebert", "Angoustan", "Anicet", "Anne", "Annibal", "Ansbert", "Anselme", "Anthelme", "Antheaume", "Anthime", "Antide", "Antoine", "Antonius", "Antonin", "Apollinaire", "Apollon", "Aquilin", "Arcade", "Archambaud", "Archambeau", "Archange", "Archibald", "Arian", "Ariel", "Ariste", "Aristide", "Armand", "Armel", "Armin", "Arnould", "Arnaud", "Arolde", "Arsène", "Arsinoé", "Arthaud", "Arthème", "Arthur", "Ascelin", "Athanase", "Aubry", "Audebert", "Audouin", "Audran", "Audric", "Auguste", "Augustin", "Aurèle", "Aurélien", "Aurian", "Auxence", "Axel", "Aymard", "Aymeric", "Aymon", "Aymond", "Balthazar", "Baptiste", "Barnabé", "Barthélemy", "Bartimée", "Basile", "Bastien", "Baudouin", "Bénigne", "Benjamin", "Benoît", "Bérenger", "Bérard", "Bernard", "Bertrand", "Blaise", "Bon", "Boniface", "Bouchard", "Brice", "Brieuc", "Bruno", "Brunon", "Calixte", "Calliste", "Camélien", "Camille", "Camillien", "Candide", "Caribert", "Carloman", "Cassandre", "Cassien", "Cédric", "Céleste", "Célestin", "Célien", "Césaire", "César", "Charles", "Charlemagne", "Childebert", "Chilpéric", "Chrétien", "Christian", "Christodule", "Christophe", "Chrysostome", "Clarence", "Claude", "Claudien", "Cléandre", "Clément", "Clotaire", "Côme", "Constance", "Constant", "Constantin", "Corentin", "Cyprien", "Cyriaque", "Cyrille", "Cyril", "Damien", "Daniel", "David", "Delphin", "Denis", "Désiré", "Didier", "Dieudonné", "Dim
1958itri", "Dominique", "Dorian", "Dorothée", "Edgard", "Edmond", "Édouard", "Éleuthère", "Élie", "Élisée", "Émeric", "Émile", "Émilien", "Emmanuel", "Enguerrand", "Épiphane", "Éric", "Esprit", "Ernest", "Étienne", "Eubert", "Eudes", "Eudoxe", "Eugène", "Eusèbe", "Eustache", "Évariste", "Évrard", "Fabien", "Fabrice", "Falba", "Félicité", "Félix", "Ferdinand", "Fiacre", "Fidèle", "Firmin", "Flavien", "Flodoard", "Florent", "Florentin", "Florestan", "Florian", "Fortuné", "Foulques", "Francisque", "François", "Français", "Franciscus", "Francs", "Frédéric", "Fulbert", "Fulcran", "Fulgence", "Gabin", "Gabriel", "Gaël", "Garnier", "Gaston", "Gaspard", "Gatien", "Gaud", "Gautier", "Gédéon", "Geoffroy", "Georges", "Géraud", "Gérard", "Gerbert", "Germain", "Gervais", "Ghislain", "Gilbert", "Gilles", "Girart", "Gislebert", "Gondebaud", "Gonthier", "Gontran", "Gonzague", "Grégoire", "Guérin", "Gui", "Guillaume", "Gustave", "Guy", "Guyot", "Hardouin", "Hector", "Hédelin", "Hélier", "Henri", "Herbert", "Herluin", "Hervé", "Hilaire", "Hildebert", "Hincmar", "Hippolyte", "Honoré", "Hubert", "Hugues", "Innocent", "Isabeau", "Isidore", "Jacques", "Japhet", "Jason", "Jean", "Jeannel", "Jeannot", "Jérémie", "Jérôme", "Joachim", "Joanny", "Job", "Jocelyn", "Joël", "Johan", "Jonas", "Jonathan", "Joseph", "Josse", "Josselin", "Jourdain", "Jude", "Judicaël", "Jules", "Julien", "Juste", "Justin", "Lambert", "Landry", "Laurent", "Lazare", "Léandre", "Léon", "Léonard", "Léopold", "Leu", "Loup", "Leufroy", "Libère", "Liétald", "Lionel", "Loïc", "Longin", "Lorrain", "Lorraine", "Lothaire", "Louis", "Loup", "Luc", "Lucas", "Lucien", "Ludolphe", "Ludovic", "Macaire", "Malo", "Mamert", "Manassé", "Marc", "Marceau", "Marcel", "Marcelin", "Marius", "Marseille", "Martial", "Martin", "Mathurin", "Matthias", "Mathias", "Matthieu", "Maugis", "Maurice", "Mauricet", "Maxence", "Maxime", "Maximilien", "Mayeul", "Médéric", "Melchior", "Mence", "Merlin", "Mérovée", "Michaël", "Michel", "Moïse", "Morgan", "Nathan", "Nathanaël", "Narcisse", "Néhémie", "Nestor", "Nestor", "Nicéphore", "Nicolas", "Noé", "Noël", "Norbert", "Normand", "Normands", "Octave", "Odilon", "Odon", "Oger", "Olivier", "Oury", "Pacôme", "Palémon", "Parfait", "Pascal", "Paterne", "Patrice", "Paul", "Pépin", "Perceval", "Philémon", "Philibert", "Philippe", "Philothée", "Pie", "Pierre", "Pierrick", "Prosper", "Quentin", "Raoul", "Raphaël", "Raymond", "Régis", "Réjean", "Rémi", "Renaud", "René", "Reybaud", "Richard", "Robert", "Roch", "Rodolphe", "Rodrigue", "Roger", "Roland", "Romain", "Romuald", "Roméo", "Rome", "Ronan", "Roselin", "Salomon", "Samuel", "Savin", "Savinien", "Scholastique", "Sébastien", "Séraphin", "Serge", "Séverin", "Sidoine", "Sigebert", "Sigismond", "Silvère", "Simon", "Siméon", "Sixte", "Stanislas", "Stéphane", "Stephan", "Sylvain", "Sylvestre", "Tancrède", "Tanguy", "Taurin", "Théodore", "Théodose", "Théophile", "Théophraste", "Thibault", "Thibert", "Thierry", "Thomas", "Timoléon", "Timothée", "Titien", "Tonnin", "Toussaint", "Trajan", "Tristan", "Turold", "Tim", "Ulysse", "Urbain", "Valentin", "Valère", "Valéry", "Venance", "Venant", "Venceslas", "Vianney", "Victor", "Victorien", "Victorin", "Vigile", "Vincent", "Vital", "Vitalien", "Vivien", "Waleran", "Wandrille", "Xavier", "Xénophon", "Yves", "Zacharie", "Zaché", "Zéphirin"]
1959        },
1960        "female": {
1961          "en": ["Mary", "Emma", "Elizabeth", "Minnie", "Margaret", "Ida", "Alice", "Bertha", "Sarah", "Annie", "Clara", "Ella", "Florence", "Cora", "Martha", "Laura", "Nellie", "Grace", "Carrie", "Maude", "Mabel", "Bessie", "Jennie", "Gertrude", "Julia", "Hattie", "Edith", "Mattie", "Rose", "Catherine", "Lillian", "Ada", "Lillie", "Helen", "Jessie", "Louise", "Ethel", "Lula", "Myrtle", "Eva", "Frances", "Lena", "Lucy", "Edna", "Maggie", "Pearl", "Daisy", "Fannie", "Josephine", "Dora", "Rosa", "Katherine", "Agnes", "Marie", "Nora", "May", "Mamie", "Blanche", "Stella", "Ellen", "Nancy", "Effie", "Sallie", "Nettie", "Della", "Lizzie", "Flora", "Susie", "Maud", "Mae", "Etta", "Harriet", "Sadie", "Caroline", "Katie", "Lydia", "Elsie", "Kate", "Susan", "Mollie", "Alma", "Addie", "Georgia", "Eliza", "Lulu", "Nannie", "Lottie", "Amanda", "Belle", "Charlotte", "Rebecca", "Ruth", "Viola", "Olive", "Amelia", "Hannah", "Jane", "Virginia", "Emily", "Matilda", "Irene", "Kathryn", "Esther", "Willie", "Henrietta", "Ollie", "Amy", "Rachel", "Sara", "Estella", "Theresa", "Augusta", "Ora", "Pauline", "Josie", "Lola", "Sophia", "Leona", "Anne", "Mildred", "Ann", "Beulah", "Callie", "Lou", "Delia", "Eleanor", "Barbara", "Iva", "Louisa", "Maria", "Mayme", "Evelyn", "Estelle", "Nina", "Betty", "Marion", "Bettie", "Dorothy", "Luella", "Inez", "Lela", "Rosie", "Allie", "Millie", "Janie", "Cornelia", "Victoria", "Ruby", "Winifred", "Alta", "Celia", "Christine", "Beatrice", "Birdie", "Harriett", "Mable", "Myra", "Sophie", "Tillie", "Isabel", "Sylvia", "Carolyn", "Isabelle", "Leila", "Sally", "Ina", "Essie", "Bertie", "Nell", "Alberta", "Katharine", "Lora", "Rena", "Mina", "Rhoda", "Mathilda", "Abbie", "Eula", "Dollie", "Hettie", "Eunice", "Fanny", "Ola", "Lenora", "Adelaide", "Christina", "Lelia", "Nelle", "Sue", "Johanna", "Lilly", "Lucinda", "Minerva", "Lettie", "Roxie", "Cynthia", "Helena", "Hilda", "Hulda", "Bernice", "Genevieve", "Jean", "Cordelia", "Marian", "Francis", "Jeanette", "Adeline", "Gussie", "Leah", "Lois", "Lura", "Mittie", "Hallie", "Isabella", "Olga", "Phoebe", "Teresa", "Hester", "Lida", "Lina", "Winnie", "Claudia", "Marguerite", "Vera", "Cecelia", "Bess", "Emilie", "Rosetta", "Verna", "Myrtie", "Cecilia", "Elva", "Olivia", "Ophelia", "Georgie", "Elnora", "Violet", "Adele", "Lily", "Linnie", "Loretta", "Madge", "Polly", "Virgie", "Eugenia", "Lucile", "Lucille", "Mabelle", "Rosalie"],
1962          // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0162
1963          "it": ["Ada", "Adriana", "Alessandra", "Alessia", "Alice", "Angela", "Anna", "Anna Maria", "Annalisa", "Annita", "Annunziata", "Antonella", "Arianna", "Asia", "Assunta", "Aurora", "Barbara", "Beatrice", "Benedetta", "Bianca", "Bruna", "Camilla", "Carla", "Carlotta", "Carmela", "Carolina", "Caterina", "Catia", "Cecilia", "Chiara", "Cinzia", "Clara", "Claudia", "Costanza", "Cristina", "Daniela", "Debora", "Diletta", "Dina", "Donatella", "Elena", "Eleonora", "Elisa", "Elisabetta", "Emanuela", "Emma", "Eva", "Federica", "Fernanda", "Fiorella", "Fiorenza", "Flora", "Franca", "Francesca", "Gabriella", "Gaia", "Gemma", "Giada", "Gianna", "Gina", "Ginevra", "Giorgia", "Giovanna", "Giulia", "Giuliana", "Giuseppa", "Giuseppina", "Grazia", "Graziella", "Greta", "Ida", "Ilaria", "Ines", "Iolanda", "Irene", "Irma", "Isabella", "Jessica", "Laura", "Lea", "Letizia", "Licia", "Lidia", "Liliana", "Lina", "Linda", "Lisa", "Livia", "Loretta", "Luana", "Lucia", "Luciana", "Lucrezia", "Luisa", "Manuela", "Mara", "Marcella", "Margherita", "Maria", "Maria Cristina", "Maria Grazia", "Maria Luisa", "Maria Pia", "Maria Teresa", "Marina", "Marisa", "Marta", "Martina", "Marzia", "Matilde", "Melissa", "Michela", "Milena", "Mirella", "Monica", "Natalina", "Nella", "Nicoletta", "Noemi", "Olga", "Paola", "Patrizia", "Piera", "Pierina", "Raffaella", "Rebecca", "Renata", "Rina", "Rita", "Roberta", "Rosa", "Rosanna", "Rossana", "Rossella", "Sabrina", "Sandra", "Sara", "Serena", "Silvana", "Silvia", "Simona", "Simonetta", "Sofia", "Sonia", "Stefania", "Susanna", "Teresa", "Tina", "Tiziana", "Tosca", "Valentina", "Valeria", "Vanda", "Vanessa", "Vanna", "Vera", "Veronica", "Vilma", "Viola", "Virginia", "Vittoria"],
1964          // Data taken from http://www.svbkindernamen.nl/int/nl/kindernamen/index.html
1965          "nl": ["Ada", "Arianne", "Afke", "Amanda", "Amber", "Amy", "Aniek", "Anita", "Anja", "Anna", "Anne", "Annelies", "Annemarie", "Annette", "Anouk", "Astrid", "Aukje", "Barbara", "Bianca", "Carla", "Carlijn", "Carolien", "Chantal", "Charlotte", "Claudia", "Daniëlle", "Debora", "Diane", "Dora", "Eline", "Elise", "Ella", "Ellen", "Emma", "Esmee", "Evelien", "Esther", "Erica", "Eva", "Femke", "Fleur", "Floor", "Froukje", "Gea", "Gerda", "Hanna", "Hanneke", "Heleen", "Hilde", "Ilona", "Ina", "Inge", "Ingrid", "Iris", "Isabel", "Isabelle", "Janneke", "Jasmijn", "Jeanine", "Jennifer", "Jessica", "Johanna", "Joke", "Julia", "Julie", "Karen", "Karin", "Katja", "Kim", "Lara", "Laura", "Lena", "Lianne", "Lieke", "Lilian", "Linda", "Lisa", "Lisanne", "Lotte", "Louise", "Maaike", "Manon", "Marga", "Maria", "Marissa", "Marit", "Marjolein", "Martine", "Marleen", "Melissa", "Merel", "Miranda", "Michelle", "Mirjam", "Mirthe", "Naomi", "Natalie", "Nienke", "
1965Nina", "Noortje", "Olivia", "Patricia", "Paula", "Paulien", "Ramona", "Ria", "Rianne", "Roos", "Rosanne", "Ruth", "Sabrina", "Sandra", "Sanne", "Sara", "Saskia", "Silvia", "Sofia", "Sophie", "Sonja", "Suzanne", "Tamara", "Tess", "Tessa", "Tineke", "Valerie", "Vanessa", "Veerle", "Vera", "Victoria", "Wendy", "Willeke", "Yvonne", "Zoë"],
1966          // Data taken from https://fr.wikipedia.org/wiki/Liste_de_pr%C3%A9noms_fran%C3%A7ais_et_de_la_francophonie
1967          "fr": ["Abdon", "Abel", "Abigaëlle", "Abigaïl", "Acacius", "Acanthe", "Adalbert", "Adalsinde", "Adegrine", "Adélaïde", "Adèle", "Adélie", "Adeline", "Adeltrude", "Adolphe", "Adonis", "Adrastée", "Adrehilde", "Adrienne", "Agathe", "Agilbert", "Aglaé", "Aignan", "Agneflète", "Agnès", "Agrippine", "Aimé", "Alaine", "Alaïs", "Albane", "Albérade", "Alberte", "Alcide", "Alcine", "Alcyone", "Aldegonde", "Aleth", "Alexandrine", "Alexine", "Alice", "Aliénor", "Aliette", "Aline", "Alix", "Alizé", "Aloïse", "Aloyse", "Alphonsine", "Althée", "Amaliane", "Amalthée", "Amande", "Amandine", "Amant", "Amarande", "Amaranthe", "Amaryllis", "Ambre", "Ambroisie", "Amélie", "Améthyste", "Aminte", "Anaël", "Anaïs", "Anastasie", "Anatole", "Ancelin", "Andrée", "Anémone", "Angadrême", "Angèle", "Angeline", "Angélique", "Angilbert", "Anicet", "Annabelle", "Anne", "Annette", "Annick", "Annie", "Annonciade", "Ansbert", "Anstrudie", "Anthelme", "Antigone", "Antoinette", "Antonine", "Aphélie", "Apolline", "Apollonie", "Aquiline", "Arabelle", "Arcadie", "Archange", "Argine", "Ariane", "Aricie", "Ariel", "Arielle", "Arlette", "Armance", "Armande", "Armandine", "Armelle", "Armide", "Armelle", "Armin", "Arnaud", "Arsène", "Arsinoé", "Artémis", "Arthur", "Ascelin", "Ascension", "Assomption", "Astarté", "Astérie", "Astrée", "Astrid", "Athalie", "Athanasie", "Athina", "Aube", "Albert", "Aude", "Audrey", "Augustine", "Aure", "Aurélie", "Aurélien", "Aurèle", "Aurore", "Auxence", "Aveline", "Abigaëlle", "Avoye", "Axelle", "Aymard", "Azalée", "Adèle", "Adeline", "Barbe", "Basilisse", "Bathilde", "Béatrice", "Béatrix", "Bénédicte", "Bérengère", "Bernadette", "Berthe", "Bertille", "Beuve", "Blanche", "Blanc", "Blandine", "Brigitte", "Brune", "Brunehilde", "Callista", "Camille", "Capucine", "Carine", "Caroline", "Cassandre", "Catherine", "Cécile", "Céleste", "Célestine", "Céline", "Chantal", "Charlène", "Charline", "Charlotte", "Chloé", "Christelle", "Christiane", "Christine", "Claire", "Clara", "Claude", "Claudine", "Clarisse", "Clémence", "Clémentine", "Cléo", "Clio", "Clotilde", "Coline", "Conception", "Constance", "Coralie", "Coraline", "Corentine", "Corinne", "Cyrielle", "Daniel", "Daniel", "Daphné", "Débora", "Delphine", "Denise", "Diane", "Dieudonné", "Dominique", "Doriane", "Dorothée", "Douce", "Édith", "Edmée", "Éléonore", "Éliane", "Élia", "Éliette", "Élisabeth", "Élise", "Ella", "Élodie", "Éloïse", "Elsa", "Émeline", "Émérance", "Émérentienne", "Émérencie", "Émilie", "Emma", "Emmanuelle", "Emmelie", "Ernestine", "Esther", "Estelle", "Eudoxie", "Eugénie", "Eulalie", "Euphrasie", "Eusébie", "Évangéline", "Eva", "Ève", "Évelyne", "Fanny", "Fantine", "Faustine", "Félicie", "Fernande", "Flavie", "Fleur", "Flore", "Florence", "Florie", "Fortuné", "France", "Francia", "Françoise", "Francine", "Gabrielle", "Gaëlle", "Garance", "Geneviève", "Georgette", "Gerberge", "Germaine", "Gertrude", "Gisèle", "Guenièvre", "Guilhemine", "Guillemette", "Gustave", "Gwenael", "Hélène", "Héloïse", "Henriette", "Hermine", "Hermione", "Hippolyte", "Honorine", "Hortense", "Huguette", "Ines", "Irène", "Irina", "Iris", "Isabeau", "Isabelle", "Iseult", "Isolde", "Ismérie", "Jacinthe", "Jacqueline", "Jade", "Janine", "Jeanne", "Jocelyne", "Joëlle", "Joséphine", "Judith", "Julia", "Julie", "Jules", "Juliette", "Justine", "Katy", "Kathy", "Katie", "Laura", "Laure", "Laureline", "Laurence", "Laurene", "Lauriane", "Laurianne", "Laurine", "Léa", "Léna", "Léonie", "Léon", "Léontine", "Lorraine", "Lucie", "Lucienne", "Lucille", "Ludivine", "Lydie", "Lydie", "Megane", "Madeleine", "Magali", "Maguelone", "Mallaury", "Manon", "Marceline", "Margot", "Marguerite", "Marianne", "Marie", "Myriam", "Marie", "Marine", "Marion", "Marlène", "Marthe", "Martine", "Mathilde", "Maud", "Maureen", "Mauricette", "Maxime", "Mélanie", "Melissa", "Mélissandre", "Mélisande", "Mélodie", "Michel", "Micheline", "Mireille", "Miriam", "Moïse", "Monique", "Morgane", "Muriel", "Mylène", "Nadège", "Nadine", "
1967Nathalie", "Nicole", "Nicolette", "Nine", "Noël", "Noémie", "Océane", "Odette", "Odile", "Olive", "Olivia", "Olympe", "Ombline", "Ombeline", "Ophélie", "Oriande", "Oriane", "Ozanne", "Pascale", "Pascaline", "Paule", "Paulette", "Pauline", "Priscille", "Prisca", "Prisque", "Pécine", "Pélagie", "Pénélope", "Perrine", "Pétronille", "Philippine", "Philomène", "Philothée", "Primerose", "Prudence", "Pulchérie", "Quentine", "Quiéta", "Quintia", "Quintilla", "Rachel", "Raphaëlle", "Raymonde", "Rebecca", "Régine", "Réjeanne", "René", "Rita", "Rita", "Rolande", "Romane", "Rosalie", "Rose", "Roseline", "Sabine", "Salomé", "Sandra", "Sandrine", "Sarah", "Ségolène", "Séverine", "Sibylle", "Simone", "Sixt", "Solange", "Soline", "Solène", "Sophie", "Stéphanie", "Suzanne", "Sylvain", "Sylvie", "Tatiana", "Thaïs", "Théodora", "Thérèse", "Tiphaine", "Ursule", "Valentine", "Valérie", "Véronique", "Victoire", "Victorine", "Vinciane", "Violette", "Virginie", "Viviane", "Xavière", "Yolande", "Ysaline", "Yvette", "Yvonne", "Zélie", "Zita", "Zoé"]
1968        }
1969      },
1970      lastNames: {
1971        "en": ["Smith", "Johnson", "Williams", "Jones", "Brown", "Davis", "Miller", "Wilson", "Moore", "Taylor", "Anderson", "Thomas", "Jackson", "White", "Harris", "Martin", "Thompson", "Garcia", "Martinez", "Robinson", "Clark", "Rodriguez", "Lewis", "Lee", "Walker", "Hall", "Allen", "Young", "Hernandez", "King", "Wright", "Lopez", "Hill", "Scott", "Green", "Adams", "Baker", "Gonzalez", "Nelson", "Carter", "Mitchell", "Perez", "Roberts", "Turner", "Phillips", "Campbell", "Parker", "Evans", "Edwards", "Collins", "Stewart", "Sanchez", "Morris", "Rogers", "Reed", "Cook", "Morgan", "Bell", "Murphy", "Bailey", "Rivera", "Cooper", "Richardson", "Cox", "Howard", "Ward", "Torres", "Peterson", "Gray", "Ramirez", "James", "Watson", "Brooks", "Kelly", "Sanders", "Price", "Bennett", "Wood", "Barnes", "Ross", "Henderson", "Coleman", "Jenkins", "Perry", "Powell", "Long", "Patterson", "Hughes", "Flores", "Washington", "Butler", "Simmons", "Foster", "Gonzales", "Bryant", "Alexander", "Russell", "Griffin", "Diaz", "Hayes", "Myers", "Ford", "Hamilton", "Graham", "Sullivan", "Wallace", "Woods", "Cole", "West", "Jordan", "Owens", "Reynolds", "Fisher", "Ellis", "Harrison", "Gibson", "McDonald", "Cruz", "Marshall", "Ortiz", "Gomez", "Murray", "Freeman", "Wells", "Webb", "Simpson", "Stevens", "Tucker", "Porter", "Hunter", "Hicks", "Crawford", "Henry", "Boyd", "Mason", "Morales", "Kennedy", "Warren", "Dixon", "Ramos", "Reyes", "Burns", "Gordon", "Shaw", "Holmes", "Rice", "Robertson", "Hunt", "Black", "Daniels", "Palmer", "Mills", "Nichols", "Grant", "Knight", "Ferguson", "Rose", "Stone", "Hawkins", "Dunn", "Perkins", "Hudson", "Spencer", "Gardner", "Stephens", "Payne", "Pierce", "Berry", "Matthews", "Arnold", "Wagner", "Willis", "Ray", "Watkins", "Olson", "Carroll", "Duncan", "Snyder", "Hart", "Cunningham", "Bradley", "Lane", "Andrews", "Ruiz", "Harper", "Fox", "Riley", "Armstrong", "Carpenter", "Weaver", "Greene", "Lawrence", "Elliott", "Chavez", "Sims", "Austin", "Peters", "Kelley", "Franklin", "Lawson", "Fields", "Gutierrez", "Ryan", "Schmidt", "Carr", "Vasquez", "Castillo", "Wheeler", "Chapman", "Oliver", "Montgomery", "Richards", "Williamson", "Johnston", "Banks", "Meyer", "Bishop", "McCoy", "Howell", "Alvarez", "Morrison", "Hansen", "Fernandez", "Garza", "Harvey", "Little", "Burton", "Stanley", "Nguyen", "George", "Jacobs", "Reid", "Kim", "Fuller", "Lynch", "Dean", "Gilbert", "Garrett", "Romero", "Welch", "Larson", "Frazier", "Burke", "Hanson", "Day", "Mendoza", "Moreno", "Bowman", "Medina", "Fowler", "Brewer", "Hoffman", "Carlson", "Silva", "Pearson", "Holland", "Douglas", "Fleming", "Jensen", "Vargas", "Byrd", "Davidson", "Hopkins", "May", "Terry", "Herrera", "Wade", "Soto", "Walters", "Curtis", "Neal", "Caldwell", "Lowe", "Jennings", "Barnett", "Graves", "Jimenez", "Horton", "Shelton", "Barrett", "Obrien", "Castro", "Sutton", "Gregory", "McKinney", "Lucas", "Miles", "Craig", "Rodriquez", "Chambers", "Holt", "Lambert", "Fletcher", "Watts", "Bates", "Hale", "Rhodes", "Pena", "Beck", "Newman", "Haynes", "McDaniel", "Mendez", "Bush", "Vaughn", "Parks", "Dawson", "Santiago", "Norris", "Hardy", "Love", "Steele", "Curry", "Powers", "Schultz", "Barker", "Guzman", "Page", "Munoz", "Ball", "Keller", "Chandler", "Weber", "Leonard", "Walsh", "Lyons", "Ramsey", "Wolfe", "Schneider", "Mullins", "Benson", "Sharp", "Bowen", "Daniel", "Barber", "Cummings", "Hines", "Baldwin", "Griffith", "Valdez", "Hubbard", "Salazar", "Reeves", "Warner", "Stevenson", "Burgess", "Santos", "Tate", "Cross", "Garner", "Mann", "Mack", "Moss", "Thornton", "Dennis", "McGee", "Farmer", "Delgado", "Aguilar", "Vega", "Glover", "Manning", "Cohen", "Harmon", "Rodgers", "Robbins", "Newton", "Todd", "Blair", "Higgins", "Ingram", "Reese", "Cannon", "Strickland", "Townsend", "Potter", "Goodwin", "Walton", "Rowe", "Hampton", "Ortega", "Patton", "Swanson", "Joseph", "Francis", "Goodman", "Maldonado", "Yates", "Becker", "Erickson", "Hodges", "Rios", "Conner", "Adkins", "Webster", "Norman", "Malone", "Hammond", "Flowers", "Cobb", "Moody", "Quinn", "Blake", "Maxwell", "Pope", "Floyd", "Osborne", "Paul", "McCarthy", "Guerrero", "Lindsey", "Estrada", "Sandoval", "Gibbs", "Tyler", "Gross", "Fitzgerald", "Stokes", "Doyle", "Sherman", "Saunders", "Wise", "Colon", "Gill", "Alvarado", "Greer", "Padilla", "Simon", "Waters", "Nunez", "Ballard", "Schwartz", "McBride", "Houston", "Christensen", "Klein", "Pratt", "Briggs", "Parsons", "McLaughlin", "Zimmerman", "French", "Buchanan", "Moran", "Copeland", "Roy", "Pittman", "Brady", "McCormick", "Holloway", "Brock", "Poole", "Frank", "Logan", "Owen", "Bass", "Marsh", "Drake", "Wong", "Jefferson", "Park", "Morton", "Abbott", "Sparks", "Patrick", "Norton", "Huff", "Clayton", "Massey", "Lloyd", "Figueroa", "Carson", "Bowers", "Roberson", "Barton", "Tran", "Lamb", "Harrington", "Casey", "Boone", "Cortez", "Clarke", "Mathis", "Singleton", "Wilkins", "Cain", "Bryan", "Underwood", "Hogan", "McKenzie", "Collier", "Luna", "Phelps", "McGuire", "Allison", "Bridges", "Wilkerson", "Nash", "Summers", "Atkins"],
1972        // Data taken from http://www.dati.gov.it/dataset/comune-di-firenze_0164 (first 1000)
1973        "it": ["Acciai", "Aglietti", "Agostini", "Agresti", "Ahmed", "Aiazzi", "Albanese", "Alberti", "Alessi", "Alfani", "Alinari", "Alterini", "Amato", "Ammannati", "Ancillotti", "Andrei", "Andreini", "Andreoni", "Angeli", "Anichini", "Antonelli", "Antonini", "Arena", "Ariani", "Arnetoli", "Arrighi", "Baccani", "Baccetti", "Bacci", "Bacherini", "Badii", "Baggiani", "Baglioni", "Bagni", "Bagnoli", "Baldassini", "Baldi", "Baldini", "Ballerini", "Balli", "Ballini", "Balloni", "Bambi", "Banchi", "Bandinelli", "Bandini", "Bani", "Barbetti", "Barbieri", "Barchielli", "Bardazzi", "Bardelli", "Bardi", "Barducci", "Bargellini", "Bargiacchi", "Barni", "Baroncelli", "Baroncini", "Barone", "Baroni", "Baronti", "Bartalesi", "Bartoletti", "Bartoli", "Bartolini", "Bartoloni", "Bartolozzi", "Basagni", "Basile", "Bassi", "Batacchi", "Battaglia", "Battaglini", "Bausi", "Becagli", "Becattini", "Becchi", "Becucci", "Bellandi", "Bellesi", "Belli", "Bellini", "Bellucci", "Bencini", "Benedetti", "Be
1973nelli", "Beni", "Benini", "Bensi", "Benucci", "Benvenuti", "Berlincioni", "Bernacchioni", "Bernardi", "Bernardini", "Berni", "Bernini", "Bertelli", "Berti", "Bertini", "Bessi", "Betti", "Bettini", "Biagi", "Biagini", "Biagioni", "Biagiotti", "Biancalani", "Bianchi", "Bianchini", "Bianco", "Biffoli", "Bigazzi", "Bigi", "Biliotti", "Billi", "Binazzi", "Bindi", "Bini", "Biondi", "Bizzarri", "Bocci", "Bogani", "Bolognesi", "Bonaiuti", "Bonanni", "Bonciani", "Boncinelli", "Bondi", "Bonechi", "Bongini", "Boni", "Bonini", "Borchi", "Boretti", "Borghi", "Borghini", "Borgioli", "Borri", "Borselli", "Boschi", "Bottai", "Bracci", "Braccini", "Brandi", "Braschi", "Bravi", "Brazzini", "Breschi", "Brilli", "Brizzi", "Brogelli", "Brogi", "Brogioni", "Brunelli", "Brunetti", "Bruni", "Bruno", "Brunori", "Bruschi", "Bucci", "Bucciarelli", "Buccioni", "Bucelli", "Bulli", "Burberi", "Burchi", "Burgassi", "Burroni", "Bussotti", "Buti", "Caciolli", "Caiani", "Calabrese", "Calamai", "Calamandrei", "Caldini", "Calo'", "Calonaci", "Calosi", "Calvelli", "Cambi", "Camiciottoli", "Cammelli", "Cammilli", "Campolmi", "Cantini", "Capanni", "Capecchi", "Caponi", "Cappelletti", "Cappelli", "Cappellini", "Cappugi", "Capretti", "Caputo", "Carbone", "Carboni", "Cardini", "Carlesi", "Carletti", "Carli", "Caroti", "Carotti", "Carrai", "Carraresi", "Carta", "Caruso", "Casalini", "Casati", "Caselli", "Casini", "Castagnoli", "Castellani", "Castelli", "Castellucci", "Catalano", "Catarzi", "Catelani", "Cavaciocchi", "Cavallaro", "Cavallini", "Cavicchi", "Cavini", "Ceccarelli", "Ceccatelli", "Ceccherelli", "Ceccherini", "Cecchi", "Cecchini", "Cecconi", "Cei", "Cellai", "Celli", "Cellini", "Cencetti", "Ceni", "Cenni", "Cerbai", "Cesari", "Ceseri", "Checcacci", "Checchi", "Checcucci", "Cheli", "Chellini", "Chen", "Cheng", "Cherici", "Cherubini", "Chiaramonti", "Chiarantini", "Chiarelli", "Chiari", "Chiarini", "Chiarugi", "Chiavacci", "Chiesi", "Chimenti", "Chini", "Chirici", "Chiti", "Ciabatti", "Ciampi", "Cianchi", "Cianfanelli", "Cianferoni", "Ciani", "Ciapetti", "Ciappi", "Ciardi", "Ciatti", "Cicali", "Ciccone", "Cinelli", "Cini", "Ciobanu", "Ciolli", "Cioni", "Cipriani", "Cirillo", "Cirri", "Ciucchi", "Ciuffi", "Ciulli", "Ciullini", "Clemente", "Cocchi", "Cognome", "Coli", "Collini", "Colombo", "Colzi", "Comparini", "Conforti", "Consigli", "Conte", "Conti", "Contini", "Coppini", "Coppola", "Corsi", "Corsini", "Corti", "Cortini", "Cosi", "Costa", "Costantini", "Costantino", "Cozzi", "Cresci", "Crescioli", "Cresti", "Crini", "Curradi", "D'Agostino", "D'Alessandro", "D'Amico", "D'Angelo", "Daddi", "Dainelli", "Dallai", "Danti", "Davitti", "De Angelis", "De Luca", "De Marco", "De Rosa", "De Santis", "De Simone", "De Vita", "Degl'Innocenti", "Degli Innocenti", "Dei", "Del Lungo", "Del Re", "Di Marco", "Di Stefano", "Dini", "Diop", "Dobre", "Dolfi", "Donati", "Dondoli", "Dong", "Donnini", "Ducci", "Dumitru", "Ermini", "Esposito", "Evangelisti", "Fabbri", "Fabbrini", "Fabbrizzi", "Fabbroni", "Fabbrucci", "Fabiani", "Facchini", "Faggi", "Fagioli", "Failli", "Faini", "Falciani", "Falcini", "Falcone", "Fallani", "Falorni", "Falsini", "Falugiani", "Fancelli", "Fanelli", "Fanetti", "Fanfani", "Fani", "Fantappie'", "Fantechi", "Fanti", "Fantini", "Fantoni", "Farina", "Fattori", "Favilli", "Fedi", "Fei", "Ferrante", "Ferrara", "Ferrari", "Ferraro", "Ferretti", "Ferri", "Ferrini", "Ferroni", "Fiaschi", "Fibbi", "Fiesoli", "Filippi", "Filippini", "Fini", "Fioravanti", "Fiore", "Fiorentini", "Fiorini", "Fissi", "Focardi", "Foggi", "Fontana", "Fontanelli", "Fontani", "Forconi", "Formigli", "Forte", "Forti", "Fortini", "Fossati", "Fossi", "Francalanci", "Franceschi", "Franceschini", "Franchi", "Franchini", "Franci", "Francini", "Francioni", "Franco", "Frassineti", "Frati", "Fratini", "Frilli", "Frizzi", "Frosali", "Frosini", "Frullini", "Fusco", "Fusi", "Gabbrielli", "Gabellini", "Gagliardi", "Galanti", "Galardi", "Galeotti", "Galletti", "Galli", "Gallo", "Gallori", "Gambacciani", "Gargani", "Garofalo", "Garuglieri", "Gashi", "Gasperini", "Gatti", "Gelli", "Gensini", "Gentile", "Gentili", "Geri", "Gerini", "Gheri", "Ghini", "Giachetti", "Giachi", "Giacomelli", "Gianassi", "Giani", "Giannelli", "Giannetti", "Gianni", "Giannini", "Giannoni", "Giannotti", "Giannozzi", "Gigli", "Giordano", "Giorgetti", "Giorgi", "Giovacchini", "Giovannelli", "Giovannetti", "Giovannini", "Giovannoni", "Giuliani", "Giunti", "Giuntini", "Giusti", "Gonnelli", "Goretti", "Gori", "Gradi", "Gramigni", "Grassi", "Grasso", "Graziani", "Grazzini", "Greco", "Grifoni", "Grillo", "Grimaldi", "Grossi", "Gualtieri", "Guarducci", "Guarino", "Guarnieri", "Guasti", "Guerra", "Guerri", "Guerrini", "Guidi", "Guidotti", "He", "Hoxha", "Hu", "Huang", "Iandelli", "Ignesti", "Innocenti", "Jin", "La Rosa", "Lai", "Landi", "Landini", "Lanini", "Lapi", "Lapini", "Lari", "Lascialfari", "Lastrucci", "Latini", "Lazzeri", "Lazzerini", "Lelli", "Lenzi", "Leonardi", "Leoncini", "Leone", "Leoni", "Lepri", "Li", "Liao", "Lin", "Linari", "Lippi", "Lisi", "Livi", "Lombardi", "Lombardini", "Lombardo", "Longo", "Lopez", "Lorenzi", "Lorenzini", "Lorini", "Lotti", "Lu", "Lucchesi", "Lucherini", "Lunghi", "Lupi", "Madiai", "Maestrini", "Maffei", "Maggi", "Maggini", "Magherini", "Magini", "Magnani", "Magnelli", "Magni", "Magnolfi", "Magrini", "Malavolti", "Malevolti", "Manca", "Mancini", "Manetti", "Manfredi", "Mangani", "Mannelli", "Manni", "Mannini", "Mannucci", "Manuelli", "Manzini", "Marcelli", "Marchese", "Marchetti", "Marchi", "Marchiani", "Marchionni", "Marconi", "Marcucci", "Margheri", "Mari", "Mariani", "Marilli", "Marinai", "Marinari", "Marinelli", "Marini", "Marino", "Mariotti", "Marsil
1973i", "Martelli", "Martinelli", "Martini", "Martino", "Marzi", "Masi", "Masini", "Masoni", "Massai", "Materassi", "Mattei", "Matteini", "Matteucci", "Matteuzzi", "Mattioli", "Mattolini", "Matucci", "Mauro", "Mazzanti", "Mazzei", "Mazzetti", "Mazzi", "Mazzini", "Mazzocchi", "Mazzoli", "Mazzoni", "Mazzuoli", "Meacci", "Mecocci", "Meini", "Melani", "Mele", "Meli", "Mengoni", "Menichetti", "Meoni", "Merlini", "Messeri", "Messina", "Meucci", "Miccinesi", "Miceli", "Micheli", "Michelini", "Michelozzi", "Migliori", "Migliorini", "Milani", "Miniati", "Misuri", "Monaco", "Montagnani", "Montagni", "Montanari", "Montelatici", "Monti", "Montigiani", "Montini", "Morandi", "Morandini", "Morelli", "Moretti", "Morganti", "Mori", "Morini", "Moroni", "Morozzi", "Mugnai", "Mugnaini", "Mustafa", "Naldi", "Naldini", "Nannelli", "Nanni", "Nannini", "Nannucci", "Nardi", "Nardini", "Nardoni", "Natali", "Ndiaye", "Nencetti", "Nencini", "Nencioni", "Neri", "Nesi", "Nesti", "Niccolai", "Niccoli", "Niccolini", "Nigi", "Nistri", "Nocentini", "Noferini", "Novelli", "Nucci", "Nuti", "Nutini", "Oliva", "Olivieri", "Olmi", "Orlandi", "Orlandini", "Orlando", "Orsini", "Ortolani", "Ottanelli", "Pacciani", "Pace", "Paci", "Pacini", "Pagani", "Pagano", "Paggetti", "Pagliai", "Pagni", "Pagnini", "Paladini", "Palagi", "Palchetti", "Palloni", "Palmieri", "Palumbo", "Pampaloni", "Pancani", "Pandolfi", "Pandolfini", "Panerai", "Panichi", "Paoletti", "Paoli", "Paolini", "Papi", "Papini", "Papucci", "Parenti", "Parigi", "Parisi", "Parri", "Parrini", "Pasquini", "Passeri", "Pecchioli", "Pecorini", "Pellegrini", "Pepi", "Perini", "Perrone", "Peruzzi", "Pesci", "Pestelli", "Petri", "Petrini", "Petrucci", "Pettini", "Pezzati", "Pezzatini", "Piani", "Piazza", "Piazzesi", "Piazzini", "Piccardi", "Picchi", "Piccini", "Piccioli", "Pieraccini", "Pieraccioni", "Pieralli", "Pierattini", "Pieri", "Pierini", "Pieroni", "Pietrini", "Pini", "Pinna", "Pinto", "Pinzani", "Pinzauti", "Piras", "Pisani", "Pistolesi", "Poggesi", "Poggi", "Poggiali", "Poggiolini", "Poli", "Pollastri", "Porciani", "Pozzi", "Pratellesi", "Pratesi", "Prosperi", "Pruneti", "Pucci", "Puccini", "Puccioni", "Pugi", "Pugliese", "Puliti", "Querci", "Quercioli", "Raddi", "Radu", "Raffaelli", "Ragazzini", "Ranfagni", "Ranieri", "Rastrelli", "Raugei", "Raveggi", "Renai", "Renzi", "Rettori", "Ricci", "Ricciardi", "Ridi", "Ridolfi", "Rigacci", "Righi", "Righini", "Rinaldi", "Risaliti", "Ristori", "Rizzo", "Rocchi", "Rocchini", "Rogai", "Romagnoli", "Romanelli", "Romani", "Romano", "Romei", "Romeo", "Romiti", "Romoli", "Romolini", "Rontini", "Rosati", "Roselli", "Rosi", "Rossetti", "Rossi", "Rossini", "Rovai", "Ruggeri", "Ruggiero", "Russo", "Sabatini", "Saccardi", "Sacchetti", "Sacchi", "Sacco", "Salerno", "Salimbeni", "Salucci", "Salvadori", "Salvestrini", "Salvi", "Salvini", "Sanesi", "Sani", "Sanna", "Santi", "Santini", "Santoni", "Santoro", "Santucci", "Sardi", "Sarri", "Sarti", "Sassi", "Sbolci", "Scali", "Scarpelli", "Scarselli", "Scopetani", "Secci", "Selvi", "Senatori", "Senesi", "Serafini", "Sereni", "Serra", "Sestini", "Sguanci", "Sieni", "Signorini", "Silvestri", "Simoncini", "Simonetti", "Simoni", "Singh", "Sodi", "Soldi", "Somigli", "Sorbi", "Sorelli", "Sorrentino", "Sottili", "Spina", "Spinelli", "Staccioli", "Staderini", "Stefanelli", "Stefani", "Stefanini", "Stella", "Susini", "Tacchi", "Tacconi", "Taddei", "Tagliaferri", "Tamburini", "Tanganelli", "Tani", "Tanini", "Tapinassi", "Tarchi", "Tarchiani", "Targioni", "Tassi", "Tassini", "Tempesti", "Terzani", "Tesi", "Testa", "Testi", "Tilli", "Tinti", "Tirinnanzi", "Toccafondi", "Tofanari", "Tofani", "Tognaccini", "Tonelli", "Tonini", "Torelli", "Torrini", "Tosi", "Toti", "Tozzi", "Trambusti", "Trapani", "Tucci", "Turchi", "Ugolini", "Ulivi", "Valente", "Valenti", "Valentini", "Vangelisti", "Vanni", "Vannini", "Vannoni", "Vannozzi", "Vannucchi", "Vannucci", "Ventura", "Venturi", "Venturini", "Vestri", "Vettori", "Vichi", "Viciani", "Vieri", "Vigiani", "Vignoli", "Vignolini", "Vignozzi", "Villani", "Vinci", "Visani", "Vitale", "Vitali", "Viti", "Viviani", "Vivoli", "Volpe", "Volpi", "Wang", "Wu", "Xu", "Yang", "Ye", "Zagli", "Zani", "Zanieri", "Zanobini", "Zecchi", "Zetti", "Zhang", "Zheng", "Zhou", "Zhu", "Zingoni", "Zini", "Zoppi"],
1974        // http://www.voornamelijk.nl/meest-voorkomende-achternamen-in-nederland-en-amsterdam/
1975        "nl": ["Albers", "Alblas", "Appelman", "Baars", "Baas", "Bakker", "Blank", "Bleeker", "Blok", "Blom", "Boer", "Boers", "Boldewijn", "Boon", "Boot", "Bos", "Bosch", "Bosma", "Bosman", "Bouma", "Bouman", "Bouwman", "Brands", "Brouwer", "Burger", "Buijs", "Buitenhuis", "Ceder", "Cohen", "Dekker", "Dekkers", "Dijkman", "Dijkstra", "Driessen", "Drost", "Engel", "Evers", "Faber", "Franke", "Gerritsen", "Goedhart", "Goossens", "Groen", "Groenenberg", "Groot", "Haan", "Hart", "Heemskerk", "Hendriks", "Hermans", "Hoekstra", "Hofman", "Hopman", "Huisman", "Jacobs", "Jansen", "Janssen", "Jonker", "Jaspers", "Keijzer", "Klaassen", "Klein", "Koek", "Koenders", "Kok", "Kool", "Koopman", "Koopmans", "Koning", "Koster", "Kramer", "Kroon", "Kuijpers", "Kuiper", "Kuipers", "Kurt", "Koster", "Kwakman", "Los", "Lubbers", "Maas", "Markus", "Martens", "Meijer", "Mol", "Molenaar", "Mulder", "Nieuwenhuis", "Peeters", "Peters", "Pengel", "Pieters", "Pool", "Post", "Postma", "Prins", "Pronk", "Reijnders", "Rietveld", "Roest", "Roos", "Sanders", "Schaap", "Scheffer", "Schenk", "Schilder", "Schipper", "Schmidt", "Scholten", "Schouten", "Schut", "Schutte", "Schuurman", "Simons", "Smeets", "Smit", "Smits", "Snel", "Swinkels", "Tas", "Terpstra", "Timmermans", "Tol", "Tromp", "Troost", "Valk", "Veenstra", "Veldkamp", "Verbeek", "Verheul", "Verhoeven", "Vermeer", "Vermeulen", "Verweij", "Vink", "Visser", "Voorn", "Vos", "Wagena
1975ar", "Wiersema", "Willems", "Willemsen", "Witteveen", "Wolff", "Wolters", "Zijlstra", "Zwart", "de Beer", "de Boer", "de Bruijn", "de Bruin", "de Graaf", "de Groot", "de Haan", "de Haas", "de Jager", "de Jong", "de Jonge", "de Koning", "de Lange", "de Leeuw", "de Ridder", "de Rooij", "de Ruiter", "de Vos", "de Vries", "de Waal", "de Wit", "de Zwart", "van Beek", "van Boven", "van Dam", "van Dijk", "van Dongen", "van Doorn", "van Egmond", "van Eijk", "van Es", "van Gelder", "van Gelderen", "van Houten", "van Hulst", "van Kempen", "van Kesteren", "van Leeuwen", "van Loon", "van Mill", "van Noord", "van Ommen", "van Ommeren", "van Oosten", "van Oostveen", "van Rijn", "van Schaik", "van Veen", "van Vliet", "van Wijk", "van Wijngaarden", "van den Poel", "van de Pol", "van den Ploeg", "van de Ven", "van den Berg", "van den Bosch", "van den Brink", "van den Broek", "van den Heuvel", "van der Heijden", "van der Horst", "van der Hulst", "van der Kroon", "van der Laan", "van der Linden", "van der Meer", "van der Meij", "van der Meulen", "van der Molen", "van der Sluis", "van der Spek", "van der Veen", "van der Velde", "van der Velden", "van der Vliet", "van der Wal"],
1976        // https://surnames.behindthename.com/top/lists/england-wales/1991
1977        "uk": ["Smith", "Jones", "Williams", "Taylor", "Brown", "Davies", "Evans", "Wilson", "Thomas", "Johnson", "Roberts", "Robinson", "Thompson", "Wright", "Walker", "White", "Edwards", "Hughes", "Green", "Hall", "Lewis", "Harris", "Clarke", "Patel", "Jackson", "Wood", "Turner", "Martin", "Cooper", "Hill", "Ward", "Morris", "Moore", "Clark", "Lee", "King", "Baker", "Harrison", "Morgan", "Allen", "James", "Scott", "Phillips", "Watson", "Davis", "Parker", "Price", "Bennett", "Young", "Griffiths", "Mitchell", "Kelly", "Cook", "Carter", "Richardson", "Bailey", "Collins", "Bell", "Shaw", "Murphy", "Miller", "Cox", "Richards", "Khan", "Marshall", "Anderson", "Simpson", "Ellis", "Adams", "Singh", "Begum", "Wilkinson", "Foster", "Chapman", "Powell", "Webb", "Rogers", "Gray", "Mason", "Ali", "Hunt", "Hussain", "Campbell", "Matthews", "Owen", "Palmer", "Holmes", "Mills", "Barnes", "Knight", "Lloyd", "Butler", "Russell", "Barker", "Fisher", "Stevens", "Jenkins", "Murray", "Dixon", "Harvey", "Graham", "Pearson", "Ahmed", "Fletcher", "Walsh", "Kaur", "Gibson", "Howard", "Andrews", "Stewart", "Elliott", "Reynolds", "Saunders", "Payne", "Fox", "Ford", "Pearce", "Day", "Brooks", "West", "Lawrence", "Cole", "Atkinson", "Bradley", "Spencer", "Gill", "Dawson", "Ball", "Burton", "O'brien", "Watts", "Rose", "Booth", "Perry", "Ryan", "Grant", "Wells", "Armstrong", "Francis", "Rees", "Hayes", "Hart", "Hudson", "Newman", "Barrett", "Webster", "Hunter", "Gregory", "Carr", "Lowe", "Page", "Marsh", "Riley", "Dunn", "Woods", "Parsons", "Berry", "Stone", "Reid", "Holland", "Hawkins", "Harding", "Porter", "Robertson", "Newton", "Oliver", "Reed", "Kennedy", "Williamson", "Bird", "Gardner", "Shah", "Dean", "Lane", "Cooke", "Bates", "Henderson", "Parry", "Burgess", "Bishop", "Walton", "Burns", "Nicholson", "Shepherd", "Ross", "Cross", "Long", "Freeman", "Warren", "Nicholls", "Hamilton", "Byrne", "Sutton", "Mcdonald", "Yates", "Hodgson", "Robson", "Curtis", "Hopkins", "O'connor", "Harper", "Coleman", "Watkins", "Moss", "Mccarthy", "Chambers", "O'neill", "Griffin", "Sharp", "Hardy", "Wheeler", "Potter", "Osborne", "Johnston", "Gordon", "Doyle", "Wallace", "George", "Jordan", "Hutchinson", "Rowe", "Burke", "May", "Pritchard", "Gilbert", "Willis", "Higgins", "Read", "Miles", "Stevenson", "Stephenson", "Hammond", "Arnold", "Buckley", "Walters", "Hewitt", "Barber", "Nelson", "Slater", "Austin", "Sullivan", "Whitehead", "Mann", "Frost", "Lambert", "Stephens", "Blake", "Akhtar", "Lynch", "Goodwin", "Barton", "Woodward", "Thomson", "Cunningham", "Quinn", "Barnett", "Baxter", "Bibi", "Clayton", "Nash", "Greenwood", "Jennings", "Holt", "Kemp", "Poole", "Gallagher", "Bond", "Stokes", "Tucker", "Davidson", "Fowler", "Heath", "Norman", "Middleton", "Lawson", "Banks", "French", "Stanley", "Jarvis", "Gibbs", "Ferguson", "Hayward", "Carroll", "Douglas", "Dickinson", "Todd", "Barlow", "Peters", "Lucas", "Knowles", "Hartley", "Miah", "Simmons", "Morton", "Alexander", "Field", "Morrison", "Norris", "Townsend", "Preston", "Hancock", "Thornton", "Baldwin", "Burrows", "Briggs", "Parkinson", "Reeves", "Macdonald", "Lamb", "Black", "Abbott", "Sanders", "Thorpe", "Holden", "Tomlinson", "Perkins", "Ashton", "Rhodes", "Fuller", "Howe", "Bryant", "Vaughan", "Dale", "Davey", "Weston", "Bartlett", "Whittaker", "Davison", "Kent", "Skinner", "Birch", "Morley", "Daniels", "Glover", "Howell", "Cartwright", "Pugh", "Humphreys", "Goddard", "Brennan", "Wall", "Kirby", "Bowen", "Savage", "Bull", "Wong", "Dobson", "Smart", "Wilkins", "Kirk", "Fraser", "Duffy", "Hicks", "Patterson", "Bradshaw", "Little", "Archer", "Warner", "Waters", "O'sullivan", "Farrell", "Brookes", "Atkins", "Kay", "Dodd", "Be
1977ntley", "Flynn", "John", "Schofield", "Short", "Haynes", "Wade", "Butcher", "Henry", "Sanderson", "Crawford", "Sheppard", "Bolton", "Coates", "Giles", "Gould", "Houghton", "Gibbons", "Pratt", "Manning", "Law", "Hooper", "Noble", "Dyer", "Rahman", "Clements", "Moran", "Sykes", "Chan", "Doherty", "Connolly", "Joyce", "Franklin", "Hobbs", "Coles", "Herbert", "Steele", "Kerr", "Leach", "Winter", "Owens", "Duncan", "Naylor", "Fleming", "Horton", "Finch", "Fitzgerald", "Randall", "Carpenter", "Marsden", "Browne", "Garner", "Pickering", "Hale", "Dennis", "Vincent", "Chadwick", "Chandler", "Sharpe", "Nolan", "Lyons", "Hurst", "Collier", "Peacock", "Howarth", "Faulkner", "Rice", "Pollard", "Welch", "Norton", "Gough", "Sinclair", "Blackburn", "Bryan", "Conway", "Power", "Cameron", "Daly", "Allan", "Hanson", "Gardiner", "Boyle", "Myers", "Turnbull", "Wallis", "Mahmood", "Sims", "Swift", "Iqbal", "Pope", "Brady", "Chamberlain", "Rowley", "Tyler", "Farmer", "Metcalfe", "Hilton", "Godfrey", "Holloway", "Parkin", "Bray", "Talbot", "Donnelly", "Nixon", "Charlton", "Benson", "Whitehouse", "Barry", "Hope", "Lord", "North", "Storey", "Connor", "Potts", "Bevan", "Hargreaves", "Mclean", "Mistry", "Bruce", "Howells", "Hyde", "Parkes", "Wyatt", "Fry", "Lees", "O'donnell", "Craig", "Forster", "Mckenzie", "Humphries", "Mellor", "Carey", "Ingram", "Summers", "Leonard"],
1978        // https://surnames.behindthename.com/top/lists/germany/2017
1979        "de": ["Müller", "Schmidt", "Schneider", "Fischer", "Weber", "Meyer", "Wagner", "Becker", "Schulz", "Hoffmann", "Schäfer", "Koch", "Bauer", "Richter", "Klein", "Wolf", "Schröder", "Neumann", "Schwarz", "Zimmermann", "Braun", "Krüger", "Hofmann", "Hartmann", "Lange", "Schmitt", "Werner", "Schmitz", "Krause", "Meier", "Lehmann", "Schmid", "Schulze", "Maier", "Köhler", "Herrmann", "König", "Walter", "Mayer", "Huber", "Kaiser", "Fuchs", "Peters", "Lang", "Scholz", "Möller", "Weiß", "Jung", "Hahn", "Schubert", "Vogel", "Friedrich", "Keller", "Günther", "Frank", "Berger", "Winkler", "Roth", "Beck", "Lorenz", "Baumann", "Franke", "Albrecht", "Schuster", "Simon", "Ludwig", "Böhm", "Winter", "Kraus", "Martin", "Schumacher", "Krämer", "Vogt", "Stein", "Jäger", "Otto", "Sommer", "Groß", "Seidel", "Heinrich", "Brandt", "Haas", "Schreiber", "Graf", "Schulte", "Dietrich", "Ziegler", "Kuhn", "Kühn", "Pohl", "Engel", "Horn", "Busch", "Bergmann", "Thomas", "Voigt", "Sauer", "Arnold", "Wolff", "Pfeiffer"],
1980        // http://www.japantimes.co.jp/life/2009/10/11/lifestyle/japans-top-100-most-common-family-names/
1981        "jp": ["Sato", "Suzuki", "Takahashi", "Tanaka", "Watanabe", "Ito", "Yamamoto", "Nakamura", "Kobayashi", "Kato", "Yoshida", "Yamada", "Sasaki", "Yamaguchi", "Saito", "Matsumoto", "Inoue", "Kimura", "Hayashi", "Shimizu", "Yamazaki", "Mori", "Abe", "Ikeda", "Hashimoto", "Yamashita", "Ishikawa", "Nakajima", "Maeda", "Fujita", "Ogawa", "Goto", "Okada", "Hasegawa", "Murakami", "Kondo", "Ishii", "Saito", "Sakamoto", "Endo", "Aoki", "Fujii", "Nishimura", "Fukuda", "Ota", "Miura", "Fujiwara", "Okamoto", "Matsuda", "Nakagawa", "Nakano", "Harada", "Ono", "Tamura", "Takeuchi", "Kaneko", "Wada", "Nakayama", "Ishida", "Ueda", "Morita", "Hara", "Shibata", "Sakai", "Kudo", "Yokoyama", "Miyazaki", "Miyamoto", "Uchida", "Takagi", "Ando", "Taniguchi", "Ohno", "Maruyama", "Imai", "Takada", "Fujimoto", "Takeda", "Murata", "Ueno", "Sugiyama", "Masuda", "Sugawara", "Hirano", "Kojima", "Otsuka", "Chiba", "Kubo", "Matsui", "Iwasaki", "Sakurai", "Kinoshita", "Noguchi", "Matsuo", "Nomura", "Kikuchi", "Sano", "Onishi", "Sugimoto", "Arai"],
1982        // http://www.lowchensaustralia.com/names/popular-spanish-names.htm
1983        "es": ["Garcia", "Fernandez", "Lopez", "Martinez", "Gonzalez", "Rodriguez", "Sanchez", "Perez", "Martin", "Gomez", "Ruiz", "Diaz", "Hernandez", "Alvarez", "Jimenez", "Moreno", "Munoz", "Alonso", "Romero", "Navarro", "Gutierrez", "Torres", "Dominguez", "Gil", "Vazquez", "Blanco", "Serrano", "Ramos", "Castro", "Suarez", "Sanz", "Rubio", "Ortega", "Molina", "Delgado", "Ortiz", "Morales", "Ramirez", "Marin", "Iglesias", "Santos", "Castillo", "Garrido", "Calvo", "Pena", "Cruz", "Cano", "Nunez", "Prieto", "Diez", "Lozano", "Vidal", "Pascual", "Ferrer", "Medina", "Vega", "Leon", "Herrero", "Vicente", "Mendez", "Guerrero", "Fuentes", "Campos", "Nieto", "Cortes", "Caballero", "Ibanez", "Lorenzo", "Pastor", "Gimenez", "Saez", "Soler", "Marquez", "Carrasco", "Herrera", "Montero", "Arias", "Crespo", "Flores", "Andres", "Aguilar", "Hidalgo", "Cabrera", "Mora", "Duran", "Velasco", "Rey", "Pardo", "Roman", "Vila", "Bravo", "Merino", "Moya", "Soto", "Izquierdo", "Reyes", "Redondo", "Marcos", "Carmona", "Menendez"],
1984        // Data taken from https://fr.wikipedia.org/wiki/Liste_des_noms_de_famille_les_plus_courants_en_France
1985        "fr": ["Martin", "Bernard", "Thomas", "Petit", "Robert", "Richard", "Durand", "Dubois", "Moreau", "Laurent", "Simon", "Michel", "Lefèvre", "Leroy", "Roux", "David", "Bertrand", "Morel", "Fournier", "Girard", "Bonnet", "Dupont", "Lambert", "Fontaine", "Rousseau", "Vincent", "Müller", "Lefèvre", "Faure", "André", "Mercier", "Blanc", "Guérin", "Boyer", "Garnier", "Chevalier", "François", "Legrand", "Gauthier", "Garcia", "Perrin", "Robin", "Clément", "Morin", "Nicolas", "Henry", "Roussel", "Matthieu", "Gautier", "Masson", "Marchand", "Duval", "Denis", "Dumont", "Marie", "Lemaire", "Noël", "Meyer", "Dufour", "Meunier", "Brun", "Blanchard", "Giraud", "Joly", "Rivière", "Lucas", "Brunet", "Gaillard", "Barbier", "Arnaud", "Martínez", "Gérard", "Roche", "Renard", "Schmitt", "Roy", "Leroux", "Colin", "Vidal", "Caron", "Picard", "Roger", "Fabre", "Aubert", "Lemoine", "Renaud", "Dumas", "Lacroix", "Olivier", "Philippe", "Bourgeois", "Pierre", "Benoît", "Rey", "Leclerc", "Payet", "Rolland", "Leclercq", "Guillaume", "Lecomte", "López", "Jean", "Dupuy", "Guillot", "Hubert", "Berger", "Carpentier", "Sánchez", "Dupuis", "Moulin", "Louis", "Deschamps", "Huet", "Vasseur", "Perez", "Boucher", "Fleury", "Royer", "Klein", "Jacquet", "Adam", "Paris", "Poirier", "Marty", "Aubry", "Guyot", "Carré", "Charles", "Renault", "Charpentier", "Ménard", "Maillard", "Baron", "Bertin", "Bailly", "Hervé", "Schneider", "Fernández", "Le GallGall", "Collet", "Léger", "Bouvier", "Julien", "Prévost", "Millet", "Perrot", "Daniel", "Le RouxRoux", "Cousin", "Germain", "Breton", "Besson", "Langlois", "Rémi", "Le GoffGoff", "Pelletier", "Lévêque", "Perrier", "Leblanc", "Barré", "Lebrun", "Marchal", "Weber", "Mallet", "Hamon", "Boulanger", "Jacob", "Monnier", "Michaud", "Rodríguez", "Guichard", "Gillet", "Étienne", "Grondin", "Poulain", "Tessier", "Chevallier", "Collin", "Chauvin", "Da SilvaSilva", "Bouchet", "Gay", "Lemaître", "Bénard", "Maréchal", "Humbert", "Reynaud", "Antoine", "Hoarau", "Perret", "Barthélemy", "Cordier", "Pichon", "Lejeune", "Gilbert", "L
1985amy", "Delaunay", "Pasquier", "Carlier", "LaporteLaporte"]
1986      },
1987      // Data taken from http://geoportal.statistics.gov.uk/datasets/ons-postcode-directory-latest-centroids
1988      postcodeAreas: [{ code: "AB" }, { code: "AL" }, { code: "B" }, { code: "BA" }, { code: "BB" }, { code: "BD" }, { code: "BH" }, { code: "BL" }, { code: "BN" }, { code: "BR" }, { code: "BS" }, { code: "BT" }, { code: "CA" }, { code: "CB" }, { code: "CF" }, { code: "CH" }, { code: "CM" }, { code: "CO" }, { code: "CR" }, { code: "CT" }, { code: "CV" }, { code: "CW" }, { code: "DA" }, { code: "DD" }, { code: "DE" }, { code: "DG" }, { code: "DH" }, { code: "DL" }, { code: "DN" }, { code: "DT" }, { code: "DY" }, { code: "E" }, { code: "EC" }, { code: "EH" }, { code: "EN" }, { code: "EX" }, { code: "FK" }, { code: "FY" }, { code: "G" }, { code: "GL" }, { code: "GU" }, { code: "GY" }, { code: "HA" }, { code: "HD" }, { code: "HG" }, { code: "HP" }, { code: "HR" }, { code: "HS" }, { code: "HU" }, { code: "HX" }, { code: "IG" }, { code: "IM" }, { code: "IP" }, { code: "IV" }, { code: "JE" }, { code: "KA" }, { code: "KT" }, { code: "KW" }, { code: "KY" }, { code: "L" }, { code: "LA" }, { code: "LD" }, { code: "LE" }, { code: "LL" }, { code: "LN" }, { code: "LS" }, { code: "LU" }, { code: "M" }, { code: "ME" }, { code: "MK" }, { code: "ML" }, { code: "N" }, { code: "NE" }, { code: "NG" }, { code: "NN" }, { code: "NP" }, { code: "NR" }, { code: "NW" }, { code: "OL" }, { code: "OX" }, { code: "PA" }, { code: "PE" }, { code: "PH" }, { code: "PL" }, { code: "PO" }, { code: "PR" }, { code: "RG" }, { code: "RH" }, { code: "RM" }, { code: "S" }, { code: "SA" }, { code: "SE" }, { code: "SG" }, { code: "SK" }, { code: "SL" }, { code: "SM" }, { code: "SN" }, { code: "SO" }, { code: "SP" }, { code: "SR" }, { code: "SS" }, { code: "ST" }, { code: "SW" }, { code: "SY" }, { code: "TA" }, { code: "TD" }, { code: "TF" }, { code: "TN" }, { code: "TQ" }, { code: "TR" }, { code: "TS" }, { code: "TW" }, { code: "UB" }, { code: "W" }, { code: "WA" }, { code: "WC" }, { code: "WD" }, { code: "WF" }, { code: "WN" }, { code: "WR" }, { code: "WS" }, { code: "WV" }, { code: "YO" }, { code: "ZE" }],
1989      // Data taken from https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
1990      countries: [{ "name": "Afghanistan", "abbreviation": "AF" }, { "name": "Åland Islands", "abbreviation": "AX" }, { "name": "Albania", "abbreviation": "AL" }, { "name": "Algeria", "abbreviation": "DZ" }, { "name": "American Samoa", "abbreviation": "AS" }, { "name": "Andorra", "abbreviation": "AD" }, { "name": "Angola", "abbreviation": "AO" }, { "name": "Anguilla", "abbreviation": "AI" }, { "name": "Antarctica", "abbreviation": "AQ" }, { "name": "Antigua and Barbuda", "abbreviation": "AG" }, { "name": "Argentina", "abbreviation": "AR" }, { "name": "Armenia", "abbreviation": "AM" }, { "name": "Aruba", "abbreviation": "AW" }, { "name": "Australia", "abbreviation": "AU" }, { "name": "Austria", "abbreviation": "AT" }, { "name": "Azerbaijan", "abbreviation": "AZ" }, { "name": "Bahamas", "abbreviation": "BS" }, { "name": "Bahrain", "abbreviation": "BH" }, { "name": "Bangladesh", "abbreviation": "BD" }, { "name": "Barbados", "abbreviation": "BB" }, { "name": "Belarus", "abbreviation": "BY" }, { "name": "Belgium", "abbreviation": "BE" }, { "name": "Belize", "abbreviation": "BZ" }, { "name": "Benin", "abbreviation": "BJ" }, { "name": "Bermuda", "abbreviation": "BM" }, { "name": "Bhutan", "abbreviation": "BT" }, { "name": "Plurinational State of Bolivia", "abbreviation": "BO" }, { "name": "Bonaire, Sint Eustatius and Saba", "abbreviation": "BQ" }, { "name": "Bosnia and Herzegovina", "abbreviation": "BA" }, { "name": "Botswana", "abbreviation": "BW" }, { "name": "Bouvet Island", "abbreviation": "BV" }, { "name": "Brazil", "abbreviation": "BR" }, { "name": "British Indian Ocean Territory", "abbreviation": "IO" }, { "name": "Brunei Darussalam", "abbreviation": "BN" }, { "name": "Bulgaria", "abbreviation": "BG" }, { "name": "Burkina Faso", "abbreviation": "BF" }, { "name": "Burundi", "abbreviation": "BI" }, { "name": "Cabo Verde", "abbreviation": "CV" }, { "name": "Cambodia", "abbreviation": "KH" }, { "name": "Cameroon", "abbreviation": "CM" }, { "name": "Canada", "abbreviation": "CA" }, { "name": "Cayman Islands", "abbreviation": "KY" }, { "name": "Central African Republic", "abbreviation": "CF" }, { "name": "Chad", "abbreviation": "TD" }, { "name": "Chile", "abbreviation": "CL" }, { "name": "China", "abbreviation": "CN" }, { "name": "Christmas Island", "abbreviation": "CX" }, { "name": "Cocos (Keeling) Islands", "abbreviation": "CC" }, { "name": "Colombia", "abbreviation": "CO" }, { "name": "Comoros", "abbreviation": "KM" }, { "name": "Congo", "abbreviation": "CG" }, { "name": "Democratic Republic of the Congo", "abbreviation": "CD" }, { "name": "Cook Islands", "abbreviation": "CK" }, { "name": "Costa Rica", "abbreviation": "CR" }, { "name": "Côte d'Ivoire", "abbreviation": "CI" }, { "name": "Croatia", "abbreviation": "HR" }, { "name": "Cuba", "abbreviation": "CU" }, { "name": "Curaçao", "abbreviation": "CW" }, { "name": "Cyprus", "abbreviation": "CY" }, { "name": "Czechia", "abbreviation": "CZ" }, { "name": "Denmark", "abbreviation": "DK" }, { "name": "Djibouti", "abbreviation": "DJ" }, { "name": "Dominica", "abbreviation": "DM" }, { "name": "Dominican Republic", "abbreviation": "DO" }, { "name": "Ecuador", "abbreviation": "EC" }, { "name": "Egypt", "abbreviation": "EG" }, { "name": "El Salvador", "abbreviation": "SV" }, { "name": "Equatorial Guinea", "abbreviation": "GQ" }, { "name": "Eritrea", "abbreviation": "ER" }, { "name": "Estonia", "abbreviation": "EE" }, { "name": "Eswatini", "abbreviation": "SZ" }, { "name": "Ethiopia", "abbreviation": "ET" }, { "name": "Falkland Islands (Malvinas)", "abbreviation": "FK" }, { "name": "Faroe Islands", "abbreviation": "FO" }, { "name": "Fiji", "abbreviation": "FJ" }, { "name": "Finland", "abbreviation": "FI" }, { "name": "France", "abbreviation": "FR" }, { "name": "French Guiana", "abbreviation": "GF" }, { "name": "French Polynesia", "abbreviation": "PF" }, { "name": "French Southern Territories", "abbreviation": "TF" }, { "name": "Gabon", "abbreviation": "GA" }, { "name": "Gambia", "abbreviation": "GM" }, { "name": "Georgia", "abbreviation": "GE" }, { "name": "Germany", "abbreviation": "DE" }, { "name": "Ghana", "abbreviation": "GH" }, { "name": "Gibraltar", "abbreviation": "GI" }, { "name": "Greece", "abbreviation": "GR" }, { "name": "Greenland", "abbreviation": "GL" }, { "name": "Grenada", "abbreviation": "GD" }, { "name": "Guadeloupe", "abbreviation": "GP" }, { "name": "Guam", "abbreviation": "GU" }, { "name": "Guatemala", "abbreviation": "GT" }, { "name": "Guernsey", "abbreviation": "GG" }, { "name": "Guinea", "abbreviation": "GN" }, { "name": "Guinea-Bissau", "abbreviation": "GW" }, { "name": "Guyana", "abbreviation": "GY" }, { "name": "Haiti", "abbreviation": "HT" }, { "name": "Heard Island and McDonald Islands", "abbreviation": "HM" }, { "name": "Holy See", "abbreviation": "VA" }, { "name": "Honduras", "abbreviation": "HN" }, { "name": "Hong Kong", "abbreviation": "HK" }, { "name": "Hungary", "abbreviation": "HU" }, { "name": "Iceland", "abbreviation": "IS" }, { "name": "India", "abbreviation": "IN" }, { "name": "Indonesia", "abbreviation": "ID" }, { "name": "Islamic Republic of Iran", "abbreviation": "IR" }, { "name": "Iraq", "abbreviation": "IQ" }, { "name": "Ireland", "abbreviation": "IE" }, { "name": "Isle of Man", "abbreviation": "IM" }, { "name": "Israel", "abbreviation": "IL" }, { "name": "Italy", "abbreviation": "IT" }, { "name": "Jamaica", "abbreviation": "JM" }, { "name": "Japan", "abbreviation": "JP" }, { "name": "Jersey", "abbreviation": "JE" }, { "name": "Jordan", "abbreviation": "JO" }, { "name": "Kazakhstan", "abbreviation": "KZ" }, { "name": "Kenya", "abbreviation": "KE" }, { "name": "Kiribati", "abbreviation": "KI" }, { "name": "Democratic People's Republic of Korea", "abbreviation": "KP" }, { "name": "Republic of Korea", "abbreviation": "KR" }, { "name": "Kuwait", "abbreviation": "KW" }, { "name": "Kyrgyzstan", "abbreviation": "KG" }, { "name": "Lao People's Democratic Republic", "abbreviation": "LA" }, { "name": "Latvia", "abbreviation": "LV" }, { "name": "Lebanon", "abbreviation": "LB" }, { "name": "Lesotho", "abbreviation": "LS" }, { "name": "Liberia", "abbreviation": "LR" }, { "name": "Libya", "abbreviation": "LY" }, { "name": "Liechtenstein", "abbreviation": "LI" }, { "name": "Lithuania", "abbreviation": "LT" }, { "name": "Luxembourg", "abbreviation": "LU" }, { "name": "Macao", "abbreviation": "MO" }, { "name": "Madagascar", "abbreviation": "MG" }, { "name": "Malawi", "abbreviation": "MW" }, { "name": "Malaysia", "abbreviation": "MY" }, { "name": "Maldives", "abbreviation": "MV" }, { "name": "Mali", "abbreviation": "ML" }, { "name": "Malta", "abbreviation": "MT" }, { "name": "Marshall Islands", "abbreviation": "MH" }, { "name": "Martinique", "abbreviation": "MQ" }, { "name": "Mauritania", "abbreviation": "MR" }, { "name": "Mauritius", "abbreviation": "MU" }, { "name": "Mayotte", "abbreviation": "YT" }, { "name": "Mexico", "abbreviation": "MX" }, { "name": "Federated States of Micronesia", "abbreviation": "FM" }, { "name": "Republic of Moldova", "abbreviation": "MD" }, { "name": "Monaco", "abbreviation": "MC" }, { "name": "Mongolia", "abbreviation": "MN" }, { "name": "Montenegro", "abbreviation": "ME" }, { "name": "Montserrat", "abbreviation": "MS" }, { "name": "Morocco", "abbreviation": "MA" }, { "name": "Mozambique", "abbreviation": "MZ" }, { "name": "Myanmar", "abbreviation": "MM" }, { "name": "Namibia", "abbreviation": "NA" }, { "name": "Nauru", "abbreviation": "NR" }, { "name": "Nepal", "abbreviation": "NP" }, { "name": "Kingdom of the Netherlands", "abbreviation": "NL" }, { "name": "New Caledonia", "abbreviation": "NC" }, { "name": "New Zealand", "abbreviation": "NZ" }, { "name": "Nicaragua", "abbreviation": "NI" }, { "name": "Niger", "abbreviation": "NE" }, { "name": "Nigeria", "abbreviation": "NG" }, { "name": "Niue", "abbreviation": "NU" }, { "name": "Norfolk Island", "abbreviation": "NF" }, { "name": "North Macedonia", "abbreviation": "MK" }, { "name": "Northern Mariana Islands", "abbreviation": "MP" }, { "name": "Norway", "abbreviation": "NO" }, { "name": "Oman", "abbreviation": "OM" }, { "name": "Pakistan", "abbreviation": "PK" }, { "name": "Palau", "abbreviation": "PW" }, { "name": "State of Palestine", "abbreviation": "PS" }, { "name": "Panama", "abbreviation": "PA" }, { "name": "Papua New Guinea", "abbreviation": "PG" }, { "name": "Paraguay", "abbreviation": "PY" }, { "name": "Peru", "abbreviation": "PE" }, { "name": "Philippines", "abbreviation": "PH" }, { "name": "Pitcairn", "abbreviation": "PN" }, { "name": "Poland", "abbreviation": "PL" }, { "name": "Portugal", "abbreviation": "PT" }, { "name": "Puerto Rico", "abbreviation": "PR" }, { "name": "Qatar", "abbreviation": "QA" }, { "name": "Réunion", "abbreviation": "RE" }, { "name": "Romania", "abbreviation": "RO" }, { "name": "Russian Federation", "abbreviation": "RU" }, { "name": "Rwanda", "abbreviation": "RW" }, { "name": "Saint Barthélemy", "abbreviation": "BL" }, { "name": "Saint Helena, Ascension and Tristan da Cunha", "abbreviation": "SH" }, { "name": "Saint Kitts and Nevis", "abbreviation": "KN" }, { "name": "Saint Lucia", "abbreviation": "LC" }, { "name": "Saint Martin (French part)", "abbreviation": "MF" }, { "name": "Saint Pierre and Miquelon", "abbreviation": "PM" }, { "name": "Saint Vincent and the Grenadines", "abbreviation": "VC" }, { "name": "Samoa", "abbreviation": "WS" }, { "name": "San Marino", "abbreviation": "SM" }, { "name": "Sao Tome and Principe", "abbreviation": "ST" }, { "name": "Saudi Arabia", "abbreviation": "SA" }, { "name": "Senegal", "abbreviation": "SN" }, { "name": "Serbia", "abbreviation": "RS" }, { "name": "Seychelles", "abbreviation": "SC" }, { "name": "Sierra Leone", "abbreviation": "SL" }, { "name": "Singapore", "abbreviation": "SG" }, { "name": "Sint Maarten (Dutch part)", "abbreviation": "SX" }, { "name": "Slovakia", "abbreviation": "SK" }, { "name": "Slovenia", "abbreviation": "SI" }, { "name": "Solomon Islands", "abbreviation": "SB" }, { "name": "Somalia", "abbreviation": "SO" }, { "name": "South Africa", "abbreviation": "ZA" }, { "name": "South Georgia and the South Sandwich Islands", "abbreviation": "GS" }, { "name": "South Sudan", "abbreviation": "SS" }, { "name": "Spain", "abbreviation": "ES" }, { "name": "Sri Lanka", "abbreviation": "LK" }, { "name": "Sudan", "abbreviation": "SD" }, { "name": "Suriname", "abbreviation": "SR" }, { "name": "Svalbard and Jan Mayen", "abbreviation": "SJ" }
1990, { "name": "Sweden", "abbreviation": "SE" }, { "name": "Switzerland", "abbreviation": "CH" }, { "name": "Syrian Arab Republic", "abbreviation": "SY" }, { "name": "Taiwan, Province of China", "abbreviation": "TW" }, { "name": "Tajikistan", "abbreviation": "TJ" }, { "name": "United Republic of Tanzania", "abbreviation": "TZ" }, { "name": "Thailand", "abbreviation": "TH" }, { "name": "Timor-Leste", "abbreviation": "TL" }, { "name": "Togo", "abbreviation": "TG" }, { "name": "Tokelau", "abbreviation": "TK" }, { "name": "Tonga", "abbreviation": "TO" }, { "name": "Trinidad and Tobago", "abbreviation": "TT" }, { "name": "Tunisia", "abbreviation": "TN" }, { "name": "Türkiye", "abbreviation": "TR" }, { "name": "Turkmenistan", "abbreviation": "TM" }, { "name": "Turks and Caicos Islands", "abbreviation": "TC" }, { "name": "Tuvalu", "abbreviation": "TV" }, { "name": "Uganda", "abbreviation": "UG" }, { "name": "Ukraine", "abbreviation": "UA" }, { "name": "United Arab Emirates", "abbreviation": "AE" }, { "name": "United Kingdom of Great Britain and Northern Ireland", "abbreviation": "GB" }, { "name": "United States Minor Outlying Islands", "abbreviation": "UM" }, { "name": "United States of America", "abbreviation": "US" }, { "name": "Uruguay", "abbreviation": "UY" }, { "name": "Uzbekistan", "abbreviation": "UZ" }, { "name": "Vanuatu", "abbreviation": "VU" }, { "name": "Bolivarian Republic of Venezuela", "abbreviation": "VE" }, { "name": "Viet Nam", "abbreviation": "VN" }, { "name": "Virgin Islands (British)", "abbreviation": "VG" }, { "name": "Virgin Islands (U.S.)", "abbreviation": "VI" }, { "name": "Wallis and Futuna", "abbreviation": "WF" }, { "name": "Western Sahara", "abbreviation": "EH" }, { "name": "Yemen", "abbreviation": "YE" }, { "name": "Zambia", "abbreviation": "ZM" }, { "name": "Zimbabwe", "abbreviation": "ZW" }],
1991      counties: {
1992        // Data taken from http://www.downloadexcelfiles.com/gb_en/download-excel-file-list-counties-uk
1993        "uk": [
1994          { name: "Bath and North East Somerset" },
1995          { name: "Aberdeenshire" },
1996          { name: "Anglesey" },
1997          { name: "Angus" },
1998          { name: "Bedford" },
1999          { name: "Blackburn with Darwen" },
2000          { name: "Blackpool" },
2001          { name: "Bournemouth" },
2002          { name: "Bracknell Forest" },
2003          { name: "Brighton & Hove" },
2004          { name: "Bristol" },
2005          { name: "Buckinghamshire" },
2006          { name: "Cambridgeshire" },
2007          { name: "Carmarthenshire" },
2008          { name: "Central Bedfordshire" },
2009          { name: "Ceredigion" },
2010          { name: "Cheshire East" },
2011          { name: "Cheshire West and Chester" },
2012          { name: "Clackmannanshire" },
2013          { name: "Conwy" },
2014          { name: "Cornwall" },
2015          { name: "County Antrim" },
2016          { name: "County Armagh" },
2017          { name: "County Down" },
2018          { name: "County Durham" },
2019          { name: "County Fermanagh" },
2020          { name: "County Londonderry" },
2021          { name: "County Tyrone" },
2022          { name: "Cumbria" },
2023          { name: "Darlington" },
2024          { name: "Denbighshire" },
2025          { name: "Derby" },
2026          { name: "Derbyshire" },
2027          { name: "Devon" },
2028          { name: "Dorset" },
2029          { name: "Dumfries and Galloway" },
2030          { name: "Dundee" },
2031          { name: "East Lothian" },
2032          { name: "East Riding of Yorkshire" },
2033          { name: "East Sussex" },
2034          { name: "Edinburgh?" },
2035          { name: "Essex" },
2036          { name: "Falkirk" },
2037          { name: "Fife" },
2038          { name: "Flintshire" },
2039          { name: "Gloucestershire" },
2040          { name: "Greater London" },
2041          { name: "Greater Manchester" },
2042          { name: "Gwent" },
2043          { name: "Gwynedd" },
2044          { name: "Halton" },
2045          { name: "Hampshire" },
2046          { name: "Hartlepool" },
2047          { name: "Herefordshire" },
2048          { name: "Hertfordshire" },
2049          { name: "Highlands" },
2050          { name: "Hull" },
2051          { name: "Isle of Wight" },
2052          { name: "Isles of Scilly" },
2053          { name: "Kent" },
2054          { name: "Lancashire" },
2055          { name: "Leicester" },
2056          { name: "Leicestershire" },
2057          { name: "Lincolnshire" },
2058          { name: "Lothian" },
2059          { name: "Luton" },
2060          { name: "Medway" },
2061          { name: "Merseyside" },
2062          { name: "Mid Glamorgan" },
2063          { name: "Middlesbrough" },
2064          { name: "Milton Keynes" },
2065          { name: "Monmouthshire" },
2066          { name: "Moray" },
2067          { name: "Norfolk" },
2068          { name: "North East Lincolnshire" },
2069          { name: "North Lincolnshire" },
2070          { name: "North Somerset" },
2071          { name: "North Yorkshire" },
2072          { name: "Northamptonshire" },
2073          { name: "Northumberland" },
2074          { name: "Nottingham" },
2075          { name: "Nottinghamshire" },
2076          { name: "Oxfordshire" },
2077          { name: "Pembrokeshire" },
2078          { name: "Perth and Kinross" },
2079          { name: "Peterborough" },
2080          { name: "Plymouth" },
2081          { name: "Poole" },
2082          { name: "Portsmouth" },
2083          { name: "Powys" },
2084          { name: "Reading" },
2085          { name: "Redcar and Cleveland" },
2086          { name: "Rutland" },
2087          { name: "Scottish Borders" },
2088          { name: "Shropshire" },
2089          { name: "Slough" },
2090          { name: "Somerset" },
2091          { name: "South Glamorgan" },
2092          { name: "South Gloucestershire" },
2093          { name: "South Yorkshire" },
2094          { name: "Southampton" },
2095          { name: "Southend-on-Sea" },
2096          { name: "Staffordshire" },
2097          { name: "Stirlingshire" },
2098          { name: "Stockton-on-Tees" },
2099          { name: "Stoke-on-Trent" },
2100          { name: "Strathclyde" },
2101          { name: "Suffolk" },
2102          { name: "Surrey" },
2103          { name: "Swindon" },
2104          { name: "Telford and Wrekin" },
2105          { name: "Thurrock" },
2106          { name: "Torbay" },
2107          { name: "Tyne and Wear" },
2108          { name: "Warrington" },
2109          { name: "Warwickshire" },
2110          { name: "West Berkshire" },
2111          { name: "West Glamorgan" },
2112          { name: "West Lothian" },
2113          { name: "West Midlands" },
2114          { name: "West Sussex" },
2115          { name: "West Yorkshire" },
2116          { name: "Western Isles" },
2117          { name: "Wiltshire" },
2118          { name: "Windsor and Maidenhead" },
2119          { name: "Wokingham" },
2120          { name: "Worcestershire" },
2121          { name: "Wrexham" },
2122          { name: "York" }
2123        ]
2124      },
2125      provinces: {
2126        "ca": [
2127          { name: "Alberta", abbreviation: "AB" },
2128          { name: "British Columbia", abbreviation: "BC" },
2129          { name: "Manitoba", abbreviation: "MB" },
2130          { name: "New Brunswick", abbreviation: "NB" },
2131          { name: "Newfoundland and Labrador", abbreviation: "NL" },
2132          { name: "Nova Scotia", abbreviation: "NS" },
2133          { name: "Ontario", abbreviation: "ON" },
2134          { name: "Prince Edward Island", abbreviation: "PE" },
2135          { name: "Quebec", abbreviation: "QC" },
2136          { name: "Saskatchewan", abbreviation: "SK" },
2137          // The case could be made that the following are not actually provinces
2138          // since they are technically considered "territories" however they all
2139          // look the same on an envelope!
2140          { name: "Northwest Territories", abbreviation: "NT" },
2141          { name: "Nunavut", abbreviation: "NU" },
2142          { name: "Yukon", abbreviation: "YT" }
2143        ],
2144        "it": [
2145          { name: "Agrigento", abbreviation: "AG", code: 84 },
2146          { name: "Alessandria", abbreviation: "AL", code: 6 },
2147          { name: "Ancona", abbreviation: "AN", code: 42 },
2148          { name: "Aosta", abbreviation: "AO", code: 7 },
2149          { name: "L'Aquila", abbreviation: "AQ", code: 66 },
2150          { name: "Arezzo", abbreviation: "AR", code: 51 },
2151          { name: "Ascoli-Piceno", abbreviation: "AP", code: 44 },
2152          { name: "Asti", abbreviation: "AT", code: 5 },
2153          { name: "Avellino", abbreviation: "AV", code: 64 },
2154          { name: "Bari", abbreviation: "BA", code: 72 },
2155          { name: "Barletta-Andria-Trani", abbreviation: "BT", code: 72 },
2156          { name: "Belluno", abbreviation: "BL", code: 25 },
2157          { name: "Benevento", abbreviation: "BN", code: 62 },
2158          { name: "Bergamo", abbreviation: "BG", code: 16 },
2159          { name: "Biella", abbreviation: "BI", code: 96 },
2160          { name: "Bologna", abbreviation: "BO", code: 37 },
2161          { name: "Bolzano", abbreviation: "BZ", code: 21 },
2162          { name: "Brescia", abbreviation: "BS", code: 17 },
2163          { name: "Brindisi", abbreviation: "BR", code: 74 },
2164          { name: "Cagliari", abbreviation: "CA", code: 92 },
2165          { name: "Caltanissetta", abbreviation: "CL", code: 85 },
2166          { name: "Campobasso", abbreviation: "CB", code: 70 },
2167          { name: "Carbonia Iglesias", abbreviation: "CI", code: 70 },
2168          { name: "Caserta", abbreviation: "CE", code: 61 },
2169          { name: "Catania", abbreviation: "CT", code: 87 },
2170          { name: "Catanzaro", abbreviation: "CZ", code: 79 },
2171          { name: "Chieti", abbreviation: "CH", code: 69 },
2172          { name: "Como", abbreviation: "CO", code: 13 },
2173          { name: "Cosenza", abbreviation: "CS", code: 78 },
2174          { name: "Cremona", abbreviation: "CR", code: 19 },
2175          { name: "Crotone", abbreviation: "KR", code: 101 },
2176          { name: "Cuneo", abbreviation: "CN", code: 4 },
2177          { name: "Enna", abbreviation: "EN", code: 86 },
2178          { name: "Fermo", abbreviation: "FM", code: 86 },
2179          { name: "Ferrara", abbreviation: "FE", code: 38 },
2180          { name: "Firenze", abbreviation: "FI", code: 48 },
2181          { name: "Foggia", abbreviation: "FG", code: 71 },
2182          { name: "Forli-Cesena", abbreviation: "FC", code: 71 },
2183          { name: "Frosinone", abbreviation: "FR", code: 60 },
2184          { name: "Genova", abbreviation: "GE", code: 10 },
2185          { name: "Gorizia", abbreviation: "GO", code: 31 },
2186          { name: "Grosseto", abbreviation: "GR", code: 53 },
2187          { name: "Imperia", abbreviation: "IM", code: 8 },
2188          { name: "Isernia", abbreviation: "IS", code: 94 },
2189          { name: "La-Spezia", abbreviation: "SP", code: 66 },
2190          { name: "Latina", abbreviation: "LT", code: 59 },
2191          { name: "Lecce", abbreviation: "LE", code: 75 },
2192          { name: "Lecco", abbreviation: "LC", code: 97 },
2193          { name: "Livorno", abbreviation: "LI", code: 49 },
2194          { name: "Lodi", abbreviation: "LO", code: 98 },
2195          { name: "Lucca", abbreviation: "LU", code: 46 },
2196          { name: "Macerata", abbreviation: "MC", code: 43 },
2197          { name: "Mantova", abbreviation: "MN", code: 20 },
2198          { name: "Massa-Carrara", abbreviation: "MS", code: 45 },
2199          { name: "Matera", abbreviation: "MT", code: 77 },
2200          { name: "Medio Campidano", abbreviation: "VS", code: 77 },
2201          { name: "Messina", abbreviation: "ME", code: 83 },
2202          { name: "Milano", abbreviation: "MI", code: 15 },
2203          { name: "Modena", abbreviation: "MO", code: 36 },
2204          { name: "Monza-Brianza", abbreviation: "MB", code: 36 },
2205          { name: "Napoli", abbreviation: "NA", code: 63 },
2206          { name: "Novara", abbreviation: "NO", code: 3 },
2207          { name: "Nuoro", abbreviation: "NU", code: 91 },
2208          { name: "Ogliastra", abbreviation: "OG", code: 91 },
2209          { name: "Olbia Tempio", abbreviation: "OT", code: 91 },
2210          { name: "Oristano", abbreviation: "OR", code: 95 },
2211          { name: "Padova", abbreviation: "PD", code: 28 },
2212          { name: "Palermo", abbreviation: "PA", code: 82 },
2213          { name: "Parma", abbreviation: "PR", code: 34 },
2214          { name: "Pavia", abbreviation: "PV", code: 18 },
2215          { name: "Perugia", abbreviation: "PG", code: 54 },
2216          { name: "Pesaro-Urbino", abbreviation: "PU", code: 41 },
2217          { name: "Pescara", abbreviation: "PE", code: 68 },
2218          { name: "Piacenza", abbreviation: "PC", code: 33 },
2219          { name: "Pisa", abbreviation: "PI", code: 50 },
2220          { name: "Pistoia", abbreviation: "PT", code: 47 },
2221          { name: "Pordenone", abbreviation: "PN", code: 93 },
2222          { name: "Potenza", abbreviation: "PZ", code: 76 },
2223          { name: "Prato", abbreviation: "PO", code: 100 },
2224          { name: "Ragusa", abbreviation: "RG", code: 88 },
2225          { name: "Ravenna", abbreviation: "RA", code: 39 },
2226          { name: "Reggio-Calabria", abbreviation: "RC", code: 35 },
2227          { name: "Reggio-Emilia", abbreviation: "RE", code: 35 },
2228          { name: "Rieti", abbreviation: "RI", code: 57 },
2229          { name: "Rimini", abbreviation: "RN", code: 99 },
2230          { name: "Roma", abbreviation: "Roma", code: 58 },
2231          { name: "Rovigo", abbreviation: "RO", code: 29 },
2232          { name: "Salerno", abbreviation: "SA", code: 65 },
2233          { name: "Sassari", abbreviation: "SS", code: 90 },
2234          { name: "Savona", abbreviation: "SV", code: 9 },
2235          { name: "Siena", abbreviation: "SI", code: 52 },
2236          { name: "Siracusa", abbreviation: "SR", code: 89 },
2237          { name: "Sondrio", abbreviation: "SO", code: 14 },
2238          { name: "Taranto", abbreviation: "TA", code: 73 },
2239          { name: "Teramo", abbreviation: "TE", code: 67 },
2240          { name: "Terni", abbreviation: "TR", code: 55 },
2241          { name: "Torino", abbreviation: "TO", code: 1 },
2242          { name: "Trapani", abbreviation: "TP", code: 81 },
2243          { name: "Trento", abbreviation: "TN", code: 22 },
2244          { name: "Treviso", abbreviation: "TV", code: 26 },
2245          { name: "Trieste", abbreviation: "TS", code: 32 },
2246          { name: "Udine", abbreviation: "UD", code: 30 },
2247          { name: "Varese", abbreviation: "VA", code: 12 },
2248          { name: "Venezia", abbreviation: "VE", code: 27 },
2249          { name: "Verbania", abbreviation: "VB", code: 27 },
2250          { name: "Vercelli", abbreviation: "VC", code: 2 },
2251          { name: "Verona", abbreviation: "VR", code: 23 },
2252          { name: "Vibo-Valentia", abbreviation: "VV", code: 102 },
2253          { name: "Vicenza", abbreviation: "VI", code: 24 },
2254          { name: "Viterbo", abbreviation: "VT", code: 56 }
2255        ]
2256      },
2257      // from: https://github.com/samsargent/Useful-Autocomplete-Data/blob/master/data/nationalities.json
2258      nationalities: [
2259        { name: "Afghan" },
2260        { name: "Albanian" },
2261        { name: "Algerian" },
2262        { name: "American" },
2263        { name: "Andorran" },
2264        { name: "Angolan" },
2265        { name: "Antiguans" },
2266        { name: "Argentinean" },
2267        { name: "Armenian" },
2268        { name: "Australian" },
2269        { name: "Austrian" },
2270        { name: "Azerbaijani" },
2271        { name: "Bahami" },
2272        { name: "Bahraini" },
2273        { name: "Bangladeshi" },
2274        { name: "Barbadian" },
2275        { name: "Barbudans" },
2276        { name: "Batswana" },
2277        { name: "Belarusian" },
2278        { name: "Belgian" },
2279        { name: "Belizean" },
2280        { name: "Beninese" },
2281        { name: "Bhutanese" },
2282        { name: "Bolivian" },
2283        { name: "Bosnian" },
2284        { name: "Brazilian" },
2285        { name: "British" },
2286        { name: "Bruneian" },
2287        { name: "Bulgarian" },
2288        { name: "Burkinabe" },
2289        { name: "Burmese" },
2290        { name: "Burundian" },
2291        { name: "Cambodian" },
2292        { name: "Cameroonian" },
2293        { name: "Canadian" },
2294        { name: "Cape Verdean" },
2295        { name: "Central African" },
2296        { name: "Chadian" },
2297        { name: "Chilean" },
2298        { name: "Chinese" },
2299        { name: "Colombian" },
2300        { name: "Comoran" },
2301        { name: "Congolese" },
2302        { name: "Costa Rican" },
2303        { name: "Croatian" },
2304        { name: "Cuban" },
2305        { name: "Cypriot" },
2306        { name: "Czech" },
2307        { name: "Danish" },
2308        { name: "Djibouti" },
2309        { name: "Dominican" },
2310        { name: "Dutch" },
2311        { name: "East Timorese" },
2312        { name: "Ecuadorean" },
2313        { name: "Egyptian" },
2314        { name: "Emirian" },
2315        { name: "Equatorial Guinean" },
2316        { name: "Eritrean" },
2317        { name: "Estonian" },
2318        { name: "Ethiopian" },
2319        { name: "Fijian" },
2320        { name: "Filipino" },
2321        { name: "Finnish" },
2322        { name: "French" },
2323        { name: "Gabonese" },
2324        { name: "Gambian" },
2325        { name: "Georgian" },
2326        { name: "German" },
2327        { name: "Ghanaian" },
2328        { name: "Greek" },
2329        { name: "Grenadian" },
2330        { name: "Guatemalan" },
2331        { name: "Guinea-Bissauan" },
2332        { name: "Guinean" },
2333        { name: "Guyanese" },
2334        { name: "Haitian" },
2335        { name: "Herzegovinian" },
2336        { name: "Honduran" },
2337        { name: "Hungarian" },
2338        { name: "I-Kiribati" },
2339        { name: "Icelander" },
2340        { name: "Indian" },
2341        { name: "Indonesian" },
2342        { name: "Iranian" },
2343        { name: "Iraqi" },
2344        { name: "Irish" },
2345        { name: "Israeli" },
2346        { name: "Italian" },
2347        { name: "Ivorian" },
2348        { name: "Jamaican" },
2349        { name: "Japanese" },
2350        { name: "Jordanian" },
2351        { name: "Kazakhstani" },
2352        { name: "Kenyan" },
2353        { name: "Kittian and Nevisian" },
2354        { name: "Kuwaiti" },
2355        { name: "Kyrgyz" },
2356        { name: "Laotian" },
2357        { name: "Latvian" },
2358        { name: "Lebanese" },
2359        { name: "Liberian" },
2360        { name: "Libyan" },
2361        { name: "Liechtensteiner" },
2362        { name: "Lithuanian" },
2363        { name: "Luxembourger" },
2364        { name: "Macedonian" },
2365        { name: "Malagasy" },
2366        { name: "Malawian" },
2367        { name: "Malaysian" },
2368        { name: "Maldivan" },
2369        { name: "Malian" },
2370        { name: "Maltese" },
2371        { name: "Marshallese" },
2372        { name: "Mauritanian" },
2373        { name: "Mauritian" },
2374        { name: "Mexican" },
2375        { name: "Micronesian" },
2376        { name: "Moldovan" },
2377        { name: "Monacan" },
2378        { name: "Mongolian" },
2379        { name: "Moroccan" },
2380        { name: "Mosotho" },
2381        { name: "Motswana" },
2382        { name: "Mozambican" },
2383        { name: "Namibian" },
2384        { name: "Nauruan" },
2385        { name: "Nepalese" },
2386        { name: "New Zealander" },
2387        { name: "Nicaraguan" },
2388        { name: "Nigerian" },
2389        { name: "Nigerien" },
2390        { name: "North Korean" },
2391        { name: "Northern Irish" },
2392        { name: "Norwegian" },
2393        { name: "Omani" },
2394        { name: "Pakistani" },
2395        { name: "Palauan" },
2396        { name: "Panamanian" },
2397        { name: "Papua New Guinean" },
2398        { name: "Paraguayan" },
2399        { name: "Peruvian" },
2400        { name: "Polish" },
2401        { name: "Portuguese" },
2402        { name: "Qatari" },
2403        { name: "Romani" },
2404        { name: "Russian" },
2405        { name: "Rwandan" },
2406        { name: "Saint Lucian" },
2407        { name: "Salvadoran" },
2408        { name: "Samoan" },
2409        { name: "San Marinese" },
2410        { name: "Sao Tomean" },
2411        { name: "Saudi" },
2412        { name: "Scottish" },
2413        { name: "Senegalese" },
2414        { name: "Serbian" },
2415        { name: "Seychellois" },
2416        { name: "Sierra Leonean" },
2417        { name: "Singaporean" },
2418        { name: "Slovakian" },
2419        { name: "Slovenian" },
2420        { name: "Solomon Islander" },
2421        { name: "Somali" },
2422        { name: "South African" },
2423        { name: "South Korean" },
2424        { name: "Spanish" },
2425        { name: "Sri Lankan" },
2426        { name: "Sudanese" },
2427        { name: "Surinamer" },
2428        { name: "Swazi" },
2429        { name: "Swedish" },
2430        { name: "Swiss" },
2431        { name: "Syrian" },
2432        { name: "Taiwanese" },
2433        { name: "Tajik" },
2434        { name: "Tanzanian" },
2435        { name: "Thai" },
2436        { name: "Togolese" },
2437        { name: "Tongan" },
2438        { name: "Trinidadian or Tobagonian" },
2439        { name: "Tunisian" },
2440        { name: "Turkish" },
2441        { name: "Tuvaluan" },
2442        { name: "Ugandan" },
2443        { name: "Ukrainian" },
2444        { name: "Uruguaya" },
2445        { name: "Uzbekistani" },
2446        { name: "Venezuela" },
2447        { name: "Vietnamese" },
2448        { name: "Wels" },
2449        { name: "Yemenit" },
2450        { name: "Zambia" },
2451        { name: "Zimbabwe" }
2452      ],
2453      // http://www.loc.gov/standards/iso639-2/php/code_list.php (ISO-639-1 codes)
2454      locale_languages: [
2455        "aa",
2456        "ab",
2457        "ae",
2458        "af",
2459        "ak",
2460        "am",
2461        "an",
2462        "ar",
2463        "as",
2464        "av",
2465        "ay",
2466        "az",
2467        "ba",
2468        "be",
2469        "bg",
2470        "bh",
2471        "bi",
2472        "bm",
2473        "bn",
2474        "bo",
2475        "br",
2476        "bs",
2477        "ca",
2478        "ce",
2479        "ch",
2480        "co",
2481        "cr",
2482        "cs",
2483        "cu",
2484        "cv",
2485        "cy",
2486        "da",
2487        "de",
2488        "dv",
2489        "dz",
2490        "ee",
2491        "el",
2492        "en",
2493        "eo",
2494        "es",
2495        "et",
2496        "eu",
2497        "fa",
2498        "ff",
2499        "fi",
2500        "fj",
2501        "fo",
2502        "fr",
2503        "fy",
2504        "ga",
2505        "gd",
2506        "gl",
2507        "gn",
2508        "gu",
2509        "gv",
2510        "ha",
2511        "he",
2512        "hi",
2513        "ho",
2514        "hr",
2515        "ht",
2516        "hu",
2517        "hy",
2518        "hz",
2519        "ia",
2520        "id",
2521        "ie",
2522        "ig",
2523        "ii",
2524        "ik",
2525        "io",
2526        "is",
2527        "it",
2528        "iu",
2529        "ja",
2530        "jv",
2531        "ka",
2532        "kg",
2533        "ki",
2534        "kj",
2535        "kk",
2536        "kl",
2537        "km",
2538        "kn",
2539        "ko",
2540        "kr",
2541        "ks",
2542        "ku",
2543        "kv",
2544        "kw",
2545        "ky",
2546        "la",
2547        "lb",
2548        "lg",
2549        "li",
2550        "ln",
2551        "lo",
2552        "lt",
2553        "lu",
2554        "lv",
2555        "mg",
2556        "mh",
2557        "mi",
2558        "mk",
2559        "ml",
2560        "mn",
2561        "mr",
2562        "ms",
2563        "mt",
2564        "my",
2565        "na",
2566        "nb",
2567        "nd",
2568        "ne",
2569        "ng",
2570        "nl",
2571        "nn",
2572        "no",
2573        "nr",
2574        "nv",
2575        "ny",
2576        "oc",
2577        "oj",
2578        "om",
2579        "or",
2580        "os",
2581        "pa",
2582        "pi",
2583        "pl",
2584        "ps",
2585        "pt",
2586        "qu",
2587        "rm",
2588        "rn",
2589        "ro",
2590        "ru",
2591        "rw",
2592        "sa",
2593        "sc",
2594        "sd",
2595        "se",
2596        "sg",
2597        "si",
2598        "sk",
2599        "sl",
2600        "sm",
2601        "sn",
2602        "so",
2603        "sq",
2604        "sr",
2605        "ss",
2606        "st",
2607        "su",
2608        "sv",
2609        "sw",
2610        "ta",
2611        "te",
2612        "tg",
2613        "th",
2614        "ti",
2615        "tk",
2616        "tl",
2617        "tn",
2618        "to",
2619        "tr",
2620        "ts",
2621        "tt",
2622        "tw",
2623        "ty",
2624        "ug",
2625        "uk",
2626        "ur",
2627        "uz",
2628        "ve",
2629        "vi",
2630        "vo",
2631        "wa",
2632        "wo",
2633        "xh",
2634        "yi",
2635        "yo",
2636        "za",
2637        "zh",
2638        "zu"
2639      ],
2640      // From http://data.okfn.org/data/core/language-codes#resource-language-codes-full (IETF language tags)
2641      locale_regions: [
2642        "agq-CM",
2643        "asa-TZ",
2644        "ast-ES",
2645        "bas-CM",
2646        "bem-ZM",
2647        "bez-TZ",
2648        "brx-IN",
2649        "cgg-UG",
2650        "chr-US",
2651        "dav-KE",
2652        "dje-NE",
2653        "dsb-DE",
2654        "dua-CM",
2655        "dyo-SN",
2656        "ebu-KE",
2657        "ewo-CM",
2658        "fil-PH",
2659        "fur-IT",
2660        "gsw-CH",
2661        "gsw-FR",
2662        "gsw-LI",
2663        "guz-KE",
2664        "haw-US",
2665        "hsb-DE",
2666        "jgo-CM",
2667        "jmc-TZ",
2668        "kab-DZ",
2669        "kam-KE",
2670        "kde-TZ",
2671        "kea-CV",
2672        "khq-ML",
2673        "kkj-CM",
2674        "kln-KE",
2675        "kok-IN",
2676        "ksb-TZ",
2677        "ksf-CM",
2678        "ksh-DE",
2679        "lag-TZ",
2680        "lkt-US",
2681        "luo-KE",
2682        "luy-KE",
2683        "mas-KE",
2684        "mas-TZ",
2685        "mer-KE",
2686        "mfe-MU",
2687        "mgh-MZ",
2688        "mgo-CM",
2689        "mua-CM",
2690        "naq-NA",
2691        "nmg-CM",
2692        "nnh-CM",
2693        "nus-SD",
2694        "nyn-UG",
2695        "rof-TZ",
2696        "rwk-TZ",
2697        "sah-RU",
2698        "saq-KE",
2699        "sbp-TZ",
2700        "seh-MZ",
2701        "ses-ML",
2702        "shi-Latn",
2703        "shi-Latn-MA",
2704        "shi-Tfng",
2705        "shi-Tfng-MA",
2706        "smn-FI",
2707        "teo-KE",
2708        "teo-UG",
2709        "twq-NE",
2710        "tzm-Latn",
2711        "tzm-Latn-MA",
2712        "vai-Latn",
2713        "vai-Latn-LR",
2714        "vai-Vaii",
2715        "vai-Vaii-LR",
2716        "vun-TZ",
2717        "wae-CH",
2718        "xog-UG",
2719        "yav-CM",
2720        "zgh-MA",
2721        "af-NA",
2722        "af-ZA",
2723        "ak-GH",
2724        "am-ET",
2725        "ar-001",
2726        "ar-AE",
2727        "ar-BH",
2728        "ar-DJ",
2729        "ar-DZ",
2730        "ar-EG",
2731        "ar-EH",
2732        "ar-ER",
2733        "ar-IL",
2734        "ar-IQ",
2735        "ar-JO",
2736        "ar-KM",
2737        "ar-KW",
2738        "ar-LB",
2739        "ar-LY",
2740        "ar-MA",
2741        "ar-MR",
2742        "ar-OM",
2743        "ar-PS",
2744        "ar-QA",
2745        "ar-SA",
2746        "ar-SD",
2747        "ar-SO",
2748        "ar-SS",
2749        "ar-SY",
2750        "ar-TD",
2751        "ar-TN",
2752        "ar-YE",
2753        "as-IN",
2754        "az-Cyrl",
2755        "az-Cyrl-AZ",
2756        "az-Latn",
2757        "az-Latn-AZ",
2758        "be-BY",
2759        "bg-BG",
2760        "bm-Latn",
2761        "bm-Latn-ML",
2762        "bn-BD",
2763        "bn-IN",
2764        "bo-CN",
2765        "bo-IN",
2766        "br-FR",
2767        "bs-Cyrl",
2768        "bs-Cyrl-BA",
2769        "bs-Latn",
2770        "bs-Latn-BA",
2771        "ca-AD",
2772        "ca-ES",
2773        "ca-ES-VALENCIA",
2774        "ca-FR",
2775        "ca-IT",
2776        "cs-CZ",
2777        "cy-GB",
2778        "da-DK",
2779        "da-GL",
2780        "de-AT",
2781        "de-BE",
2782        "de-CH",
2783        "de-DE",
2784        "de-LI",
2785        "de-LU",
2786        "dz-BT",
2787        "ee-GH",
2788        "ee-TG",
2789        "el-CY",
2790        "el-GR",
2791        "en-001",
2792        "en-150",
2793        "en-AG",
2794        "en-AI",
2795        "en-AS",
2796        "en-AU",
2797        "en-BB",
2798        "en-BE",
2799        "en-BM",
2800        "en-BS",
2801        "en-BW",
2802        "en-BZ",
2803        "en-CA",
2804        "en-CC",
2805        "en-CK",
2806        "en-CM",
2807        "en-CX",
2808        "en-DG",
2809        "en-DM",
2810        "en-ER",
2811        "en-FJ",
2812        "en-FK",
2813        "en-FM",
2814        "en-GB",
2815        "en-GD",
2816        "en-GG",
2817        "en-GH",
2818        "en-GI",
2819        "en-GM",
2820        "en-GU",
2821        "en-GY",
2822        "en-HK",
2823        "en-IE",
2824        "en-IM",
2825        "en-IN",
2826        "en-IO",
2827        "en-JE",
2828        "en-JM",
2829        "en-KE",
2830        "en-KI",
2831        "en-KN",
2832        "en-KY",
2833        "en-LC",
2834        "en-LR",
2835        "en-LS",
2836        "en-MG",
2837        "en-MH",
2838        "en-MO",
2839        "en-MP",
2840        "en-MS",
2841        "en-MT",
2842        "en-MU",
2843        "en-MW",
2844        "en-MY",
2845        "en-NA",
2846        "en-NF",
2847        "en-NG",
2848        "en-NR",
2849        "en-NU",
2850        "en-NZ",
2851        "en-PG",
2852        "en-PH",
2853        "en-PK",
2854        "en-PN",
2855        "en-PR",
2856        "en-PW",
2857        "en-RW",
2858        "en-SB",
2859        "en-SC",
2860        "en-SD",
2861        "en-SG",
2862        "en-SH",
2863        "en-SL",
2864        "en-SS",
2865        "en-SX",
2866        "en-SZ",
2867        "en-TC",
2868        "en-TK",
2869        "en-TO",
2870        "en-TT",
2871        "en-TV",
2872        "en-TZ",
2873        "en-UG",
2874        "en-UM",
2875        "en-US",
2876        "en-US-POSIX",
2877        "en-VC",
2878        "en-VG",
2879        "en-VI",
2880        "en-VU",
2881        "en-WS",
2882        "en-ZA",
2883        "en-ZM",
2884        "en-ZW",
2885        "eo-001",
2886        "es-419",
2887        "es-AR",
2888        "es-BO",
2889        "es-CL",
2890        "es-CO",
2891        "es-CR",
2892        "es-CU",
2893        "es-DO",
2894        "es-EA",
2895        "es-EC",
2896        "es-ES",
2897        "es-GQ",
2898        "es-GT",
2899        "es-HN",
2900        "es-IC",
2901        "es-MX",
2902        "es-NI",
2903        "es-PA",
2904        "es-PE",
2905        "es-PH",
2906        "es-PR",
2907        "es-PY",
2908        "es-SV",
2909        "es-US",
2910        "es-UY",
2911        "es-VE",
2912        "et-EE",
2913        "eu-ES",
2914        "fa-AF",
2915        "fa-IR",
2916        "ff-CM",
2917        "ff-GN",
2918        "ff-MR",
2919        "ff-SN",
2920        "fi-FI",
2921        "fo-FO",
2922        "fr-BE",
2923        "fr-BF",
2924        "fr-BI",
2925        "fr-BJ",
2926        "fr-BL",
2927        "fr-CA",
2928        "fr-CD",
2929        "fr-CF",
2930        "fr-CG",
2931        "fr-CH",
2932        "fr-CI",
2933        "fr-CM",
2934        "fr-DJ",
2935        "fr-DZ",
2936        "fr-FR",
2937        "fr-GA",
2938        "fr-GF",
2939        "fr-GN",
2940        "fr-GP",
2941        "fr-GQ",
2942        "fr-HT",
2943        "fr-KM",
2944        "fr-LU",
2945        "fr-MA",
2946        "fr-MC",
2947        "fr-MF",
2948        "fr-MG",
2949        "fr-ML",
2950        "fr-MQ",
2951        "fr-MR",
2952        "fr-MU",
2953        "fr-NC",
2954        "fr-NE",
2955        "fr-PF",
2956        "fr-PM",
2957        "fr-RE",
2958        "fr-RW",
2959        "fr-SC",
2960        "fr-SN",
2961        "fr-SY",
2962        "fr-TD",
2963        "fr-TG",
2964        "fr-TN",
2965        "fr-VU",
2966        "fr-WF",
2967        "fr-YT",
2968        "fy-NL",
2969        "ga-IE",
2970        "gd-GB",
2971        "gl-ES",
2972        "gu-IN",
2973        "gv-IM",
2974        "ha-Latn",
2975        "ha-Latn-GH",
2976        "ha-Latn-NE",
2977        "ha-Latn-NG",
2978        "he-IL",
2979        "hi-IN",
2980        "hr-BA",
2981        "hr-HR",
2982        "hu-HU",
2983        "hy-AM",
2984        "id-ID",
2985        "ig-NG",
2986        "ii-CN",
2987        "is-IS",
2988        "it-CH",
2989        "it-IT",
2990        "it-SM",
2991        "ja-JP",
2992        "ka-GE",
2993        "ki-KE",
2994        "kk-Cyrl",
2995        "kk-Cyrl-KZ",
2996        "kl-GL",
2997        "km-KH",
2998        "kn-IN",
2999        "ko-KP",
3000        "ko-KR",
3001        "ks-Arab",
3002        "ks-Arab-IN",
3003        "kw-GB",
3004        "ky-Cyrl",
3005        "ky-Cyrl-KG",
3006        "lb-LU",
3007        "lg-UG",
3008        "ln-AO",
3009        "ln-CD",
3010        "ln-CF",
3011        "ln-CG",
3012        "lo-LA",
3013        "lt-LT",
3014        "lu-CD",
3015        "lv-LV",
3016        "mg-MG",
3017        "mk-MK",
3018        "ml-IN",
3019        "mn-Cyrl",
3020        "mn-Cyrl-MN",
3021        "mr-IN",
3022        "ms-Latn",
3023        "ms-Latn-BN",
3024        "ms-Latn-MY",
3025        "ms-Latn-SG",
3026        "mt-MT",
3027        "my-MM",
3028        "nb-NO",
3029        "nb-SJ",
3030        "nd-ZW",
3031        "ne-IN",
3032        "ne-NP",
3033        "nl-AW",
3034        "nl-BE",
3035        "nl-BQ",
3036        "nl-CW",
3037        "nl-NL",
3038        "nl-SR",
3039        "nl-SX",
3040        "nn-NO",
3041        "om-ET",
3042        "om-KE",
3043        "or-IN",
3044        "os-GE",
3045        "os-RU",
3046        "pa-Arab",
3047        "pa-Arab-PK",
3048        "pa-Guru",
3049        "pa-Guru-IN",
3050        "pl-PL",
3051        "ps-AF",
3052        "pt-AO",
3053        "pt-BR",
3054        "pt-CV",
3055        "pt-GW",
3056        "pt-MO",
3057        "pt-MZ",
3058        "pt-PT",
3059        "pt-ST",
3060        "pt-TL",
3061        "qu-BO",
3062        "qu-EC",
3063        "qu-PE",
3064        "rm-CH",
3065        "rn-BI",
3066        "ro-MD",
3067        "ro-RO",
3068        "ru-BY",
3069        "ru-KG",
3070        "ru-KZ",
3071        "ru-MD",
3072        "ru-RU",
3073        "ru-UA",
3074        "rw-RW",
3075        "se-FI",
3076        "se-NO",
3077        "se-SE",
3078        "sg-CF",
3079        "si-LK",
3080        "sk-SK",
3081        "sl-SI",
3082        "sn-ZW",
3083        "so-DJ",
3084        "so-ET",
3085        "so-KE",
3086        "so-SO",
3087        "sq-AL",
3088        "sq-MK",
3089        "sq-XK",
3090        "sr-Cyrl",
3091        "sr-Cyrl-BA",
3092        "sr-Cyrl-ME",
3093        "sr-Cyrl-RS",
3094        "sr-Cyrl-XK",
3095        "sr-Latn",
3096        "sr-Latn-BA",
3097        "sr-Latn-ME",
3098        "sr-Latn-RS",
3099        "sr-Latn-XK",
3100        "sv-AX",
3101        "sv-FI",
3102        "sv-SE",
3103        "sw-CD",
3104        "sw-KE",
3105        "sw-TZ",
3106        "sw-UG",
3107        "ta-IN",
3108        "ta-LK",
3109        "ta-MY",
3110        "ta-SG",
3111        "te-IN",
3112        "th-TH",
3113        "ti-ER",
3114        "ti-ET",
3115        "to-TO",
3116        "tr-CY",
3117        "tr-TR",
3118        "ug-Arab",
3119        "ug-Arab-CN",
3120        "uk-UA",
3121        "ur-IN",
3122        "ur-PK",
3123        "uz-Arab",
3124        "uz-Arab-AF",
3125        "uz-Cyrl",
3126        "uz-Cyrl-UZ",
3127        "uz-Latn",
3128        "uz-Latn-UZ",
3129        "vi-VN",
3130        "yi-001",
3131        "yo-BJ",
3132        "yo-NG",
3133        "zh-Hans",
3134        "zh-Hans-CN",
3135        "zh-Hans-HK",
3136        "zh-Hans-MO",
3137        "zh-Hans-SG",
3138        "zh-Hant",
3139        "zh-Hant-HK",
3140        "zh-Hant-MO",
3141        "zh-Hant-TW",
3142        "zu-ZA"
3143      ],
3144      us_states_and_dc: [
3145        { name: "Alabama", abbreviation: "AL" },
3146        { name: "Alaska", abbreviation: "AK" },
3147        { name: "Arizona", abbreviation: "AZ" },
3148        { name: "Arkansas", abbreviation: "AR" },
3149        { name: "California", abbreviation: "CA" },
3150        { name: "Colorado", abbreviation: "CO" },
3151        { name: "Connecticut", abbreviation: "CT" },
3152        { name: "Delaware", abbreviation: "DE" },
3153        { name: "District of Columbia", abbreviation: "DC" },
3154        { name: "Florida", abbreviation: "FL" },
3155        { name: "Georgia", abbreviation: "GA" },
3156        { name: "Hawaii", abbreviation: "HI" },
3157        { name: "Idaho", abbreviation: "ID" },
3158        { name: "Illinois", abbreviation: "IL" },
3159        { name: "Indiana", abbreviation: "IN" },
3160        { name: "Iowa", abbreviation: "IA" },
3161        { name: "Kansas", abbreviation: "KS" },
3162        { name: "Kentucky", abbreviation: "KY" },
3163        { name: "Louisiana", abbreviation: "LA" },
3164        { name: "Maine", abbreviation: "ME" },
3165        { name: "Maryland", abbreviation: "MD" },
3166        { name: "Massachusetts", abbreviation: "MA" },
3167        { name: "Michigan", abbreviation: "MI" },
3168        { name: "Minnesota", abbreviation: "MN" },
3169        { name: "Mississippi", abbreviation: "MS" },
3170        { name: "Missouri", abbreviation: "MO" },
3171        { name: "Montana", abbreviation: "MT" },
3172        { name: "Nebraska", abbreviation: "NE" },
3173        { name: "Nevada", abbreviation: "NV" },
3174        { name: "New Hampshire", abbreviation: "NH" },
3175        { name: "New Jersey", abbreviation: "NJ" },
3176        { name: "New Mexico", abbreviation: "NM" },
3177        { name: "New York", abbreviation: "NY" },
3178        { name: "North Carolina", abbreviation: "NC" },
3179        { name: "North Dakota", abbreviation: "ND" },
3180        { name: "Ohio", abbreviation: "OH" },
3181        { name: "Oklahoma", abbreviation: "OK" },
3182        { name: "Oregon", abbreviation: "OR" },
3183        { name: "Pennsylvania", abbreviation: "PA" },
3184        { name: "Rhode Island", abbreviation: "RI" },
3185        { name: "South Carolina", abbreviation: "SC" },
3186        { name: "South Dakota", abbreviation: "SD" },
3187        { name: "Tennessee", abbreviation: "TN" },
3188        { name: "Texas", abbreviation: "TX" },
3189        { name: "Utah", abbreviation: "UT" },
3190        { name: "Vermont", abbreviation: "VT" },
3191        { name: "Virginia", abbreviation: "VA" },
3192        { name: "Washington", abbreviation: "WA" },
3193        { name: "West Virginia", abbreviation: "WV" },
3194        { name: "Wisconsin", abbreviation: "WI" },
3195        { name: "Wyoming", abbreviation: "WY" }
3196      ],
3197      territories: [
3198        { name: "American Samoa", abbreviation: "AS" },
3199        { name: "Federated States of Micronesia", abbreviation: "FM" },
3200        { name: "Guam", abbreviation: "GU" },
3201        { name: "Marshall Islands", abbreviation: "MH" },
3202        { name: "Northern Mariana Islands", abbreviation: "MP" },
3203        { name: "Puerto Rico", abbreviation: "PR" },
3204        { name: "Virgin Islands, U.S.", abbreviation: "VI" }
3205      ],
3206      armed_forces: [
3207        { name: "Armed Forces Europe", abbreviation: "AE" },
3208        { name: "Armed Forces Pacific", abbreviation: "AP" },
3209        { name: "Armed Forces the Americas", abbreviation: "AA" }
3210      ],
3211      country_regions: {
3212        it: [
3213          { name: "Valle d'Aosta", abbreviation: "VDA" },
3214          { name: "Piemonte", abbreviation: "PIE" },
3215          { name: "Lombardia", abbreviation: "LOM" },
3216          { name: "Veneto", abbreviation: "VEN" },
3217          { name: "Trentino Alto Adige", abbreviation: "TAA" },
3218          { name: "Friuli Venezia Giulia", abbreviation: "FVG" },
3219          { name: "Liguria", abbreviation: "LIG" },
3220          { name: "Emilia Romagna", abbreviation: "EMR" },
3221          { name: "Toscana", abbreviation: "TOS" },
3222          { name: "Umbria", abbreviation: "UMB" },
3223          { name: "Marche", abbreviation: "MAR" },
3224          { name: "Abruzzo", abbreviation: "ABR" },
3225          { name: "Lazio", abbreviation: "LAZ" },
3226          { name: "Campania", abbreviation: "CAM" },
3227          { name: "Puglia", abbreviation: "PUG" },
3228          { name: "Basilicata", abbreviation: "BAS" },
3229          { name: "Molise", abbreviation: "MOL" },
3230          { name: "Calabria", abbreviation: "CAL" },
3231          { name: "Sicilia", abbreviation: "SIC" },
3232          { name: "Sardegna", abbreviation: "SAR" }
3233        ],
3234        mx: [
3235          { name: "Aguascalientes", abbreviation: "AGU" },
3236          { name: "Baja California", abbreviation: "BCN" },
3237          { name: "Baja California Sur", abbreviation: "BCS" },
3238          { name: "Campeche", abbreviation: "CAM" },
3239          { name: "Chiapas", abbreviation: "CHP" },
3240          { name: "Chihuahua", abbreviation: "CHH" },
3241          { name: "Ciudad de México", abbreviation: "DIF" },
3242          { name: "Coahuila", abbreviation: "COA" },
3243          { name: "Colima", abbreviation: "COL" },
3244          { name: "Durango", abbreviation: "DUR" },
3245          { name: "Guanajuato", abbreviation: "GUA" },
3246          { name: "Guerrero", abbreviation: "GRO" },
3247          { name: "Hidalgo", abbreviation: "HID" },
3248          { name: "Jalisco", abbreviation: "JAL" },
3249          { name: "México", abbreviation: "MEX" },
3250          { name: "Michoacán", abbreviation: "MIC" },
3251          { name: "Morelos", abbreviation: "MOR" },
3252          { name: "Nayarit", abbreviation: "NAY" },
3253          { name: "Nuevo León", abbreviation: "NLE" },
3254          { name: "Oaxaca", abbreviation: "OAX" },
3255          { name: "Puebla", abbreviation: "PUE" },
3256          { name: "Querétaro", abbreviation: "QUE" },
3257          { name: "Quintana Roo", abbreviation: "ROO" },
3258          { name: "San Luis Potosí", abbreviation: "SLP" },
3259          { name: "Sinaloa", abbreviation: "SIN" },
3260          { name: "Sonora", abbreviation: "SON" },
3261          { name: "Tabasco", abbreviation: "TAB" },
3262          { name: "Tamaulipas", abbreviation: "TAM" },
3263          { name: "Tlaxcala", abbreviation: "TLA" },
3264          { name: "Veracruz", abbreviation: "VER" },
3265          { name: "Yucatán", abbreviation: "YUC" },
3266          { name: "Zacatecas", abbreviation: "ZAC" }
3267        ]
3268      },
3269      street_suffixes: {
3270        "us": [
3271          { name: "Avenue", abbreviation: "Ave" },
3272          { name: "Boulevard", abbreviation: "Blvd" },
3273          { name: "Center", abbreviation: "Ctr" },
3274          { name: "Circle", abbreviation: "Cir" },
3275          { name: "Court", abbreviation: "Ct" },
3276          { name: "Drive", abbreviation: "Dr" },
3277          { name: "Extension", abbreviation: "Ext" },
3278          { name: "Glen", abbreviation: "Gln" },
3279          { name: "Grove", abbreviation: "Grv" },
3280          { name: "Heights", abbreviation: "Hts" },
3281          { name: "Highway", abbreviation: "Hwy" },
3282          { name: "Junction", abbreviation: "Jct" },
3283          { name: "Key", abbreviation: "Key" },
3284          { name: "Lane", abbreviation: "Ln" },
3285          { name: "Loop", abbreviation: "Loop" },
3286          { name: "Manor", abbreviation: "Mnr" },
3287          { name: "Mill", abbreviation: "Mill" },
3288          { name: "Park", abbreviation: "Park" },
3289          { name: "Parkway", abbreviation: "Pkwy" },
3290          { name: "Pass", abbreviation: "Pass" },
3291          { name: "Path", abbreviation: "Path" },
3292          { name: "Pike", abbreviation: "Pike" },
3293          { name: "Place", abbreviation: "Pl" },
3294          { name: "Plaza", abbreviation: "Plz" },
3295          { name: "Point", abbreviation: "Pt" },
3296          { name: "Ridge", abbreviation: "Rdg" },
3297          { name: "River", abbreviation: "Riv" },
3298          { name: "Road", abbreviation: "Rd" },
3299          { name: "Square", abbreviation: "Sq" },
3300          { name: "Street", abbreviation: "St" },
3301          { name: "Terrace", abbreviation: "Ter" },
3302          { name: "Trail", abbreviation: "Trl" },
3303          { name: "Turnpike", abbreviation: "Tpke" },
3304          { name: "View", abbreviation: "Vw" },
3305          { name: "Way", abbreviation: "Way" }
3306        ],
3307        "it": [
3308          { name: "Accesso", abbreviation: "Acc." },
3309          { name: "Alzaia", abbreviation: "Alz." },
3310          { name: "Arco", abbreviation: "Arco" },
3311          { name: "Archivolto", abbreviation: "Acv." },
3312          { name: "Arena", abbreviation: "Arena" },
3313          { name: "Argine", abbreviation: "Argine" },
3314          { name: "Bacino", abbreviation: "Bacino" },
3315          { name: "Banchi", abbreviation: "Banchi" },
3316          { name: "Banchina", abbreviation: "Ban." },
3317          { name: "Bastioni", abbreviation: "Bas." },
3318          { name: "Belvedere", abbreviation: "Belv." },
3319          { name: "Borgata", abbreviation: "B.ta" },
3320          { name: "Borgo", abbreviation: "B.go" },
3321          { name: "Calata", abbreviation: "Cal." },
3322          { name: "Calle", abbreviation: "Calle" },
3323          { name: "Campiello", abbreviation: "Cam." },
3324          { name: "Campo", abbreviation: "Cam." },
3325          { name: "Canale", abbreviation: "Can." },
3326          { name: "Carraia", abbreviation: "Carr." },
3327          { name: "Cascina", abbreviation: "Cascina" },
3328          { name: "Case sparse", abbreviation: "c.s." },
3329          { name: "Cavalcavia", abbreviation: "Cv." },
3330          { name: "Circonvallazione", abbreviation: "Cv." },
3331          { name: "Complanare", abbreviation: "C.re" },
3332          { name: "Contrada", abbreviation: "C.da" },
3333          { name: "Corso", abbreviation: "C.so" },
3334          { name: "Corte", abbreviation: "C.te" },
3335          { name: "Cortile", abbreviation: "C.le" },
3336          { name: "Diramazione", abbreviation: "Dir." },
3337          { name: "Fondaco", abbreviation: "F.co" },
3338          { name: "Fondamenta", abbreviation: "F.ta" },
3339          { name: "Fondo", abbreviation: "F.do" },
3340          { name: "Frazione", abbreviation: "Fr." },
3341          { name: "Isola", abbreviation: "Is." },
3342          { name: "Largo", abbreviation: "L.go" },
3343          { name: "Litoranea", abbreviation: "Lit." },
3344          { name: "Lungolago", abbreviation: "L.go lago" },
3345          { name: "Lungo Po", abbreviation: "l.go Po" },
3346          { name: "Molo", abbreviation: "Molo" },
3347          { name: "Mura", abbreviation: "Mura" },
3348          { name: "Passaggio privato", abbreviation: "pass. priv." },
3349          { name: "Passeggiata", abbreviation: "Pass." },
3350          { name: "Piazza", abbreviation: "P.zza" },
3351          { name: "Piazzale", abbreviation: "P.le" },
3352          { name: "Ponte", abbreviation: "P.te" },
3353          { name: "Portico", abbreviation: "P.co" },
3354          { name: "Rampa", abbreviation: "Rampa" },
3355          { name: "Regione", abbreviation: "Reg." },
3356          { name: "Rione", abbreviation: "R.ne" },
3357          { name: "Rio", abbreviation: "Rio" },
3358          { name: "Ripa", abbreviation: "Ripa" },
3359          { name: "Riva", abbreviation: "Riva" },
3360          { name: "Rondò", abbreviation: "Rondò" },
3361          { name: "Rotonda", abbreviation: "Rot." },
3362          { name: "Sagrato", abbreviation: "Sagr." },
3363          { name: "Salita", abbreviation: "Sal." },
3364          { name: "Scalinata", abbreviation: "Scal." },
3365          { name: "Scalone", abbreviation: "Scal." },
3366          { name: "Slargo", abbreviation: "Sl." },
3367          { name: "Sottoportico", abbreviation: "Sott." },
3368          { name: "Strada", abbreviation: "Str." },
3369          { name: "Stradale", abbreviation: "Str.le" },
3370          { name: "Strettoia", abbreviation: "Strett." },
3371          { name: "Traversa", abbreviation: "Trav." },
3372          { name: "Via", abbreviation: "V." },
3373          { name: "Viale", abbreviation: "V.le" },
3374          { name: "Vicinale", abbreviation: "Vic.le" },
3375          { name: "Vicolo", abbreviation: "Vic." }
3376        ],
3377        "uk": [
3378          { name: "Avenue", abbreviation: "Ave" },
3379          { name: "Close", abbreviation: "Cl" },
3380          { name: "Court", abbreviation: "Ct" },
3381          { name: "Crescent", abbreviation: "Cr" },
3382          { name: "Drive", abbreviation: "Dr" },
3383          { name: "Garden", abbreviation: "Gdn" },
3384          { name: "Gardens", abbreviation: "Gdns" },
3385          { name: "Green", abbreviation: "Gn" },
3386          { name: "Grove", abbreviation: "Gr" },
3387          { name: "Lane", abbreviation: "Ln" },
3388          { name: "Mount", abbreviation: "Mt" },
3389          { name: "Place", abbreviation: "Pl" },
3390          { name: "Park", abbreviation: "Pk" },
3391          { name: "Ridge", abbreviation: "Rdg" },
3392          { name: "Road", abbreviation: "Rd" },
3393          { name: "Square", abbreviation: "Sq" },
3394          { name: "Street", abbreviation: "St" },
3395          { name: "Terrace", abbreviation: "Ter" },
3396          { name: "Valley", abbreviation: "Val" }
3397        ]
3398      },
3399      months: [
3400        { name: "January", short_name: "Jan", numeric: "01", days: 31 },
3401        // Not messing with leap years...
3402        { name: "February", short_name: "Feb", numeric: "02", days: 28 },
3403        { name: "March", short_name: "Mar", numeric: "03", days: 31 },
3404        { name: "April", short_name: "Apr", numeric: "04", days: 30 },
3405        { name: "May", short_name: "May", numeric: "05", days: 31 },
3406        { name: "June", short_name: "Jun", numeric: "06", days: 30 },
3407        { name: "July", short_name: "Jul", numeric: "07", days: 31 },
3408        { name: "August", short_name: "Aug", numeric: "08", days: 31 },
3409        { name: "September", short_name: "Sep", numeric: "09", days: 30 },
3410        { name: "October", short_name: "Oct", numeric: "10", days: 31 },
3411        { name: "November", short_name: "Nov", numeric: "11", days: 30 },
3412        { name: "December", short_name: "Dec", numeric: "12", days: 31 }
3413      ],
3414      // http://en.wikipedia.org/wiki/Bank_card_number#Issuer_identification_number_.28IIN.29
3415      cc_types: [
3416        { name: "American Express", short_name: "amex", prefix: "34", length: 15 },
3417        { name: "Bankcard", short_name: "bankcard", prefix: "5610", length: 16 },
3418        { name: "China UnionPay", short_name: "chinaunion", prefix: "62", length: 16 },
3419        { name: "Diners Club Carte Blanche", short_name: "dccarte", prefix: "300", length: 14 },
3420        { name: "Diners Club enRoute", short_name: "dcenroute", prefix: "2014", length: 15 },
3421        { name: "Diners Club International", short_name: "dcintl", prefix: "36", length: 14 },
3422        { name: "Diners Club United States & Canada", short_name: "dcusc", prefix: "54", length: 16 },
3423        { name: "Discover Card", short_name: "discover", prefix: "6011", length: 16 },
3424        { name: "InstaPayment", short_name: "instapay", prefix: "637", length: 16 },
3425        { name: "JCB", short_name: "jcb", prefix: "3528", length: 16 },
3426        { name: "Laser", short_name: "laser", prefix: "6304", length: 16 },
3427        { name: "Maestro", short_name: "maestro", prefix: "5018", length: 16 },
3428        { name: "Mastercard", short_name: "mc", prefix: "51", length: 16 },
3429        { name: "Solo", short_name: "solo", prefix: "6334", length: 16 },
3430        { name: "Switch", short_name: "switch", prefix: "4903", length: 16 },
3431        { name: "Visa", short_name: "visa", prefix: "4", length: 16 },
3432        { name: "Visa Electron", short_name: "electron", prefix: "4026", length: 16 }
3433      ],
3434      //return all world currency by ISO 4217
3435      currency_types: [
3436        { "code": "AED", "name": "United Arab Emirates Dirham" },
3437        { "code": "AFN", "name": "Afghanistan Afghani" },
3438        { "code": "ALL", "name": "Albania Lek" },
3439        { "code": "AMD", "name": "Armenia Dram" },
3440        { "code": "ANG", "name": "Netherlands Antilles Guilder" },
3441        { "code": "AOA", "name": "Angola Kwanza" },
3442        { "code": "ARS", "name": "Argentina Peso" },
3443        { "code": "AUD", "name": "Australia Dollar" },
3444        { "code": "AWG", "name": "Aruba Guilder" },
3445        { "code": "AZN", "name": "Azerbaijan New Manat" },
3446        { "code": "BAM", "name": "Bosnia and Herzegovina Convertible Marka" },
3447        { "code": "BBD", "name": "Barbados Dollar" },
3448        { "code": "BDT", "name": "Bangladesh Taka" },
3449        { "code": "BGN", "name": "Bulgaria Lev" },
3450        { "code": "BHD", "name": "Bahrain Dinar" },
3451        { "code": "BIF", "name": "Burundi Franc" },
3452        { "code": "BMD", "name": "Bermuda Dollar" },
3453        { "code": "BND", "name": "Brunei Darussalam Dollar" },
3454        { "code": "BOB", "name": "Bolivia Boliviano" },
3455        { "code": "BRL", "name": "Brazil Real" },
3456        { "code": "BSD", "name": "Bahamas Dollar" },
3457        { "code": "BTN", "name": "Bhutan Ngultrum" },
3458        { "code": "BWP", "name": "Botswana Pula" },
3459        { "code": "BYR", "name": "Belarus Ruble" },
3460        { "code": "BZD", "name": "Belize Dollar" },
3461        { "code": "CAD", "name": "Canada Dollar" },
3462        { "code": "CDF", "name": "Congo/Kinshasa Franc" },
3463        { "code": "CHF", "name": "Switzerland Franc" },
3464        { "code": "CLP", "name": "Chile Peso" },
3465        { "code": "CNY", "name": "China Yuan Renminbi" },
3466        { "code": "COP", "name": "Colombia Peso" },
3467        { "code": "CRC", "name": "Costa Rica Colon" },
3468        { "code": "CUC", "name": "Cuba Convertible Peso" },
3469        { "code": "CUP", "name": "Cuba Peso" },
3470        { "code": "CVE", "name": "Cape Verde Escudo" },
3471        { "code": "CZK", "name": "Czech Republic Koruna" },
3472        { "code": "DJF", "name": "Djibouti Franc" },
3473        { "code": "DKK", "name": "Denmark Krone" },
3474        { "code": "DOP", "name": "Dominican Republic Peso" },
3475        { "code": "DZD", "name": "Algeria Dinar" },
3476        { "code": "EGP", "name": "Egypt Pound" },
3477        { "code": "ERN", "name": "Eritrea Nakfa" },
3478        { "code": "ETB", "name": "Ethiopia Birr" },
3479        { "code": "EUR", "name": "Euro Member Countries" },
3480        { "code": "FJD", "name": "Fiji Dollar" },
3481        { "code": "FKP", "name": "Falkland Islands (Malvinas) Pound" },
3482        { "code": "GBP", "name": "United Kingdom Pound" },
3483        { "code": "GEL", "name": "Georgia Lari" },
3484        { "code": "GGP", "name": "Guernsey Pound" },
3485        { "code": "GHS", "name": "Ghana Cedi" },
3486        { "code": "GIP", "name": "Gibraltar Pound" },
3487        { "code": "GMD", "name": "Gambia Dalasi" },
3488        { "code": "GNF", "name": "Guinea Franc" },
3489        { "code": "GTQ", "name": "Guatemala Quetzal" },
3490        { "code": "GYD", "name": "Guyana Dollar" },
3491        { "code": "HKD", "name": "Hong Kong Dollar" },
3492        { "code": "HNL", "name": "Honduras Lempira" },
3493        { "code": "HRK", "name": "Croatia Kuna" },
3494        { "code": "HTG", "name": "Haiti Gourde" },
3495        { "code": "HUF", "name": "Hungary Forint" },
3496        { "code": "IDR", "name": "Indonesia Rupiah" },
3497        { "code": "ILS", "name": "Israel Shekel" },
3498        { "code": "IMP", "name": "Isle of Man Pound" },
3499        { "code": "INR", "name": "India Rupee" },
3500        { "code": "IQD", "name": "Iraq Dinar" },
3501        { "code": "IRR", "name": "Iran Rial" },
3502        { "code": "ISK", "name": "Iceland Krona" },
3503        { "code": "JEP", "name": "Jersey Pound" },
3504        { "code": "JMD", "name": "Jamaica Dollar" },
3505        { "code": "JOD", "name": "Jordan Dinar" },
3506        { "code": "JPY", "name": "Japan Yen" },
3507        { "code": "KES", "name": "Kenya Shilling" },
3508        { "code": "KGS", "name": "Kyrgyzstan Som" },
3509        { "code": "KHR", "name": "Cambodia Riel" },
3510        { "code": "KMF", "name": "Comoros Franc" },
3511        { "code": "KPW", "name": "Korea (North) Won" },
3512        { "code": "KRW", "name": "Korea (South) Won" },
3513        { "code": "KWD", "name": "Kuwait Dinar" },
3514        { "code": "KYD", "name": "Cayman Islands Dollar" },
3515        { "code": "KZT", "name": "Kazakhstan Tenge" },
3516        { "code": "LAK", "name": "Laos Kip" },
3517        { "code": "LBP", "name": "Lebanon Pound" },
3518        { "code": "LKR", "name": "Sri Lanka Rupee" },
3519        { "code": "LRD", "name": "Liberia Dollar" },
3520        { "code": "LSL", "name": "Lesotho Loti" },
3521        { "code": "LTL", "name": "Lithuania Litas" },
3522        { "code": "LYD", "name": "Libya Dinar" },
3523        { "code": "MAD", "name": "Morocco Dirham" },
3524        { "code": "MDL", "name": "Moldova Leu" },
3525        { "code": "MGA", "name": "Madagascar Ariary" },
3526        { "code": "MKD", "name": "Macedonia Denar" },
3527        { "code": "MMK", "name": "Myanmar (Burma) Kyat" },
3528        { "code": "MNT", "name": "Mongolia Tughrik" },
3529        { "code": "MOP", "name": "Macau Pataca" },
3530        { "code": "MRO", "name": "Mauritania Ouguiya" },
3531        { "code": "MUR", "name": "Mauritius Rupee" },
3532        { "code": "MVR", "name": "Maldives (Maldive Islands) Rufiyaa" },
3533        { "code": "MWK", "name": "Malawi Kwacha" },
3534        { "code": "MXN", "name": "Mexico Peso" },
3535        { "code": "MYR", "name": "Malaysia Ringgit" },
3536        { "code": "MZN", "name": "Mozambique Metical" },
3537        { "code": "NAD", "name": "Namibia Dollar" },
3538        { "code": "NGN", "name": "Nigeria Naira" },
3539        { "code": "NIO", "name": "Nicaragua Cordoba" },
3540        { "code": "NOK", "name": "Norway Krone" },
3541        { "code": "NPR", "name": "Nepal Rupee" },
3542        { "code": "NZD", "name": "New Zealand Dollar" },
3543        { "code": "OMR", "name": "Oman Rial" },
3544        { "code": "PAB", "name": "Panama Balboa" },
3545        { "code": "PEN", "name": "Peru Nuevo Sol" },
3546        { "code": "PGK", "name": "Papua New Guinea Kina" },
3547        { "code": "PHP", "name": "Philippines Peso" },
3548        { "code": "PKR", "name": "Pakistan Rupee" },
3549        { "code": "PLN", "name": "Poland Zloty" },
3550        { "code": "PYG", "name": "Paraguay Guarani" },
3551        { "code": "QAR", "name": "Qatar Riyal" },
3552        { "code": "RON", "name": "Romania New Leu" },
3553        { "code": "RSD", "name": "Serbia Dinar" },
3554        { "code": "RUB", "name": "Russia Ruble" },
3555        { "code": "RWF", "name": "Rwanda Franc" },
3556        { "code": "SAR", "name": "Saudi Arabia Riyal" },
3557        { "code": "SBD", "name": "Solomon Islands Dollar" },
3558        { "code": "SCR", "name": "Seychelles Rupee" },
3559        { "code": "SDG", "name": "Sudan Pound" },
3560        { "code": "SEK", "name": "Sweden Krona" },
3561        { "code": "SGD", "name": "Singapore Dollar" },
3562        { "code": "SHP", "name": "Saint Helena Pound" },
3563        { "code": "SLL", "name": "Sierra Leone Leone" },
3564        { "code": "SOS", "name": "Somalia Shilling" },
3565        { "code": "SPL", "name": "Seborga Luigino" },
3566        { "code": "SRD", "name": "Suriname Dollar" },
3567        { "code": "STD", "name": "São Tomé and Príncipe Dobra" },
3568        { "code": "SVC", "name": "El Salvador Colon" },
3569        { "code": "SYP", "name": "Syria Pound" },
3570        { "code": "SZL", "name": "Swaziland Lilangeni" },
3571        { "code": "THB", "name": "Thailand Baht" },
3572        { "code": "TJS", "name": "Tajikistan Somoni" },
3573        { "code": "TMT", "name": "Turkmenistan Manat" },
3574        { "code": "TND", "name": "Tunisia Dinar" },
3575        { "code": "TOP", "name": "Tonga Pa'anga" },
3576        { "code": "TRY", "name": "Turkey Lira" },
3577        { "code": "TTD", "name": "Trinidad and Tobago Dollar" },
3578        { "code": "TVD", "name": "Tuvalu Dollar" },
3579        { "code": "TWD", "name": "Taiwan New Dollar" },
3580        { "code": "TZS", "name": "Tanzania Shilling" },
3581        { "code": "UAH", "name": "Ukraine Hryvnia" },
3582        { "code": "UGX", "name": "Uganda Shilling" },
3583        { "code": "USD", "name": "United States Dollar" },
3584        { "code": "UYU", "name": "Uruguay Peso" },
3585        { "code": "UZS", "name": "Uzbekistan Som" },
3586        { "code": "VEF", "name": "Venezuela Bolivar" },
3587        { "code": "VND", "name": "Viet Nam Dong" },
3588        { "code": "VUV", "name": "Vanuatu Vatu" },
3589        { "code": "WST", "name": "Samoa Tala" },
3590        { "code": "XAF", "name": "Communauté Financière Africaine (BEAC) CFA Franc BEAC" },
3591        { "code": "XCD", "name": "East Caribbean Dollar" },
3592        { "code": "XDR", "name": "International Monetary Fund (IMF) Special Drawing Rights" },
3593        { "code": "XOF", "name": "Communauté Financière Africaine (BCEAO) Franc" },
3594        { "code": "XPF", "name": "Comptoirs Français du Pacifique (CFP) Franc" },
3595        { "code": "YER", "name": "Yemen Rial" },
3596        { "code": "ZAR", "name": "South Africa Rand" },
3597        { "code": "ZMW", "name": "Zambia Kwacha" },
3598        { "code": "ZWD", "name": "Zimbabwe Dollar" }
3599      ],
3600      // return the names of all valide colors
3601      colorNames: [
3602        "AliceBlue",
3603        "Black",
3604        "Navy",
3605        "DarkBlue",
3606        "MediumBlue",
3607        "Blue",
3608        "DarkGreen",
3609        "Green",
3610        "Teal",
3611        "DarkCyan",
3612        "DeepSkyBlue",
3613        "DarkTurquoise",
3614        "MediumSpringGreen",
3615        "Lime",
3616        "SpringGreen",
3617        "Aqua",
3618        "Cyan",
3619        "MidnightBlue",
3620        "DodgerBlue",
3621        "LightSeaGreen",
3622        "ForestGreen",
3623        "SeaGreen",
3624        "DarkSlateGray",
3625        "LimeGreen",
3626        "MediumSeaGreen",
3627        "Turquoise",
3628        "RoyalBlue",
3629        "SteelBlue",
3630        "DarkSlateBlue",
3631        "MediumTurquoise",
3632        "Indigo",
3633        "DarkOliveGreen",
3634        "CadetBlue",
3635        "CornflowerBlue",
3636        "RebeccaPurple",
3637        "MediumAquaMarine",
3638        "DimGray",
3639        "SlateBlue",
3640        "OliveDrab",
3641        "SlateGray",
3642        "LightSlateGray",
3643        "MediumSlateBlue",
3644        "LawnGreen",
3645        "Chartreuse",
3646        "Aquamarine",
3647        "Maroon",
3648        "Purple",
3649        "Olive",
3650        "Gray",
3651        "SkyBlue",
3652        "LightSkyBlue",
3653        "BlueViolet",
3654        "DarkRed",
3655        "DarkMagenta",
3656        "SaddleBrown",
3657        "Ivory",
3658        "White",
3659        "DarkSeaGreen",
3660        "LightGreen",
3661        "MediumPurple",
3662        "DarkViolet",
3663        "PaleGreen",
3664        "DarkOrchid",
3665        "YellowGreen",
3666        "Sienna",
3667        "Brown",
3668        "DarkGray",
3669        "LightBlue",
3670        "GreenYellow",
3671        "PaleTurquoise",
3672        "LightSteelBlue",
3673        "PowderBlue",
3674        "FireBrick",
3675        "DarkGoldenRod",
3676        "MediumOrchid",
3677        "RosyBrown",
3678        "DarkKhaki",
3679        "Silver",
3680        "MediumVioletRed",
3681        "IndianRed",
3682        "Peru",
3683        "Chocolate",
3684        "Tan",
3685        "LightGray",
3686        "Thistle",
3687        "Orchid",
3688        "GoldenRod",
3689        "PaleVioletRed",
3690        "Crimson",
3691        "Gainsboro",
3692        "Plum",
3693        "BurlyWood",
3694        "LightCyan",
3695        "Lavender",
3696        "DarkSalmon",
3697        "Violet",
3698        "PaleGoldenRod",
3699        "LightCoral",
3700        "Khaki",
3701        "AliceBlue",
3702        "HoneyDew",
3703        "Azure",
3704        "SandyBrown",
3705        "Wheat",
3706        "Beige",
3707        "WhiteSmoke",
3708        "MintCream",
3709        "GhostWhite",
3710        "Salmon",
3711        "AntiqueWhite",
3712        "Linen",
3713        "LightGoldenRodYellow",
3714        "OldLace",
3715        "Red",
3716        "Fuchsia",
3717        "Magenta",
3718        "DeepPink",
3719        "OrangeRed",
3720        "Tomato",
3721        "HotPink",
3722        "Coral",
3723        "DarkOrange",
3724        "LightSalmon",
3725        "Orange",
3726        "LightPink",
3727        "Pink",
3728        "Gold",
3729        "PeachPuff",
3730        "NavajoWhite",
3731        "Moccasin",
3732        "Bisque",
3733        "MistyRose",
3734        "BlanchedAlmond",
3735        "PapayaWhip",
3736        "LavenderBlush",
3737        "SeaShell",
3738        "Cornsilk",
3739        "LemonChiffon",
3740        "FloralWhite",
3741        "Snow",
3742        "Yellow",
3743        "LightYellow"
3744      ],
3745      // Data taken from https://www.sec.gov/rules/other/4-460list.htm
3746      company: [
3747        "3Com Corp",
3748        "3M Company",
3749        "A.G. Edwards Inc.",
3750        "Abbott Laboratories",
3751        "Abercrombie & Fitch Co.",
3752        "ABM Industries Incorporated",
3753        "Ace Hardware Corporation",
3754        "ACT Manufacturing Inc.",
3755        "Acterna Corp.",
3756        "Adams Resources & Energy, Inc.",
3757        "ADC Telecommunications, Inc.",
3758        "Adelphia Communications Corporation",
3759        "Administaff, Inc.",
3760        "Adobe Systems Incorporated",
3761        "Adolph Coors Company",
3762        "Advance Auto Parts, Inc.",
3763        "Advanced Micro Devices, Inc.",
3764        "AdvancePCS, Inc.",
3765        "Advantica Restaurant Group, Inc.",
3766        "The AES Corporation",
3767        "Aetna Inc.",
3768        "Affiliated Computer Services, Inc.",
3769        "AFLAC Incorporated",
3770        "AGCO Corporation",
3771        "Agilent Technologies, Inc.",
3772        "Agway Inc.",
3773        "Apartment Investment and Management Company",
3774        "Air Products and Chemicals, Inc.",
3775        "Airborne, Inc.",
3776        "Airgas, Inc.",
3777        "AK Steel Holding Corporation",
3778        "Alaska Air Group, Inc.",
3779        "Alberto-Culver Company",
3780        "Albertson's, Inc.",
3781        "Alcoa Inc.",
3782        "Alleghany Corporation",
3783        "Allegheny Energy, Inc.",
3784        "Allegheny Technologies Incorporated",
3785        "Allergan, Inc.",
3786        "ALLETE, Inc.",
3787        "Alliant Energy Corporation",
3788        "Allied Waste Industries, Inc.",
3789        "Allmerica Financial Corporation",
3790        "The Allstate Corporation",
3791        "ALLTEL Corporation",
3792        "The Alpine Group, Inc.",
3793        "Amazon.com, Inc.",
3794        "AMC Entertainment Inc.",
3795        "American Power Conversion Corporation",
3796        "Amerada Hess Corporation",
3797        "AMERCO",
3798        "Ameren Corporation",
3799        "America West Holdings Corporation",
3800        "American Axle & Manufacturing Holdings, Inc.",
3801        "American Eagle Outfitters, Inc.",
3802        "American Electric Power Company, Inc.",
3803        "American Express Company",
3804        "American Financial Group, Inc.",
3805        "American Greetings Corporation",
3806        "American International Group, Inc.",
3807        "American Standard Companies Inc.",
3808        "American Water Works Company, Inc.",
3809        "AmerisourceBergen Corporation",
3810        "Ames Department Stores, Inc.",
3811        "Amgen Inc.",
3812        "Amkor Technology, Inc.",
3813        "AMR Corporation",
3814        "AmSouth Bancorp.",
3815        "Amtran, Inc.",
3816        "Anadarko Petroleum Corporation",
3817        "Analog Devices, Inc.",
3818        "Anheuser-Busch Companies, Inc.",
3819        "Anixter International Inc.",
3820        "AnnTaylor Inc.",
3821        "Anthem, Inc.",
3822        "AOL Time Warner Inc.",
3823        "Aon Corporation",
3824        "Apache Corporation",
3825        "Apple Computer, Inc.",
3826        "Applera Corporation",
3827        "Applied Industrial Technologies, Inc.",
3828        "Applied Materials, Inc.",
3829        "Aquila, Inc.",
3830        "ARAMARK Corporation",
3831        "Arch Coal, Inc.",
3832        "Archer Daniels Midland Company",
3833        "Arkansas Best Corporation",
3834        "Armstrong Holdings, Inc.",
3835        "Arrow Electronics, Inc.",
3836        "ArvinMeritor, Inc.",
3837        "Ashland Inc.",
3838        "Astoria Financial Corporation",
3839        "AT&T Corp.",
3840        "Atmel Corporation",
3841        "Atmos Energy Corporation",
3842        "Audiovox Corporation",
3843        "Autoliv, Inc.",
3844        "Automatic Data Processing, Inc.",
3845        "AutoNation, Inc.",
3846        "AutoZone, Inc.",
3847        "Avaya Inc.",
3848        "Avery Dennison Corporation",
3849        "Avista Corporation",
3850        "Avnet, Inc.",
3851        "Avon Products, Inc.",
3852        "Baker Hughes Incorporated",
3853        "Ball Corporation",
3854        "Bank of America Corporation",
3855        "The Bank of New York Company, Inc.",
3856        "Bank One Corporation",
3857        "Banknorth Group, Inc.",
3858        "Banta Corporation",
3859        "Barnes & Noble, Inc.",
3860        "Bausch & Lomb Incorporated",
3861        "Baxter International Inc.",
3862        "BB&T Corporation",
3863        "The Bear Stearns Companies Inc.",
3864        "Beazer Homes USA, Inc.",
3865        "Beckman Coulter, Inc.",
3866        "Becton, Dickinson and Company",
3867        "Bed Bath & Beyond Inc.",
3868        "Belk, Inc.",
3869        "Bell Microproducts Inc.",
3870        "BellSouth Corporation",
3871        "Belo Corp.",
3872        "Bemis Company, Inc.",
3873        "Benchmark Electronics, Inc.",
3874        "Berkshire Hathaway Inc.",
3875        "Best Buy Co., Inc.",
3876        "Bethlehem Steel Corporation",
3877        "Beverly Enterprises, Inc.",
3878        "Big Lots, Inc.",
3879        "BJ Services Company",
3880        "BJ's Wholesale Club, Inc.",
3881        "The Black & Decker Corporation",
3882        "Black Hills Corporation",
3883        "BMC Software, Inc.",
3884        "The Boeing Company",
3885        "Boise Cascade Corporation",
3886        "Borders Group, Inc.",
3887        "BorgWarner Inc.",
3888        "Boston Scientific Corporation",
3889        "Bowater Incorporated",
3890        "Briggs & Stratton Corporation",
3891        "Brightpoint, Inc.",
3892        "Brinker International, Inc.",
3893        "Bristol-Myers Squibb Company",
3894        "Broadwing, Inc.",
3895        "Brown Shoe Company, Inc.",
3896        "Brown-Forman Corporation",
3897        "Brunswick Corporation",
3898        "Budget Group, Inc.",
3899        "Burlington Coat Factory Warehouse Corporation",
3900        "Burlington Industries, Inc.",
3901        "Burlington Northern Santa Fe Corporation",
3902        "Burlington Resources Inc.",
3903        "C. H. Robinson Worldwide Inc.",
3904        "Cablevision Systems Corp",
3905        "Cabot Corp",
3906        "Cadence Design Systems, Inc.",
3907        "Calpine Corp.",
3908        "Campbell Soup Co.",
3909        "Capital One Financial Corp.",
3910        "Cardinal Health Inc.",
3911        "Caremark Rx Inc.",
3912        "Carlisle Cos. Inc.",
3913        "Carpenter Technology Corp.",
3914        "Casey's General Stores Inc.",
3915        "Caterpillar Inc.",
3916        "CBRL Group Inc.",
3917        "CDI Corp.",
3918        "CDW Computer Centers Inc.",
3919        "CellStar Corp.",
3920        "Cendant Corp",
3921        "Cenex Harvest States Cooperatives",
3922        "Centex Corp.",
3923        "CenturyTel Inc.",
3924        "Ceridian Corp.",
3925        "CH2M Hill Cos. Ltd.",
3926        "Champion Enterprises Inc.",
3927        "Charles Schwab Corp.",
3928        "Charming Shoppes Inc.",
3929        "Charter Communications Inc.",
3930        "Charter One Financial Inc.",
3931        "ChevronTexaco Corp.",
3932        "Chiquita Brands International Inc.",
3933        "Chubb Corp",
3934        "Ciena Corp.",
3935        "Cigna Corp",
3936        "Cincinnati Financial Corp.",
3937        "Cinergy Corp.",
3938        "Cintas Corp.",
3939        "Circuit City Stores Inc.",
3940        "Cisco Systems Inc.",
3941        "Citigroup, Inc",
3942        "Citizens Communications Co.",
3943        "CKE Restaurants Inc.",
3944        "Clear Channel Communications Inc.",
3945        "The Clorox Co.",
3946        "CMGI Inc.",
3947        "CMS Energy Corp.",
3948        "CNF Inc.",
3949        "Coca-Cola Co.",
3950        "Coca-Cola Enterprises Inc.",
3951        "Colgate-Palmolive Co.",
3952        "Collins & Aikman Corp.",
3953        "Comcast Corp.",
3954        "Comdisco Inc.",
3955        "Comerica Inc.",
3956        "Comfort Systems USA Inc.",
3957        "Commercial Metals Co.",
3958        "Community Health Systems Inc.",
3959        "Compass Bancshares Inc",
3960        "Computer Associates International Inc.",
3961        "Computer Sciences Corp.",
3962        "Compuware Corp.",
3963        "Comverse Technology Inc.",
3964        "ConAgra Foods Inc.",
3965        "Concord EFS Inc.",
3966        "Conectiv, Inc",
3967        "Conoco Inc",
3968        "Conseco Inc.",
3969        "Consolidated Freightways Corp.",
3970        "Consolidated Edison Inc.",
3971        "Constellation Brands Inc.",
3972        "Constellation Emergy Group Inc.",
3973        "Continental Airlines Inc.",
3974        "Convergys Corp.",
3975        "Cooper Cameron Corp.",
3976        "Cooper Industries Ltd.",
3977        "Cooper Tire & Rubber Co.",
3978        "Corn Products International Inc.",
3979        "Corning Inc.",
3980        "Costco Wholesale Corp.",
3981        "Countrywide Credit Industries Inc.",
3982        "Coventry Health Care Inc.",
3983        "Cox Communications Inc.",
3984        "Crane Co.",
3985        "Crompton Corp.",
3986        "Crown Cork & Seal Co. Inc.",
3987        "CSK Auto Corp.",
3988        "CSX Corp.",
3989        "Cummins Inc.",
3990        "CVS Corp.",
3991        "Cytec Industries Inc.",
3992        "D&K Healthcare Resources, Inc.",
3993        "D.R. Horton Inc.",
3994        "Dana Corporation",
3995        "Danaher Corporation",
3996        "Darden Restaurants Inc.",
3997        "DaVita Inc.",
3998        "Dean Foods Company",
3999        "Deere & Company",
4000        "Del Monte Foods Co",
4001        "Dell Computer Corporation",
4002        "Delphi Corp.",
4003        "Delta Air Lines Inc.",
4004        "Deluxe Corporation",
4005        "Devon Energy Corporation",
4006        "Di Giorgio Corporation",
4007        "Dial Corporation",
4008        "Diebold Incorporated",
4009        "Dillard's Inc.",
4010        "DIMON Incorporated",
4011        "Dole Food Company, Inc.",
4012        "Dollar General Corporation",
4013        "Dollar Tree Stores, Inc.",
4014        "Dominion Resources, Inc.",
4015        "Domino's Pizza LLC",
4016        "Dover Corporation, Inc.",
4017        "Dow Chemical Company",
4018        "Dow Jones & Company, Inc.",
4019        "DPL Inc.",
4020        "DQE Inc.",
4021        "Dreyer's Grand Ice Cream, Inc.",
4022        "DST Systems, Inc.",
4023        "DTE Energy Co.",
4024        "E.I. Du Pont de Nemours and Company",
4025        "Duke Energy Corp",
4026        "Dun & Bradstreet Inc.",
4027        "DURA Automotive Systems Inc.",
4028        "DynCorp",
4029        "Dynegy Inc.",
4030        "E*Trade Group, Inc.",
4031        "E.W. Scripps Company",
4032        "Earthlink, Inc.",
4033        "Eastman Chemical Company",
4034        "Eastman Kodak Company",
4035        "Eaton Corporation",
4036        "Echostar Communications Corporation",
4037        "Ecolab Inc.",
4038        "Edison International",
4039        "EGL Inc.",
4040        "El Paso Corporation",
4041        "Electronic Arts Inc.",
4042        "Electronic Data Systems Corp.",
4043        "Eli Lilly and Company",
4044        "EMC Corporation",
4045        "Emcor Group Inc.",
4046        "Emerson Electric Co.",
4047        "Encompass Services Corporation",
4048        "Energizer Holdings Inc.",
4049        "Energy East Corporation",
4050        "Engelhard Corporation",
4051        "Enron Corp.",
4052        "Entergy Corporation",
4053        "Enterprise Products Partners L.P.",
4054        "EOG Resources, Inc.",
4055        "Equifax Inc.",
4056        "Equitable Resources Inc.",
4057        "Equity Office Properties Trust",
4058        "Equity Residential Properties Trust",
4059        "Estee Lauder Companies Inc.",
4060        "Exelon Corporation",
4061        "Exide Technologies",
4062        "Expeditors International of Washington Inc.",
4063        "Express Scripts Inc.",
4064        "ExxonMobil Corporation",
4065        "Fairchild Semiconductor International Inc.",
4066        "Family Dollar Stores Inc.",
4067        "Farmland Industries Inc.",
4068        "Federal Mogul Corp.",
4069        "Federated Department Stores Inc.",
4070        "Federal Express Corp.",
4071        "Felcor Lodging Trust Inc.",
4072        "Ferro Corp.",
4073        "Fidelity National Financial Inc.",
4074        "Fifth Third Bancorp",
4075        "First American Financial Corp.",
4076        "First Data Corp.",
4077        "First National of Nebraska Inc.",
4078        "First Tennessee National Corp.",
4079        "FirstEnergy Corp.",
4080        "Fiserv Inc.",
4081        "Fisher Scientific International Inc.",
4082        "FleetBoston Financial Co.",
4083        "Fleetwood Enterprises Inc.",
4084        "Fleming Companies Inc.",
4085        "Flowers Foods Inc.",
4086        "Flowserv Corp",
4087        "Fluor Corp",
4088        "FMC Corp",
4089        "Foamex International Inc",
4090        "Foot Locker Inc",
4091        "Footstar Inc.",
4092        "Ford Motor Co",
4093        "Forest Laboratories Inc.",
4094        "Fortune Brands Inc.",
4095        "Foster Wheeler Ltd.",
4096        "FPL Group Inc.",
4097        "Franklin Resources Inc.",
4098        "Freeport McMoran Copper & Gold Inc.",
4099        "Frontier Oil Corp",
4100        "Furniture Brands International Inc.",
4101        "Gannett Co., Inc.",
4102        "Gap Inc.",
4103        "Gateway Inc.",
4104        "GATX Corporation",
4105        "Gemstar-TV Guide International Inc.",
4106        "GenCorp Inc.",
4107        "General Cable Corporation",
4108        "General Dynamics Corporation",
4109        "General Electric Company",
4110        "General Mills Inc",
4111        "General Motors Corporation",
4112        "Genesis Health Ventures Inc.",
4113        "Gentek Inc.",
4114        "Gentiva Health Services Inc.",
4115        "Genuine Parts Company",
4116        "Genuity Inc.",
4117        "Genzyme Corporation",
4118        "Georgia Gulf Corporation",
4119        "Georgia-Pacific Corporation",
4120        "Gillette Company",
4121        "Gold Kist Inc.",
4122        "Golden State Bancorp Inc.",
4123        "Golden West Financial Corporation",
4124        "Goldman Sachs Group Inc.",
4125        "Goodrich Corporation",
4126        "The Goodyear Tire & Rubber Company",
4127        "Granite Construction Incorporated",
4128        "Graybar Electric Company Inc.",
4129        "Great Lakes Chemical Corporation",
4130        "Great Plains Energy Inc.",
4131        "GreenPoint Financial Corp.",
4132        "Greif Bros. Corporation",
4133        "Grey Global Group Inc.",
4134        "Group 1 Automotive Inc.",
4135        "Guidant Corporation",
4136        "H&R Block Inc.",
4137        "H.B. Fuller Company",
4138        "H.J. Heinz Company",
4139        "Halliburton Co.",
4140        "Harley-Davidson Inc.",
4141        "Harman International Industries Inc.",
4142        "Harrah's Entertainment Inc.",
4143        "Harris Corp.",
4144        "Harsco Corp.",
4145        "Hartford Financial Services Group Inc.",
4146        "Hasbro Inc.",
4147        "Hawaiian Electric Industries Inc.",
4148        "HCA Inc.",
4149        "Health Management Associates Inc.",
4150        "Health Net Inc.",
4151        "Healthsouth Corp",
4152        "Henry Schein Inc.",
4153        "Hercules Inc.",
4154        "Herman Miller Inc.",
4155        "Hershey Foods Corp.",
4156        "Hewlett-Packard Company",
4157        "Hibernia Corp.",
4158        "Hillenbrand Industries Inc.",
4159        "Hilton Hotels Corp.",
4160        "Hollywood Entertainment Corp.",
4161        "Home Depot Inc.",
4162        "Hon Industries Inc.",
4163        "Honeywell International Inc.",
4164        "Hormel Foods Corp.",
4165        "Host Marriott Corp.",
4166        "Household International Corp.",
4167        "Hovnanian Enterprises Inc.",
4168        "Hub Group Inc.",
4169        "Hubbell Inc.",
4170        "Hughes Supply Inc.",
4171        "Humana Inc.",
4172        "Huntington Bancshares Inc.",
4173        "Idacorp Inc.",
4174        "IDT Corporation",
4175        "IKON Office Solutions Inc.",
4176        "Illinois Tool Works Inc.",
4177        "IMC Global Inc.",
4178        "Imperial Sugar Company",
4179        "IMS Health Inc.",
4180        "Ingles Market Inc",
4181        "Ingram Micro Inc.",
4182        "Insight Enterprises Inc.",
4183        "Integrated Electrical Services Inc.",
4184        "Intel Corporation",
4185        "International Paper Co.",
4186        "Interpublic Group of Companies Inc.",
4187        "Interstate Bakeries Corporation",
4188        "International Business Machines Corp.",
4189        "International Flavors & Fragrances Inc.",
4190        "International Multifoods Corporation",
4191        "Intuit Inc.",
4192        "IT Group Inc.",
4193        "ITT Industries Inc.",
4194        "Ivax Corp.",
4195        "J.B. Hunt Transport Services Inc.",
4196        "J.C. Penny Co.",
4197        "J.P. Morgan Chase & Co.",
4198        "Jabil Circuit Inc.",
4199        "Jack In The Box Inc.",
4200        "Jacobs Engineering Group Inc.",
4201        "JDS Uniphase Corp.",
4202        "Jefferson-Pilot Co.",
4203        "John Hancock Financial Services Inc.",
4204        "Johnson & Johnson",
4205        "Johnson Controls Inc.",
4206        "Jones Apparel Group Inc.",
4207        "KB Home",
4208        "Kellogg Company",
4209        "Kellwood Company",
4210        "Kelly Services Inc.",
4211        "Kemet Corp.",
4212        "Kennametal Inc.",
4213        "Kerr-McGee Corporation",
4214        "KeyCorp",
4215        "KeySpan Corp.",
4216        "Kimball International Inc.",
4217        "Kimberly-Clark Corporation",
4218        "Kindred Healthcare Inc.",
4219        "KLA-Tencor Corporation",
4220        "K-Mart Corp.",
4221        "Knight-Ridder Inc.",
4222        "Kohl's Corp.",
4223        "KPMG Consulting Inc.",
4224        "Kroger Co.",
4225        "L-3 Communications Holdings Inc.",
4226        "Laboratory Corporation of America Holdings",
4227        "Lam Research Corporation",
4228        "LandAmerica Financial Group Inc.",
4229        "Lands' End Inc.",
4230        "Landstar System Inc.",
4231        "La-Z-Boy Inc.",
4232        "Lear Corporation",
4233        "Legg Mason Inc.",
4234        "Leggett & Platt Inc.",
4235        "Lehman Brothers Holdings Inc.",
4236        "Lennar Corporation",
4237        "Lennox International Inc.",
4238        "Level 3 Communications Inc.",
4239        "Levi Strauss & Co.",
4240        "Lexmark International Inc.",
4241        "Limited Inc.",
4242        "Lincoln National Corporation",
4243        "Linens 'n Things Inc.",
4244        "Lithia Motors Inc.",
4245        "Liz Claiborne Inc.",
4246        "Lockheed Martin Corporation",
4247        "Loews Corporation",
4248        "Longs Drug Stores Corporation",
4249        "Louisiana-Pacific Corporation",
4250        "Lowe's Companies Inc.",
4251        "LSI Logic Corporation",
4252        "The LTV Corporation",
4253        "The Lubrizol Corporation",
4254        "Lucent Technologies Inc.",
4255        "Lyondell Chemical Company",
4256        "M & T Bank Corporation",
4257        "Magellan Health Services Inc.",
4258        "Mail-Well Inc.",
4259        "Mandalay Resort Group",
4260        "Manor Care Inc.",
4261        "Manpower Inc.",
4262        "Marathon Oil Corporation",
4263        "Mariner Health Care Inc.",
4264        "Markel Corporation",
4265        "Marriott International Inc.",
4266        "Marsh & McLennan Companies Inc.",
4267        "Marsh Supermarkets Inc.",
4268        "Marshall & Ilsley Corporation",
4269        "Martin Marietta Materials Inc.",
4270        "Masco Corporation",
4271        "Massey Energy Company",
4272        "MasTec Inc.",
4273        "Mattel Inc.",
4274        "Maxim Integrated Products Inc.",
4275        "Maxtor Corporation",
4276        "Maxxam Inc.",
4277        "The May Department Stores Company",
4278        "Maytag Corporation",
4279        "MBNA Corporation",
4280        "McCormick & Company Incorporated",
4281        "McDonald's Corporation",
4282        "The McGraw-Hill Companies Inc.",
4283        "McKesson Corporation",
4284        "McLeodUSA Incorporated",
4285        "M.D.C. Holdings Inc.",
4286        "MDU Resources Group Inc.",
4287        "MeadWestvaco Corporation",
4288        "Medtronic Inc.",
4289        "Mellon Financial Corporation",
4290        "The Men's Wearhouse Inc.",
4291        "Merck & Co., Inc.",
4292        "Mercury General Corporation",
4293        "Merrill Lynch & Co. Inc.",
4294        "Metaldyne Corporation",
4295        "Metals USA Inc.",
4296        "MetLife Inc.",
4297        "Metris Companies Inc",
4298        "MGIC Investment Corporation",
4299        "MGM Mirage",
4300        "Michaels Stores Inc.",
4301        "Micron Technology Inc.",
4302        "Microsoft Corporation",
4303        "Milacron Inc.",
4304        "Millennium Chemicals Inc.",
4305        "Mirant Corporation",
4306        "Mohawk Industries Inc.",
4307        "Molex Incorporated",
4308        "The MONY Group Inc.",
4309        "Morgan Stanley Dean Witter & Co.",
4310        "Motorola Inc.",
4311        "MPS Group Inc.",
4312        "Murphy Oil Corporation",
4313        "Nabors Industries Inc",
4314        "Nacco Industries Inc",
4315        "Nash Finch Company",
4316        "National City Corp.",
4317        "National Commerce Financial Corporation",
4318        "National Fuel Gas Company",
4319        "National Oilwell Inc",
4320        "National Rural Utilities Cooperative Finance Corporation",
4321        "National Semiconductor Corporation",
4322        "National Service Industries Inc",
4323        "Navistar International Corporation",
4324        "NCR Corporation",
4325        "The Neiman Marcus Group Inc.",
4326        "New Jersey Resources Corporation",
4327        "New York Times Company",
4328        "Newell Rubbermaid Inc",
4329        "Newmont Mining Corporation",
4330        "Nextel Communications Inc",
4331        "Nicor Inc",
4332        "Nike Inc",
4333        "NiSource Inc",
4334        "Noble Energy Inc",
4335        "Nordstrom Inc",
4336        "Norfolk Southern Corporation",
4337        "Nortek Inc",
4338        "North Fork Bancorporation Inc",
4339        "Northeast Utilities System",
4340        "Northern Trust Corporation",
4341        "Northrop Grumman Corporation",
4342        "NorthWestern Corporation",
4343        "Novellus Systems Inc",
4344        "NSTAR",
4345        "NTL Incorporated",
4346        "Nucor Corp",
4347        "Nvidia Corp",
4348        "NVR Inc",
4349        "Northwest Airlines Corp",
4350        "Occidental Petroleum Corp",
4351        "Ocean Energy Inc",
4352        "Office Depot Inc.",
4353        "OfficeMax Inc",
4354        "OGE Energy Corp",
4355        "Oglethorpe Power Corp.",
4356        "Ohio Casualty Corp.",
4357        "Old Republic International Corp.",
4358        "Olin Corp.",
4359        "OM Group Inc",
4360        "Omnicare Inc",
4361        "Omnicom Group",
4362        "On Semiconductor Corp",
4363        "ONEOK Inc",
4364        "Oracle Corp",
4365        "Oshkosh Truck Corp",
4366        "Outback Steakhouse Inc.",
4367        "Owens & Minor Inc.",
4368        "Owens Corning",
4369        "Owens-Illinois Inc",
4370        "Oxford Health Plans Inc",
4371        "Paccar Inc",
4372        "PacifiCare Health Systems Inc",
4373        "Packaging Corp. of America",
4374        "Pactiv Corp",
4375        "Pall Corp",
4376        "Pantry Inc",
4377        "Park Place Entertainment Corp",
4378        "Parker Hannifin Corp.",
4379        "Pathmark Stores Inc.",
4380        "Paychex Inc",
4381        "Payless Shoesource Inc",
4382        "Penn Traffic Co.",
4383        "Pennzoil-Quaker State Company",
4384        "Pentair Inc",
4385        "Peoples Energy Corp.",
4386        "PeopleSoft Inc",
4387        "Pep Boys Manny, Moe & Jack",
4388        "Potomac Electric Power Co.",
4389        "Pepsi Bottling Group Inc.",
4390        "PepsiAmericas Inc.",
4391        "PepsiCo Inc.",
4392        "Performance Food Group Co.",
4393        "Perini Corp",
4394        "PerkinElmer Inc",
4395        "Perot Systems Corp",
4396        "Petco Animal Supplies Inc.",
4397        "Peter Kiewit Sons', Inc.",
4398        "PETsMART Inc",
4399        "Pfizer Inc",
4400        "Pacific Gas & Electric Corp.",
4401        "Pharmacia Corp",
4402        "Phar Mor Inc.",
4403        "Phelps Dodge Corp.",
4404        "Philip Morris Companies Inc.",
4405        "Phillips Petroleum Co",
4406        "Phillips Van Heusen Corp.",
4407        "Phoenix Companies Inc",
4408        "Pier 1 Imports Inc.",
4409        "Pilgrim's Pride Corporation",
4410        "Pinnacle West Capital Corp",
4411        "Pioneer-Standard Electronics Inc.",
4412        "Pitney Bowes Inc.",
4413        "Pittston Brinks Group",
4414        "Plains All American Pipeline LP",
4415        "PNC Financial Services Group Inc.",
4416        "PNM Resources Inc",
4417        "Polaris Industries Inc.",
4418        "Polo Ralph Lauren Corp",
4419        "PolyOne Corp",
4420        "Popular Inc",
4421        "Potlatch Corp",
4422        "PPG Industries Inc",
4423        "PPL Corp",
4424        "Praxair Inc",
4425        "Precision Castparts Corp",
4426        "Premcor Inc.",
4427        "Pride International Inc",
4428        "Primedia Inc",
4429        "Principal Financial Group Inc.",
4430        "Procter & Gamble Co.",
4431        "Pro-Fac Cooperative Inc.",
4432        "Progress Energy Inc",
4433        "Progressive Corporation",
4434        "Protective Life Corp",
4435        "Provident Financial Group",
4436        "Providian Financial Corp.",
4437        "Prudential Financial Inc.",
4438        "PSS World Medical Inc",
4439        "Public Service Enterprise Group Inc.",
4440        "Publix Super Markets Inc.",
4441        "Puget Energy Inc.",
4442        "Pulte Homes Inc",
4443        "Qualcomm Inc",
4444        "Quanta Services Inc.",
4445        "Quantum Corp",
4446        "Quest Diagnostics Inc.",
4447        "Questar Corp",
4448        "Quintiles Transnational",
4449        "Qwest Communications Intl Inc",
4450        "R.J. Reynolds Tobacco Company",
4451        "R.R. Donnelley & Sons Company",
4452        "Radio Shack Corporation",
4453        "Raymond James Financial Inc.",
4454        "Raytheon Company",
4455        "Reader's Digest Association Inc.",
4456        "Reebok International Ltd.",
4457        "Regions Financial Corp.",
4458        "Regis Corporation",
4459        "Reliance Steel & Aluminum Co.",
4460        "Reliant Energy Inc.",
4461        "Rent A Center Inc",
4462        "Republic Services Inc",
4463        "Revlon Inc",
4464        "RGS Energy Group Inc",
4465        "Rite Aid Corp",
4466        "Riverwood Holding Inc.",
4467        "RoadwayCorp",
4468        "Robert Half International Inc.",
4469        "Rock-Tenn Co",
4470        "Rockwell Automation Inc",
4471        "Rockwell Collins Inc",
4472        "Rohm & Haas Co.",
4473        "Ross Stores Inc",
4474        "RPM Inc.",
4475        "Ruddick Corp",
4476        "Ryder System Inc",
4477        "Ryerson Tull Inc",
4478        "Ryland Group Inc.",
4479        "Sabre Holdings Corp",
4480        "Safeco Corp",
4481        "Safeguard Scientifics Inc.",
4482        "Safeway Inc",
4483        "Saks Inc",
4484        "Sanmina-SCI Inc",
4485        "Sara Lee Corp",
4486        "SBC Communications Inc",
4487        "Scana Corp.",
4488        "Schering-Plough Corp",
4489        "Scholastic Corp",
4490        "SCI Systems Onc.",
4491        "Science Applications Intl. Inc.",
4492        "Scientific-Atlanta Inc",
4493        "Scotts Company",
4494        "Seaboard Corp",
4495        "Sealed Air Corp",
4496        "Sears Roebuck & Co",
4497        "Sempra Energy",
4498        "Sequa Corp",
4499        "Service Corp. International",
4500        "ServiceMaster Co",
4501        "Shaw Group Inc",
4502        "Sherwin-Williams Company",
4503        "Shopko Stores Inc",
4504        "Siebel Systems Inc",
4505        "Sierra Health Services Inc",
4506        "Sierra Pacific Resources",
4507        "Silgan Holdings Inc.",
4508        "Silicon Graphics Inc",
4509        "Simon Property Group Inc",
4510        "SLM Corporation",
4511        "Smith International Inc",
4512        "Smithfield Foods Inc",
4513        "Smurfit-Stone Container Corp",
4514        "Snap-On Inc",
4515        "Solectron Corp",
4516        "Solutia Inc",
4517        "Sonic Automotive Inc.",
4518        "Sonoco Products Co.",
4519        "Southern Company",
4520        "Southern Union Company",
4521        "SouthTrust Corp.",
4522        "Southwest Airlines Co",
4523        "Southwest Gas Corp",
4524        "Sovereign Bancorp Inc.",
4525        "Spartan Stores Inc",
4526        "Spherion Corp",
4527        "Sports Authority Inc",
4528        "Sprint Corp.",
4529        "SPX Corp",
4530        "St. Jude Medical Inc",
4531        "St. Paul Cos.",
4532        "Staff Leasing Inc.",
4533        "StanCorp Financial Group Inc",
4534        "Standard Pacific Corp.",
4535        "Stanley Works",
4536        "Staples Inc",
4537        "Starbucks Corp",
4538        "Starwood Hotels & Resorts Worldwide Inc",
4539        "State Street Corp.",
4540        "Stater Bros. Holdings Inc.",
4541        "Steelcase Inc",
4542        "Stein Mart Inc",
4543        "Stewart & Stevenson Services Inc",
4544        "Stewart Information Services Corp",
4545        "Stilwell Financial Inc",
4546        "Storage Technology Corporation",
4547        "Stryker Corp",
4548        "Sun Healthcare Group Inc.",
4549        "Sun Microsystems Inc.",
4550        "SunGard Data Systems Inc.",
4551        "Sunoco Inc.",
4552        "SunTrust Banks Inc",
4553        "Supervalu Inc",
4554        "Swift Transportation, Co., Inc",
4555        "Symbol Technologies Inc",
4556        "Synovus Financial Corp.",
4557        "Sysco Corp",
4558        "Systemax Inc.",
4559        "Target Corp.",
4560        "Tech Data Corporation",
4561        "TECO Energy Inc",
4562        "Tecumseh Products Company",
4563        "Tektronix Inc",
4564        "Teleflex Incorporated",
4565        "Telephone & Data Systems Inc",
4566        "Tellabs Inc.",
4567        "Temple-Inland Inc",
4568        "Tenet Healthcare Corporation",
4569        "Tenneco Automotive Inc.",
4570        "Teradyne Inc",
4571        "Terex Corp",
4572        "Tesoro Petroleum Corp.",
4573        "Texas Industries Inc.",
4574        "Texas Instruments Incorporated",
4575        "Textron Inc",
4576        "Thermo Electron Corporation",
4577        "Thomas & Betts Corporation",
4578        "Tiffany & Co",
4579        "Timken Company",
4580        "TJX Companies Inc",
4581        "TMP Worldwide Inc",
4582        "Toll Brothers Inc",
4583        "Torchmark Corporation",
4584        "Toro Company",
4585        "Tower Automotive Inc.",
4586        "Toys 'R' Us Inc",
4587        "Trans World Entertainment Corp.",
4588        "TransMontaigne Inc",
4589        "Transocean Inc",
4590        "TravelCenters of America Inc.",
4591        "Triad Hospitals Inc",
4592        "Tribune Company",
4593        "Trigon Healthcare Inc.",
4594        "Trinity Industries Inc",
4595        "Trump Hotels & Casino Resorts Inc.",
4596        "TruServ Corporation",
4597        "TRW Inc",
4598        "TXU Corp",
4599        "Tyson Foods Inc",
4600        "U.S. Bancorp",
4601        "U.S. Industries Inc.",
4602        "UAL Corporation",
4603        "UGI Corporation",
4604        "Unified Western Grocers Inc",
4605        "Union Pacific Corporation",
4606        "Union Planters Corp",
4607        "Unisource Energy Corp",
4608        "Unisys Corporation",
4609        "United Auto Group Inc",
4610        "United Defense Industries Inc.",
4611        "United Parcel Service Inc",
4612        "United Rentals Inc",
4613        "United Stationers Inc",
4614        "United Technologies Corporation",
4615        "UnitedHealth Group Incorporated",
4616        "Unitrin Inc",
4617        "Universal Corporation",
4618        "Universal Forest Products Inc",
4619        "Universal Health Services Inc",
4620        "Unocal Corporation",
4621        "Unova Inc",
4622        "UnumProvident Corporation",
4623        "URS Corporation",
4624        "US Airways Group Inc",
4625        "US Oncology Inc",
4626        "USA Interactive",
4627        "USFreighways Corporation",
4628        "USG Corporation",
4629        "UST Inc",
4630        "Valero Energy Corporation",
4631        "Valspar Corporation",
4632        "Value City Department Stores Inc",
4633        "Varco International Inc",
4634        "Vectren Corporation",
4635        "Veritas Software Corporation",
4636        "Verizon Communications Inc",
4637        "VF Corporation",
4638        "Viacom Inc",
4639        "Viad Corp",
4640        "Viasystems Group Inc",
4641        "Vishay Intertechnology Inc",
4642        "Visteon Corporation",
4643        "Volt Information Sciences Inc",
4644        "Vulcan Materials Company",
4645        "W.R. Berkley Corporation",
4646        "W.R. Grace & Co",
4647        "W.W. Grainger Inc",
4648        "Wachovia Corporation",
4649        "Wakenhut Corporation",
4650        "Walgreen Co",
4651        "Wallace Computer Services Inc",
4652        "Wal-Mart Stores Inc",
4653        "Walt Disney Co",
4654        "Walter Industries Inc",
4655        "Washington Mutual Inc",
4656        "Washington Post Co.",
4657        "Waste Management Inc",
4658        "Watsco Inc",
4659        "Weatherford International Inc",
4660        "Weis Markets Inc.",
4661        "Wellpoint Health Networks Inc",
4662        "Wells Fargo & Company",
4663        "Wendy's International Inc",
4664        "Werner Enterprises Inc",
4665        "WESCO International Inc",
4666        "Western Digital Inc",
4667        "Western Gas Resources Inc",
4668        "WestPoint Stevens Inc",
4669        "Weyerhauser Company",
4670        "WGL Holdings Inc",
4671        "Whirlpool Corporation",
4672        "Whole Foods Market Inc",
4673        "Willamette Industries Inc.",
4674        "Williams Companies Inc",
4675        "Williams Sonoma Inc",
4676        "Winn Dixie Stores Inc",
4677        "Wisconsin Energy Corporation",
4678        "Wm Wrigley Jr Company",
4679        "World Fuel Services Corporation",
4680        "WorldCom Inc",
4681        "Worthington Industries Inc",
4682        "WPS Resources Corporation",
4683        "Wyeth",
4684        "Wyndham International Inc",
4685        "Xcel Energy Inc",
4686        "Xerox Corp",
4687        "Xilinx Inc",
4688        "XO Communications Inc",
4689        "Yellow Corporation",
4690        "York International Corp",
4691        "Yum Brands Inc.",
4692        "Zale Corporation",
4693        "Zions Bancorporation"
4694      ],
4695      fileExtension: {
4696        "raster": ["bmp", "gif", "gpl", "ico", "jpeg", "psd", "png", "psp", "raw", "tiff"],
4697        "vector": ["3dv", "amf", "awg", "ai", "cgm", "cdr", "cmx", "dxf", "e2d", "egt", "eps", "fs", "odg", "svg", "xar"],
4698        "3d": ["3dmf", "3dm", "3mf", "3ds", "an8", "aoi", "blend", "cal3d", "cob", "ctm", "iob", "jas", "max", "mb", "mdx", "obj", "x", "x3d"],
4699        "document": ["doc", "docx", "dot", "html", "xml", "odt", "odm", "ott", "csv", "rtf", "tex", "xhtml", "xps"]
4700      },
4701      // Data taken from https://github.com/dmfilipenko/timezones.json/blob/master/timezones.json
4702      timezones: [
4703        {
4704          "name": "Dateline Standard Time",
4705          "abbr": "DST",
4706          "offset": -12,
4707          "isdst": false,
4708          "text": "(UTC-12:00) International Date Line West",
4709          "utc": [
4710            "Etc/GMT+12"
4711          ]
4712        },
4713        {
4714          "name": "UTC-11",
4715          "abbr": "U",
4716          "offset": -11,
4717          "isdst": false,
4718          "text": "(UTC-11:00) Coordinated Universal Time-11",
4719          "utc": [
4720            "Etc/GMT+11",
4721            "Pacific/Midway",
4722            "Pacific/Niue",
4723            "Pacific/Pago_Pago"
4724          ]
4725        },
4726        {
4727          "name": "Hawaiian Standard Time",
4728          "abbr": "HST",
4729          "offset": -10,
4730          "isdst": false,
4731          "text": "(UTC-10:00) Hawaii",
4732          "utc": [
4733            "Etc/GMT+10",
4734            "Pacific/Honolulu",
4735            "Pacific/Johnston",
4736            "Pacific/Rarotonga",
4737            "Pacific/Tahiti"
4738          ]
4739        },
4740        {
4741          "name": "Alaskan Standard Time",
4742          "abbr": "AKDT",
4743          "offset": -8,
4744          "isdst": true,
4745          "text": "(UTC-09:00) Alaska",
4746          "utc": [
4747            "America/Anchorage",
4748            "America/Juneau",
4749            "America/Nome",
4750            "America/Sitka",
4751            "America/Yakutat"
4752          ]
4753        },
4754        {
4755          "name": "Pacific Standard Time (Mexico)",
4756          "abbr": "PDT",
4757          "offset": -7,
4758          "isdst": true,
4759          "text": "(UTC-08:00) Baja California",
4760          "utc": [
4761            "America/Santa_Isabel"
4762          ]
4763        },
4764        {
4765          "name": "Pacific Daylight Time",
4766          "abbr": "PDT",
4767          "offset": -7,
4768          "isdst": true,
4769          "text": "(UTC-07:00) Pacific Time (US & Canada)",
4770          "utc": [
4771            "America/Dawson",
4772            "America/Los_Angeles",
4773            "America/Tijuana",
4774            "America/Vancouver",
4775            "America/Whitehorse"
4776          ]
4777        },
4778        {
4779          "name": "Pacific Standard Time",
4780          "abbr": "PST",
4781          "offset": -8,
4782          "isdst": false,
4783          "text": "(UTC-08:00) Pacific Time (US & Canada)",
4784          "utc": [
4785            "America/Dawson",
4786            "America/Los_Angeles",
4787            "America/Tijuana",
4788            "America/Vancouver",
4789            "America/Whitehorse",
4790            "PST8PDT"
4791          ]
4792        },
4793        {
4794          "name": "US Mountain Standard Time",
4795          "abbr": "UMST",
4796          "offset": -7,
4797          "isdst": false,
4798          "text": "(UTC-07:00) Arizona",
4799          "utc": [
4800            "America/Creston",
4801            "America/Dawson_Creek",
4802            "America/Hermosillo",
4803            "America/Phoenix",
4804            "Etc/GMT+7"
4805          ]
4806        },
4807        {
4808          "name": "Mountain Standard Time (Mexico)",
4809          "abbr": "MDT",
4810          "offset": -6,
4811          "isdst": true,
4812          "text": "(UTC-07:00) Chihuahua, La Paz, Mazatlan",
4813          "utc": [
4814            "America/Chihuahua",
4815            "America/Mazatlan"
4816          ]
4817        },
4818        {
4819          "name": "Mountain Standard Time",
4820          "abbr": "MDT",
4821          "offset": -6,
4822          "isdst": true,
4823          "text": "(UTC-07:00) Mountain Time (US & Canada)",
4824          "utc": [
4825            "America/Boise",
4826            "America/Cambridge_Bay",
4827            "America/Denver",
4828            "America/Edmonton",
4829            "America/Inuvik",
4830            "America/Ojinaga",
4831            "America/Yellowknife",
4832            "MST7MDT"
4833          ]
4834        },
4835        {
4836          "name": "Central America Standard Time",
4837          "abbr": "CAST",
4838          "offset": -6,
4839          "isdst": false,
4840          "text": "(UTC-06:00) Central America",
4841          "utc": [
4842            "America/Belize",
4843            "America/Costa_Rica",
4844            "America/El_Salvador",
4845            "America/Guatemala",
4846            "America/Managua",
4847            "America/Tegucigalpa",
4848            "Etc/GMT+6",
4849            "Pacific/Galapagos"
4850          ]
4851        },
4852        {
4853          "name": "Central Standard Time",
4854          "abbr": "CDT",
4855          "offset": -5,
4856          "isdst": true,
4857          "text": "(UTC-06:00) Central Time (US & Canada)",
4858          "utc": [
4859            "America/Chicago",
4860            "America/Indiana/Knox",
4861            "America/Indiana/Tell_City",
4862            "America/Matamoros",
4863            "America/Menominee",
4864            "America/North_Dakota/Beulah",
4865            "America/North_Dakota/Center",
4866            "America/North_Dakota/New_Salem",
4867            "America/Rainy_River",
4868            "America/Rankin_Inlet",
4869            "America/Resolute",
4870            "America/Winnipeg",
4871            "CST6CDT"
4872          ]
4873        },
4874        {
4875          "name": "Central Standard Time (Mexico)",
4876          "abbr": "CDT",
4877          "offset": -5,
4878          "isdst": true,
4879          "text": "(UTC-06:00) Guadalajara, Mexico City, Monterrey",
4880          "utc": [
4881            "America/Bahia_Banderas",
4882            "America/Cancun",
4883            "America/Merida",
4884            "America/Mexico_City",
4885            "America/Monterrey"
4886          ]
4887        },
4888        {
4889          "name": "Canada Central Standard Time",
4890          "abbr": "CCST",
4891          "offset": -6,
4892          "isdst": false,
4893          "text": "(UTC-06:00) Saskatchewan",
4894          "utc": [
4895            "America/Regina",
4896            "America/Swift_Current"
4897          ]
4898        },
4899        {
4900          "name": "SA Pacific Standard Time",
4901          "abbr": "SPST",
4902          "offset": -5,
4903          "isdst": false,
4904          "text": "(UTC-05:00) Bogota, Lima, Quito",
4905          "utc": [
4906            "America/Bogota",
4907            "America/Cayman",
4908            "America/Coral_Harbour",
4909            "America/Eirunepe",
4910            "America/Guayaquil",
4911            "America/Jamaica",
4912            "America/Lima",
4913            "America/Panama",
4914            "America/Rio_Branco",
4915            "Etc/GMT+5"
4916          ]
4917        },
4918        {
4919          "name": "Eastern Standard Time",
4920          "abbr": "EDT",
4921          "offset": -4,
4922          "isdst": true,
4923          "text": "(UTC-05:00) Eastern Time (US & Canada)",
4924          "utc": [
4925            "America/Detroit",
4926            "America/Havana",
4927            "America/Indiana/Petersburg",
4928            "America/Indiana/Vincennes",
4929            "America/Indiana/Winamac",
4930            "America/Iqaluit",
4931            "America/Kentucky/Monticello",
4932            "America/Louisville",
4933            "America/Montreal",
4934            "America/Nassau",
4935            "America/New_York",
4936            "America/Nipigon",
4937            "America/Pangnirtung",
4938            "America/Port-au-Prince",
4939            "America/Thunder_Bay",
4940            "America/Toronto",
4941            "EST5EDT"
4942          ]
4943        },
4944        {
4945          "name": "US Eastern Standard Time",
4946          "abbr": "UEDT",
4947          "offset": -4,
4948          "isdst": true,
4949          "text": "(UTC-05:00) Indiana (East)",
4950          "utc": [
4951            "America/Indiana/Marengo",
4952            "America/Indiana/Vevay",
4953            "America/Indianapolis"
4954          ]
4955        },
4956        {
4957          "name": "Venezuela Standard Time",
4958          "abbr": "VST",
4959          "offset": -4.5,
4960          "isdst": false,
4961          "text": "(UTC-04:30) Caracas",
4962          "utc": [
4963            "America/Caracas"
4964          ]
4965        },
4966        {
4967          "name": "Paraguay Standard Time",
4968          "abbr": "PYT",
4969          "offset": -4,
4970          "isdst": false,
4971          "text": "(UTC-04:00) Asuncion",
4972          "utc": [
4973            "America/Asuncion"
4974          ]
4975        },
4976        {
4977          "name": "Atlantic Standard Time",
4978          "abbr": "ADT",
4979          "offset": -3,
4980          "isdst": true,
4981          "text": "(UTC-04:00) Atlantic Time (Canada)",
4982          "utc": [
4983            "America/Glace_Bay",
4984            "America/Goose_Bay",
4985            "America/Halifax",
4986            "America/Moncton",
4987            "America/Thule",
4988            "Atlantic/Bermuda"
4989          ]
4990        },
4991        {
4992          "name": "Central Brazilian Standard Time",
4993          "abbr": "CBST",
4994          "offset": -4,
4995          "isdst": false,
4996          "text": "(UTC-04:00) Cuiaba",
4997          "utc": [
4998            "America/Campo_Grande",
4999            "America/Cuiaba"
5000          ]
5001        },
5002        {
5003          "name": "SA Western Standard Time",
5004          "abbr": "SWST",
5005          "offset": -4,
5006          "isdst": false,
5007          "text": "(UTC-04:00) Georgetown, La Paz, Manaus, San Juan",
5008          "utc": [
5009            "America/Anguilla",
5010            "America/Antigua",
5011            "America/Aruba",
5012            "America/Barbados",
5013            "America/Blanc-Sablon",
5014            "America/Boa_Vista",
5015            "America/Curacao",
5016            "America/Dominica",
5017            "America/Grand_Turk",
5018            "America/Grenada",
5019            "America/Guadeloupe",
5020            "America/Guyana",
5021            "America/Kralendijk",
5022            "America/La_Paz",
5023            "America/Lower_Princes",
5024            "America/Manaus",
5025            "America/Marigot",
5026            "America/Martinique",
5027            "America/Montserrat",
5028            "America/Port_of_Spain",
5029            "America/Porto_Velho",
5030            "America/Puerto_Rico",
5031            "America/Santo_Domingo",
5032            "America/St_Barthelemy",
5033            "America/St_Kitts",
5034            "America/St_Lucia",
5035            "America/St_Thomas",
5036            "America/St_Vincent",
5037            "America/Tortola",
5038            "Etc/GMT+4"
5039          ]
5040        },
5041        {
5042          "name": "Pacific SA Standard Time",
5043          "abbr": "PSST",
5044          "offset": -4,
5045          "isdst": false,
5046          "text": "(UTC-04:00) Santiago",
5047          "utc": [
5048            "America/Santiago",
5049            "Antarctica/Palmer"
5050          ]
5051        },
5052        {
5053          "name": "Newfoundland Standard Time",
5054          "abbr": "NDT",
5055          "offset": -2.5,
5056          "isdst": true,
5057          "text": "(UTC-03:30) Newfoundland",
5058          "utc": [
5059            "America/St_Johns"
5060          ]
5061        },
5062        {
5063          "name": "E. South America Standard Time",
5064          "abbr": "ESAST",
5065          "offset": -3,
5066          "isdst": false,
5067          "text": "(UTC-03:00) Brasilia",
5068          "utc": [
5069            "America/Sao_Paulo"
5070          ]
5071        },
5072        {
5073          "name": "Argentina Standard Time",
5074          "abbr": "AST",
5075          "offset": -3,
5076          "isdst": false,
5077          "text": "(UTC-03:00) Buenos Aires",
5078          "utc": [
5079            "America/Argentina/La_Rioja",
5080            "America/Argentina/Rio_Gallegos",
5081            "America/Argentina/Salta",
5082            "America/Argentina/San_Juan",
5083            "America/Argentina/San_Luis",
5084            "America/Argentina/Tucuman",
5085            "America/Argentina/Ushuaia",
5086            "America/Buenos_Aires",
5087            "America/Catamarca",
5088            "America/Cordoba",
5089            "America/Jujuy",
5090            "America/Mendoza"
5091          ]
5092        },
5093        {
5094          "name": "SA Eastern Standard Time",
5095          "abbr": "SEST",
5096          "offset": -3,
5097          "isdst": false,
5098          "text": "(UTC-03:00) Cayenne, Fortaleza",
5099          "utc": [
5100            "America/Araguaina",
5101            "America/Belem",
5102            "America/Cayenne",
5103            "America/Fortaleza",
5104            "America/Maceio",
5105            "America/Paramaribo",
5106            "America/Recife",
5107            "America/Santarem",
5108            "Antarctica/Rothera",
5109            "Atlantic/Stanley",
5110            "Etc/GMT+3"
5111          ]
5112        },
5113        {
5114          "name": "Greenland Standard Time",
5115          "abbr": "GDT",
5116          "offset": -3,
5117          "isdst": true,
5118          "text": "(UTC-03:00) Greenland",
5119          "utc": [
5120            "America/Godthab"
5121          ]
5122        },
5123        {
5124          "name": "Montevideo Standard Time",
5125          "abbr": "MST",
5126          "offset": -3,
5127          "isdst": false,
5128          "text": "(UTC-03:00) Montevideo",
5129          "utc": [
5130            "America/Montevideo"
5131          ]
5132        },
5133        {
5134          "name": "Bahia Standard Time",
5135          "abbr": "BST",
5136          "offset": -3,
5137          "isdst": false,
5138          "text": "(UTC-03:00) Salvador",
5139          "utc": [
5140            "America/Bahia"
5141          ]
5142        },
5143        {
5144          "name": "UTC-02",
5145          "abbr": "U",
5146          "offset": -2,
5147          "isdst": false,
5148          "text": "(UTC-02:00) Coordinated Universal Time-02",
5149          "utc": [
5150            "America/Noronha",
5151            "Atlantic/South_Georgia",
5152            "Etc/GMT+2"
5153          ]
5154        },
5155        {
5156          "name": "Mid-Atlantic Standard Time",
5157          "abbr": "MDT",
5158          "offset": -1,
5159          "isdst": true,
5160          "text": "(UTC-02:00) Mid-Atlantic - Old",
5161          "utc": []
5162        },
5163        {
5164          "name": "Azores Standard Time",
5165          "abbr": "ADT",
5166          "offset": 0,
5167          "isdst": true,
5168          "text": "(UTC-01:00) Azores",
5169          "utc": [
5170            "America/Scoresbysund",
5171            "Atlantic/Azores"
5172          ]
5173        },
5174        {
5175          "name": "Cape Verde Standard Time",
5176          "abbr": "CVST",
5177          "offset": -1,
5178          "isdst": false,
5179          "text": "(UTC-01:00) Cape Verde Is.",
5180          "utc": [
5181            "Atlantic/Cape_Verde",
5182            "Etc/GMT+1"
5183          ]
5184        },
5185        {
5186          "name": "Morocco Standard Time",
5187          "abbr": "MDT",
5188          "offset": 1,
5189          "isdst": true,
5190          "text": "(UTC) Casablanca",
5191          "utc": [
5192            "Africa/Casablanca",
5193            "Africa/El_Aaiun"
5194          ]
5195        },
5196        {
5197          "name": "UTC",
5198          "abbr": "UTC",
5199          "offset": 0,
5200          "isdst": false,
5201          "text": "(UTC) Coordinated Universal Time",
5202          "utc": [
5203            "America/Danmarkshavn",
5204            "Etc/GMT"
5205          ]
5206        },
5207        {
5208          "name": "GMT Standard Time",
5209          "abbr": "GMT",
5210          "offset": 0,
5211          "isdst": false,
5212          "text": "(UTC) Edinburgh, London",
5213          "utc": [
5214            "Europe/Isle_of_Man",
5215            "Europe/Guernsey",
5216            "Europe/Jersey",
5217            "Europe/London"
5218          ]
5219        },
5220        {
5221          "name": "British Summer Time",
5222          "abbr": "BST",
5223          "offset": 1,
5224          "isdst": true,
5225          "text": "(UTC+01:00) Edinburgh, London",
5226          "utc": [
5227            "Europe/Isle_of_Man",
5228            "Europe/Guernsey",
5229            "Europe/Jersey",
5230            "Europe/London"
5231          ]
5232        },
5233        {
5234          "name": "GMT Standard Time",
5235          "abbr": "GDT",
5236          "offset": 1,
5237          "isdst": true,
5238          "text": "(UTC) Dublin, Lisbon",
5239          "utc": [
5240            "Atlantic/Canary",
5241            "Atlantic/Faeroe",
5242            "Atlantic/Madeira",
5243            "Europe/Dublin",
5244            "Europe/Lisbon"
5245          ]
5246        },
5247        {
5248          "name": "Greenwich Standard Time",
5249          "abbr": "GST",
5250          "offset": 0,
5251          "isdst": false,
5252          "text": "(UTC) Monrovia, Reykjavik",
5253          "utc": [
5254            "Africa/Abidjan",
5255            "Africa/Accra",
5256            "Africa/Bamako",
5257            "Africa/Banjul",
5258            "Africa/Bissau",
5259            "Africa/Conakry",
5260            "Africa/Dakar",
5261            "Africa/Freetown",
5262            "Africa/Lome",
5263            "Africa/Monrovia",
5264            "Africa/Nouakchott",
5265            "Africa/Ouagadougou",
5266            "Africa/Sao_Tome",
5267            "Atlantic/Reykjavik",
5268            "Atlantic/St_Helena"
5269          ]
5270        },
5271        {
5272          "name": "W. Europe Standard Time",
5273          "abbr": "WEDT",
5274          "offset": 2,
5275          "isdst": true,
5276          "text": "(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna",
5277          "utc": [
5278            "Arctic/Longyearbyen",
5279            "Europe/Amsterdam",
5280            "Europe/Andorra",
5281            "Europe/Berlin",
5282            "Europe/Busingen",
5283            "Europe/Gibraltar",
5284            "Europe/Luxembourg",
5285            "Europe/Malta",
5286            "Europe/Monaco",
5287            "Europe/Oslo",
5288            "Europe/Rome",
5289            "Europe/San_Marino",
5290            "Europe/Stockholm",
5291            "Europe/Vaduz",
5292            "Europe/Vatican",
5293            "Europe/Vienna",
5294            "Europe/Zurich"
5295          ]
5296        },
5297        {
5298          "name": "Central Europe Standard Time",
5299          "abbr": "CEDT",
5300          "offset": 2,
5301          "isdst": true,
5302          "text": "(UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague",
5303          "utc": [
5304            "Europe/Belgrade",
5305            "Europe/Bratislava",
5306            "Europe/Budapest",
5307            "Europe/Ljubljana",
5308            "Europe/Podgorica",
5309            "Europe/Prague",
5310            "Europe/Tirane"
5311          ]
5312        },
5313        {
5314          "name": "Romance Standard Time",
5315          "abbr": "RDT",
5316          "offset": 2,
5317          "isdst": true,
5318          "text": "(UTC+01:00) Brussels, Copenhagen, Madrid, Paris",
5319          "utc": [
5320            "Africa/Ceuta",
5321            "Europe/Brussels",
5322            "Europe/Copenhagen",
5323            "Europe/Madrid",
5324            "Europe/Paris"
5325          ]
5326        },
5327        {
5328          "name": "Central European Standard Time",
5329          "abbr": "CEDT",
5330          "offset": 2,
5331          "isdst": true,
5332          "text": "(UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb",
5333          "utc": [
5334            "Europe/Sarajevo",
5335            "Europe/Skopje",
5336            "Europe/Warsaw",
5337            "Europe/Zagreb"
5338          ]
5339        },
5340        {
5341          "name": "W. Central Africa Standard Time",
5342          "abbr": "WCAST",
5343          "offset": 1,
5344          "isdst": false,
5345          "text": "(UTC+01:00) West Central Africa",
5346          "utc": [
5347            "Africa/Algiers",
5348            "Africa/Bangui",
5349            "Africa/Brazzaville",
5350            "Africa/Douala",
5351            "Africa/Kinshasa",
5352            "Africa/Lagos",
5353            "Africa/Libreville",
5354            "Africa/Luanda",
5355            "Africa/Malabo",
5356            "Africa/Ndjamena",
5357            "Africa/Niamey",
5358            "Africa/Porto-Novo",
5359            "Africa/Tunis",
5360            "Etc/GMT-1"
5361          ]
5362        },
5363        {
5364          "name": "Namibia Standard Time",
5365          "abbr": "NST",
5366          "offset": 1,
5367          "isdst": false,
5368          "text": "(UTC+01:00) Windhoek",
5369          "utc": [
5370            "Africa/Windhoek"
5371          ]
5372        },
5373        {
5374          "name": "GTB Standard Time",
5375          "abbr": "GDT",
5376          "offset": 3,
5377          "isdst": true,
5378          "text": "(UTC+02:00) Athens, Bucharest",
5379          "utc": [
5380            "Asia/Nicosia",
5381            "Europe/Athens",
5382            "Europe/Bucharest",
5383            "Europe/Chisinau"
5384          ]
5385        },
5386        {
5387          "name": "Middle East Standard Time",
5388          "abbr": "MEDT",
5389          "offset": 3,
5390          "isdst": true,
5391          "text": "(UTC+02:00) Beirut",
5392          "utc": [
5393            "Asia/Beirut"
5394          ]
5395        },
5396        {
5397          "name": "Egypt Standard Time",
5398          "abbr": "EST",
5399          "offset": 2,
5400          "isdst": false,
5401          "text": "(UTC+02:00) Cairo",
5402          "utc": [
5403            "Africa/Cairo"
5404          ]
5405        },
5406        {
5407          "name": "Syria Standard Time",
5408          "abbr": "SDT",
5409          "offset": 3,
5410          "isdst": true,
5411          "text": "(UTC+02:00) Damascus",
5412          "utc": [
5413            "Asia/Damascus"
5414          ]
5415        },
5416        {
5417          "name": "E. Europe Standard Time",
5418          "abbr": "EEDT",
5419          "offset": 3,
5420          "isdst": true,
5421          "text": "(UTC+02:00) E. Europe",
5422          "utc": [
5423            "Asia/Nicosia",
5424            "Europe/Athens",
5425            "Europe/Bucharest",
5426            "Europe/Chisinau",
5427            "Europe/Helsinki",
5428            "Europe/Kiev",
5429            "Europe/Mariehamn",
5430            "Europe/Nicosia",
5431            "Europe/Riga",
5432            "Europe/Sofia",
5433            "Europe/Tallinn",
5434            "Europe/Uzhgorod",
5435            "Europe/Vilnius",
5436            "Europe/Zaporozhye"
5437          ]
5438        },
5439        {
5440          "name": "South Africa Standard Time",
5441          "abbr": "SAST",
5442          "offset": 2,
5443          "isdst": false,
5444          "text": "(UTC+02:00) Harare, Pretoria",
5445          "utc": [
5446            "Africa/Blantyre",
5447            "Africa/Bujumbura",
5448            "Africa/Gaborone",
5449            "Africa/Harare",
5450            "Africa/Johannesburg",
5451            "Africa/Kigali",
5452            "Africa/Lubumbashi",
5453            "Africa/Lusaka",
5454            "Africa/Maputo",
5455            "Africa/Maseru",
5456            "Africa/Mbabane",
5457            "Etc/GMT-2"
5458          ]
5459        },
5460        {
5461          "name": "FLE Standard Time",
5462          "abbr": "FDT",
5463          "offset": 3,
5464          "isdst": true,
5465          "text": "(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius",
5466          "utc": [
5467            "Europe/Helsinki",
5468            "Europe/Kiev",
5469            "Europe/Mariehamn",
5470            "Europe/Riga",
5471            "Europe/Sofia",
5472            "Europe/Tallinn",
5473            "Europe/Uzhgorod",
5474            "Europe/Vilnius",
5475            "Europe/Zaporozhye"
5476          ]
5477        },
5478        {
5479          "name": "Turkey Standard Time",
5480          "abbr": "TDT",
5481          "offset": 3,
5482          "isdst": false,
5483          "text": "(UTC+03:00) Istanbul",
5484          "utc": [
5485            "Europe/Istanbul"
5486          ]
5487        },
5488        {
5489          "name": "Israel Standard Time",
5490          "abbr": "JDT",
5491          "offset": 3,
5492          "isdst": true,
5493          "text": "(UTC+02:00) Jerusalem",
5494          "utc": [
5495            "Asia/Jerusalem"
5496          ]
5497        },
5498        {
5499          "name": "Libya Standard Time",
5500          "abbr": "LST",
5501          "offset": 2,
5502          "isdst": false,
5503          "text": "(UTC+02:00) Tripoli",
5504          "utc": [
5505            "Africa/Tripoli"
5506          ]
5507        },
5508        {
5509          "name": "Jordan Standard Time",
5510          "abbr": "JST",
5511          "offset": 3,
5512          "isdst": false,
5513          "text": "(UTC+03:00) Amman",
5514          "utc": [
5515            "Asia/Amman"
5516          ]
5517        },
5518        {
5519          "name": "Arabic Standard Time",
5520          "abbr": "AST",
5521          "offset": 3,
5522          "isdst": false,
5523          "text": "(UTC+03:00) Baghdad",
5524          "utc": [
5525            "Asia/Baghdad"
5526          ]
5527        },
5528        {
5529          "name": "Kaliningrad Standard Time",
5530          "abbr": "KST",
5531          "offset": 3,
5532          "isdst": false,
5533          "text": "(UTC+02:00) Kaliningrad",
5534          "utc": [
5535            "Europe/Kaliningrad"
5536          ]
5537        },
5538        {
5539          "name": "Arab Standard Time",
5540          "abbr": "AST",
5541          "offset": 3,
5542          "isdst": false,
5543          "text": "(UTC+03:00) Kuwait, Riyadh",
5544          "utc": [
5545            "Asia/Aden",
5546            "Asia/Bahrain",
5547            "Asia/Kuwait",
5548            "Asia/Qatar",
5549            "Asia/Riyadh"
5550          ]
5551        },
5552        {
5553          "name": "E. Africa Standard Time",
5554          "abbr": "EAST",
5555          "offset": 3,
5556          "isdst": false,
5557          "text": "(UTC+03:00) Nairobi",
5558          "utc": [
5559            "Africa/Addis_Ababa",
5560            "Africa/Asmera",
5561            "Africa/Dar_es_Salaam",
5562            "Africa/Djibouti",
5563            "Africa/Juba",
5564            "Africa/Kampala",
5565            "Africa/Khartoum",
5566            "Africa/Mogadishu",
5567            "Africa/Nairobi",
5568            "Antarctica/Syowa",
5569            "Etc/GMT-3",
5570            "Indian/Antananarivo",
5571            "Indian/Comoro",
5572            "Indian/Mayotte"
5573          ]
5574        },
5575        {
5576          "name": "Moscow Standard Time",
5577          "abbr": "MSK",
5578          "offset": 3,
5579          "isdst": false,
5580          "text": "(UTC+03:00) Moscow, St. Petersburg, Volgograd, Minsk",
5581          "utc": [
5582            "Europe/Kirov",
5583            "Europe/Moscow",
5584            "Europe/Simferopol",
5585            "Europe/Volgograd",
5586            "Europe/Minsk"
5587          ]
5588        },
5589        {
5590          "name": "Samara Time",
5591          "abbr": "SAMT",
5592          "offset": 4,
5593          "isdst": false,
5594          "text": "(UTC+04:00) Samara, Ulyanovsk, Saratov",
5595          "utc": [
5596            "Europe/Astrakhan",
5597            "Europe/Samara",
5598            "Europe/Ulyanovsk"
5599          ]
5600        },
5601        {
5602          "name": "Iran Standard Time",
5603          "abbr": "IDT",
5604          "offset": 4.5,
5605          "isdst": true,
5606          "text": "(UTC+03:30) Tehran",
5607          "utc": [
5608            "Asia/Tehran"
5609          ]
5610        },
5611        {
5612          "name": "Arabian Standard Time",
5613          "abbr": "AST",
5614          "offset": 4,
5615          "isdst": false,
5616          "text": "(UTC+04:00) Abu Dhabi, Muscat",
5617          "utc": [
5618            "Asia/Dubai",
5619            "Asia/Muscat",
5620            "Etc/GMT-4"
5621          ]
5622        },
5623        {
5624          "name": "Azerbaijan Standard Time",
5625          "abbr": "ADT",
5626          "offset": 5,
5627          "isdst": true,
5628          "text": "(UTC+04:00) Baku",
5629          "utc": [
5630            "Asia/Baku"
5631          ]
5632        },
5633        {
5634          "name": "Mauritius Standard Time",
5635          "abbr": "MST",
5636          "offset": 4,
5637          "isdst": false,
5638          "text": "(UTC+04:00) Port Louis",
5639          "utc": [
5640            "Indian/Mahe",
5641            "Indian/Mauritius",
5642            "Indian/Reunion"
5643          ]
5644        },
5645        {
5646          "name": "Georgian Standard Time",
5647          "abbr": "GET",
5648          "offset": 4,
5649          "isdst": false,
5650          "text": "(UTC+04:00) Tbilisi",
5651          "utc": [
5652            "Asia/Tbilisi"
5653          ]
5654        },
5655        {
5656          "name": "Caucasus Standard Time",
5657          "abbr": "CST",
5658          "offset": 4,
5659          "isdst": false,
5660          "text": "(UTC+04:00) Yerevan",
5661          "utc": [
5662            "Asia/Yerevan"
5663          ]
5664        },
5665        {
5666          "name": "Afghanistan Standard Time",
5667          "abbr": "AST",
5668          "offset": 4.5,
5669          "isdst": false,
5670          "text": "(UTC+04:30) Kabul",
5671          "utc": [
5672            "Asia/Kabul"
5673          ]
5674        },
5675        {
5676          "name": "West Asia Standard Time",
5677          "abbr": "WAST",
5678          "offset": 5,
5679          "isdst": false,
5680          "text": "(UTC+05:00) Ashgabat, Tashkent",
5681          "utc": [
5682            "Antarctica/Mawson",
5683            "Asia/Aqtau",
5684            "Asia/Aqtobe",
5685            "Asia/Ashgabat",
5686            "Asia/Dushanbe",
5687            "Asia/Oral",
5688            "Asia/Samarkand",
5689            "Asia/Tashkent",
5690            "Etc/GMT-5",
5691            "Indian/Kerguelen",
5692            "Indian/Maldives"
5693          ]
5694        },
5695        {
5696          "name": "Yekaterinburg Time",
5697          "abbr": "YEKT",
5698          "offset": 5,
5699          "isdst": false,
5700          "text": "(UTC+05:00) Yekaterinburg",
5701          "utc": [
5702            "Asia/Yekaterinburg"
5703          ]
5704        },
5705        {
5706          "name": "Pakistan Standard Time",
5707          "abbr": "PKT",
5708          "offset": 5,
5709          "isdst": false,
5710          "text": "(UTC+05:00) Islamabad, Karachi",
5711          "utc": [
5712            "Asia/Karachi"
5713          ]
5714        },
5715        {
5716          "name": "India Standard Time",
5717          "abbr": "IST",
5718          "offset": 5.5,
5719          "isdst": false,
5720          "text": "(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi",
5721          "utc": [
5722            "Asia/Kolkata"
5723          ]
5724        },
5725        {
5726          "name": "Sri Lanka Standard Time",
5727          "abbr": "SLST",
5728          "offset": 5.5,
5729          "isdst": false,
5730          "text": "(UTC+05:30) Sri Jayawardenepura",
5731          "utc": [
5732            "Asia/Colombo"
5733          ]
5734        },
5735        {
5736          "name": "Nepal Standard Time",
5737          "abbr": "NST",
5738          "offset": 5.75,
5739          "isdst": false,
5740          "text": "(UTC+05:45) Kathmandu",
5741          "utc": [
5742            "Asia/Kathmandu"
5743          ]
5744        },
5745        {
5746          "name": "Central Asia Standard Time",
5747          "abbr": "CAST",
5748          "offset": 6,
5749          "isdst": false,
5750          "text": "(UTC+06:00) Nur-Sultan (Astana)",
5751          "utc": [
5752            "Antarctica/Vostok",
5753            "Asia/Almaty",
5754            "Asia/Bishkek",
5755            "Asia/Qyzylorda",
5756            "Asia/Urumqi",
5757            "Etc/GMT-6",
5758            "Indian/Chagos"
5759          ]
5760        },
5761        {
5762          "name": "Bangladesh Standard Time",
5763          "abbr": "BST",
5764          "offset": 6,
5765          "isdst": false,
5766          "text": "(UTC+06:00) Dhaka",
5767          "utc": [
5768            "Asia/Dhaka",
5769            "Asia/Thimphu"
5770          ]
5771        },
5772        {
5773          "name": "Myanmar Standard Time",
5774          "abbr": "MST",
5775          "offset": 6.5,
5776          "isdst": false,
5777          "text": "(UTC+06:30) Yangon (Rangoon)",
5778          "utc": [
5779            "Asia/Rangoon",
5780            "Indian/Cocos"
5781          ]
5782        },
5783        {
5784          "name": "SE Asia Standard Time",
5785          "abbr": "SAST",
5786          "offset": 7,
5787          "isdst": false,
5788          "text": "(UTC+07:00) Bangkok, Hanoi, Jakarta",
5789          "utc": [
5790            "Antarctica/Davis",
5791            "Asia/Bangkok",
5792            "Asia/Hovd",
5793            "Asia/Jakarta",
5794            "Asia/Phnom_Penh",
5795            "Asia/Pontianak",
5796            "Asia/Saigon",
5797            "Asia/Vientiane",
5798            "Etc/GMT-7",
5799            "Indian/Christmas"
5800          ]
5801        },
5802        {
5803          "name": "N. Central Asia Standard Time",
5804          "abbr": "NCAST",
5805          "offset": 7,
5806          "isdst": false,
5807          "text": "(UTC+07:00) Novosibirsk",
5808          "utc": [
5809            "Asia/Novokuznetsk",
5810            "Asia/Novosibirsk",
5811            "Asia/Omsk"
5812          ]
5813        },
5814        {
5815          "name": "China Standard Time",
5816          "abbr": "CST",
5817          "offset": 8,
5818          "isdst": false,
5819          "text": "(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi",
5820          "utc": [
5821            "Asia/Hong_Kong",
5822            "Asia/Macau",
5823            "Asia/Shanghai"
5824          ]
5825        },
5826        {
5827          "name": "North Asia Standard Time",
5828          "abbr": "NAST",
5829          "offset": 8,
5830          "isdst": false,
5831          "text": "(UTC+08:00) Krasnoyarsk",
5832          "utc": [
5833            "Asia/Krasnoyarsk"
5834          ]
5835        },
5836        {
5837          "name": "Singapore Standard Time",
5838          "abbr": "MPST",
5839          "offset": 8,
5840          "isdst": false,
5841          "text": "(UTC+08:00) Kuala Lumpur, Singapore",
5842          "utc": [
5843            "Asia/Brunei",
5844            "Asia/Kuala_Lumpur",
5845            "Asia/Kuching",
5846            "Asia/Makassar",
5847            "Asia/Manila",
5848            "Asia/Singapore",
5849            "Etc/GMT-8"
5850          ]
5851        },
5852        {
5853          "name": "W. Australia Standard Time",
5854          "abbr": "WAST",
5855          "offset": 8,
5856          "isdst": false,
5857          "text": "(UTC+08:00) Perth",
5858          "utc": [
5859            "Antarctica/Casey",
5860            "Australia/Perth"
5861          ]
5862        },
5863        {
5864          "name": "Taipei Standard Time",
5865          "abbr": "TST",
5866          "offset": 8,
5867          "isdst": false,
5868          "text": "(UTC+08:00) Taipei",
5869          "utc": [
5870            "Asia/Taipei"
5871          ]
5872        },
5873        {
5874          "name": "Ulaanbaatar Standard Time",
5875          "abbr": "UST",
5876          "offset": 8,
5877          "isdst": false,
5878          "text": "(UTC+08:00) Ulaanbaatar",
5879          "utc": [
5880            "Asia/Choibalsan",
5881            "Asia/Ulaanbaatar"
5882          ]
5883        },
5884        {
5885          "name": "North Asia East Standard Time",
5886          "abbr": "NAEST",
5887          "offset": 8,
5888          "isdst": false,
5889          "text": "(UTC+08:00) Irkutsk",
5890          "utc": [
5891            "Asia/Irkutsk"
5892          ]
5893        },
5894        {
5895          "name": "Japan Standard Time",
5896          "abbr": "JST",
5897          "offset": 9,
5898          "isdst": false,
5899          "text": "(UTC+09:00) Osaka, Sapporo, Tokyo",
5900          "utc": [
5901            "Asia/Dili",
5902            "Asia/Jayapura",
5903            "Asia/Tokyo",
5904            "Etc/GMT-9",
5905            "Pacific/Palau"
5906          ]
5907        },
5908        {
5909          "name": "Korea Standard Time",
5910          "abbr": "KST",
5911          "offset": 9,
5912          "isdst": false,
5913          "text": "(UTC+09:00) Seoul",
5914          "utc": [
5915            "Asia/Pyongyang",
5916            "Asia/Seoul"
5917          ]
5918        },
5919        {
5920          "name": "Cen. Australia Standard Time",
5921          "abbr": "CAST",
5922          "offset": 9.5,
5923          "isdst": false,
5924          "text": "(UTC+09:30) Adelaide",
5925          "utc": [
5926            "Australia/Adelaide",
5927            "Australia/Broken_Hill"
5928          ]
5929        },
5930        {
5931          "name": "AUS Central Standard Time",
5932          "abbr": "ACST",
5933          "offset": 9.5,
5934          "isdst": false,
5935          "text": "(UTC+09:30) Darwin",
5936          "utc": [
5937            "Australia/Darwin"
5938          ]
5939        },
5940        {
5941          "name": "E. Australia Standard Time",
5942          "abbr": "EAST",
5943          "offset": 10,
5944          "isdst": false,
5945          "text": "(UTC+10:00) Brisbane",
5946          "utc": [
5947            "Australia/Brisbane",
5948            "Australia/Lindeman"
5949          ]
5950        },
5951        {
5952          "name": "AUS Eastern Standard Time",
5953          "abbr": "AEST",
5954          "offset": 10,
5955          "isdst": false,
5956          "text": "(UTC+10:00) Canberra, Melbourne, Sydney",
5957          "utc": [
5958            "Australia/Melbourne",
5959            "Australia/Sydney"
5960          ]
5961        },
5962        {
5963          "name": "West Pacific Standard Time",
5964          "abbr": "WPST",
5965          "offset": 10,
5966          "isdst": false,
5967          "text": "(UTC+10:00) Guam, Port Moresby",
5968          "utc": [
5969            "Antarctica/DumontDUrville",
5970            "Etc/GMT-10",
5971            "Pacific/Guam",
5972            "Pacific/Port_Moresby",
5973            "Pacific/Saipan",
5974            "Pacific/Truk"
5975          ]
5976        },
5977        {
5978          "name": "Tasmania Standard Time",
5979          "abbr": "TST",
5980          "offset": 10,
5981          "isdst": false,
5982          "text": "(UTC+10:00) Hobart",
5983          "utc": [
5984            "Australia/Currie",
5985            "Australia/Hobart"
5986          ]
5987        },
5988        {
5989          "name": "Yakutsk Standard Time",
5990          "abbr": "YST",
5991          "offset": 9,
5992          "isdst": false,
5993          "text": "(UTC+09:00) Yakutsk",
5994          "utc": [
5995            "Asia/Chita",
5996            "Asia/Khandyga",
5997            "Asia/Yakutsk"
5998          ]
5999        },
6000        {
6001          "name": "Central Pacific Standard Time",
6002          "abbr": "CPST",
6003          "offset": 11,
6004          "isdst": false,
6005          "text": "(UTC+11:00) Solomon Is., New Caledonia",
6006          "utc": [
6007            "Antarctica/Macquarie",
6008            "Etc/GMT-11",
6009            "Pacific/Efate",
6010            "Pacific/Guadalcanal",
6011            "Pacific/Kosrae",
6012            "Pacific/Noumea",
6013            "Pacific/Ponape"
6014          ]
6015        },
6016        {
6017          "name": "Vladivostok Standard Time",
6018          "abbr": "VST",
6019          "offset": 11,
6020          "isdst": false,
6021          "text": "(UTC+11:00) Vladivostok",
6022          "utc": [
6023            "Asia/Sakhalin",
6024            "Asia/Ust-Nera",
6025            "Asia/Vladivostok"
6026          ]
6027        },
6028        {
6029          "name": "New Zealand Standard Time",
6030          "abbr": "NZST",
6031          "offset": 12,
6032          "isdst": false,
6033          "text": "(UTC+12:00) Auckland, Wellington",
6034          "utc": [
6035            "Antarctica/McMurdo",
6036            "Pacific/Auckland"
6037          ]
6038        },
6039        {
6040          "name": "UTC+12",
6041          "abbr": "U",
6042          "offset": 12,
6043          "isdst": false,
6044          "text": "(UTC+12:00) Coordinated Universal Time+12",
6045          "utc": [
6046            "Etc/GMT-12",
6047            "Pacific/Funafuti",
6048            "Pacific/Kwajalein",
6049            "Pacific/Majuro",
6050            "Pacific/Nauru",
6051            "Pacific/Tarawa",
6052            "Pacific/Wake",
6053            "Pacific/Wallis"
6054          ]
6055        },
6056        {
6057          "name": "Fiji Standard Time",
6058          "abbr": "FST",
6059          "offset": 12,
6060          "isdst": false,
6061          "text": "(UTC+12:00) Fiji",
6062          "utc": [
6063            "Pacific/Fiji"
6064          ]
6065        },
6066        {
6067          "name": "Magadan Standard Time",
6068          "abbr": "MST",
6069          "offset": 12,
6070          "isdst": false,
6071          "text": "(UTC+12:00) Magadan",
6072          "utc": [
6073            "Asia/Anadyr",
6074            "Asia/Kamchatka",
6075            "Asia/Magadan",
6076            "Asia/Srednekolymsk"
6077          ]
6078        },
6079        {
6080          "name": "Kamchatka Standard Time",
6081          "abbr": "KDT",
6082          "offset": 13,
6083          "isdst": true,
6084          "text": "(UTC+12:00) Petropavlovsk-Kamchatsky - Old",
6085          "utc": [
6086            "Asia/Kamchatka"
6087          ]
6088        },
6089        {
6090          "name": "Tonga Standard Time",
6091          "abbr": "TST",
6092          "offset": 13,
6093          "isdst": false,
6094          "text": "(UTC+13:00) Nuku'alofa",
6095          "utc": [
6096            "Etc/GMT-13",
6097            "Pacific/Enderbury",
6098            "Pacific/Fakaofo",
6099            "Pacific/Tongatapu"
6100          ]
6101        },
6102        {
6103          "name": "Samoa Standard Time",
6104          "abbr": "SST",
6105          "offset": 13,
6106          "isdst": false,
6107          "text": "(UTC+13:00) Samoa",
6108          "utc": [
6109            "Pacific/Apia"
6110          ]
6111        }
6112      ],
6113      //List source: http://answers.google.com/answers/threadview/id/589312.html
6114      profession: [
6115        "Airline Pilot",
6116        "Academic Team",
6117        "Accountant",
6118        "Account Executive",
6119        "Actor",
6120        "Actuary",
6121        "Acquisition Analyst",
6122        "Administrative Asst.",
6123        "Administrative Analyst",
6124        "Administrator",
6125        "Advertising Director",
6126        "Aerospace Engineer",
6127        "Agent",
6128        "Agricultural Inspector",
6129        "Agricultural Scientist",
6130        "Air Traffic Controller",
6131        "Animal Trainer",
6132        "Anthropologist",
6133        "Appraiser",
6134        "Architect",
6135        "Art Director",
6136        "Artist",
6137        "Astronomer",
6138        "Athletic Coach",
6139        "Auditor",
6140        "Author",
6141        "Baker",
6142        "Banker",
6143        "Bankruptcy Attorney",
6144        "Benefits Manager",
6145        "Biologist",
6146        "Bio-feedback Specialist",
6147        "Biomedical Engineer",
6148        "Biotechnical Researcher",
6149        "Broadcaster",
6150        "Broker",
6151        "Building Manager",
6152        "Building Contractor",
6153        "Building Inspector",
6154        "Business Analyst",
6155        "Business Planner",
6156        "Business Manager",
6157        "Buyer",
6158        "Call Center Manager",
6159        "Career Counselor",
6160        "Cash Manager",
6161        "Ceramic Engineer",
6162        "Chief Executive Officer",
6163        "Chief Operation Officer",
6164        "Chef",
6165        "Chemical Engineer",
6166        "Chemist",
6167        "Child Care Manager",
6168        "Chief Medical Officer",
6169        "Chiropractor",
6170        "Cinematographer",
6171        "City Housing Manager",
6172        "City Manager",
6173        "Civil Engineer",
6174        "Claims Manager",
6175        "Clinical Research Assistant",
6176        "Collections Manager",
6177        "Compliance Manager",
6178        "Comptroller",
6179        "Computer Manager",
6180        "Commercial Artist",
6181        "Communications Affairs Director",
6182        "Communications Director",
6183        "Communications Engineer",
6184        "Compensation Analyst",
6185        "Computer Programmer",
6186        "Computer Ops. Manager",
6187        "Computer Engineer",
6188        "Computer Operator",
6189        "Computer Graphics Specialist",
6190        "Construction Engineer",
6191        "Construction Manager",
6192        "Consultant",
6193        "Consumer Relations Manager",
6194        "Contract Administrator",
6195        "Copyright Attorney",
6196        "Copywriter",
6197        "Corporate Planner",
6198        "Corrections Officer",
6199        "Cosmetologist",
6200        "Credit Analyst",
6201        "Cruise Director",
6202        "Chief Information Officer",
6203        "Chief Technology Officer",
6204        "Customer Service Manager",
6205        "Cryptologist",
6206        "Dancer",
6207        "Data Security Manager",
6208        "Database Manager",
6209        "Day Care Instructor",
6210        "Dentist",
6211        "Designer",
6212        "Design Engineer",
6213        "Desktop Publisher",
6214        "Developer",
6215        "Development Officer",
6216        "Diamond Merchant",
6217        "Dietitian",
6218        "Direct Marketer",
6219        "Director",
6220        "Distribution Manager",
6221        "Diversity Manager",
6222        "Economist",
6223        "EEO Compliance Manager",
6224        "Editor",
6225        "Education Adminator",
6226        "Electrical Engineer",
6227        "Electro Optical Engineer",
6228        "Electronics Engineer",
6229        "Embassy Management",
6230        "Employment Agent",
6231        "Engineer Technician",
6232        "Entrepreneur",
6233        "Environmental Analyst",
6234        "Environmental Attorney",
6235        "Environmental Engineer",
6236        "Environmental Specialist",
6237        "Escrow Officer",
6238        "Estimator",
6239        "Executive Assistant",
6240        "Executive Director",
6241        "Executive Recruiter",
6242        "Facilities Manager",
6243        "Family Counselor",
6244        "Fashion Events Manager",
6245        "Fashion Merchandiser",
6246        "Fast Food Manager",
6247        "Film Producer",
6248        "Film Production Assistant",
6249        "Financial Analyst",
6250        "Financial Planner",
6251        "Financier",
6252        "Fine Artist",
6253        "Wildlife Specialist",
6254        "Fitness Consultant",
6255        "Flight Attendant",
6256        "Flight Engineer",
6257        "Floral Designer",
6258        "Food & Beverage Director",
6259        "Food Service Manager",
6260        "Forestry Technician",
6261        "Franchise Management",
6262        "Franchise Sales",
6263        "Fraud Investigator",
6264        "Freelance Writer",
6265        "Fund Raiser",
6266        "General Manager",
6267        "Geologist",
6268        "General Counsel",
6269        "Geriatric Specialist",
6270        "Gerontologist",
6271        "Glamour Photographer",
6272        "Golf Club Manager",
6273        "Gourmet Chef",
6274        "Graphic Designer",
6275        "Grounds Keeper",
6276        "Hazardous Waste Manager",
6277        "Health Care Manager",
6278        "Health Therapist",
6279        "Health Service Administrator",
6280        "Hearing Officer",
6281        "Home Economist",
6282        "Horticulturist",
6283        "Hospital Administrator",
6284        "Hotel Manager",
6285        "Human Resources Manager",
6286        "Importer",
6287        "Industrial Designer",
6288        "Industrial Engineer",
6289        "Information Director",
6290        "Inside Sales",
6291        "Insurance Adjuster",
6292        "Interior Decorator",
6293        "Internal Controls Director",
6294        "International Acct.",
6295        "International Courier",
6296        "International Lawyer",
6297        "Interpreter",
6298        "Investigator",
6299        "Investment Banker",
6300        "Investment Manager",
6301        "IT Architect",
6302        "IT Project Manager",
6303        "IT Systems Analyst",
6304        "Jeweler",
6305        "Joint Venture Manager",
6306        "Journalist",
6307        "Labor Negotiator",
6308        "Labor Organizer",
6309        "Labor Relations Manager",
6310        "Lab Services Director",
6311        "Lab Technician",
6312        "Land Developer",
6313        "Landscape Architect",
6314        "Law Enforcement Officer",
6315        "Lawyer",
6316        "Lead Software Engineer",
6317        "Lead Software Test Engineer",
6318        "Leasing Manager",
6319        "Legal Secretary",
6320        "Library Manager",
6321        "Litigation Attorney",
6322        "Loan Officer",
6323        "Lobbyist",
6324        "Logistics Manager",
6325        "Maintenance Manager",
6326        "Management Consultant",
6327        "Managed Care Director",
6328        "Managing Partner",
6329        "Manufacturing Director",
6330        "Manpower Planner",
6331        "Marine Biologist",
6332        "Market Res. Analyst",
6333        "Marketing Director",
6334        "Materials Manager",
6335        "Mathematician",
6336        "Membership Chairman",
6337        "Mechanic",
6338        "Mechanical Engineer",
6339        "Media Buyer",
6340        "Medical Investor",
6341        "Medical Secretary",
6342        "Medical Technician",
6343        "Mental Health Counselor",
6344        "Merchandiser",
6345        "Metallurgical Engineering",
6346        "Meteorologist",
6347        "Microbiologist",
6348        "MIS Manager",
6349        "Motion Picture Director",
6350        "Multimedia Director",
6351        "Musician",
6352        "Network Administrator",
6353        "Network Specialist",
6354        "Network Operator",
6355        "New Product Manager",
6356        "Novelist",
6357        "Nuclear Engineer",
6358        "Nuclear Specialist",
6359        "Nutritionist",
6360        "Nursing Administrator",
6361        "Occupational Therapist",
6362        "Oceanographer",
6363        "Office Manager",
6364        "Operations Manager",
6365        "Operations Research Director",
6366        "Optical Technician",
6367        "Optometrist",
6368        "Organizational Development Manager",
6369        "Outplacement Specialist",
6370        "Paralegal",
6371        "Park Ranger",
6372        "Patent Attorney",
6373        "Payroll Specialist",
6374        "Personnel Specialist",
6375        "Petroleum Engineer",
6376        "Pharmacist",
6377        "Photographer",
6378        "Physical Therapist",
6379        "Physician",
6380        "Physician Assistant",
6381        "Physicist",
6382        "Planning Director",
6383        "Podiatrist",
6384        "Political Analyst",
6385        "Political Scientist",
6386        "Politician",
6387        "Portfolio Manager",
6388        "Preschool Management",
6389        "Preschool Teacher",
6390        "Principal",
6391        "Private Banker",
6392        "Private Investigator",
6393        "Probation Officer",
6394        "Process Engineer",
6395        "Producer",
6396        "Product Manager",
6397        "Product Engineer",
6398        "Production Engineer",
6399        "Production Planner",
6400        "Professional Athlete",
6401        "Professional Coach",
6402        "Professor",
6403        "Project Engineer",
6404        "Project Manager",
6405        "Program Manager",
6406        "Property Manager",
6407        "Public Administrator",
6408        "Public Safety Director",
6409        "PR Specialist",
6410        "Publisher",
6411        "Purchasing Agent",
6412        "Publishing Director",
6413        "Quality Assurance Specialist",
6414        "Quality Control Engineer",
6415        "Quality Control Inspector",
6416        "Radiology Manager",
6417        "Railroad Engineer",
6418        "Real Estate Broker",
6419        "Recreational Director",
6420        "Recruiter",
6421        "Redevelopment Specialist",
6422        "Regulatory Affairs Manager",
6423        "Registered Nurse",
6424        "Rehabilitation Counselor",
6425        "Relocation Manager",
6426        "Reporter",
6427        "Research Specialist",
6428        "Restaurant Manager",
6429        "Retail Store Manager",
6430        "Risk Analyst",
6431        "Safety Engineer",
6432        "Sales Engineer",
6433        "Sales Trainer",
6434        "Sales Promotion Manager",
6435        "Sales Representative",
6436        "Sales Manager",
6437        "Service Manager",
6438        "Sanitation Engineer",
6439        "Scientific Programmer",
6440        "Scientific Writer",
6441        "Securities Analyst",
6442        "Security Consultant",
6443        "Security Director",
6444        "Seminar Presenter",
6445        "Ship's Officer",
6446        "Singer",
6447        "Social Director",
6448        "Social Program Planner",
6449        "Social Research",
6450        "Social Scientist",
6451        "Social Worker",
6452        "Sociologist",
6453        "Software Developer",
6454        "Software Engineer",
6455        "Software Test Engineer",
6456        "Soil Scientist",
6457        "Special Events Manager",
6458        "Special Education Teacher",
6459        "Special Projects Director",
6460        "Speech Pathologist",
6461        "Speech Writer",
6462        "Sports Event Manager",
6463        "Statistician",
6464        "Store Manager",
6465        "Strategic Alliance Director",
6466        "Strategic Planning Director",
6467        "Stress Reduction Specialist",
6468        "Stockbroker",
6469        "Surveyor",
6470        "Structural Engineer",
6471        "Superintendent",
6472        "Supply Chain Director",
6473        "System Engineer",
6474        "Systems Analyst",
6475        "Systems Programmer",
6476        "System Administrator",
6477        "Tax Specialist",
6478        "Teacher",
6479        "Technical Support Specialist",
6480        "Technical Illustrator",
6481        "Technical Writer",
6482        "Technology Director",
6483        "Telecom Analyst",
6484        "Telemarketer",
6485        "Theatrical Director",
6486        "Title Examiner",
6487        "Tour Escort",
6488        "Tour Guide Director",
6489        "Traffic Manager",
6490        "Trainer Translator",
6491        "Transportation Manager",
6492        "Travel Agent",
6493        "Treasurer",
6494        "TV Programmer",
6495        "Underwriter",
6496        "Union Representative",
6497        "University Administrator",
6498        "University Dean",
6499        "Urban Planner",
6500        "Veterinarian",
6501        "Vendor Relations Director",
6502        "Viticulturist",
6503        "Warehouse Manager"
6504      ],
6505      animals: {
6506        //list of ocean animals comes from https://owlcation.com/stem/list-of-ocean-animals
6507        "ocean": ["Acantharea", "Anemone", "Angelfish King", "Ahi Tuna", "Albacore", "American Oyster", "Anchovy", "Armored Snail", "Arctic Char", "Atlantic Bluefin Tuna", "Atlantic Cod", "Atlantic Goliath Grouper", "Atlantic Trumpetfish", "Atlantic Wolffish", "Baleen Whale", "Banded Butterflyfish", "Banded Coral Shrimp", "Banded Sea Krait", "Barnacle", "Barndoor Skate", "Barracuda", "Basking Shark", "Bass", "Beluga Whale", "Bluebanded Goby", "Bluehead Wrasse", "Bluefish", "Bluestreak Cleaner-Wrasse", "Blue Marlin", "Blue Shark", "Blue Spiny Lobster", "Blue Tang", "Blue Whale", "Broadclub Cuttlefish", "Bull Shark", "Chambered Nautilus", "Chilean Basket Star", "Chilean Jack Mackerel", "Chinook Salmon", "Christmas Tree Worm", "Clam", "Clown Anemonefish", "Clown Triggerfish", "Cod", "Coelacanth", "Cockscomb Cup Coral", "Common Fangtooth", "Conch", "Cookiecutter Shark", "Copepod", "Coral", "Corydoras", "Cownose Ray", "Crab", "Crown-of-Thorns Starfish", "Cushion Star", "Cuttlefish", "California Sea Otters", "Dolphin", "Dolphinfish", "Dory", "Devil Fish", "Dugong", "Dumbo Octopus", "Dungeness Crab", "Eccentric Sand Dollar", "Edible Sea Cucumber", "Eel", "Elephant Seal", "Elkhorn Coral", "Emperor Shrimp", "Estuarine Crocodile", "Fathead Sculpin", "Fiddler Crab", "Fin Whale", "Flameback", "Flamingo Tongue Snail", "Flashlight Fish", "Flatback Turtle", "Flatfish", "Flying Fish", "Flounder", "Fluke", "French Angelfish", "Frilled Shark", "Fugu (also called Pufferfish)", "Gar", "Geoduck", "Giant Barrel Sponge", "Giant Caribbean Sea Anemone", "Giant Clam", "Giant Isopod", "Giant Kingfish", "Giant Oarfish", "Giant Pacific Octopus", "Giant Pyrosome", "Giant Sea Star", "Giant Squid", "Glowing Sucker Octopus", "Giant Tube Worm", "Goblin Shark", "Goosefish", "Great White Shark", "Greenland Shark", "Grey Atlantic Seal", "Grouper", "Grunion", "Guineafowl Puffer", "Haddock", "Hake", "Halibut", "Hammerhead Shark", "Hapuka", "Harbor Porpoise", "Harbor Seal", "Hatchetfish", "Hawaiian Monk Seal", "Hawksbill Turtle", "Hector's Dolphin", "Hermit Crab", "Herring", "Hoki", "Horn Shark", "Horseshoe Crab", "Humpback Anglerfish", "Humpback Whale", "Icefish", "Imperator Angelfish", "Irukandji Jellyfish", "Isopod", "Ivory Bush Coral", "Japanese Spider Crab", "Jellyfish", "John Dory", "Juan Fernandez Fur Seal", "Killer Whale", "Kiwa Hirsuta", "Krill", "Lagoon Triggerfish", "Lamprey", "Leafy Seadragon", "Leopard Seal", "Limpet", "Ling", "Lionfish", "Lions Mane Jellyfish", "Lobe Coral", "Lobster", "Loggerhead Turtle", "Longnose Sawshark", "Longsnout Seahorse", "Lophelia Coral", "Marrus Orthocanna", "Manatee", "Manta Ray", "Marlin", "Megamouth Shark", "Mexican Lookdown", "Mimic Octopus", "Moon Jelly", "Mollusk", "Monkfish", "Moray Eel", "Mullet", "Mussel", "Megaladon", "Napoleon Wrasse", "Nassau Grouper", "Narwhal", "Nautilus", "Needlefish", "Northern Seahorse", "North Atlantic Right Whale", "Northern Red Snapper", "Norway Lobster", "Nudibranch", "Nurse Shark", "Oarfish", "Ocean Sunfish", "Oceanic Whitetip Shark", "Octopus", "Olive Sea Snake", "Orange Roughy", "Ostracod", "Otter", "Oyster", "Pacific Angelshark", "Pacific Blackdragon", "Pacific Halibut", "Pacific Sardine", "Pacific Sea Nettle Jellyfish", "Pacific White Sided Dolphin", "Pantropical Spotted Dolphin", "Patagonian Toothfish", "Peacock Mantis Shrimp", "Pelagic Thresher Shark", "Penguin", "Peruvian Anchoveta", "Pilchard", "Pink Salmon", "Pinniped", "Plankton", "Porpoise", "Polar Bear", "Portuguese Man o' War", "Pycnogonid Sea Spider", "Quahog", "Queen Angelfish", "Queen Conch", "Queen Parrotfish", "Queensland Grouper", "Ragfish", "Ratfish", "Rattail Fish", "Ray", "Red Drum", "Red King Crab", "Ringed Seal", "Risso's Dolphin", "Ross Seals", "Sablefish", "Salmon", "Sand Dollar", "Sandbar Shark", "Sawfish", "Sarcastic Fringehead", "Scalloped Hammerhead Shark", "Seahorse", "Sea Cucumber", "Sea Lion", "Sea Urchin", "Seal", "Shark", "Shortfin Mako Shark", "Shovelnose Guitarfish", "Shrimp", "Silverside Fis
6507h", "Skipjack Tuna", "Slender Snipe Eel", "Smalltooth Sawfish", "Smelts", "Sockeye Salmon", "Southern Stingray", "Sponge", "Spotted Porcupinefish", "Spotted Dolphin", "Spotted Eagle Ray", "Spotted Moray", "Squid", "Squidworm", "Starfish", "Stickleback", "Stonefish", "Stoplight Loosejaw", "Sturgeon", "Swordfish", "Tan Bristlemouth", "Tasseled Wobbegong", "Terrible Claw Lobster", "Threespot Damselfish", "Tiger Prawn", "Tiger Shark", "Tilefish", "Toadfish", "Tropical Two-Wing Flyfish", "Tuna", "Umbrella Squid", "Velvet Crab", "Venus Flytrap Sea Anemone", "Vigtorniella Worm", "Viperfish", "Vampire Squid", "Vaquita", "Wahoo", "Walrus", "West Indian Manatee", "Whale", "Whale Shark", "Whiptail Gulper", "White-Beaked Dolphin", "White-Ring Garden Eel", "White Shrimp", "Wobbegong", "Wrasse", "Wreckfish", "Xiphosura", "Yellowtail Damselfish", "Yelloweye Rockfish", "Yellow Cup Black Coral", "Yellow Tube Sponge", "Yellowfin Tuna", "Zebrashark", "Zooplankton"],
6508        //list of desert, grassland, and forest animals comes from http://www.skyenimals.com/
6509        "desert": ["Aardwolf", "Addax", "African Wild Ass", "Ant", "Antelope", "Armadillo", "Baboon", "Badger", "Bat", "Bearded Dragon", "Beetle", "Bird", "Black-footed Cat", "Boa", "Brown Bear", "Bustard", "Butterfly", "Camel", "Caracal", "Caracara", "Caterpillar", "Centipede", "Cheetah", "Chipmunk", "Chuckwalla", "Climbing Mouse", "Coati", "Cobra", "Cotton Rat", "Cougar", "Courser", "Crane Fly", "Crow", "Dassie Rat", "Dove", "Dunnart", "Eagle", "Echidna", "Elephant", "Emu", "Falcon", "Fly", "Fox", "Frogmouth", "Gecko", "Geoffroy's Cat", "Gerbil", "Grasshopper", "Guanaco", "Gundi", "Hamster", "Hawk", "Hedgehog", "Hyena", "Hyrax", "Jackal", "Kangaroo", "Kangaroo Rat", "Kestrel", "Kowari", "Kultarr", "Leopard", "Lion", "Macaw", "Meerkat", "Mouse", "Oryx", "Ostrich", "Owl", "Pronghorn", "Python", "Rabbit", "Raccoon", "Rattlesnake", "Rhinoceros", "Sand Cat", "Spectacled Bear", "Spiny Mouse", "Starling", "Stick Bug", "Tarantula", "Tit", "Toad", "Tortoise", "Tyrant Flycatcher", "Viper", "Vulture", "Waxwing", "Xerus", "Zebra"],
6510        "grassland": ["Aardvark", "Aardwolf", "Accentor", "African Buffalo", "African Wild Dog", "Alpaca", "Anaconda", "Ant", "Anteater", "Antelope", "Armadillo", "Baboon", "Badger", "Bandicoot", "Barbet", "Bat", "Bee", "Bee-eater", "Beetle", "Bird", "Bison", "Black-footed Cat", "Black-footed Ferret", "Bluebird", "Boa", "Bowerbird", "Brown Bear", "Bush Dog", "Bushshrike", "Bustard", "Butterfly", "Buzzard", "Caracal", "Caracara", "Cardinal", "Caterpillar", "Cheetah", "Chipmunk", "Civet", "Climbing Mouse", "Clouded Leopard", "Coati", "Cobra", "Cockatoo", "Cockroach", "Common Genet", "Cotton Rat", "Cougar", "Courser", "Coyote", "Crane", "Crane Fly", "Cricket", "Crow", "Culpeo", "Death Adder", "Deer", "Deer Mouse", "Dingo", "Dinosaur", "Dove", "Drongo", "Duck", "Duiker", "Dunnart", "Eagle", "Echidna", "Elephant", "Elk", "Emu", "Falcon", "Finch", "Flea", "Fly", "Flying Frog", "Fox", "Frog", "Frogmouth", "Garter Snake", "Gazelle", "Gecko", "Geoffroy's Cat", "Gerbil", "Giant Tortoise", "Giraffe", "Grasshopper", "Grison", "Groundhog", "Grouse", "Guanaco", "Guinea Pig", "Hamster", "Harrier", "Hartebeest", "Hawk", "Hedgehog", "Helmetshrike", "Hippopotamus", "Hornbill", "Hyena", "Hyrax", "Impala", "Jackal", "Jaguar", "Jaguarundi", "Kangaroo", "Kangaroo Rat", "Kestrel", "Kultarr", "L
6510adybug", "Leopard", "Lion", "Macaw", "Meerkat", "Mouse", "Newt", "Oryx", "Ostrich", "Owl", "Pangolin", "Pheasant", "Prairie Dog", "Pronghorn", "Przewalski's Horse", "Python", "Quoll", "Rabbit", "Raven", "Rhinoceros", "Shelduck", "Sloth Bear", "Spectacled Bear", "Squirrel", "Starling", "Stick Bug", "Tamandua", "Tasmanian Devil", "Thornbill", "Thrush", "Toad", "Tortoise"],
6511        "forest": ["Agouti", "Anaconda", "Anoa", "Ant", "Anteater", "Antelope", "Armadillo", "Asian Black Bear", "Aye-aye", "Babirusa", "Baboon", "Badger", "Bandicoot", "Banteng", "Barbet", "Basilisk", "Bat", "Bearded Dragon", "Bee", "Bee-eater", "Beetle", "Bettong", "Binturong", "Bird-of-paradise", "Bongo", "Bowerbird", "Bulbul", "Bush Dog", "Bushbaby", "Bushshrike", "Butterfly", "Buzzard", "Caecilian", "Cardinal", "Cassowary", "Caterpillar", "Centipede", "Chameleon", "Chimpanzee", "Cicada", "Civet", "Clouded Leopard", "Coati", "Cobra", "Cockatoo", "Cockroach", "Colugo", "Cotinga", "Cotton Rat", "Cougar", "Crane Fly", "Cricket", "Crocodile", "Crow", "Cuckoo", "Cuscus", "Death Adder", "Deer", "Dhole", "Dingo", "Dinosaur", "Drongo", "Duck", "Duiker", "Eagle", "Echidna", "Elephant", "Finch", "Flat-headed Cat", "Flea", "Flowerpecker", "Fly", "Flying Frog", "Fossa", "Frog", "Frogmouth", "Gaur", "Gecko", "Gorilla", "Grison", "Hawaiian Honeycreeper", "Hawk", "Hedgehog", "Helmetshrike", "Hornbill", "Hyrax", "Iguana", "Jackal", "Jaguar", "Jaguarundi", "Kestrel", "Ladybug", "Lemur", "Leopard", "Lion", "Macaw", "Mandrill", "Margay", "Monkey", "Mouse", "Mouse Deer", "Newt", "Okapi", "Old World Flycatcher", "Orangutan", "Owl", "Pangolin", "Peafowl", "Pheasant", "Possum", "Python", "Quokka", "Rabbit", "Raccoon", "Red Panda", "Red River Hog", "Rhinoceros", "Sloth Bear", "Spectacled Bear", "Squirrel", "Starling", "Stick Bug", "Sun Bear", "Tamandua", "Tamarin", "Tapir", "Tarantula", "Thrush", "Tiger", "Tit", "Toad", "Tortoise", "Toucan", "Trogon", "Trumpeter", "Turaco", "Turtle", "Tyrant Flycatcher", "Viper", "Vulture", "Wallaby", "Warbler", "Wasp", "Waxwing", "Weaver", "Weaver-finch", "Whistler", "White-eye", "Whydah", "Woodswallow", "Worm", "Wren", "Xenops", "Yellowjacket", "Accentor", "African Buffalo", "American Black Bear", "Anole", "Bird", "Bison", "Boa", "Brown Bear", "Chipmunk", "Common Genet", "Copperhead", "Coyote", "Deer Mouse", "Dormouse", "Elk", "Emu", "Fisher", "Fox", "Garter Snake", "Giant Panda", "Giant Tortoise", "Groundhog", "Grouse", "Guanaco", "Himalayan Tahr", "Kangaroo", "Koala", "Numbat", "Quoll", "Raccoon dog", "Tasmanian Devil", "Thornbill", "Turkey", "Vole", "Weasel", "Wildcat", "Wolf", "Wombat", "Woodchuck", "Woodpecker"],
6512        //list of farm animals comes from https://www.buzzle.com/articles/farm-animals-list.html
6513        "farm": ["Alpaca", "Buffalo", "Banteng", "Cow", "Cat", "Chicken", "Carp", "Camel", "Donkey", "Dog", "Duck", "Emu", "Goat", "Gayal", "Guinea", "Goose", "Horse", "Honey", "Llama", "Pig", "Pigeon", "Rhea", "Rabbit", "Sheep", "Silkworm", "Turkey", "Yak", "Zebu"],
6514        //list of pet animals comes from https://www.dogbreedinfo.com/pets/pet.htm
6515        "pet": ["Bearded Dragon", "Birds", "Burro", "Cats", "Chameleons", "Chickens", "Chinchillas", "Chinese Water Dragon", "Cows", "Dogs", "Donkey", "Ducks", "Ferrets", "Fish", "Geckos", "Geese", "Gerbils", "Goats", "Guinea Fowl", "Guinea Pigs", "Hamsters", "Hedgehogs", "Horses", "Iguanas", "Llamas", "Lizards", "Mice", "Mule", "Peafowl", "Pigs and Hogs", "Pigeons", "Ponies", "Pot Bellied Pig", "Rabbits", "Rats", "Sheep", "Skinks", "Snakes", "Stick Insects", "Sugar Gliders", "Tarantula", "Turkeys", "Turtles"],
6516        //list of zoo animals comes from https://bronxzoo.com/animals
6517        "zoo": ["Aardvark", "African Wild Dog", "Aldabra Tortoise", "American Alligator", "American Bison", "Amur Tiger", "Anaconda", "Andean Condor", "Asian Elephant", "Baby Doll Sheep", "Bald Eagle", "Barred Owl", "Blue Iguana", "Boer Goat", "California Sea Lion", "Caribbean Flamingo", "Chinchilla", "Collared Lemur", "Coquerel's Sifaka", "Cuban Amazon Parrot", "Ebony Langur", "Fennec Fox", "Fossa", "Gelada", "Giant Anteater", "Giraffe", "Gorilla", "Grizzly Bear", "Henkel's Leaf-tailed Gecko", "Indian Gharial", "Indian Rhinoceros", "King Cobra", "King Vulture", "Komodo Dragon", "Linne's Two-toed Sloth", "Lion", "Little Penguin", "Madagascar Tree Boa", "Magellanic Penguin", "Malayan Tapir", "Malayan Tiger", "Matschies Tree Kangaroo", "Mini Donkey", "Monarch Butterfly", "Nile crocodile", "North American Porcupine", "Nubian Ibex", "Okapi", "Poison Dart Frog", "Polar Bear", "Pygmy Marmoset", "Radiated Tortoise", "Red Panda", "Red Ruffed Lemur", "Ring-tailed Lemur", "Ring-tailed Mongoose", "Rock Hyrax", "Small Clawed Asian Otter", "Snow Leopard", "Snowy Owl", "Southern White-faced Owl", "Southern White Rhinocerous", "Squirrel Monkey", "Tufted Puffin", "White Cheeked Gibbon", "White-throated Bee Eater", "Zebra"]
6518      },
6519      primes: [
6520        // 1230 first primes, i.e. all primes up to the first one greater than 10000, inclusive.
6521        2,
6522        3,
6523        5,
6524        7,
6525        11,
6526        13,
6527        17,
6528        19,
6529        23,
6530        29,
6531        31,
6532        37,
6533        41,
6534        43,
6535        47,
6536        53,
6537        59,
6538        61,
6539        67,
6540        71,
6541        73,
6542        79,
6543        83,
6544        89,
6545        97,
6546        101,
6547        103,
6548        107,
6549        109,
6550        113,
6551        127,
6552        131,
6553        137,
6554        139,
6555        149,
6556        151,
6557        157,
6558        163,
6559        167,
6560        173,
6561        179,
6562        181,
6563        191,
6564        193,
6565        197,
6566        199,
6567        211,
6568        223,
6569        227,
6570        229,
6571        233,
6572        239,
6573        241,
6574        251,
6575        257,
6576        263,
6577        269,
6578        271,
6579        277,
6580        281,
6581        283,
6582        293,
6583        307,
6584        311,
6585        313,
6586        317,
6587        331,
6588        337,
6589        347,
6590        349,
6591        353,
6592        359,
6593        367,
6594        373,
6595        379,
6596        383,
6597        389,
6598        397,
6599        401,
6600        409,
6601        419,
6602        421,
6603        431,
6604        433,
6605        439,
6606        443,
6607        449,
6608        457,
6609        461,
6610        463,
6611        467,
6612        479,
6613        487,
6614        491,
6615        499,
6616        503,
6617        509,
6618        521,
6619        523,
6620        541,
6621        547,
6622        557,
6623        563,
6624        569,
6625        571,
6626        577,
6627        587,
6628        593,
6629        599,
6630        601,
6631        607,
6632        613,
6633        617,
6634        619,
6635        631,
6636        641,
6637        643,
6638        647,
6639        653,
6640        659,
6641        661,
6642        673,
6643        677,
6644        683,
6645        691,
6646        701,
6647        709,
6648        719,
6649        727,
6650        733,
6651        739,
6652        743,
6653        751,
6654        757,
6655        761,
6656        769,
6657        773,
6658        787,
6659        797,
6660        809,
6661        811,
6662        821,
6663        823,
6664        827,
6665        829,
6666        839,
6667        853,
6668        857,
6669        859,
6670        863,
6671        877,
6672        881,
6673        883,
6674        887,
6675        907,
6676        911,
6677        919,
6678        929,
6679        937,
6680        941,
6681        947,
6682        953,
6683        967,
6684        971,
6685        977,
6686        983,
6687        991,
6688        997,
6689        1009,
6690        1013,
6691        1019,
6692        1021,
6693        1031,
6694        1033,
6695        1039,
6696        1049,
6697        1051,
6698        1061,
6699        1063,
6700        1069,
6701        1087,
6702        1091,
6703        1093,
6704        1097,
6705        1103,
6706        1109,
6707        1117,
6708        1123,
6709        1129,
6710        1151,
6711        1153,
6712        1163,
6713        1171,
6714        1181,
6715        1187,
6716        1193,
6717        1201,
6718        1213,
6719        1217,
6720        1223,
6721        1229,
6722        1231,
6723        1237,
6724        1249,
6725        1259,
6726        1277,
6727        1279,
6728        1283,
6729        1289,
6730        1291,
6731        1297,
6732        1301,
6733        1303,
6734        1307,
6735        1319,
6736        1321,
6737        1327,
6738        1361,
6739        1367,
6740        1373,
6741        1381,
6742        1399,
6743        1409,
6744        1423,
6745        1427,
6746        1429,
6747        1433,
6748        1439,
6749        1447,
6750        1451,
6751        1453,
6752        1459,
6753        1471,
6754        1481,
6755        1483,
6756        1487,
6757        1489,
6758        1493,
6759        1499,
6760        1511,
6761        1523,
6762        1531,
6763        1543,
6764        1549,
6765        1553,
6766        1559,
6767        1567,
6768        1571,
6769        1579,
6770        1583,
6771        1597,
6772        1601,
6773        1607,
6774        1609,
6775        1613,
6776        1619,
6777        1621,
6778        1627,
6779        1637,
6780        1657,
6781        1663,
6782        1667,
6783        1669,
6784        1693,
6785        1697,
6786        1699,
6787        1709,
6788        1721,
6789        1723,
6790        1733,
6791        1741,
6792        1747,
6793        1753,
6794        1759,
6795        1777,
6796        1783,
6797        1787,
6798        1789,
6799        1801,
6800        1811,
6801        1823,
6802        1831,
6803        1847,
6804        1861,
6805        1867,
6806        1871,
6807        1873,
6808        1877,
6809        1879,
6810        1889,
6811        1901,
6812        1907,
6813        1913,
6814        1931,
6815        1933,
6816        1949,
6817        1951,
6818        1973,
6819        1979,
6820        1987,
6821        1993,
6822        1997,
6823        1999,
6824        2003,
6825        2011,
6826        2017,
6827        2027,
6828        2029,
6829        2039,
6830        2053,
6831        2063,
6832        2069,
6833        2081,
6834        2083,
6835        2087,
6836        2089,
6837        2099,
6838        2111,
6839        2113,
6840        2129,
6841        2131,
6842        2137,
6843        2141,
6844        2143,
6845        2153,
6846        2161,
6847        2179,
6848        2203,
6849        2207,
6850        2213,
6851        2221,
6852        2237,
6853        2239,
6854        2243,
6855        2251,
6856        2267,
6857        2269,
6858        2273,
6859        2281,
6860        2287,
6861        2293,
6862        2297,
6863        2309,
6864        2311,
6865        2333,
6866        2339,
6867        2341,
6868        2347,
6869        2351,
6870        2357,
6871        2371,
6872        2377,
6873        2381,
6874        2383,
6875        2389,
6876        2393,
6877        2399,
6878        2411,
6879        2417,
6880        2423,
6881        2437,
6882        2441,
6883        2447,
6884        2459,
6885        2467,
6886        2473,
6887        2477,
6888        2503,
6889        2521,
6890        2531,
6891        2539,
6892        2543,
6893        2549,
6894        2551,
6895        2557,
6896        2579,
6897        2591,
6898        2593,
6899        2609,
6900        2617,
6901        2621,
6902        2633,
6903        2647,
6904        2657,
6905        2659,
6906        2663,
6907        2671,
6908        2677,
6909        2683,
6910        2687,
6911        2689,
6912        2693,
6913        2699,
6914        2707,
6915        2711,
6916        2713,
6917        2719,
6918        2729,
6919        2731,
6920        2741,
6921        2749,
6922        2753,
6923        2767,
6924        2777,
6925        2789,
6926        2791,
6927        2797,
6928        2801,
6929        2803,
6930        2819,
6931        2833,
6932        2837,
6933        2843,
6934        2851,
6935        2857,
6936        2861,
6937        2879,
6938        2887,
6939        2897,
6940        2903,
6941        2909,
6942        2917,
6943        2927,
6944        2939,
6945        2953,
6946        2957,
6947        2963,
6948        2969,
6949        2971,
6950        2999,
6951        3001,
6952        3011,
6953        3019,
6954        3023,
6955        3037,
6956        3041,
6957        3049,
6958        3061,
6959        3067,
6960        3079,
6961        3083,
6962        3089,
6963        3109,
6964        3119,
6965        3121,
6966        3137,
6967        3163,
6968        3167,
6969        3169,
6970        3181,
6971        3187,
6972        3191,
6973        3203,
6974        3209,
6975        3217,
6976        3221,
6977        3229,
6978        3251,
6979        3253,
6980        3257,
6981        3259,
6982        3271,
6983        3299,
6984        3301,
6985        3307,
6986        3313,
6987        3319,
6988        3323,
6989        3329,
6990        3331,
6991        3343,
6992        3347,
6993        3359,
6994        3361,
6995        3371,
6996        3373,
6997        3389,
6998        3391,
6999        3407,
7000        3413,
7001        3433,
7002        3449,
7003        3457,
7004        3461,
7005        3463,
7006        3467,
7007        3469,
7008        3491,
7009        3499,
7010        3511,
7011        3517,
7012        3527,
7013        3529,
7014        3533,
7015        3539,
7016        3541,
7017        3547,
7018        3557,
7019        3559,
7020        3571,
7021        3581,
7022        3583,
7023        3593,
7024        3607,
7025        3613,
7026        3617,
7027        3623,
7028        3631,
7029        3637,
7030        3643,
7031        3659,
7032        3671,
7033        3673,
7034        3677,
7035        3691,
7036        3697,
7037        3701,
7038        3709,
7039        3719,
7040        3727,
7041        3733,
7042        3739,
7043        3761,
7044        3767,
7045        3769,
7046        3779,
7047        3793,
7048        3797,
7049        3803,
7050        3821,
7051        3823,
7052        3833,
7053        3847,
7054        3851,
7055        3853,
7056        3863,
7057        3877,
7058        3881,
7059        3889,
7060        3907,
7061        3911,
7062        3917,
7063        3919,
7064        3923,
7065        3929,
7066        3931,
7067        3943,
7068        3947,
7069        3967,
7070        3989,
7071        4001,
7072        4003,
7073        4007,
7074        4013,
7075        4019,
7076        4021,
7077        4027,
7078        4049,
7079        4051,
7080        4057,
7081        4073,
7082        4079,
7083        4091,
7084        4093,
7085        4099,
7086        4111,
7087        4127,
7088        4129,
7089        4133,
7090        4139,
7091        4153,
7092        4157,
7093        4159,
7094        4177,
7095        4201,
7096        4211,
7097        4217,
7098        4219,
7099        4229,
7100        4231,
7101        4241,
7102        4243,
7103        4253,
7104        4259,
7105        4261,
7106        4271,
7107        4273,
7108        4283,
7109        4289,
7110        4297,
7111        4327,
7112        4337,
7113        4339,
7114        4349,
7115        4357,
7116        4363,
7117        4373,
7118        4391,
7119        4397,
7120        4409,
7121        4421,
7122        4423,
7123        4441,
7124        4447,
7125        4451,
7126        4457,
7127        4463,
7128        4481,
7129        4483,
7130        4493,
7131        4507,
7132        4513,
7133        4517,
7134        4519,
7135        4523,
7136        4547,
7137        4549,
7138        4561,
7139        4567,
7140        4583,
7141        4591,
7142        4597,
7143        4603,
7144        4621,
7145        4637,
7146        4639,
7147        4643,
7148        4649,
7149        4651,
7150        4657,
7151        4663,
7152        4673,
7153        4679,
7154        4691,
7155        4703,
7156        4721,
7157        4723,
7158        4729,
7159        4733,
7160        4751,
7161        4759,
7162        4783,
7163        4787,
7164        4789,
7165        4793,
7166        4799,
7167        4801,
7168        4813,
7169        4817,
7170        4831,
7171        4861,
7172        4871,
7173        4877,
7174        4889,
7175        4903,
7176        4909,
7177        4919,
7178        4931,
7179        4933,
7180        4937,
7181        4943,
7182        4951,
7183        4957,
7184        4967,
7185        4969,
7186        4973,
7187        4987,
7188        4993,
7189        4999,
7190        5003,
7191        5009,
7192        5011,
7193        5021,
7194        5023,
7195        5039,
7196        5051,
7197        5059,
7198        5077,
7199        5081,
7200        5087,
7201        5099,
7202        5101,
7203        5107,
7204        5113,
7205        5119,
7206        5147,
7207        5153,
7208        5167,
7209        5171,
7210        5179,
7211        5189,
7212        5197,
7213        5209,
7214        5227,
7215        5231,
7216        5233,
7217        5237,
7218        5261,
7219        5273,
7220        5279,
7221        5281,
7222        5297,
7223        5303,
7224        5309,
7225        5323,
7226        5333,
7227        5347,
7228        5351,
7229        5381,
7230        5387,
7231        5393,
7232        5399,
7233        5407,
7234        5413,
7235        5417,
7236        5419,
7237        5431,
7238        5437,
7239        5441,
7240        5443,
7241        5449,
7242        5471,
7243        5477,
7244        5479,
7245        5483,
7246        5501,
7247        5503,
7248        5507,
7249        5519,
7250        5521,
7251        5527,
7252        5531,
7253        5557,
7254        5563,
7255        5569,
7256        5573,
7257        5581,
7258        5591,
7259        5623,
7260        5639,
7261        5641,
7262        5647,
7263        5651,
7264        5653,
7265        5657,
7266        5659,
7267        5669,
7268        5683,
7269        5689,
7270        5693,
7271        5701,
7272        5711,
7273        5717,
7274        5737,
7275        5741,
7276        5743,
7277        5749,
7278        5779,
7279        5783,
7280        5791,
7281        5801,
7282        5807,
7283        5813,
7284        5821,
7285        5827,
7286        5839,
7287        5843,
7288        5849,
7289        5851,
7290        5857,
7291        5861,
7292        5867,
7293        5869,
7294        5879,
7295        5881,
7296        5897,
7297        5903,
7298        5923,
7299        5927,
7300        5939,
7301        5953,
7302        5981,
7303        5987,
7304        6007,
7305        6011,
7306        6029,
7307        6037,
7308        6043,
7309        6047,
7310        6053,
7311        6067,
7312        6073,
7313        6079,
7314        6089,
7315        6091,
7316        6101,
7317        6113,
7318        6121,
7319        6131,
7320        6133,
7321        6143,
7322        6151,
7323        6163,
7324        6173,
7325        6197,
7326        6199,
7327        6203,
7328        6211,
7329        6217,
7330        6221,
7331        6229,
7332        6247,
7333        6257,
7334        6263,
7335        6269,
7336        6271,
7337        6277,
7338        6287,
7339        6299,
7340        6301,
7341        6311,
7342        6317,
7343        6323,
7344        6329,
7345        6337,
7346        6343,
7347        6353,
7348        6359,
7349        6361,
7350        6367,
7351        6373,
7352        6379,
7353        6389,
7354        6397,
7355        6421,
7356        6427,
7357        6449,
7358        6451,
7359        6469,
7360        6473,
7361        6481,
7362        6491,
7363        6521,
7364        6529,
7365        6547,
7366        6551,
7367        6553,
7368        6563,
7369        6569,
7370        6571,
7371        6577,
7372        6581,
7373        6599,
7374        6607,
7375        6619,
7376        6637,
7377        6653,
7378        6659,
7379        6661,
7380        6673,
7381        6679,
7382        6689,
7383        6691,
7384        6701,
7385        6703,
7386        6709,
7387        6719,
7388        6733,
7389        6737,
7390        6761,
7391        6763,
7392        6779,
7393        6781,
7394        6791,
7395        6793,
7396        6803,
7397        6823,
7398        6827,
7399        6829,
7400        6833,
7401        6841,
7402        6857,
7403        6863,
7404        6869,
7405        6871,
7406        6883,
7407        6899,
7408        6907,
7409        6911,
7410        6917,
7411        6947,
7412        6949,
7413        6959,
7414        6961,
7415        6967,
7416        6971,
7417        6977,
7418        6983,
7419        6991,
7420        6997,
7421        7001,
7422        7013,
7423        7019,
7424        7027,
7425        7039,
7426        7043,
7427        7057,
7428        7069,
7429        7079,
7430        7103,
7431        7109,
7432        7121,
7433        7127,
7434        7129,
7435        7151,
7436        7159,
7437        7177,
7438        7187,
7439        7193,
7440        7207,
7441        7211,
7442        7213,
7443        7219,
7444        7229,
7445        7237,
7446        7243,
7447        7247,
7448        7253,
7449        7283,
7450        7297,
7451        7307,
7452        7309,
7453        7321,
7454        7331,
7455        7333,
7456        7349,
7457        7351,
7458        7369,
7459        7393,
7460        7411,
7461        7417,
7462        7433,
7463        7451,
7464        7457,
7465        7459,
7466        7477,
7467        7481,
7468        7487,
7469        7489,
7470        7499,
7471        7507,
7472        7517,
7473        7523,
7474        7529,
7475        7537,
7476        7541,
7477        7547,
7478        7549,
7479        7559,
7480        7561,
7481        7573,
7482        7577,
7483        7583,
7484        7589,
7485        7591,
7486        7603,
7487        7607,
7488        7621,
7489        7639,
7490        7643,
7491        7649,
7492        7669,
7493        7673,
7494        7681,
7495        7687,
7496        7691,
7497        7699,
7498        7703,
7499        7717,
7500        7723,
7501        7727,
7502        7741,
7503        7753,
7504        7757,
7505        7759,
7506        7789,
7507        7793,
7508        7817,
7509        7823,
7510        7829,
7511        7841,
7512        7853,
7513        7867,
7514        7873,
7515        7877,
7516        7879,
7517        7883,
7518        7901,
7519        7907,
7520        7919,
7521        7927,
7522        7933,
7523        7937,
7524        7949,
7525        7951,
7526        7963,
7527        7993,
7528        8009,
7529        8011,
7530        8017,
7531        8039,
7532        8053,
7533        8059,
7534        8069,
7535        8081,
7536        8087,
7537        8089,
7538        8093,
7539        8101,
7540        8111,
7541        8117,
7542        8123,
7543        8147,
7544        8161,
7545        8167,
7546        8171,
7547        8179,
7548        8191,
7549        8209,
7550        8219,
7551        8221,
7552        8231,
7553        8233,
7554        8237,
7555        8243,
7556        8263,
7557        8269,
7558        8273,
7559        8287,
7560        8291,
7561        8293,
7562        8297,
7563        8311,
7564        8317,
7565        8329,
7566        8353,
7567        8363,
7568        8369,
7569        8377,
7570        8387,
7571        8389,
7572        8419,
7573        8423,
7574        8429,
7575        8431,
7576        8443,
7577        8447,
7578        8461,
7579        8467,
7580        8501,
7581        8513,
7582        8521,
7583        8527,
7584        8537,
7585        8539,
7586        8543,
7587        8563,
7588        8573,
7589        8581,
7590        8597,
7591        8599,
7592        8609,
7593        8623,
7594        8627,
7595        8629,
7596        8641,
7597        8647,
7598        8663,
7599        8669,
7600        8677,
7601        8681,
7602        8689,
7603        8693,
7604        8699,
7605        8707,
7606        8713,
7607        8719,
7608        8731,
7609        8737,
7610        8741,
7611        8747,
7612        8753,
7613        8761,
7614        8779,
7615        8783,
7616        8803,
7617        8807,
7618        8819,
7619        8821,
7620        8831,
7621        8837,
7622        8839,
7623        8849,
7624        8861,
7625        8863,
7626        8867,
7627        8887,
7628        8893,
7629        8923,
7630        8929,
7631        8933,
7632        8941,
7633        8951,
7634        8963,
7635        8969,
7636        8971,
7637        8999,
7638        9001,
7639        9007,
7640        9011,
7641        9013,
7642        9029,
7643        9041,
7644        9043,
7645        9049,
7646        9059,
7647        9067,
7648        9091,
7649        9103,
7650        9109,
7651        9127,
7652        9133,
7653        9137,
7654        9151,
7655        9157,
7656        9161,
7657        9173,
7658        9181,
7659        9187,
7660        9199,
7661        9203,
7662        9209,
7663        9221,
7664        9227,
7665        9239,
7666        9241,
7667        9257,
7668        9277,
7669        9281,
7670        9283,
7671        9293,
7672        9311,
7673        9319,
7674        9323,
7675        9337,
7676        9341,
7677        9343,
7678        9349,
7679        9371,
7680        9377,
7681        9391,
7682        9397,
7683        9403,
7684        9413,
7685        9419,
7686        9421,
7687        9431,
7688        9433,
7689        9437,
7690        9439,
7691        9461,
7692        9463,
7693        9467,
7694        9473,
7695        9479,
7696        9491,
7697        9497,
7698        9511,
7699        9521,
7700        9533,
7701        9539,
7702        9547,
7703        9551,
7704        9587,
7705        9601,
7706        9613,
7707        9619,
7708        9623,
7709        9629,
7710        9631,
7711        9643,
7712        9649,
7713        9661,
7714        9677,
7715        9679,
7716        9689,
7717        9697,
7718        9719,
7719        9721,
7720        9733,
7721        9739,
7722        9743,
7723        9749,
7724        9767,
7725        9769,
7726        9781,
7727        9787,
7728        9791,
7729        9803,
7730        9811,
7731        9817,
7732        9829,
7733        9833,
7734        9839,
7735        9851,
7736        9857,
7737        9859,
7738        9871,
7739        9883,
7740        9887,
7741        9901,
7742        9907,
7743        9923,
7744        9929,
7745        9931,
7746        9941,
7747        9949,
7748        9967,
7749        9973,
7750        10007
7751      ],
7752      emotions: [
7753        "love",
7754        "joy",
7755        "surprise",
7756        "anger",
7757        "sadness",
7758        "fear"
7759      ],
7760      music_genres: {
7761        "general": [
7762          "Rock",
7763          "Pop",
7764          "Hip-Hop",
7765          "Jazz",
7766          "Classical",
7767          "Electronic",
7768          "Country",
7769          "R&B",
7770          "Reggae",
7771          "Blues",
7772          "Metal",
7773          "Folk",
7774          "Alternative",
7775          "Punk",
7776          "Disco",
7777          "Funk",
7778          "Techno",
7779          "Indie",
7780          "Gospel",
7781          "Dance",
7782          "Children's",
7783          "World"
7784        ],
7785        "alternative": [
7786          "Art Punk",
7787          "Alternative Rock",
7788          "Britpunk",
7789          "College Rock",
7790          "Crossover Thrash",
7791          "Crust Punk",
7792          "Emo / Emocore",
7793          "Experimental Rock",
7794          "Folk Punk",
7795          "Goth / Gothic Rock",
7796          "Grunge",
7797          "Hardcore Punk",
7798          "Hard Rock",
7799          "Indie Rock",
7800          "Lo-fi",
7801          "Musique Concrète",
7802          "New Wave",
7803          "Progressive Rock",
7804          "Punk",
7805          "Shoegaze",
7806          "Steampunk"
7807        ],
7808        "blues": [
7809          "Acoustic Blues",
7810          "African Blues",
7811          "Blues Rock",
7812          "Blues Shouter",
7813          "British Blues",
7814          "Canadian Blues",
7815          "Chicago Blues",
7816          "Classic Blues",
7817          "Classic Female Blues",
7818          "Contemporary Blues",
7819          "Country Blues",
7820          "Dark Blues",
7821          "Delta Blues",
7822          "Detroit Blues",
7823          "Doom Blues",
7824          "Electric Blues",
7825          "Folk Blues",
7826          "Gospel Blues",
7827          "Harmonica Blues",
7828          "Hill Country Blues",
7829          "Hokum Blues",
7830          "Jazz Blues",
7831          "Jump Blues",
7832          "Kansas City Blues",
7833          "Louisiana Blues",
7834          "Memphis Blues",
7835          "Modern Blues",
7836          "New Orlean Blues",
7837          "NY Blues",
7838          "Piano Blues",
7839          "Piedmont Blues",
7840          "Punk Blues",
7841          "Ragtime Blues",
7842          "Rhythm Blues",
7843          "Soul Blues",
7844          "St.Louis Blues",
7845          "Soul Blues",
7846          "Swamp Blues",
7847          "Texas Blues",
7848          "Urban Blues",
7849          "Vandeville",
7850          "West Coast Blues"
7851        ],
7852        "children's": [
7853          "Lullabies",
7854          "Sing - Along",
7855          "Stories"
7856        ],
7857        "classical": [
7858          "Avant-Garde",
7859          "Ballet",
7860          "Baroque",
7861          "Cantata",
7862          "Chamber Music",
7863          "String Quartet",
7864          "Chant",
7865          "Choral",
7866          "Classical Crossover",
7867          "Concerto",
7868          "Concerto Grosso",
7869          "Contemporary Classical",
7870          "Early Music",
7871          "Expressionist",
7872          "High Classical",
7873          "Impressionist",
7874          "Mass Requiem",
7875          "Medieval",
7876          "Minimalism",
7877          "Modern Composition",
7878          "Modern Classical",
7879          "Opera",
7880          "Oratorio",
7881          "Orchestral",
7882          "Organum",
7883          "Renaissance",
7884          "Romantic (early period)",
7885          "Romantic (later period)",
7886          "Sonata",
7887          "Symphonic",
7888          "Symphony",
7889          "Twelve-tone",
7890          "Wedding Music"
7891        ],
7892        "country": [
7893          "Alternative Country",
7894          "Americana",
7895          "Australian Country",
7896          "Bakersfield Sound",
7897          "Bluegrass",
7898          "Blues Country",
7899          "Cajun Fiddle Tunes",
7900          "Christian Country",
7901          "Classic Country",
7902          "Close Harmony",
7903          "Contemporary Bluegrass",
7904          "Contemporary Country",
7905          "Country Gospel",
7906          "Country Pop",
7907          "Country Rap",
7908          "Country Rock",
7909          "Country Soul",
7910          "Cowboy / Western",
7911          "Cowpunk",
7912          "Dansband",
7913          "Honky Tonk",
7914          "Franco-Country",
7915          "Gulf and Western",
7916          "Hellbilly Music",
7917          "Honky Tonk",
7918          "Instrumental Country",
7919          "Lubbock Sound",
7920          "Nashville Sound",
7921          "Neotraditional Country",
7922          "Outlaw Country",
7923          "Progressive",
7924          "Psychobilly / Punkabilly",
7925          "Red Dirt",
7926          "Sertanejo",
7927          "Texas County",
7928          "Traditional Bluegrass",
7929          "Traditional Country",
7930          "Truck-Driving Country",
7931          "Urban Cowboy",
7932          "Western Swing"
7933        ],
7934        "dance": [
7935          "Club / Club Dance",
7936          "Breakcore",
7937          "Breakbeat / Breakstep",
7938          "Chillstep",
7939          "Deep House",
7940          "Dubstep",
7941          "Dancehall",
7942          "Electro House",
7943          "Electroswing",
7944          "Exercise",
7945          "Future Garage",
7946          "Garage",
7947          "Glitch Hop",
7948          "Glitch Pop",
7949          "Grime",
7950          "Hardcore",
7951          "Hard Dance",
7952          "Hi-NRG / Eurodance",
7953          "Horrorcore",
7954          "House",
7955          "Jackin House",
7956          "Jungle / Drum n bass",
7957          "Liquid Dub",
7958          "Regstep",
7959          "Speedcore",
7960          "Techno",
7961          "Trance",
7962          "Trap"
7963        ],
7964        electronic: [
7965          "2-Step",
7966          "8bit",
7967          "Ambient",
7968          "Asian Underground",
7969          "Bassline",
7970          "Chillwave",
7971          "Chiptune",
7972          "Crunk",
7973          "Downtempo",
7974          "Drum & Bass",
7975          "Hard Step",
7976          "Electro",
7977          "Electro-swing",
7978          "Electroacoustic",
7979          "Electronica",
7980          "Electronic Rock",
7981          "Eurodance",
7982          "Hardstyle",
7983          "Hi-Nrg",
7984          "IDM/Experimental",
7985          "Industrial",
7986          "Trip Hop",
7987          "Vaporwave",
7988          "UK Garage",
7989          "House",
7990          "Dubstep",
7991          "Deep House",
7992          "EDM",
7993          "Future Bass",
7994          "Psychedelic trance"
7995        ],
7996        "jazz": [
7997          "Acid Jazz",
7998          "Afro-Cuban Jazz",
7999          "Avant-Garde Jazz",
8000          "Bebop",
8001          "Big Band",
8002          "Blue Note",
8003          "British Dance Band (Jazz)",
8004          "Cape Jazz",
8005          "Chamber Jazz",
8006          "Contemporary Jazz",
8007          "Continental Jazz",
8008          "Cool Jazz",
8009          "Crossover Jazz",
8010          "Dark Jazz",
8011          "Dixieland",
8012          "Early Jazz",
8013          "Electro Swing (Jazz)",
8014          "Ethio-jazz",
8015          "Ethno-Jazz",
8016          "European Free Jazz",
8017          "Free Funk (Avant-Garde / Funk Jazz)",
8018          "Free Jazz",
8019          "Fusion",
8020          "Gypsy Jazz",
8021          "Hard Bop",
8022          "Indo Jazz",
8023          "Jazz Blues",
8024          "Jazz-Funk (see Free Funk)",
8025          "Jazz-Fusion",
8026          "Jazz Rap",
8027          "Jazz Rock",
8028          "Kansas City Jazz",
8029          "Latin Jazz",
8030          "M-Base Jazz",
8031          "Mainstream Jazz",
8032          "Modal Jazz",
8033          "Neo-Bop",
8034          "Neo-Swing",
8035          "Nu Jazz",
8036          "Orchestral Jazz",
8037          "Post-Bop",
8038          "Punk Jazz",
8039          "Ragtime",
8040          "Ska Jazz",
8041          "Skiffle (also Folk)",
8042          "Smooth Jazz",
8043          "Soul Jazz",
8044          "Swing Jazz",
8045          "Straight-Ahead Jazz",
8046          "Trad Jazz",
8047          "Third Stream",
8048          "Jazz-Funk",
8049          "Free Jazz",
8050          "West Coast Jazz"
8051        ],
8052        "metal": [
8053          "Heavy Metal",
8054          "Speed Metal",
8055          "Thrash Metal",
8056          "Power Metal",
8057          "Death Metal",
8058          "Black Metal",
8059          "Pagan Metal",
8060          "Viking Metal",
8061          "Folk Metal",
8062          "Symphonic Metal",
8063          "Gothic Metal",
8064          "Glam Metal",
8065          "Hair Metal",
8066          "Doom Metal",
8067          "Groove Metal",
8068          "Industrial Metal",
8069          "Modern Metal",
8070          "Neoclassical Metal",
8071          "New Wave Of British Heavy Metal",
8072          "Post Metal",
8073          "Progressive Metal",
8074          "Avantgarde Metal",
8075          "Sludge",
8076          "Djent",
8077          "Drone",
8078          "Kawaii Metal",
8079          "Pirate Metal",
8080          "Nu Metal",
8081          "Neue Deutsche Härte",
8082          "Math Metal",
8083          "Crossover",
8084          "Grindcore",
8085          "Hardcore",
8086          "Metalcore",
8087          "Deathcore",
8088          "Post Hardcore",
8089          "Mathcore"
8090        ],
8091        "folk": [
8092          "American Folk Revival",
8093          "Anti - Folk",
8094          "British Folk Revival",
8095          "Contemporary Folk",
8096          "Filk Music",
8097          "Freak Folk",
8098          "Indie Folk",
8099          "Industrial Folk",
8100          "Neofolk",
8101          "Progressive Folk",
8102          "Psychedelic Folk",
8103          "Sung Poetry",
8104          "Techno - Folk",
8105          "Folk Rock",
8106          "Old-time Music",
8107          "Bluegrass",
8108          "Appalachian",
8109          "Roots Revival",
8110          "Celtic",
8111          "Indie Folk"
8112        ],
8113        "pop": [
8114          "Adult Contemporary",
8115          "Arab Pop",
8116          "Baroque",
8117          "Britpop",
8118          "Bubblegum Pop",
8119          "Chamber Pop",
8120          "Chanson",
8121          "Christian Pop",
8122          "Classical Crossover",
8123          "Europop",
8124          "Austropop",
8125          "Balkan Pop",
8126          "French Pop",
8127          "Korean Pop",
8128          "Japanese Pop",
8129          "Chinese Pop",
8130          "Latin Pop",
8131          "Laïkó",
8132          "Nederpop",
8133          "Russian Pop",
8134          "Dance Pop",
8135          "Dream Pop",
8136          "Electro Pop",
8137          "Iranian Pop",
8138          "Jangle Pop",
8139          "Latin Ballad",
8140          "Levenslied",
8141          "Louisiana Swamp Pop",
8142          "Mexican Pop",
8143          "Motorpop",
8144          "New Romanticism",
8145          "Orchestral Pop",
8146          "Pop Rap",
8147          "Popera",
8148          "Pop / Rock",
8149          "Pop Punk",
8150          "Power Pop",
8151          "Psychedelic Pop",
8152          "Russian Pop",
8153          "Schlager",
8154          "Soft Rock",
8155          "Sophisti - Pop",
8156          "Space Age Pop",
8157          "Sunshine Pop",
8158          "Surf Pop",
8159          "Synthpop",
8160          "Teen Pop",
8161          "Traditional Pop Music",
8162          "Turkish Pop",
8163          "Vispop",
8164          "Wonky Pop"
8165        ],
8166        "r&b": [
8167          "(Carolina) Beach Music",
8168          "Contemporary R & B",
8169          "Disco",
8170          "Doo Wop",
8171          "Funk",
8172          "Modern Soul",
8173          "Motown",
8174          "Neo - Soul",
8175          "Northern Soul",
8176          "Psychedelic Soul",
8177          "Quiet Storm",
8178          "Soul",
8179          "Soul Blues",
8180          "Southern Soul"
8181        ],
8182        "reggae": [
8183          "2 - Tone",
8184          "Dub",
8185          "Roots Reggae",
8186          "Reggae Fusion",
8187          "Reggae en Español",
8188          "Spanish Reggae",
8189          "Reggae 110",
8190          "Reggae Bultrón",
8191          "Romantic Flow",
8192          "Lovers Rock",
8193          "Raggamuffin",
8194          "Ragga",
8195          "Dancehall",
8196          "Ska"
8197        ],
8198        "rock": [
8199          "Acid Rock",
8200          "Adult - Oriented Rock",
8201          "Afro Punk",
8202          "Adult Alternative",
8203          "Alternative Rock",
8204          "American Traditional Rock",
8205          "Anatolian Rock",
8206          "Arena Rock",
8207          "Art Rock",
8208          "Blues - Rock",
8209          "British Invasion",
8210          "Cock Rock",
8211          "Death Metal / Black Metal",
8212          "Doom Metal",
8213          "Glam Rock",
8214          "Gothic Metal",
8215          "Grind Core",
8216          "Hair Metal",
8217          "Hard Rock",
8218          "Math Metal",
8219          "Math Rock",
8220          "Metal",
8221          "Metal Core",
8222          "Noise Rock",
8223          "Jam Bands",
8224          "Post Punk",
8225          "Post Rock",
8226          "Prog - Rock / Art Rock",
8227          "Progressive Metal",
8228          "Psychedelic",
8229          "Rock & Roll",
8230          "Rockabilly",
8231          "Roots Rock",
8232          "Singer / Songwriter",
8233          "Southern Rock",
8234          "Spazzcore",
8235          "Stoner Metal",
8236          "Surf",
8237          "Technical Death Metal",
8238          "Tex - Mex",
8239          "Thrash Metal",
8240          "Time Lord Rock(Trock)",
8241          "Trip - hop",
8242          "Yacht Rock",
8243          "School House Rock"
8244        ],
8245        "hip-hop": [
8246          "Alternative Rap",
8247          "Avant - Garde",
8248          "Bounce",
8249          "Chap Hop",
8250          "Christian Hip Hop",
8251          "Conscious Hip Hop",
8252          "Country - Rap",
8253          "Grunk",
8254          "Crunkcore",
8255          "Cumbia Rap",
8256          "Dirty South",
8257          "East Coast",
8258          "Brick City Club",
8259          "Hardcore Hip Hop",
8260          "Mafioso Rap",
8261          "New Jersey Hip Hop",
8262          "Freestyle Rap",
8263          "G - Funk",
8264          "Gangsta Rap",
8265          "Golden Age",
8266          "Grime",
8267          "Hardcore Rap",
8268          "Hip - Hop",
8269          "Hip Pop",
8270          "Horrorcore",
8271          "Hyphy",
8272          "Industrial Hip Hop",
8273          "Instrumental Hip Hop",
8274          "Jazz Rap",
8275          "Latin Rap",
8276          "Low Bap",
8277          "Lyrical Hip Hop",
8278          "Merenrap",
8279          "Midwest Hip Hop",
8280          "Chicago Hip Hop",
8281          "Detroit Hip Hop",
8282          "Horrorcore",
8283          "St.Louis Hip Hop",
8284          "Twin Cities Hip Hop",
8285          "Motswako",
8286          "Nerdcore",
8287          "New Jack Swing",
8288          "New School Hip Hop",
8289          "Old School Rap",
8290          "Rap",
8291          "Trap",
8292          "Turntablism",
8293          "Underground Rap",
8294          "West Coast Rap",
8295          "East Coast Rap",
8296          "Trap",
8297          "UK Grime",
8298          "Hyphy",
8299          "Emo-rap",
8300          "Cloud rap",
8301          "G-funk",
8302          "Boom Bap",
8303          "Mumble",
8304          "Drill",
8305          "UK Drill",
8306          "Soundcloud Rap",
8307          "Lo-fi"
8308        ],
8309        "punk": [
8310          "Afro-punk",
8311          "Anarcho punk",
8312          "Art punk",
8313          "Christian punk",
8314          "Crust punk",
8315          "Deathrock",
8316          "Egg punk",
8317          "Garage punk",
8318          "Glam punk",
8319          "Hardcore punk",
8320          "Horror punk",
8321          "Incelcore/e-punk",
8322          "Oi!",
8323          "Peace punk",
8324          "Punk pathetique",
8325          "Queercore",
8326          "Riot Grrrl",
8327          "Skate punk",
8328          "Street punk",
8329          "Taqwacore",
8330          "Trallpunk"
8331        ],
8332        "disco": [
8333          "Nu-disco",
8334          "Disco-funk",
8335          "Hi-NRG",
8336          "Italo Disco",
8337          "Eurodisco",
8338          "Boogie",
8339          "Space Disco",
8340          "Post-disco",
8341          "Electro Disco",
8342          "Disco House",
8343          "Disco Pop",
8344          "Soulful House"
8345        ],
8346        "funk": [
8347          "Funk Rock",
8348          "P-Funk (Parliament-Funkadelic)",
8349          "Psychedelic Funk",
8350          "Funk Metal",
8351          "Electro-Funk",
8352          "Go-go",
8353          "Boogie-Funk",
8354          "Jazz-Funk",
8355          "Soul-Funk",
8356          "Funky Disco",
8357          "Nu-Funk",
8358          "Afrobeat",
8359          "Latin Funk",
8360          "G-Funk",
8361          "Acid Jazz",
8362          "Funktronica",
8363          "Folk-Funk",
8364          "Space Funk",
8365          "Ambient Funk",
8366          "Hard Funk",
8367          "Fusion Funk"
8368        ],
8369        "techno": [
8370          "Acid Techno",
8371          "Ambient Techno",
8372          "Detroit Techno",
8373          "Dub Techno",
8374          "Minimal Techno",
8375          "Industrial Techno",
8376          "Hard Techno",
8377          "Trance",
8378          "Progressive Techno",
8379          "Tech House",
8380          "Electronica",
8381          "Breakbeat Techno",
8382          "Electro Techno",
8383          "Melodic Techno",
8384          "Experimental Techno",
8385          "Dark Techno",
8386          "Ebm",
8387          "Hypnotic Techno",
8388          "Psychedelic Techno",
8389          "Rave Techno",
8390          "Techno-Pop"
8391        ],
8392        "indie": [
8393          "Indie Rock",
8394          "Indie Pop",
8395          "Indie Folk",
8396          "Indie Electronic",
8397          "Indie Punk",
8398          "Indie Hip-Hop",
8399          "Dream Pop",
8400          "Shoegaze",
8401          "Lo-fi",
8402          "Chillwave",
8403          "Freak Folk",
8404          "Noise Pop",
8405          "Math Rock",
8406          "Post-Punk",
8407          "Garage Rock",
8408          "Experimental Indie",
8409          "Surf Rock",
8410          "Alternative Country",
8411          "Indie Soul",
8412          "Art Rock",
8413          "Indie R&B",
8414          "Indietronica",
8415          "Emo",
8416          "Post-Rock",
8417          "Indie Pop-Rock",
8418          "Indie Synthpop",
8419          "Noise Rock",
8420          "Psych Folk",
8421          "Indie Blues"
8422        ],
8423        "gospel": [
8424          "Traditional Gospel",
8425          "Contemporary Gospel",
8426          "Southern Gospel",
8427          "Black Gospel",
8428          "Urban Contemporary Gospel",
8429          "Gospel Blues",
8430          "Bluegrass Gospel",
8431          "Country Gospel",
8432          "Praise and Worship",
8433          "Christian Hip-Hop",
8434          "Gospel Jazz",
8435          "Reggae Gospel",
8436          "African Gospel",
8437          "Latin Gospel",
8438          "R&B Gospel",
8439          "Gospel Choir",
8440          "Acappella Gospel",
8441          "Instrumental Gospel",
8442          "Gospel Rap"
8443        ],
8444        "world": [
8445          "African",
8446          "Arabic",
8447          "Asian",
8448          "Caribbean",
8449          "Celtic",
8450          "European",
8451          "Latin American",
8452          "Middle Eastern",
8453          "Native American",
8454          "Polynesian",
8455          "Reggae",
8456          "Ska",
8457          "Salsa",
8458          "Flamenco",
8459          "Bossa Nova",
8460          "Tango",
8461          "Fado",
8462          "Klezmer",
8463          "Balkan",
8464          "Afrobeat",
8465          "Mongolian Throat Singing",
8466          "Indian Classical",
8467          "Gamelan",
8468          "Sufi Music",
8469          "Zydeco",
8470          "Kora Music",
8471          "Andean Music",
8472          "Irish Traditional",
8473          "Gypsy Jazz",
8474          "Bollywood",
8475          "Bhangra",
8476          "Jawaiian",
8477          "Hawaiian Slack Key Guitar",
8478          "Calypso",
8479          "Cuban Son",
8480          "Taiko Drumming",
8481          "African Highlife",
8482          "Merengue",
8483          "Tuvan Throat Singing"
8484        ]
8485      },
8486      // Data sourced from https://unicode.org/emoji/charts/full-emoji-list.html
8487      emojis: {
8488        "smileys_and_emotion": [
8489          "0x1f600",
8490          "0x1f603",
8491          "0x1f604",
8492          "0x1f601",
8493          "0x1f606",
8494          "0x1f605",
8495          "0x1f923",
8496          "0x1f602",
8497          "0x1f642",
8498          "0x1f643",
8499          "0x1fae0",
8500          "0x1f609",
8501          "0x1f60a",
8502          "0x1f607",
8503          "0x1f970",
8504          "0x1f60d",
8505          "0x1f929",
8506          "0x1f618",
8507          "0x1f617",
8508          "0x263a",
8509          "0x1f61a",
8510          "0x1f619",
8511          "0x1f972",
8512          "0x1f60b",
8513          "0x1f61b",
8514          "0x1f61c",
8515          "0x1f92a",
8516          "0x1f61d",
8517          "0x1f911",
8518          "0x1f917",
8519          "0x1f92d",
8520          "0x1fae2",
8521          "0x1fae3",
8522          "0x1f92b",
8523          "0x1f914",
8524          "0x1fae1",
8525          "0x1f910",
8526          "0x1f928",
8527          "0x1f610",
8528          "0x1f611",
8529          "0x1f636",
8530          "0x1fae5",
8531          "0x1f636",
8532          "0x200d",
8533          "0x1f32b",
8534          "0xfe0f",
8535          "0x1f60f",
8536          "0x1f612",
8537          "0x1f644",
8538          "0x1f62c",
8539          "0x1f62e",
8540          "0x200d",
8541          "0x1f4a8",
8542          "0x1f925",
8543          "0x1fae8",
8544          "0x1f642",
8545          "0x200d",
8546          "0x2194",
8547          "0xfe0f",
8548          "0x1f642",
8549          "0x200d",
8550          "0x2195",
8551          "0xfe0f",
8552          "0x1f60c",
8553          "0x1f614",
8554          "0x1f62a",
8555          "0x1f924",
8556          "0x1f634",
8557          "0x1f637",
8558          "0x1f912",
8559          "0x1f915",
8560          "0x1f922",
8561          "0x1f92e",
8562          "0x1f927",
8563          "0x1f975",
8564          "0x1f976",
8565          "0x1f974",
8566          "0x1f635",
8567          "0x1f635",
8568          "0x200d",
8569          "0x1f4ab",
8570          "0x1f92f",
8571          "0x1f920",
8572          "0x1f973",
8573          "0x1f978",
8574          "0x1f60e",
8575          "0x1f913",
8576          "0x1f9d0",
8577          "0x1f615",
8578          "0x1fae4",
8579          "0x1f61f",
8580          "0x1f641",
8581          "0x2639",
8582          "0x1f62e",
8583          "0x1f62f",
8584          "0x1f632",
8585          "0x1f633",
8586          "0x1f97a",
8587          "0x1f979",
8588          "0x1f626",
8589          "0x1f627",
8590          "0x1f628",
8591          "0x1f630",
8592          "0x1f625",
8593          "0x1f622",
8594          "0x1f62d",
8595          "0x1f631",
8596          "0x1f616",
8597          "0x1f623",
8598          "0x1f61e",
8599          "0x1f613",
8600          "0x1f629",
8601          "0x1f62b",
8602          "0x1f971",
8603          "0x1f624",
8604          "0x1f621",
8605          "0x1f620",
8606          "0x1f92c",
8607          "0x1f608",
8608          "0x1f47f",
8609          "0x1f480",
8610          "0x2620",
8611          "0x1f4a9",
8612          "0x1f921",
8613          "0x1f479",
8614          "0x1f47a",
8615          "0x1f47b",
8616          "0x1f47d",
8617          "0x1f47e",
8618          "0x1f916",
8619          "0x1f63a",
8620          "0x1f638",
8621          "0x1f639",
8622          "0x1f63b",
8623          "0x1f63c",
8624          "0x1f63d",
8625          "0x1f640",
8626          "0x1f63f",
8627          "0x1f63e",
8628          "0x1f648",
8629          "0x1f649",
8630          "0x1f64a",
8631          "0x1f48c",
8632          "0x1f498",
8633          "0x1f49d",
8634          "0x1f496",
8635          "0x1f497",
8636          "0x1f493",
8637          "0x1f49e",
8638          "0x1f495",
8639          "0x1f49f",
8640          "0x2763",
8641          "0x1f494",
8642          "0x2764",
8643          "0xfe0f",
8644          "0x200d",
8645          "0x1f525",
8646          "0x2764",
8647          "0xfe0f",
8648          "0x200d",
8649          "0x1fa79",
8650          "0x2764",
8651          "0x1fa77",
8652          "0x1f9e1",
8653          "0x1f49b",
8654          "0x1f49a",
8655          "0x1f499",
8656          "0x1fa75",
8657          "0x1f49c",
8658          "0x1f90e",
8659          "0x1f5a4",
8660          "0x1fa76",
8661          "0x1f90d",
8662          "0x1f48b",
8663          "0x1f4af",
8664          "0x1f4a2",
8665          "0x1f4a5",
8666          "0x1f4ab",
8667          "0x1f4a6",
8668          "0x1f4a8",
8669          "0x1f573",
8670          "0x1f4ac",
8671          "0x1f441",
8672          "0xfe0f",
8673          "0x200d",
8674          "0x1f5e8",
8675          "0xfe0f",
8676          "0x1f5e8",
8677          "0x1f5ef",
8678          "0x1f4ad",
8679          "0x1f4a4"
8680        ],
8681        "people_and_body": [
8682          "0x1f44b",
8683          "0x1f91a",
8684          "0x1f590",
8685          "0x270b",
8686          "0x1f596",
8687          "0x1faf1",
8688          "0x1faf2",
8689          "0x1faf3",
8690          "0x1faf4",
8691          "0x1faf7",
8692          "0x1faf8",
8693          "0x1f44c",
8694          "0x1f90c",
8695          "0x1f90f",
8696          "0x270c",
8697          "0x1f91e",
8698          "0x1faf0",
8699          "0x1f91f",
8700          "0x1f918",
8701          "0x1f919",
8702          "0x1f448",
8703          "0x1f449",
8704          "0x1f446",
8705          "0x1f595",
8706          "0x1f447",
8707          "0x261d",
8708          "0x1faf5",
8709          "0x1f44d",
8710          "0x1f44e",
8711          "0x270a",
8712          "0x1f44a",
8713          "0x1f91b",
8714          "0x1f91c",
8715          "0x1f44f",
8716          "0x1f64c",
8717          "0x1faf6",
8718          "0x1f450",
8719          "0x1f932",
8720          "0x1f91d",
8721          "0x1f64f",
8722          "0x270d",
8723          "0x1f485",
8724          "0x1f933",
8725          "0x1f4aa",
8726          "0x1f9be",
8727          "0x1f9bf",
8728          "0x1f9b5",
8729          "0x1f9b6",
8730          "0x1f442",
8731          "0x1f9bb",
8732          "0x1f443",
8733          "0x1f9e0",
8734          "0x1fac0",
8735          "0x1fac1",
8736          "0x1f9b7",
8737          "0x1f9b4",
8738          "0x1f440",
8739          "0x1f441",
8740          "0x1f445",
8741          "0x1f444",
8742          "0x1fae6",
8743          "0x1f476",
8744          "0x1f9d2",
8745          "0x1f466",
8746          "0x1f467",
8747          "0x1f9d1",
8748          "0x1f471",
8749          "0x1f468",
8750          "0x1f9d4",
8751          "0x1f9d4",
8752          "0x200d",
8753          "0x2642",
8754          "0xfe0f",
8755          "0x1f9d4",
8756          "0x200d",
8757          "0x2640",
8758          "0xfe0f",
8759          "0x1f468",
8760          "0x200d",
8761          "0x1f9b0",
8762          "0x1f468",
8763          "0x200d",
8764          "0x1f9b1",
8765          "0x1f468",
8766          "0x200d",
8767          "0x1f9b3",
8768          "0x1f468",
8769          "0x200d",
8770          "0x1f9b2",
8771          "0x1f469",
8772          "0x1f469",
8773          "0x200d",
8774          "0x1f9b0",
8775          "0x1f9d1",
8776          "0x200d",
8777          "0x1f9b0",
8778          "0x1f469",
8779          "0x200d",
8780          "0x1f9b1",
8781          "0x1f9d1",
8782          "0x200d",
8783          "0x1f9b1",
8784          "0x1f469",
8785          "0x200d",
8786          "0x1f9b3",
8787          "0x1f9d1",
8788          "0x200d",
8789          "0x1f9b3",
8790          "0x1f469",
8791          "0x200d",
8792          "0x1f9b2",
8793          "0x1f9d1",
8794          "0x200d",
8795          "0x1f9b2",
8796          "0x1f471",
8797          "0x200d",
8798          "0x2640",
8799          "0xfe0f",
8800          "0x1f471",
8801          "0x200d",
8802          "0x2642",
8803          "0xfe0f",
8804          "0x1f9d3",
8805          "0x1f474",
8806          "0x1f475",
8807          "0x1f64d",
8808          "0x1f64d",
8809          "0x200d",
8810          "0x2642",
8811          "0xfe0f",
8812          "0x1f64d",
8813          "0x200d",
8814          "0x2640",
8815          "0xfe0f",
8816          "0x1f64e",
8817          "0x1f64e",
8818          "0x200d",
8819          "0x2642",
8820          "0xfe0f",
8821          "0x1f64e",
8822          "0x200d",
8823          "0x2640",
8824          "0xfe0f",
8825          "0x1f645",
8826          "0x1f645",
8827          "0x200d",
8828          "0x2642",
8829          "0xfe0f",
8830          "0x1f645",
8831          "0x200d",
8832          "0x2640",
8833          "0xfe0f",
8834          "0x1f646",
8835          "0x1f646",
8836          "0x200d",
8837          "0x2642",
8838          "0xfe0f",
8839          "0x1f646",
8840          "0x200d",
8841          "0x2640",
8842          "0xfe0f",
8843          "0x1f481",
8844          "0x1f481",
8845          "0x200d",
8846          "0x2642",
8847          "0xfe0f",
8848          "0x1f481",
8849          "0x200d",
8850          "0x2640",
8851          "0xfe0f",
8852          "0x1f64b",
8853          "0x1f64b",
8854          "0x200d",
8855          "0x2642",
8856          "0xfe0f",
8857          "0x1f64b",
8858          "0x200d",
8859          "0x2640",
8860          "0xfe0f",
8861          "0x1f9cf",
8862          "0x1f9cf",
8863          "0x200d",
8864          "0x2642",
8865          "0xfe0f",
8866          "0x1f9cf",
8867          "0x200d",
8868          "0x2640",
8869          "0xfe0f",
8870          "0x1f647",
8871          "0x1f647",
8872          "0x200d",
8873          "0x2642",
8874          "0xfe0f",
8875          "0x1f647",
8876          "0x200d",
8877          "0x2640",
8878          "0xfe0f",
8879          "0x1f926",
8880          "0x1f926",
8881          "0x200d",
8882          "0x2642",
8883          "0xfe0f",
8884          "0x1f926",
8885          "0x200d",
8886          "0x2640",
8887          "0xfe0f",
8888          "0x1f937",
8889          "0x1f937",
8890          "0x200d",
8891          "0x2642",
8892          "0xfe0f",
8893          "0x1f937",
8894          "0x200d",
8895          "0x2640",
8896          "0xfe0f",
8897          "0x1f9d1",
8898          "0x200d",
8899          "0x2695",
8900          "0xfe0f",
8901          "0x1f468",
8902          "0x200d",
8903          "0x2695",
8904          "0xfe0f",
8905          "0x1f469",
8906          "0x200d",
8907          "0x2695",
8908          "0xfe0f",
8909          "0x1f9d1",
8910          "0x200d",
8911          "0x1f393",
8912          "0x1f468",
8913          "0x200d",
8914          "0x1f393",
8915          "0x1f469",
8916          "0x200d",
8917          "0x1f393",
8918          "0x1f9d1",
8919          "0x200d",
8920          "0x1f3eb",
8921          "0x1f468",
8922          "0x200d",
8923          "0x1f3eb",
8924          "0x1f469",
8925          "0x200d",
8926          "0x1f3eb",
8927          "0x1f9d1",
8928          "0x200d",
8929          "0x2696",
8930          "0xfe0f",
8931          "0x1f468",
8932          "0x200d",
8933          "0x2696",
8934          "0xfe0f",
8935          "0x1f469",
8936          "0x200d",
8937          "0x2696",
8938          "0xfe0f",
8939          "0x1f9d1",
8940          "0x200d",
8941          "0x1f33e",
8942          "0x1f468",
8943          "0x200d",
8944          "0x1f33e",
8945          "0x1f469",
8946          "0x200d",
8947          "0x1f33e",
8948          "0x1f9d1",
8949          "0x200d",
8950          "0x1f373",
8951          "0x1f468",
8952          "0x200d",
8953          "0x1f373",
8954          "0x1f469",
8955          "0x200d",
8956          "0x1f373",
8957          "0x1f9d1",
8958          "0x200d",
8959          "0x1f527",
8960          "0x1f468",
8961          "0x200d",
8962          "0x1f527",
8963          "0x1f469",
8964          "0x200d",
8965          "0x1f527",
8966          "0x1f9d1",
8967          "0x200d",
8968          "0x1f3ed",
8969          "0x1f468",
8970          "0x200d",
8971          "0x1f3ed",
8972          "0x1f469",
8973          "0x200d",
8974          "0x1f3ed",
8975          "0x1f9d1",
8976          "0x200d",
8977          "0x1f4bc",
8978          "0x1f468",
8979          "0x200d",
8980          "0x1f4bc",
8981          "0x1f469",
8982          "0x200d",
8983          "0x1f4bc",
8984          "0x1f9d1",
8985          "0x200d",
8986          "0x1f52c",
8987          "0x1f468",
8988          "0x200d",
8989          "0x1f52c",
8990          "0x1f469",
8991          "0x200d",
8992          "0x1f52c",
8993          "0x1f9d1",
8994          "0x200d",
8995          "0x1f4bb",
8996          "0x1f468",
8997          "0x200d",
8998          "0x1f4bb",
8999          "0x1f469",
9000          "0x200d",
9001          "0x1f4bb",
9002          "0x1f9d1",
9003          "0x200d",
9004          "0x1f3a4",
9005          "0x1f468",
9006          "0x200d",
9007          "0x1f3a4",
9008          "0x1f469",
9009          "0x200d",
9010          "0x1f3a4",
9011          "0x1f9d1",
9012          "0x200d",
9013          "0x1f3a8",
9014          "0x1f468",
9015          "0x200d",
9016          "0x1f3a8",
9017          "0x1f469",
9018          "0x200d",
9019          "0x1f3a8",
9020          "0x1f9d1",
9021          "0x200d",
9022          "0x2708",
9023          "0xfe0f",
9024          "0x1f468",
9025          "0x200d",
9026          "0x2708",
9027          "0xfe0f",
9028          "0x1f469",
9029          "0x200d",
9030          "0x2708",
9031          "0xfe0f",
9032          "0x1f9d1",
9033          "0x200d",
9034          "0x1f680",
9035          "0x1f468",
9036          "0x200d",
9037          "0x1f680",
9038          "0x1f469",
9039          "0x200d",
9040          "0x1f680",
9041          "0x1f9d1",
9042          "0x200d",
9043          "0x1f692",
9044          "0x1f468",
9045          "0x200d",
9046          "0x1f692",
9047          "0x1f469",
9048          "0x200d",
9049          "0x1f692",
9050          "0x1f46e",
9051          "0x1f46e",
9052          "0x200d",
9053          "0x2642",
9054          "0xfe0f",
9055          "0x1f46e",
9056          "0x200d",
9057          "0x2640",
9058          "0xfe0f",
9059          "0x1f575",
9060          "0x1f575",
9061          "0xfe0f",
9062          "0x200d",
9063          "0x2642",
9064          "0xfe0f",
9065          "0x1f575",
9066          "0xfe0f",
9067          "0x200d",
9068          "0x2640",
9069          "0xfe0f",
9070          "0x1f482",
9071          "0x1f482",
9072          "0x200d",
9073          "0x2642",
9074          "0xfe0f",
9075          "0x1f482",
9076          "0x200d",
9077          "0x2640",
9078          "0xfe0f",
9079          "0x1f977",
9080          "0x1f477",
9081          "0x1f477",
9082          "0x200d",
9083          "0x2642",
9084          "0xfe0f",
9085          "0x1f477",
9086          "0x200d",
9087          "0x2640",
9088          "0xfe0f",
9089          "0x1fac5",
9090          "0x1f934",
9091          "0x1f478",
9092          "0x1f473",
9093          "0x1f473",
9094          "0x200d",
9095          "0x2642",
9096          "0xfe0f",
9097          "0x1f473",
9098          "0x200d",
9099          "0x2640",
9100          "0xfe0f",
9101          "0x1f472",
9102          "0x1f9d5",
9103          "0x1f935",
9104          "0x1f935",
9105          "0x200d",
9106          "0x2642",
9107          "0xfe0f",
9108          "0x1f935",
9109          "0x200d",
9110          "0x2640",
9111          "0xfe0f",
9112          "0x1f470",
9113          "0x1f470",
9114          "0x200d",
9115          "0x2642",
9116          "0xfe0f",
9117          "0x1f470",
9118          "0x200d",
9119          "0x2640",
9120          "0xfe0f",
9121          "0x1f930",
9122          "0x1fac3",
9123          "0x1fac4",
9124          "0x1f931",
9125          "0x1f469",
9126          "0x200d",
9127          "0x1f37c",
9128          "0x1f468",
9129          "0x200d",
9130          "0x1f37c",
9131          "0x1f9d1",
9132          "0x200d",
9133          "0x1f37c",
9134          "0x1f47c",
9135          "0x1f385",
9136          "0x1f936",
9137          "0x1f9d1",
9138          "0x200d",
9139          "0x1f384",
9140          "0x1f9b8",
9141          "0x1f9b8",
9142          "0x200d",
9143          "0x2642",
9144          "0xfe0f",
9145          "0x1f9b8",
9146          "0x200d",
9147          "0x2640",
9148          "0xfe0f",
9149          "0x1f9b9",
9150          "0x1f9b9",
9151          "0x200d",
9152          "0x2642",
9153          "0xfe0f",
9154          "0x1f9b9",
9155          "0x200d",
9156          "0x2640",
9157          "0xfe0f",
9158          "0x1f9d9",
9159          "0x1f9d9",
9160          "0x200d",
9161          "0x2642",
9162          "0xfe0f",
9163          "0x1f9d9",
9164          "0x200d",
9165          "0x2640",
9166          "0xfe0f",
9167          "0x1f9da",
9168          "0x1f9da",
9169          "0x200d",
9170          "0x2642",
9171          "0xfe0f",
9172          "0x1f9da",
9173          "0x200d",
9174          "0x2640",
9175          "0xfe0f",
9176          "0x1f9db",
9177          "0x1f9db",
9178          "0x200d",
9179          "0x2642",
9180          "0xfe0f",
9181          "0x1f9db",
9182          "0x200d",
9183          "0x2640",
9184          "0xfe0f",
9185          "0x1f9dc",
9186          "0x1f9dc",
9187          "0x200d",
9188          "0x2642",
9189          "0xfe0f",
9190          "0x1f9dc",
9191          "0x200d",
9192          "0x2640",
9193          "0xfe0f",
9194          "0x1f9dd",
9195          "0x1f9dd",
9196          "0x200d",
9197          "0x2642",
9198          "0xfe0f",
9199          "0x1f9dd",
9200          "0x200d",
9201          "0x2640",
9202          "0xfe0f",
9203          "0x1f9de",
9204          "0x1f9de",
9205          "0x200d",
9206          "0x2642",
9207          "0xfe0f",
9208          "0x1f9de",
9209          "0x200d",
9210          "0x2640",
9211          "0xfe0f",
9212          "0x1f9df",
9213          "0x1f9df",
9214          "0x200d",
9215          "0x2642",
9216          "0xfe0f",
9217          "0x1f9df",
9218          "0x200d",
9219          "0x2640",
9220          "0xfe0f",
9221          "0x1f9cc",
9222          "0x1f486",
9223          "0x1f486",
9224          "0x200d",
9225          "0x2642",
9226          "0xfe0f",
9227          "0x1f486",
9228          "0x200d",
9229          "0x2640",
9230          "0xfe0f",
9231          "0x1f487",
9232          "0x1f487",
9233          "0x200d",
9234          "0x2642",
9235          "0xfe0f",
9236          "0x1f487",
9237          "0x200d",
9238          "0x2640",
9239          "0xfe0f",
9240          "0x1f6b6",
9241          "0x1f6b6",
9242          "0x200d",
9243          "0x2642",
9244          "0xfe0f",
9245          "0x1f6b6",
9246          "0x200d",
9247          "0x2640",
9248          "0xfe0f",
9249          "0x1f6b6",
9250          "0x200d",
9251          "0x27a1",
9252          "0xfe0f",
9253          "0x1f6b6",
9254          "0x200d",
9255          "0x2640",
9256          "0xfe0f",
9257          "0x200d",
9258          "0x27a1",
9259          "0xfe0f",
9260          "0x1f6b6",
9261          "0x200d",
9262          "0x2642",
9263          "0xfe0f",
9264          "0x200d",
9265          "0x27a1",
9266          "0xfe0f",
9267          "0x1f9cd",
9268          "0x1f9cd",
9269          "0x200d",
9270          "0x2642",
9271          "0xfe0f",
9272          "0x1f9cd",
9273          "0x200d",
9274          "0x2640",
9275          "0xfe0f",
9276          "0x1f9ce",
9277          "0x1f9ce",
9278          "0x200d",
9279          "0x2642",
9280          "0xfe0f",
9281          "0x1f9ce",
9282          "0x200d",
9283          "0x2640",
9284          "0xfe0f",
9285          "0x1f9ce",
9286          "0x200d",
9287          "0x27a1",
9288          "0xfe0f",
9289          "0x1f9ce",
9290          "0x200d",
9291          "0x2640",
9292          "0xfe0f",
9293          "0x200d",
9294          "0x27a1",
9295          "0xfe0f",
9296          "0x1f9ce",
9297          "0x200d",
9298          "0x2642",
9299          "0xfe0f",
9300          "0x200d",
9301          "0x27a1",
9302          "0xfe0f",
9303          "0x1f9d1",
9304          "0x200d",
9305          "0x1f9af",
9306          "0x1f9d1",
9307          "0x200d",
9308          "0x1f9af",
9309          "0x200d",
9310          "0x27a1",
9311          "0xfe0f",
9312          "0x1f468",
9313          "0x200d",
9314          "0x1f9af",
9315          "0x1f468",
9316          "0x200d",
9317          "0x1f9af",
9318          "0x200d",
9319          "0x27a1",
9320          "0xfe0f",
9321          "0x1f469",
9322          "0x200d",
9323          "0x1f9af",
9324          "0x1f469",
9325          "0x200d",
9326          "0x1f9af",
9327          "0x200d",
9328          "0x27a1",
9329          "0xfe0f",
9330          "0x1f9d1",
9331          "0x200d",
9332          "0x1f9bc",
9333          "0x1f9d1",
9334          "0x200d",
9335          "0x1f9bc",
9336          "0x200d",
9337          "0x27a1",
9338          "0xfe0f",
9339          "0x1f468",
9340          "0x200d",
9341          "0x1f9bc",
9342          "0x1f468",
9343          "0x200d",
9344          "0x1f9bc",
9345          "0x200d",
9346          "0x27a1",
9347          "0xfe0f",
9348          "0x1f469",
9349          "0x200d",
9350          "0x1f9bc",
9351          "0x1f469",
9352          "0x200d",
9353          "0x1f9bc",
9354          "0x200d",
9355          "0x27a1",
9356          "0xfe0f",
9357          "0x1f9d1",
9358          "0x200d",
9359          "0x1f9bd",
9360          "0x1f9d1",
9361          "0x200d",
9362          "0x1f9bd",
9363          "0x200d",
9364          "0x27a1",
9365          "0xfe0f",
9366          "0x1f468",
9367          "0x200d",
9368          "0x1f9bd",
9369          "0x1f468",
9370          "0x200d",
9371          "0x1f9bd",
9372          "0x200d",
9373          "0x27a1",
9374          "0xfe0f",
9375          "0x1f469",
9376          "0x200d",
9377          "0x1f9bd",
9378          "0x1f469",
9379          "0x200d",
9380          "0x1f9bd",
9381          "0x200d",
9382          "0x27a1",
9383          "0xfe0f",
9384          "0x1f3c3",
9385          "0x1f3c3",
9386          "0x200d",
9387          "0x2642",
9388          "0xfe0f",
9389          "0x1f3c3",
9390          "0x200d",
9391          "0x2640",
9392          "0xfe0f",
9393          "0x1f3c3",
9394          "0x200d",
9395          "0x27a1",
9396          "0xfe0f",
9397          "0x1f3c3",
9398          "0x200d",
9399          "0x2640",
9400          "0xfe0f",
9401          "0x200d",
9402          "0x27a1",
9403          "0xfe0f",
9404          "0x1f3c3",
9405          "0x200d",
9406          "0x2642",
9407          "0xfe0f",
9408          "0x200d",
9409          "0x27a1",
9410          "0xfe0f",
9411          "0x1f483",
9412          "0x1f57a",
9413          "0x1f574",
9414          "0x1f46f",
9415          "0x1f46f",
9416          "0x200d",
9417          "0x2642",
9418          "0xfe0f",
9419          "0x1f46f",
9420          "0x200d",
9421          "0x2640",
9422          "0xfe0f",
9423          "0x1f9d6",
9424          "0x1f9d6",
9425          "0x200d",
9426          "0x2642",
9427          "0xfe0f",
9428          "0x1f9d6",
9429          "0x200d",
9430          "0x2640",
9431          "0xfe0f",
9432          "0x1f9d7",
9433          "0x1f9d7",
9434          "0x200d",
9435          "0x2642",
9436          "0xfe0f",
9437          "0x1f9d7",
9438          "0x200d",
9439          "0x2640",
9440          "0xfe0f",
9441          "0x1f93a",
9442          "0x1f3c7",
9443          "0x26f7",
9444          "0x1f3c2",
9445          "0x1f3cc",
9446          "0x1f3cc",
9447          "0xfe0f",
9448          "0x200d",
9449          "0x2642",
9450          "0xfe0f",
9451          "0x1f3cc",
9452          "0xfe0f",
9453          "0x200d",
9454          "0x2640",
9455          "0xfe0f",
9456          "0x1f3c4",
9457          "0x1f3c4",
9458          "0x200d",
9459          "0x2642",
9460          "0xfe0f",
9461          "0x1f3c4",
9462          "0x200d",
9463          "0x2640",
9464          "0xfe0f",
9465          "0x1f6a3",
9466          "0x1f6a3",
9467          "0x200d",
9468          "0x2642",
9469          "0xfe0f",
9470          "0x1f6a3",
9471          "0x200d",
9472          "0x2640",
9473          "0xfe0f",
9474          "0x1f3ca",
9475          "0x1f3ca",
9476          "0x200d",
9477          "0x2642",
9478          "0xfe0f",
9479          "0x1f3ca",
9480          "0x200d",
9481          "0x2640",
9482          "0xfe0f",
9483          "0x26f9",
9484          "0x26f9",
9485          "0xfe0f",
9486          "0x200d",
9487          "0x2642",
9488          "0xfe0f",
9489          "0x26f9",
9490          "0xfe0f",
9491          "0x200d",
9492          "0x2640",
9493          "0xfe0f",
9494          "0x1f3cb",
9495          "0x1f3cb",
9496          "0xfe0f",
9497          "0x200d",
9498          "0x2642",
9499          "0xfe0f",
9500          "0x1f3cb",
9501          "0xfe0f",
9502          "0x200d",
9503          "0x2640",
9504          "0xfe0f",
9505          "0x1f6b4",
9506          "0x1f6b4",
9507          "0x200d",
9508          "0x2642",
9509          "0xfe0f",
9510          "0x1f6b4",
9511          "0x200d",
9512          "0x2640",
9513          "0xfe0f",
9514          "0x1f6b5",
9515          "0x1f6b5",
9516          "0x200d",
9517          "0x2642",
9518          "0xfe0f",
9519          "0x1f6b5",
9520          "0x200d",
9521          "0x2640",
9522          "0xfe0f",
9523          "0x1f938",
9524          "0x1f938",
9525          "0x200d",
9526          "0x2642",
9527          "0xfe0f",
9528          "0x1f938",
9529          "0x200d",
9530          "0x2640",
9531          "0xfe0f",
9532          "0x1f93c",
9533          "0x1f93c",
9534          "0x200d",
9535          "0x2642",
9536          "0xfe0f",
9537          "0x1f93c",
9538          "0x200d",
9539          "0x2640",
9540          "0xfe0f",
9541          "0x1f93d",
9542          "0x1f93d",
9543          "0x200d",
9544          "0x2642",
9545          "0xfe0f",
9546          "0x1f93d",
9547          "0x200d",
9548          "0x2640",
9549          "0xfe0f",
9550          "0x1f93e",
9551          "0x1f93e",
9552          "0x200d",
9553          "0x2642",
9554          "0xfe0f",
9555          "0x1f93e",
9556          "0x200d",
9557          "0x2640",
9558          "0xfe0f",
9559          "0x1f939",
9560          "0x1f939",
9561          "0x200d",
9562          "0x2642",
9563          "0xfe0f",
9564          "0x1f939",
9565          "0x200d",
9566          "0x2640",
9567          "0xfe0f",
9568          "0x1f9d8",
9569          "0x1f9d8",
9570          "0x200d",
9571          "0x2642",
9572          "0xfe0f",
9573          "0x1f9d8",
9574          "0x200d",
9575          "0x2640",
9576          "0xfe0f",
9577          "0x1f6c0",
9578          "0x1f6cc",
9579          "0x1f9d1",
9580          "0x200d",
9581          "0x1f91d",
9582          "0x200d",
9583          "0x1f9d1",
9584          "0x1f46d",
9585          "0x1f46b",
9586          "0x1f46c",
9587          "0x1f48f",
9588          "0x1f469",
9589          "0x200d",
9590          "0x2764",
9591          "0xfe0f",
9592          "0x200d",
9593          "0x1f48b",
9594          "0x200d",
9595          "0x1f468",
9596          "0x1f468",
9597          "0x200d",
9598          "0x2764",
9599          "0xfe0f",
9600          "0x200d",
9601          "0x1f48b",
9602          "0x200d",
9603          "0x1f468",
9604          "0x1f469",
9605          "0x200d",
9606          "0x2764",
9607          "0xfe0f",
9608          "0x200d",
9609          "0x1f48b",
9610          "0x200d",
9611          "0x1f469",
9612          "0x1f491",
9613          "0x1f469",
9614          "0x200d",
9615          "0x2764",
9616          "0xfe0f",
9617          "0x200d",
9618          "0x1f468",
9619          "0x1f468",
9620          "0x200d",
9621          "0x2764",
9622          "0xfe0f",
9623          "0x200d",
9624          "0x1f468",
9625          "0x1f469",
9626          "0x200d",
9627          "0x2764",
9628          "0xfe0f",
9629          "0x200d",
9630          "0x1f469",
9631          "0x1f468",
9632          "0x200d",
9633          "0x1f469",
9634          "0x200d",
9635          "0x1f466",
9636          "0x1f468",
9637          "0x200d",
9638          "0x1f469",
9639          "0x200d",
9640          "0x1f467",
9641          "0x1f468",
9642          "0x200d",
9643          "0x1f469",
9644          "0x200d",
9645          "0x1f467",
9646          "0x200d",
9647          "0x1f466",
9648          "0x1f468",
9649          "0x200d",
9650          "0x1f469",
9651          "0x200d",
9652          "0x1f466",
9653          "0x200d",
9654          "0x1f466",
9655          "0x1f468",
9656          "0x200d",
9657          "0x1f469",
9658          "0x200d",
9659          "0x1f467",
9660          "0x200d",
9661          "0x1f467",
9662          "0x1f468",
9663          "0x200d",
9664          "0x1f468",
9665          "0x200d",
9666          "0x1f466",
9667          "0x1f468",
9668          "0x200d",
9669          "0x1f468",
9670          "0x200d",
9671          "0x1f467",
9672          "0x1f468",
9673          "0x200d",
9674          "0x1f468",
9675          "0x200d",
9676          "0x1f467",
9677          "0x200d",
9678          "0x1f466",
9679          "0x1f468",
9680          "0x200d",
9681          "0x1f468",
9682          "0x200d",
9683          "0x1f466",
9684          "0x200d",
9685          "0x1f466",
9686          "0x1f468",
9687          "0x200d",
9688          "0x1f468",
9689          "0x200d",
9690          "0x1f467",
9691          "0x200d",
9692          "0x1f467",
9693          "0x1f469",
9694          "0x200d",
9695          "0x1f469",
9696          "0x200d",
9697          "0x1f466",
9698          "0x1f469",
9699          "0x200d",
9700          "0x1f469",
9701          "0x200d",
9702          "0x1f467",
9703          "0x1f469",
9704          "0x200d",
9705          "0x1f469",
9706          "0x200d",
9707          "0x1f467",
9708          "0x200d",
9709          "0x1f466",
9710          "0x1f469",
9711          "0x200d",
9712          "0x1f469",
9713          "0x200d",
9714          "0x1f466",
9715          "0x200d",
9716          "0x1f466",
9717          "0x1f469",
9718          "0x200d",
9719          "0x1f469",
9720          "0x200d",
9721          "0x1f467",
9722          "0x200d",
9723          "0x1f467",
9724          "0x1f468",
9725          "0x200d",
9726          "0x1f466",
9727          "0x1f468",
9728          "0x200d",
9729          "0x1f466",
9730          "0x200d",
9731          "0x1f466",
9732          "0x1f468",
9733          "0x200d",
9734          "0x1f467",
9735          "0x1f468",
9736          "0x200d",
9737          "0x1f467",
9738          "0x200d",
9739          "0x1f466",
9740          "0x1f468",
9741          "0x200d",
9742          "0x1f467",
9743          "0x200d",
9744          "0x1f467",
9745          "0x1f469",
9746          "0x200d",
9747          "0x1f466",
9748          "0x1f469",
9749          "0x200d",
9750          "0x1f466",
9751          "0x200d",
9752          "0x1f466",
9753          "0x1f469",
9754          "0x200d",
9755          "0x1f467",
9756          "0x1f469",
9757          "0x200d",
9758          "0x1f467",
9759          "0x200d",
9760          "0x1f466",
9761          "0x1f469",
9762          "0x200d",
9763          "0x1f467",
9764          "0x200d",
9765          "0x1f467",
9766          "0x1f5e3",
9767          "0x1f464",
9768          "0x1f465",
9769          "0x1fac2",
9770          "0x1f46a",
9771          "0x1f9d1",
9772          "0x200d",
9773          "0x1f9d1",
9774          "0x200d",
9775          "0x1f9d2",
9776          "0x1f9d1",
9777          "0x200d",
9778          "0x1f9d1",
9779          "0x200d",
9780          "0x1f9d2",
9781          "0x200d",
9782          "0x1f9d2",
9783          "0x1f9d1",
9784          "0x200d",
9785          "0x1f9d2",
9786          "0x1f9d1",
9787          "0x200d",
9788          "0x1f9d2",
9789          "0x200d",
9790          "0x1f9d2",
9791          "0x1f463"
9792        ],
9793        "animals_and_nature": [
9794          "0x1f435",
9795          "0x1f412",
9796          "0x1f98d",
9797          "0x1f9a7",
9798          "0x1f436",
9799          "0x1f415",
9800          "0x1f9ae",
9801          "0x1f415",
9802          "0x200d",
9803          "0x1f9ba",
9804          "0x1f429",
9805          "0x1f43a",
9806          "0x1f98a",
9807          "0x1f99d",
9808          "0x1f431",
9809          "0x1f408",
9810          "0x1f408",
9811          "0x200d",
9812          "0x2b1b",
9813          "0x1f981",
9814          "0x1f42f",
9815          "0x1f405",
9816          "0x1f406",
9817          "0x1f434",
9818          "0x1face",
9819          "0x1facf",
9820          "0x1f40e",
9821          "0x1f984",
9822          "0x1f993",
9823          "0x1f98c",
9824          "0x1f9ac",
9825          "0x1f42e",
9826          "0x1f402",
9827          "0x1f403",
9828          "0x1f404",
9829          "0x1f437",
9830          "0x1f416",
9831          "0x1f417",
9832          "0x1f43d",
9833          "0x1f40f",
9834          "0x1f411",
9835          "0x1f410",
9836          "0x1f42a",
9837          "0x1f42b",
9838          "0x1f999",
9839          "0x1f992",
9840          "0x1f418",
9841          "0x1f9a3",
9842          "0x1f98f",
9843          "0x1f99b",
9844          "0x1f42d",
9845          "0x1f401",
9846          "0x1f400",
9847          "0x1f439",
9848          "0x1f430",
9849          "0x1f407",
9850          "0x1f43f",
9851          "0x1f9ab",
9852          "0x1f994",
9853          "0x1f987",
9854          "0x1f43b",
9855          "0x1f43b",
9856          "0x200d",
9857          "0x2744",
9858          "0xfe0f",
9859          "0x1f428",
9860          "0x1f43c",
9861          "0x1f9a5",
9862          "0x1f9a6",
9863          "0x1f9a8",
9864          "0x1f998",
9865          "0x1f9a1",
9866          "0x1f43e",
9867          "0x1f983",
9868          "0x1f414",
9869          "0x1f413",
9870          "0x1f423",
9871          "0x1f424",
9872          "0x1f425",
9873          "0x1f426",
9874          "0x1f427",
9875          "0x1f54a",
9876          "0x1f985",
9877          "0x1f986",
9878          "0x1f9a2",
9879          "0x1f989",
9880          "0x1f9a4",
9881          "0x1fab6",
9882          "0x1f9a9",
9883          "0x1f99a",
9884          "0x1f99c",
9885          "0x1fabd",
9886          "0x1f426",
9887          "0x200d",
9888          "0x2b1b",
9889          "0x1fabf",
9890          "0x1f426",
9891          "0x200d",
9892          "0x1f525",
9893          "0x1f438",
9894          "0x1f40a",
9895          "0x1f422",
9896          "0x1f98e",
9897          "0x1f40d",
9898          "0x1f432",
9899          "0x1f409",
9900          "0x1f995",
9901          "0x1f996",
9902          "0x1f433",
9903          "0x1f40b",
9904          "0x1f42c",
9905          "0x1f9ad",
9906          "0x1f41f",
9907          "0x1f420",
9908          "0x1f421",
9909          "0x1f988",
9910          "0x1f419",
9911          "0x1f41a",
9912          "0x1fab8",
9913          "0x1fabc",
9914          "0x1f40c",
9915          "0x1f98b",
9916          "0x1f41b",
9917          "0x1f41c",
9918          "0x1f41d",
9919          "0x1fab2",
9920          "0x1f41e",
9921          "0x1f997",
9922          "0x1fab3",
9923          "0x1f577",
9924          "0x1f578",
9925          "0x1f982",
9926          "0x1f99f",
9927          "0x1fab0",
9928          "0x1fab1",
9929          "0x1f9a0",
9930          "0x1f490",
9931          "0x1f338",
9932          "0x1f4ae",
9933          "0x1fab7",
9934          "0x1f3f5",
9935          "0x1f339",
9936          "0x1f940",
9937          "0x1f33a",
9938          "0x1f33b",
9939          "0x1f33c",
9940          "0x1f337",
9941          "0x1fabb",
9942          "0x1f331",
9943          "0x1fab4",
9944          "0x1f332",
9945          "0x1f333",
9946          "0x1f334",
9947          "0x1f335",
9948          "0x1f33e",
9949          "0x1f33f",
9950          "0x2618",
9951          "0x1f340",
9952          "0x1f341",
9953          "0x1f342",
9954          "0x1f343",
9955          "0x1fab9",
9956          "0x1faba",
9957          "0x1f344"
9958        ],
9959        "food_and_drink": [
9960          "0x1f347",
9961          "0x1f348",
9962          "0x1f349",
9963          "0x1f34a",
9964          "0x1f34b",
9965          "0x1f34b",
9966          "0x200d",
9967          "0x1f7e9",
9968          "0x1f34c",
9969          "0x1f34d",
9970          "0x1f96d",
9971          "0x1f34e",
9972          "0x1f34f",
9973          "0x1f350",
9974          "0x1f351",
9975          "0x1f352",
9976          "0x1f353",
9977          "0x1fad0",
9978          "0x1f95d",
9979          "0x1f345",
9980          "0x1fad2",
9981          "0x1f965",
9982          "0x1f951",
9983          "0x1f346",
9984          "0x1f954",
9985          "0x1f955",
9986          "0x1f33d",
9987          "0x1f336",
9988          "0x1fad1",
9989          "0x1f952",
9990          "0x1f96c",
9991          "0x1f966",
9992          "0x1f9c4",
9993          "0x1f9c5",
9994          "0x1f95c",
9995          "0x1fad8",
9996          "0x1f330",
9997          "0x1fada",
9998          "0x1fadb",
9999          "0x1f344",
10000          "0x200d",
10001          "0x1f7eb",
10002          "0x1f35e",
10003          "0x1f950",
10004          "0x1f956",
10005          "0x1fad3",
10006          "0x1f968",
10007          "0x1f96f",
10008          "0x1f95e",
10009          "0x1f9c7",
10010          "0x1f9c0",
10011          "0x1f356",
10012          "0x1f357",
10013          "0x1f969",
10014          "0x1f953",
10015          "0x1f354",
10016          "0x1f35f",
10017          "0x1f355",
10018          "0x1f32d",
10019          "0x1f96a",
10020          "0x1f32e",
10021          "0x1f32f",
10022          "0x1fad4",
10023          "0x1f959",
10024          "0x1f9c6",
10025          "0x1f95a",
10026          "0x1f373",
10027          "0x1f958",
10028          "0x1f372",
10029          "0x1fad5",
10030          "0x1f963",
10031          "0x1f957",
10032          "0x1f37f",
10033          "0x1f9c8",
10034          "0x1f9c2",
10035          "0x1f96b",
10036          "0x1f371",
10037          "0x1f358",
10038          "0x1f359",
10039          "0x1f35a",
10040          "0x1f35b",
10041          "0x1f35c",
10042          "0x1f35d",
10043          "0x1f360",
10044          "0x1f362",
10045          "0x1f363",
10046          "0x1f364",
10047          "0x1f365",
10048          "0x1f96e",
10049          "0x1f361",
10050          "0x1f95f",
10051          "0x1f960",
10052          "0x1f961",
10053          "0x1f980",
10054          "0x1f99e",
10055          "0x1f990",
10056          "0x1f991",
10057          "0x1f9aa",
10058          "0x1f366",
10059          "0x1f367",
10060          "0x1f368",
10061          "0x1f369",
10062          "0x1f36a",
10063          "0x1f382",
10064          "0x1f370",
10065          "0x1f9c1",
10066          "0x1f967",
10067          "0x1f36b",
10068          "0x1f36c",
10069          "0x1f36d",
10070          "0x1f36e",
10071          "0x1f36f",
10072          "0x1f37c",
10073          "0x1f95b",
10074          "0x2615",
10075          "0x1fad6",
10076          "0x1f375",
10077          "0x1f376",
10078          "0x1f37e",
10079          "0x1f377",
10080          "0x1f378",
10081          "0x1f379",
10082          "0x1f37a",
10083          "0x1f37b",
10084          "0x1f942",
10085          "0x1f943",
10086          "0x1fad7",
10087          "0x1f964",
10088          "0x1f9cb",
10089          "0x1f9c3",
10090          "0x1f9c9",
10091          "0x1f9ca",
10092          "0x1f962",
10093          "0x1f37d",
10094          "0x1f374",
10095          "0x1f944",
10096          "0x1f52a",
10097          "0x1fad9",
10098          "0x1f3fa"
10099        ],
10100        "travel_and_places": [
10101          "0x1f30d",
10102          "0x1f30e",
10103          "0x1f30f",
10104          "0x1f310",
10105          "0x1f5fa",
10106          "0x1f5fe",
10107          "0x1f9ed",
10108          "0x1f3d4",
10109          "0x26f0",
10110          "0x1f30b",
10111          "0x1f5fb",
10112          "0x1f3d5",
10113          "0x1f3d6",
10114          "0x1f3dc",
10115          "0x1f3dd",
10116          "0x1f3de",
10117          "0x1f3df",
10118          "0x1f3db",
10119          "0x1f3d7",
10120          "0x1f9f1",
10121          "0x1faa8",
10122          "0x1fab5",
10123          "0x1f6d6",
10124          "0x1f3d8",
10125          "0x1f3da",
10126          "0x1f3e0",
10127          "0x1f3e1",
10128          "0x1f3e2",
10129          "0x1f3e3",
10130          "0x1f3e4",
10131          "0x1f3e5",
10132          "0x1f3e6",
10133          "0x1f3e8",
10134          "0x1f3e9",
10135          "0x1f3ea",
10136          "0x1f3eb",
10137          "0x1f3ec",
10138          "0x1f3ed",
10139          "0x1f3ef",
10140          "0x1f3f0",
10141          "0x1f492",
10142          "0x1f5fc",
10143          "0x1f5fd",
10144          "0x26ea",
10145          "0x1f54c",
10146          "0x1f6d5",
10147          "0x1f54d",
10148          "0x26e9",
10149          "0x1f54b",
10150          "0x26f2",
10151          "0x26fa",
10152          "0x1f301",
10153          "0x1f303",
10154          "0x1f3d9",
10155          "0x1f304",
10156          "0x1f305",
10157          "0x1f306",
10158          "0x1f307",
10159          "0x1f309",
10160          "0x2668",
10161          "0x1f3a0",
10162          "0x1f6dd",
10163          "0x1f3a1",
10164          "0x1f3a2",
10165          "0x1f488",
10166          "0x1f3aa",
10167          "0x1f682",
10168          "0x1f683",
10169          "0x1f684",
10170          "0x1f685",
10171          "0x1f686",
10172          "0x1f687",
10173          "0x1f688",
10174          "0x1f689",
10175          "0x1f68a",
10176          "0x1f69d",
10177          "0x1f69e",
10178          "0x1f68b",
10179          "0x1f68c",
10180          "0x1f68d",
10181          "0x1f68e",
10182          "0x1f690",
10183          "0x1f691",
10184          "0x1f692",
10185          "0x1f693",
10186          "0x1f694",
10187          "0x1f695",
10188          "0x1f696",
10189          "0x1f697",
10190          "0x1f698",
10191          "0x1f699",
10192          "0x1f6fb",
10193          "0x1f69a",
10194          "0x1f69b",
10195          "0x1f69c",
10196          "0x1f3ce",
10197          "0x1f3cd",
10198          "0x1f6f5",
10199          "0x1f9bd",
10200          "0x1f9bc",
10201          "0x1f6fa",
10202          "0x1f6b2",
10203          "0x1f6f4",
10204          "0x1f6f9",
10205          "0x1f6fc",
10206          "0x1f68f",
10207          "0x1f6e3",
10208          "0x1f6e4",
10209          "0x1f6e2",
10210          "0x26fd",
10211          "0x1f6de",
10212          "0x1f6a8",
10213          "0x1f6a5",
10214          "0x1f6a6",
10215          "0x1f6d1",
10216          "0x1f6a7",
10217          "0x2693",
10218          "0x1f6df",
10219          "0x26f5",
10220          "0x1f6f6",
10221          "0x1f6a4",
10222          "0x1f6f3",
10223          "0x26f4",
10224          "0x1f6e5",
10225          "0x1f6a2",
10226          "0x2708",
10227          "0x1f6e9",
10228          "0x1f6eb",
10229          "0x1f6ec",
10230          "0x1fa82",
10231          "0x1f4ba",
10232          "0x1f681",
10233          "0x1f69f",
10234          "0x1f6a0",
10235          "0x1f6a1",
10236          "0x1f6f0",
10237          "0x1f680",
10238          "0x1f6f8",
10239          "0x1f6ce",
10240          "0x1f9f3",
10241          "0x231b",
10242          "0x23f3",
10243          "0x231a",
10244          "0x23f0",
10245          "0x23f1",
10246          "0x23f2",
10247          "0x1f570",
10248          "0x1f55b",
10249          "0x1f567",
10250          "0x1f550",
10251          "0x1f55c",
10252          "0x1f551",
10253          "0x1f55d",
10254          "0x1f552",
10255          "0x1f55e",
10256          "0x1f553",
10257          "0x1f55f",
10258          "0x1f554",
10259          "0x1f560",
10260          "0x1f555",
10261          "0x1f561",
10262          "0x1f556",
10263          "0x1f562",
10264          "0x1f557",
10265          "0x1f563",
10266          "0x1f558",
10267          "0x1f564",
10268          "0x1f559",
10269          "0x1f565",
10270          "0x1f55a",
10271          "0x1f566",
10272          "0x1f311",
10273          "0x1f312",
10274          "0x1f313",
10275          "0x1f314",
10276          "0x1f315",
10277          "0x1f316",
10278          "0x1f317",
10279          "0x1f318",
10280          "0x1f319",
10281          "0x1f31a",
10282          "0x1f31b",
10283          "0x1f31c",
10284          "0x1f321",
10285          "0x2600",
10286          "0x1f31d",
10287          "0x1f31e",
10288          "0x1fa90",
10289          "0x2b50",
10290          "0x1f31f",
10291          "0x1f320",
10292          "0x1f30c",
10293          "0x2601",
10294          "0x26c5",
10295          "0x26c8",
10296          "0x1f324",
10297          "0x1f325",
10298          "0x1f326",
10299          "0x1f327",
10300          "0x1f328",
10301          "0x1f329",
10302          "0x1f32a",
10303          "0x1f32b",
10304          "0x1f32c",
10305          "0x1f300",
10306          "0x1f308",
10307          "0x1f302",
10308          "0x2602",
10309          "0x2614",
10310          "0x26f1",
10311          "0x26a1",
10312          "0x2744",
10313          "0x2603",
10314          "0x26c4",
10315          "0x2604",
10316          "0x1f525",
10317          "0x1f4a7",
10318          "0x1f30a"
10319        ],
10320        "activities": [
10321          "0x1f383",
10322          "0x1f384",
10323          "0x1f386",
10324          "0x1f387",
10325          "0x1f9e8",
10326          "0x2728",
10327          "0x1f388",
10328          "0x1f389",
10329          "0x1f38a",
10330          "0x1f38b",
10331          "0x1f38d",
10332          "0x1f38e",
10333          "0x1f38f",
10334          "0x1f390",
10335          "0x1f391",
10336          "0x1f9e7",
10337          "0x1f380",
10338          "0x1f381",
10339          "0x1f397",
10340          "0x1f39f",
10341          "0x1f3ab",
10342          "0x1f396",
10343          "0x1f3c6",
10344          "0x1f3c5",
10345          "0x1f947",
10346          "0x1f948",
10347          "0x1f949",
10348          "0x26bd",
10349          "0x26be",
10350          "0x1f94e",
10351          "0x1f3c0",
10352          "0x1f3d0",
10353          "0x1f3c8",
10354          "0x1f3c9",
10355          "0x1f3be",
10356          "0x1f94f",
10357          "0x1f3b3",
10358          "0x1f3cf",
10359          "0x1f3d1",
10360          "0x1f3d2",
10361          "0x1f94d",
10362          "0x1f3d3",
10363          "0x1f3f8",
10364          "0x1f94a",
10365          "0x1f94b",
10366          "0x1f945",
10367          "0x26f3",
10368          "0x26f8",
10369          "0x1f3a3",
10370          "0x1f93f",
10371          "0x1f3bd",
10372          "0x1f3bf",
10373          "0x1f6f7",
10374          "0x1f94c",
10375          "0x1f3af",
10376          "0x1fa80",
10377          "0x1fa81",
10378          "0x1f52b",
10379          "0x1f3b1",
10380          "0x1f52e",
10381          "0x1fa84",
10382          "0x1f3ae",
10383          "0x1f579",
10384          "0x1f3b0",
10385          "0x1f3b2",
10386          "0x1f9e9",
10387          "0x1f9f8",
10388          "0x1fa85",
10389          "0x1faa9",
10390          "0x1fa86",
10391          "0x2660",
10392          "0x2665",
10393          "0x2666",
10394          "0x2663",
10395          "0x265f",
10396          "0x1f0cf",
10397          "0x1f004",
10398          "0x1f3b4",
10399          "0x1f3ad",
10400          "0x1f5bc",
10401          "0x1f3a8",
10402          "0x1f9f5",
10403          "0x1faa1",
10404          "0x1f9f6",
10405          "0x1faa2"
10406        ],
10407        "objects": [
10408          "0x1f453",
10409          "0x1f576",
10410          "0x1f97d",
10411          "0x1f97c",
10412          "0x1f9ba",
10413          "0x1f454",
10414          "0x1f455",
10415          "0x1f456",
10416          "0x1f9e3",
10417          "0x1f9e4",
10418          "0x1f9e5",
10419          "0x1f9e6",
10420          "0x1f457",
10421          "0x1f458",
10422          "0x1f97b",
10423          "0x1fa71",
10424          "0x1fa72",
10425          "0x1fa73",
10426          "0x1f459",
10427          "0x1f45a",
10428          "0x1faad",
10429          "0x1f45b",
10430          "0x1f45c",
10431          "0x1f45d",
10432          "0x1f6cd",
10433          "0x1f392",
10434          "0x1fa74",
10435          "0x1f45e",
10436          "0x1f45f",
10437          "0x1f97e",
10438          "0x1f97f",
10439          "0x1f460",
10440          "0x1f461",
10441          "0x1fa70",
10442          "0x1f462",
10443          "0x1faae",
10444          "0x1f451",
10445          "0x1f452",
10446          "0x1f3a9",
10447          "0x1f393",
10448          "0x1f9e2",
10449          "0x1fa96",
10450          "0x26d1",
10451          "0x1f4ff",
10452          "0x1f484",
10453          "0x1f48d",
10454          "0x1f48e",
10455          "0x1f507",
10456          "0x1f508",
10457          "0x1f509",
10458          "0x1f50a",
10459          "0x1f4e2",
10460          "0x1f4e3",
10461          "0x1f4ef",
10462          "0x1f514",
10463          "0x1f515",
10464          "0x1f3bc",
10465          "0x1f3b5",
10466          "0x1f3b6",
10467          "0x1f399",
10468          "0x1f39a",
10469          "0x1f39b",
10470          "0x1f3a4",
10471          "0x1f3a7",
10472          "0x1f4fb",
10473          "0x1f3b7",
10474          "0x1fa97",
10475          "0x1f3b8",
10476          "0x1f3b9",
10477          "0x1f3ba",
10478          "0x1f3bb",
10479          "0x1fa95",
10480          "0x1f941",
10481          "0x1fa98",
10482          "0x1fa87",
10483          "0x1fa88",
10484          "0x1f4f1",
10485          "0x1f4f2",
10486          "0x260e",
10487          "0x1f4de",
10488          "0x1f4df",
10489          "0x1f4e0",
10490          "0x1f50b",
10491          "0x1faab",
10492          "0x1f50c",
10493          "0x1f4bb",
10494          "0x1f5a5",
10495          "0x1f5a8",
10496          "0x2328",
10497          "0x1f5b1",
10498          "0x1f5b2",
10499          "0x1f4bd",
10500          "0x1f4be",
10501          "0x1f4bf",
10502          "0x1f4c0",
10503          "0x1f9ee",
10504          "0x1f3a5",
10505          "0x1f39e",
10506          "0x1f4fd",
10507          "0x1f3ac",
10508          "0x1f4fa",
10509          "0x1f4f7",
10510          "0x1f4f8",
10511          "0x1f4f9",
10512          "0x1f4fc",
10513          "0x1f50d",
10514          "0x1f50e",
10515          "0x1f56f",
10516          "0x1f4a1",
10517          "0x1f526",
10518          "0x1f3ee",
10519          "0x1fa94",
10520          "0x1f4d4",
10521          "0x1f4d5",
10522          "0x1f4d6",
10523          "0x1f4d7",
10524          "0x1f4d8",
10525          "0x1f4d9",
10526          "0x1f4da",
10527          "0x1f4d3",
10528          "0x1f4d2",
10529          "0x1f4c3",
10530          "0x1f4dc",
10531          "0x1f4c4",
10532          "0x1f4f0",
10533          "0x1f5de",
10534          "0x1f4d1",
10535          "0x1f516",
10536          "0x1f3f7",
10537          "0x1f4b0",
10538          "0x1fa99",
10539          "0x1f4b4",
10540          "0x1f4b5",
10541          "0x1f4b6",
10542          "0x1f4b7",
10543          "0x1f4b8",
10544          "0x1f4b3",
10545          "0x1f9fe",
10546          "0x1f4b9",
10547          "0x2709",
10548          "0x1f4e7",
10549          "0x1f4e8",
10550          "0x1f4e9",
10551          "0x1f4e4",
10552          "0x1f4e5",
10553          "0x1f4e6",
10554          "0x1f4eb",
10555          "0x1f4ea",
10556          "0x1f4ec",
10557          "0x1f4ed",
10558          "0x1f4ee",
10559          "0x1f5f3",
10560          "0x270f",
10561          "0x2712",
10562          "0x1f58b",
10563          "0x1f58a",
10564          "0x1f58c",
10565          "0x1f58d",
10566          "0x1f4dd",
10567          "0x1f4bc",
10568          "0x1f4c1",
10569          "0x1f4c2",
10570          "0x1f5c2",
10571          "0x1f4c5",
10572          "0x1f4c6",
10573          "0x1f5d2",
10574          "0x1f5d3",
10575          "0x1f4c7",
10576          "0x1f4c8",
10577          "0x1f4c9",
10578          "0x1f4ca",
10579          "0x1f4cb",
10580          "0x1f4cc",
10581          "0x1f4cd",
10582   
10582       "0x1f4ce",
10583          "0x1f587",
10584          "0x1f4cf",
10585          "0x1f4d0",
10586          "0x2702",
10587          "0x1f5c3",
10588          "0x1f5c4",
10589          "0x1f5d1",
10590          "0x1f512",
10591          "0x1f513",
10592          "0x1f50f",
10593          "0x1f510",
10594          "0x1f511",
10595          "0x1f5dd",
10596          "0x1f528",
10597          "0x1fa93",
10598          "0x26cf",
10599          "0x2692",
10600          "0x1f6e0",
10601          "0x1f5e1",
10602          "0x2694",
10603          "0x1f4a3",
10604          "0x1fa83",
10605          "0x1f3f9",
10606          "0x1f6e1",
10607          "0x1fa9a",
10608          "0x1f527",
10609          "0x1fa9b",
10610          "0x1f529",
10611          "0x2699",
10612          "0x1f5dc",
10613          "0x2696",
10614          "0x1f9af",
10615          "0x1f517",
10616          "0x26d3",
10617          "0xfe0f",
10618          "0x200d",
10619          "0x1f4a5",
10620          "0x26d3",
10621          "0x1fa9d",
10622          "0x1f9f0",
10623          "0x1f9f2",
10624          "0x1fa9c",
10625          "0x2697",
10626          "0x1f9ea",
10627          "0x1f9eb",
10628          "0x1f9ec",
10629          "0x1f52c",
10630          "0x1f52d",
10631          "0x1f4e1",
10632          "0x1f489",
10633          "0x1fa78",
10634          "0x1f48a",
10635          "0x1fa79",
10636          "0x1fa7c",
10637          "0x1fa7a",
10638          "0x1fa7b",
10639          "0x1f6aa",
10640          "0x1f6d7",
10641          "0x1fa9e",
10642          "0x1fa9f",
10643          "0x1f6cf",
10644          "0x1f6cb",
10645          "0x1fa91",
10646          "0x1f6bd",
10647          "0x1faa0",
10648          "0x1f6bf",
10649          "0x1f6c1",
10650          "0x1faa4",
10651          "0x1fa92",
10652          "0x1f9f4",
10653          "0x1f9f7",
10654          "0x1f9f9",
10655          "0x1f9fa",
10656          "0x1f9fb",
10657          "0x1faa3",
10658          "0x1f9fc",
10659          "0x1fae7",
10660          "0x1faa5",
10661          "0x1f9fd",
10662          "0x1f9ef",
10663          "0x1f6d2",
10664          "0x1f6ac",
10665          "0x26b0",
10666          "0x1faa6",
10667          "0x26b1",
10668          "0x1f9ff",
10669          "0x1faac",
10670          "0x1f5ff",
10671          "0x1faa7",
10672          "0x1faaa"
10673        ],
10674        "symbols": [
10675          "0x1f3e7",
10676          "0x1f6ae",
10677          "0x1f6b0",
10678          "0x267f",
10679          "0x1f6b9",
10680          "0x1f6ba",
10681          "0x1f6bb",
10682          "0x1f6bc",
10683          "0x1f6be",
10684          "0x1f6c2",
10685          "0x1f6c3",
10686          "0x1f6c4",
10687          "0x1f6c5",
10688          "0x26a0",
10689          "0x1f6b8",
10690          "0x26d4",
10691          "0x1f6ab",
10692          "0x1f6b3",
10693          "0x1f6ad",
10694          "0x1f6af",
10695          "0x1f6b1",
10696          "0x1f6b7",
10697          "0x1f4f5",
10698          "0x1f51e",
10699          "0x2622",
10700          "0x2623",
10701          "0x2b06",
10702          "0x2197",
10703          "0x27a1",
10704          "0x2198",
10705          "0x2b07",
10706          "0x2199",
10707          "0x2b05",
10708          "0x2196",
10709          "0x2195",
10710          "0x2194",
10711          "0x21a9",
10712          "0x21aa",
10713          "0x2934",
10714          "0x2935",
10715          "0x1f503",
10716          "0x1f504",
10717          "0x1f519",
10718          "0x1f51a",
10719          "0x1f51b",
10720          "0x1f51c",
10721          "0x1f51d",
10722          "0x1f6d0",
10723          "0x269b",
10724          "0x1f549",
10725          "0x2721",
10726          "0x2638",
10727          "0x262f",
10728          "0x271d",
10729          "0x2626",
10730          "0x262a",
10731          "0x262e",
10732          "0x1f54e",
10733          "0x1f52f",
10734          "0x1faaf",
10735          "0x2648",
10736          "0x2649",
10737          "0x264a",
10738          "0x264b",
10739          "0x264c",
10740          "0x264d",
10741          "0x264e",
10742          "0x264f",
10743          "0x2650",
10744          "0x2651",
10745          "0x2652",
10746          "0x2653",
10747          "0x26ce",
10748          "0x1f500",
10749          "0x1f501",
10750          "0x1f502",
10751          "0x25b6",
10752          "0x23e9",
10753          "0x23ed",
10754          "0x23ef",
10755          "0x25c0",
10756          "0x23ea",
10757          "0x23ee",
10758          "0x1f53c",
10759          "0x23eb",
10760          "0x1f53d",
10761          "0x23ec",
10762          "0x23f8",
10763          "0x23f9",
10764          "0x23fa",
10765          "0x23cf",
10766          "0x1f3a6",
10767          "0x1f505",
10768          "0x1f506",
10769          "0x1f4f6",
10770          "0x1f6dc",
10771          "0x1f4f3",
10772          "0x1f4f4",
10773          "0x2640",
10774          "0x2642",
10775          "0x26a7",
10776          "0x2716",
10777          "0x2795",
10778          "0x2796",
10779          "0x2797",
10780          "0x1f7f0",
10781          "0x267e",
10782          "0x203c",
10783          "0x2049",
10784          "0x2753",
10785          "0x2754",
10786          "0x2755",
10787          "0x2757",
10788          "0x3030",
10789          "0x1f4b1",
10790          "0x1f4b2",
10791          "0x2695",
10792          "0x267b",
10793          "0x269c",
10794          "0x1f531",
10795          "0x1f4db",
10796          "0x1f530",
10797          "0x2b55",
10798          "0x2705",
10799          "0x2611",
10800          "0x2714",
10801          "0x274c",
10802          "0x274e",
10803          "0x27b0",
10804          "0x27bf",
10805          "0x303d",
10806          "0x2733",
10807          "0x2734",
10808          "0x2747",
10809          "0x00a9",
10810          "0x00ae",
10811          "0x2122",
10812          "0x0023",
10813          "0xfe0f",
10814          "0x20e3",
10815          "0x002a",
10816          "0xfe0f",
10817          "0x20e3",
10818          "0x0030",
10819          "0xfe0f",
10820          "0x20e3",
10821          "0x0031",
10822          "0xfe0f",
10823          "0x20e3",
10824          "0x0032",
10825          "0xfe0f",
10826          "0x20e3",
10827          "0x0033",
10828          "0xfe0f",
10829          "0x20e3",
10830          "0x0034",
10831          "0xfe0f",
10832          "0x20e3",
10833          "0x0035",
10834          "0xfe0f",
10835          "0x20e3",
10836          "0x0036",
10837          "0xfe0f",
10838          "0x20e3",
10839          "0x0037",
10840          "0xfe0f",
10841          "0x20e3",
10842          "0x0038",
10843          "0xfe0f",
10844          "0x20e3",
10845          "0x0039",
10846          "0xfe0f",
10847          "0x20e3",
10848          "0x1f51f",
10849          "0x1f520",
10850          "0x1f521",
10851          "0x1f522",
10852          "0x1f523",
10853          "0x1f524",
10854          "0x1f170",
10855          "0x1f18e",
10856          "0x1f171",
10857          "0x1f191",
10858          "0x1f192",
10859          "0x1f193",
10860          "0x2139",
10861          "0x1f194",
10862          "0x24c2",
10863          "0x1f195",
10864          "0x1f196",
10865          "0x1f17e",
10866          "0x1f197",
10867          "0x1f17f",
10868          "0x1f198",
10869          "0x1f199",
10870          "0x1f19a",
10871          "0x1f201",
10872          "0x1f202",
10873          "0x1f237",
10874          "0x1f236",
10875          "0x1f22f",
10876          "0x1f250",
10877          "0x1f239",
10878          "0x1f21a",
10879          "0x1f232",
10880          "0x1f251",
10881          "0x1f238",
10882          "0x1f234",
10883          "0x1f233",
10884          "0x3297",
10885          "0x3299",
10886          "0x1f23a",
10887          "0x1f235",
10888          "0x1f534",
10889          "0x1f7e0",
10890          "0x1f7e1",
10891          "0x1f7e2",
10892          "0x1f535",
10893          "0x1f7e3",
10894          "0x1f7e4",
10895          "0x26ab",
10896          "0x26aa",
10897          "0x1f7e5",
10898          "0x1f7e7",
10899          "0x1f7e8",
10900          "0x1f7e9",
10901          "0x1f7e6",
10902          "0x1f7ea",
10903          "0x1f7eb",
10904          "0x2b1b",
10905          "0x2b1c",
10906          "0x25fc",
10907          "0x25fb",
10908          "0x25fe",
10909          "0x25fd",
10910          "0x25aa",
10911          "0x25ab",
10912          "0x1f536",
10913          "0x1f537",
10914          "0x1f538",
10915          "0x1f539",
10916          "0x1f53a",
10917          "0x1f53b",
10918          "0x1f4a0",
10919          "0x1f518",
10920          "0x1f533",
10921          "0x1f532"
10922        ],
10923        "flags": [
10924          "0x1f3c1",
10925          "0x1f6a9",
10926          "0x1f38c",
10927          "0x1f3f4",
10928          "0x1f3f3",
10929          "0x1f3f3",
10930          "0xfe0f",
10931          "0x200d",
10932          "0x1f308",
10933          "0x1f3f3",
10934          "0xfe0f",
10935          "0x200d",
10936          "0x26a7",
10937          "0xfe0f",
10938          "0x1f3f4",
10939          "0x200d",
10940          "0x2620",
10941          "0xfe0f",
10942          "0x1f1e6",
10943          "0x1f1e8",
10944          "0x1f1e6",
10945          "0x1f1e9",
10946          "0x1f1e6",
10947          "0x1f1ea",
10948          "0x1f1e6",
10949          "0x1f1eb",
10950          "0x1f1e6",
10951          "0x1f1ec",
10952          "0x1f1e6",
10953          "0x1f1ee",
10954          "0x1f1e6",
10955          "0x1f1f1",
10956          "0x1f1e6",
10957          "0x1f1f2",
10958          "0x1f1e6",
10959          "0x1f1f4",
10960          "0x1f1e6",
10961          "0x1f1f6",
10962          "0x1f1e6",
10963          "0x1f1f7",
10964          "0x1f1e6",
10965          "0x1f1f8",
10966          "0x1f1e6",
10967          "0x1f1f9",
10968          "0x1f1e6",
10969          "0x1f1fa",
10970          "0x1f1e6",
10971          "0x1f1fc",
10972          "0x1f1e6",
10973          "0x1f1fd",
10974          "0x1f1e6",
10975          "0x1f1ff",
10976          "0x1f1e7",
10977          "0x1f1e6",
10978          "0x1f1e7",
10979          "0x1f1e7",
10980          "0x1f1e7",
10981          "0x1f1e9",
10982          "0x1f1e7",
10983          "0x1f1ea",
10984          "0x1f1e7",
10985          "0x1f1eb",
10986          "0x1f1e7",
10987          "0x1f1ec",
10988          "0x1f1e7",
10989          "0x1f1ed",
10990          "0x1f1e7",
10991          "0x1f1ee",
10992          "0x1f1e7",
10993          "0x1f1ef",
10994          "0x1f1e7",
10995          "0x1f1f1",
10996          "0x1f1e7",
10997          "0x1f1f2",
10998          "0x1f1e7",
10999          "0x1f1f3",
11000          "0x1f1e7",
11001          "0x1f1f4",
11002          "0x1f1e7",
11003          "0x1f1f6",
11004          "0x1f1e7",
11005          "0x1f1f7",
11006          "0x1f1e7",
11007          "0x1f1f8",
11008          "0x1f1e7",
11009          "0x1f1f9",
11010          "0x1f1e7",
11011          "0x1f1fb",
11012          "0x1f1e7",
11013          "0x1f1fc",
11014          "0x1f1e7",
11015          "0x1f1fe",
11016          "0x1f1e7",
11017          "0x1f1ff",
11018          "0x1f1e8",
11019          "0x1f1e6",
11020          "0x1f1e8",
11021          "0x1f1e8",
11022          "0x1f1e8",
11023          "0x1f1e9",
11024          "0x1f1e8",
11025          "0x1f1eb",
11026          "0x1f1e8",
11027          "0x1f1ec",
11028          "0x1f1e8",
11029          "0x1f1ed",
11030          "0x1f1e8",
11031          "0x1f1ee",
11032          "0x1f1e8",
11033          "0x1f1f0",
11034          "0x1f1e8",
11035          "0x1f1f1",
11036          "0x1f1e8",
11037          "0x1f1f2",
11038          "0x1f1e8",
11039          "0x1f1f3",
11040          "0x1f1e8",
11041          "0x1f1f4",
11042          "0x1f1e8",
11043          "0x1f1f5",
11044          "0x1f1e8",
11045          "0x1f1f7",
11046          "0x1f1e8",
11047          "0x1f1fa",
11048          "0x1f1e8",
11049          "0x1f1fb",
11050          "0x1f1e8",
11051          "0x1f1fc",
11052          "0x1f1e8",
11053          "0x1f1fd",
11054          "0x1f1e8",
11055          "0x1f1fe",
11056          "0x1f1e8",
11057          "0x1f1ff",
11058          "0x1f1e9",
11059          "0x1f1ea",
11060          "0x1f1e9",
11061          "0x1f1ec",
11062          "0x1f1e9",
11063          "0x1f1ef",
11064          "0x1f1e9",
11065          "0x1f1f0",
11066          "0x1f1e9",
11067          "0x1f1f2",
11068          "0x1f1e9",
11069          "0x1f1f4",
11070          "0x1f1e9",
11071          "0x1f1ff",
11072          "0x1f1ea",
11073          "0x1f1e6",
11074          "0x1f1ea",
11075          "0x1f1e8",
11076          "0x1f1ea",
11077          "0x1f1ea",
11078          "0x1f1ea",
11079          "0x1f1ec",
11080          "0x1f1ea",
11081          "0x1f1ed",
11082          "0x1f1ea",
11083          "0x1f1f7",
11084          "0x1f1ea",
11085          "0x1f1f8",
11086          "0x1f1ea",
11087          "0x1f1f9",
11088          "0x1f1ea",
11089          "0x1f1fa",
11090          "0x1f1eb",
11091          "0x1f1ee",
11092          "0x1f1eb",
11093          "0x1f1ef",
11094          "0x1f1eb",
11095          "0x1f1f0",
11096          "0x1f1eb",
11097          "0x1f1f2",
11098          "0x1f1eb",
11099          "0x1f1f4",
11100          "0x1f1eb",
11101          "0x1f1f7",
11102          "0x1f1ec",
11103          "0x1f1e6",
11104          "0x1f1ec",
11105          "0x1f1e7",
11106          "0x1f1ec",
11107          "0x1f1e9",
11108          "0x1f1ec",
11109          "0x1f1ea",
11110          "0x1f1ec",
11111          "0x1f1eb",
11112          "0x1f1ec",
11113          "0x1f1ec",
11114          "0x1f1ec",
11115          "0x1f1ed",
11116          "0x1f1ec",
11117          "0x1f1ee",
11118          "0x1f1ec",
11119          "0x1f1f1",
11120          "0x1f1ec",
11121          "0x1f1f2",
11122          "0x1f1ec",
11123          "0x1f1f3",
11124          "0x1f1ec",
11125          "0x1f1f5",
11126          "0x1f1ec",
11127          "0x1f1f6",
11128          "0x1f1ec",
11129          "0x1f1f7",
11130          "0x1f1ec",
11131          "0x1f1f8",
11132          "0x1f1ec",
11133          "0x1f1f9",
11134          "0x1f1ec",
11135          "0x1f1fa",
11136          "0x1f1ec",
11137          "0x1f1fc",
11138          "0x1f1ec",
11139          "0x1f1fe",
11140          "0x1f1ed",
11141          "0x1f1f0",
11142          "0x1f1ed",
11143          "0x1f1f2",
11144          "0x1f1ed",
11145          "0x1f1f3",
11146          "0x1f1ed",
11147          "0x1f1f7",
11148          "0x1f1ed",
11149          "0x1f1f9",
11150          "0x1f1ed",
11151          "0x1f1fa",
11152          "0x1f1ee",
11153          "0x1f1e8",
11154          "0x1f1ee",
11155          "0x1f1e9",
11156          "0x1f1ee",
11157          "0x1f1ea",
11158          "0x1f1ee",
11159          "0x1f1f1",
11160          "0x1f1ee",
11161          "0x1f1f2",
11162          "0x1f1ee",
11163          "0x1f1f3",
11164          "0x1f1ee",
11165          "0x1f1f4",
11166          "0x1f1ee",
11167          "0x1f1f6",
11168          "0x1f1ee",
11169          "0x1f1f7",
11170          "0x1f1ee",
11171          "0x1f1f8",
11172          "0x1f1ee",
11173          "0x1f1f9",
11174          "0x1f1ef",
11175          "0x1f1ea",
11176          "0x1f1ef",
11177          "0x1f1f2",
11178          "0x1f1ef",
11179          "0x1f1f4",
11180          "0x1f1ef",
11181          "0x1f1f5",
11182          "0x1f1f0",
11183          "0x1f1ea",
11184          "0x1f1f0",
11185          "0x1f1ec",
11186          "0x1f1f0",
11187          "0x1f1ed",
11188          "0x1f1f0",
11189          "0x1f1ee",
11190          "0x1f1f0",
11191          "0x1f1f2",
11192          "0x1f1f0",
11193          "0x1f1f3",
11194          "0x1f1f0",
11195          "0x1f1f5",
11196          "0x1f1f0",
11197          "0x1f1f7",
11198          "0x1f1f0",
11199          "0x1f1fc",
11200          "0x1f1f0",
11201          "0x1f1fe",
11202          "0x1f1f0",
11203          "0x1f1ff",
11204          "0x1f1f1",
11205          "0x1f1e6",
11206          "0x1f1f1",
11207          "0x1f1e7",
11208          "0x1f1f1",
11209          "0x1f1e8",
11210          "0x1f1f1",
11211          "0x1f1ee",
11212          "0x1f1f1",
11213          "0x1f1f0",
11214          "0x1f1f1",
11215          "0x1f1f7",
11216          "0x1f1f1",
11217          "0x1f1f8",
11218          "0x1f1f1",
11219          "0x1f1f9",
11220          "0x1f1f1",
11221          "0x1f1fa",
11222          "0x1f1f1",
11223          "0x1f1fb",
11224          "0x1f1f1",
11225          "0x1f1fe",
11226          "0x1f1f2",
11227          "0x1f1e6",
11228          "0x1f1f2",
11229          "0x1f1e8",
11230          "0x1f1f2",
11231          "0x1f1e9",
11232          "0x1f1f2",
11233          "0x1f1ea",
11234          "0x1f1f2",
11235          "0x1f1eb",
11236          "0x1f1f2",
11237          "0x1f1ec",
11238          "0x1f1f2",
11239          "0x1f1ed",
11240          "0x1f1f2",
11241          "0x1f1f0",
11242          "0x1f1f2",
11243          "0x1f1f1",
11244          "0x1f1f2",
11245          "0x1f1f2",
11246          "0x1f1f2",
11247          "0x1f1f3",
11248          "0x1f1f2",
11249          "0x1f1f4",
11250          "0x1f1f2",
11251          "0x1f1f5",
11252          "0x1f1f2",
11253          "0x1f1f6",
11254          "0x1f1f2",
11255          "0x1f1f7",
11256          "0x1f1f2",
11257          "0x1f1f8",
11258          "0x1f1f2",
11259          "0x1f1f9",
11260          "0x1f1f2",
11261          "0x1f1fa",
11262          "0x1f1f2",
11263          "0x1f1fb",
11264          "0x1f1f2",
11265          "0x1f1fc",
11266          "0x1f1f2",
11267          "0x1f1fd",
11268          "0x1f1f2",
11269          "0x1f1fe",
11270          "0x1f1f2",
11271          "0x1f1ff",
11272          "0x1f1f3",
11273          "0x1f1e6",
11274          "0x1f1f3",
11275          "0x1f1e8",
11276          "0x1f1f3",
11277          "0x1f1ea",
11278          "0x1f1f3",
11279          "0x1f1eb",
11280          "0x1f1f3",
11281          "0x1f1ec",
11282          "0x1f1f3",
11283          "0x1f1ee",
11284          "0x1f1f3",
11285          "0x1f1f1",
11286          "0x1f1f3",
11287          "0x1f1f4",
11288          "0x1f1f3",
11289          "0x1f1f5",
11290          "0x1f1f3",
11291          "0x1f1f7",
11292          "0x1f1f3",
11293          "0x1f1fa",
11294          "0x1f1f3",
11295          "0x1f1ff",
11296          "0x1f1f4",
11297          "0x1f1f2",
11298          "0x1f1f5",
11299          "0x1f1e6",
11300          "0x1f1f5",
11301          "0x1f1ea",
11302          "0x1f1f5",
11303          "0x1f1eb",
11304          "0x1f1f5",
11305          "0x1f1ec",
11306          "0x1f1f5",
11307          "0x1f1ed",
11308          "0x1f1f5",
11309          "0x1f1f0",
11310          "0x1f1f5",
11311          "0x1f1f1",
11312          "0x1f1f5",
11313          "0x1f1f2",
11314          "0x1f1f5",
11315          "0x1f1f3",
11316          "0x1f1f5",
11317          "0x1f1f7",
11318          "0x1f1f5",
11319          "0x1f1f8",
11320          "0x1f1f5",
11321          "0x1f1f9",
11322          "0x1f1f5",
11323          "0x1f1fc",
11324          "0x1f1f5",
11325          "0x1f1fe",
11326          "0x1f1f6",
11327          "0x1f1e6",
11328          "0x1f1f7",
11329          "0x1f1ea",
11330          "0x1f1f7",
11331          "0x1f1f4",
11332          "0x1f1f7",
11333          "0x1f1f8",
11334          "0x1f1f7",
11335          "0x1f1fa",
11336          "0x1f1f7",
11337          "0x1f1fc",
11338          "0x1f1f8",
11339          "0x1f1e6",
11340          "0x1f1f8",
11341          "0x1f1e7",
11342          "0x1f1f8",
11343          "0x1f1e8",
11344          "0x1f1f8",
11345          "0x1f1e9",
11346          "0x1f1f8",
11347          "0x1f1ea",
11348          "0x1f1f8",
11349          "0x1f1ec",
11350          "0x1f1f8",
11351          "0x1f1ed",
11352          "0x1f1f8",
11353          "0x1f1ee",
11354          "0x1f1f8",
11355          "0x1f1ef",
11356          "0x1f1f8",
11357          "0x1f1f0",
11358          "0x1f1f8",
11359          "0x1f1f1",
11360          "0x1f1f8",
11361          "0x1f1f2",
11362          "0x1f1f8",
11363          "0x1f1f3",
11364          "0x1f1f8",
11365          "0x1f1f4",
11366          "0x1f1f8",
11367          "0x1f1f7",
11368          "0x1f1f8",
11369          "0x1f1f8",
11370          "0x1f1f8",
11371          "0x1f1f9",
11372          "0x1f1f8",
11373          "0x1f1fb",
11374          "0x1f1f8",
11375          "0x1f1fd",
11376          "0x1f1f8",
11377          "0x1f1fe",
11378          "0x1f1f8",
11379          "0x1f1ff",
11380          "0x1f1f9",
11381          "0x1f1e6",
11382          "0x1f1f9",
11383          "0x1f1e8",
11384          "0x1f1f9",
11385          "0x1f1e9",
11386          "0x1f1f9",
11387          "0x1f1eb",
11388          "0x1f1f9",
11389          "0x1f1ec",
11390          "0x1f1f9",
11391          "0x1f1ed",
11392          "0x1f1f9",
11393          "0x1f1ef",
11394          "0x1f1f9",
11395          "0x1f1f0",
11396          "0x1f1f9",
11397          "0x1f1f1",
11398          "0x1f1f9",
11399          "0x1f1f2",
11400          "0x1f1f9",
11401          "0x1f1f3",
11402          "0x1f1f9",
11403          "0x1f1f4",
11404          "0x1f1f9",
11405          "0x1f1f7",
11406          "0x1f1f9",
11407          "0x1f1f9",
11408          "0x1f1f9",
11409          "0x1f1fb",
11410          "0x1f1f9",
11411          "0x1f1fc",
11412          "0x1f1f9",
11413          "0x1f1ff",
11414          "0x1f1fa",
11415          "0x1f1e6",
11416          "0x1f1fa",
11417          "0x1f1ec",
11418          "0x1f1fa",
11419          "0x1f1f2",
11420          "0x1f1fa",
11421          "0x1f1f3",
11422          "0x1f1fa",
11423          "0x1f1f8",
11424          "0x1f1fa",
11425          "0x1f1fe",
11426          "0x1f1fa",
11427          "0x1f1ff",
11428          "0x1f1fb",
11429          "0x1f1e6",
11430          "0x1f1fb",
11431          "0x1f1e8",
11432          "0x1f1fb",
11433          "0x1f1ea",
11434          "0x1f1fb",
11435          "0x1f1ec",
11436          "0x1f1fb",
11437          "0x1f1ee",
11438          "0x1f1fb",
11439          "0x1f1f3",
11440          "0x1f1fb",
11441          "0x1f1fa",
11442          "0x1f1fc",
11443          "0x1f1eb",
11444          "0x1f1fc",
11445          "0x1f1f8",
11446          "0x1f1fd",
11447          "0x1f1f0",
11448          "0x1f1fe",
11449          "0x1f1ea",
11450          "0x1f1fe",
11451          "0x1f1f9",
11452          "0x1f1ff",
11453          "0x1f1e6",
11454          "0x1f1ff",
11455          "0x1f1f2",
11456          "0x1f1ff",
11457          "0x1f1fc",
11458          "0x1f3f4",
11459          "0xe0067",
11460          "0xe0062",
11461          "0xe0065",
11462          "0xe006e",
11463          "0xe0067",
11464          "0xe007f",
11465          "0x1f3f4",
11466          "0xe0067",
11467          "0xe0062",
11468          "0xe0073",
11469          "0xe0063",
11470          "0xe0074",
11471          "0xe007f",
11472          "0x1f3f4",
11473          "0xe0067",
11474          "0xe0062",
11475          "0xe0077",
11476          "0xe006c",
11477          "0xe0073",
11478          "0xe007f"
11479        ]
11480      }
11481    };
11482    var o_hasOwnProperty = Object.prototype.hasOwnProperty;
11483    var o_keys = Object.keys || function(obj) {
11484      var result = [];
11485      for (var key in obj) {
11486        if (o_hasOwnProperty.call(obj, key)) {
11487          result.push(key);
11488        }
11489      }
11490      return result;
11491    };
11492    function _copyObject(source, target) {
11493      var keys = o_keys(source);
11494      var key;
11495      for (var i = 0, l = keys.length; i < l; i++) {
11496        key = keys[i];
11497        target[key] = source[key] || target[key];
11498      }
11499    }
11500    function _copyArray(source, target) {
11501      for (var i = 0, l = source.length; i < l; i++) {
11502        target[i] = source[i];
11503      }
11504    }
11505    function copyObject(source, _target) {
11506      var isArray = Array.isArray(source);
11507      var target = _target || (isArray ? new Array(source.length) : {});
11508      if (isArray) {
11509        _copyArray(source, target);
11510      } else {
11511        _copyObject(source, target);
11512      }
11513      return target;
11514    }
11515    Chance.prototype.get = function(name) {
11516      return copyObject(data[name]);
11517    };
11518    Chance.prototype.mac_address = function(options) {
11519      options = initOptions(options);
11520      if (!options.separator) {
11521        options.separator = options.networkVersion ? "." : ":";
11522      }
11523      var mac_pool = "ABCDEF1234567890", mac = "";
11524      if (!options.networkVersion) {
11525        mac = this.n(this.string, 6, { pool: mac_pool, length: 2 }).join(options.separator);
11526      } else {
11527        mac = this.n(this.string, 3, { pool: mac_pool, length: 4 }).join(options.separator);
11528      }
11529      return mac;
11530    };
11531    Chance.prototype.normal = function(options) {
11532      options = initOptions(options, { mean: 0, dev: 1, pool: [] });
11533      testRange(
11534        options.pool.constructor !== Array,
11535        "Chance: The pool option must be a valid array."
11536      );
11537      testRange(
11538        typeof options.mean !== "number",
11539        "Chance: Mean (mean) must be a number"
11540      );
11541      testRange(
11542        typeof options.dev !== "number",
11543        "Chance: Standard deviation (dev) must be a number"
11544      );
11545      if (options.pool.length > 0) {
11546        return this.normal_pool(options);
11547      }
11548      var s, u, v, norm, mean = options.mean, dev = options.dev;
11549      do {
11550        u = this.random() * 2 - 1;
11551        v = this.random() * 2 - 1;
11552        s = u * u + v * v;
11553      } while (s >= 1);
11554      norm = u * Math.sqrt(-2 * Math.log(s) / s);
11555      return dev * norm + mean;
11556    };
11557    Chance.prototype.normal_pool = function(options) {
11558      var performanceCounter = 0;
11559      do {
11560        var idx = Math.round(this.normal({ mean: options.mean, dev: options.dev }));
11561        if (idx < options.pool.length && idx >= 0) {
11562          return options.pool[idx];
11563        } else {
11564          performanceCounter++;
11565        }
11566      } while (performanceCounter < 100);
11567      throw new RangeError("Chance: Your pool is too small for the given mean and standard deviation. Please adjust.");
11568    };
11569    Chance.prototype.radio = function(options) {
11570      options = initOptions(options, { side: "?" });
11571      var fl = "";
11572      switch (options.side.toLowerCase()) {
11573        case "east":
11574        case "e":
11575          fl = "W";
11576          break;
11577        case "west":
11578        case "w":
11579          fl = "K";
11580          break;
11581        default:
11582          fl = this.character({ pool: "KW" });
11583          break;
11584      }
11585      return fl + this.character({ alpha: true, casing: "upper" }) + this.character({ alpha: true, casing: "upper" }) + this.character({ alpha: true, casing: "upper" });
11586    };
11587    Chance.prototype.set = function(name, values) {
11588      if (typeof name === "string") {
11589        data[name] = values;
11590      } else {
11591        data = copyObject(name, data);
11592      }
11593    };
11594    Chance.prototype.tv = function(options) {
11595      return this.radio(options);
11596    };
11597    Chance.prototype.cnpj = function() {
11598      var n = this.n(this.natural, 8, { max: 9 });
11599      var d1 = 2 + n[7] * 6 + n[6] * 7 + n[5] * 8 + n[4] * 9 + n[3] * 2 + n[2] * 3 + n[1] * 4 + n[0] * 5;
11600      d1 = 11 - d1 % 11;
11601      if (d1 >= 10) {
11602        d1 = 0;
11603      }
11604      var d2 = d1 * 2 + 3 + n[7] * 7 + n[6] * 8 + n[5] * 9 + n[4] * 2 + n[3] * 3 + n[2] * 4 + n[1] * 5 + n[0] * 6;
11605      d2 = 11 - d2 % 11;
11606      if (d2 >= 10) {
11607        d2 = 0;
11608      }
11609      return "" + n[0] + n[1] + "." + n[2] + n[3] + n[4] + "." + n[5] + n[6] + n[7] + "/0001-" + d1 + d2;
11610    };
11611    Chance.prototype.emotion = function() {
11612      return this.pick(this.get("emotions"));
11613    };
11614    Chance.prototype.mersenne_twister = function(seed) {
11615      return new MersenneTwister(seed);
11616    };
11617    Chance.prototype.blueimp_md5 = function() {
11618      return new BlueImpMD5();
11619    };
11620    var MersenneTwister = function(seed) {
11621      if (seed === void 0) {
11622        seed = Math.floor(Math.random() * Math.pow(10, 13));
11623      }
11624      this.N = 624;
11625      this.M = 397;
11626      this.MATRIX_A = 2567483615;
11627      this.UPPER_MASK = 2147483648;
11628      this.LOWER_MASK = 2147483647;
11629      this.mt = new Array(this.N);
11630      this.mti = this.N + 1;
11631      this.init_genrand(seed);
11632    };
11633    MersenneTwister.prototype.init_genrand = function(s) {
11634      this.mt[0] = s >>> 0;
11635      for (this.mti = 1; this.mti < this.N; this.mti++) {
11636        s = this.mt[this.mti - 1] ^ this.mt[this.mti - 1] >>> 30;
11637        this.mt[this.mti] = (((s & 4294901760) >>> 16) * 1812433253 << 16) + (s & 65535) * 1812433253 + this.mti;
11638        this.mt[this.mti] >>>= 0;
11639      }
11640    };
11641    MersenneTwister.prototype.init_by_array = function(init_key, key_length) {
11642      var i = 1, j = 0, k, s;
11643      this.init_genrand(19650218);
11644      k = this.N > key_length ? this.N : key_length;
11645      for (; k; k--) {
11646        s = this.mt[i - 1] ^ this.mt[i - 1] >>> 30;
11647        this.mt[i] = (this.mt[i] ^ (((s & 4294901760) >>> 16) * 1664525 << 16) + (s & 65535) * 1664525) + init_key[j] + j;
11648        this.mt[i] >>>= 0;
11649        i++;
11650        j++;
11651        if (i >= this.N) {
11652          this.mt[0] = this.mt[this.N - 1];
11653          i = 1;
11654        }
11655        if (j >= key_length) {
11656          j = 0;
11657        }
11658      }
11659      for (k = this.N - 1; k; k--) {
11660        s = this.mt[i - 1] ^ this.mt[i - 1] >>> 30;
11661        this.mt[i] = (this.mt[i] ^ (((s & 4294901760) >>> 16) * 1566083941 << 16) + (s & 65535) * 1566083941) - i;
11662        this.mt[i] >>>= 0;
11663        i++;
11664        if (i >= this.N) {
11665          this.mt[0] = this.mt[this.N - 1];
11666          i = 1;
11667        }
11668      }
11669      this.mt[0] = 2147483648;
11670    };
11671    MersenneTwister.prototype.genrand_int32 = function() {
11672      var y;
11673      var mag01 = new Array(0, this.MATRIX_A);
11674      if (this.mti >= this.N) {
11675        var kk;
11676        if (this.mti === this.N + 1) {
11677          this.init_genrand(5489);
11678        }
11679        for (kk = 0; kk < this.N - this.M; kk++) {
11680          y = this.mt[kk] & this.UPPER_MASK | this.mt[kk + 1] & this.LOWER_MASK;
11681          this.mt[kk] = this.mt[kk + this.M] ^ y >>> 1 ^ mag01[y & 1];
11682        }
11683        for (; kk < this.N - 1; kk++) {
11684          y = this.mt[kk] & this.UPPER_MASK | this.mt[kk + 1] & this.LOWER_MASK;
11685          this.mt[kk] = this.mt[kk + (this.M - this.N)] ^ y >>> 1 ^ mag01[y & 1];
11686        }
11687        y = this.mt[this.N - 1] & this.UPPER_MASK | this.mt[0] & this.LOWER_MASK;
11688        this.mt[this.N - 1] = this.mt[this.M - 1] ^ y >>> 1 ^ mag01[y & 1];
11689        this.mti = 0;
11690      }
11691      y = this.mt[this.mti++];
11692      y ^= y >>> 11;
11693      y ^= y << 7 & 2636928640;
11694      y ^= y << 15 & 4022730752;
11695      y ^= y >>> 18;
11696      return y >>> 0;
11697    };
11698    MersenneTwister.prototype.genrand_int31 = function() {
11699      return this.genrand_int32() >>> 1;
11700    };
11701    MersenneTwister.prototype.genrand_real1 = function() {
11702      return this.genrand_int32() * (1 / 4294967295);
11703    };
11704    MersenneTwister.prototype.random = function() {
11705      return this.genrand_int32() * (1 / 4294967296);
11706    };
11707    MersenneTwister.prototype.genrand_real3 = function() {
11708      return (this.genrand_int32() + 0.5) * (1 / 4294967296);
11709    };
11710    MersenneTwister.prototype.genrand_res53 = function() {
11711      var a = this.genrand_int32() >>> 5, b = this.genrand_int32() >>> 6;
11712      return (a * 67108864 + b) * (1 / 9007199254740992);
11713    };
11714    var BlueImpMD5 = function() {
11715    };
11716    BlueImpMD5.prototype.VERSION = "1.0.1";
11717    BlueImpMD5.prototype.safe_add = function safe_add(x, y) {
11718      var lsw = (x & 65535) + (y & 65535), msw = (x >> 16) + (y >> 16) + (lsw >> 16);
11719      return msw << 16 | lsw & 65535;
11720    };
11721    BlueImpMD5.prototype.bit_roll = function(num, cnt) {
11722      return num << cnt | num >>> 32 - cnt;
11723    };
11724    BlueImpMD5.prototype.md5_cmn = function(q, a, b, x, s, t) {
11725      return this.safe_add(this.bit_roll(this.safe_add(this.safe_add(a, q), this.safe_add(x, t)), s), b);
11726    };
11727    BlueImpMD5.prototype.md5_ff = function(a, b, c, d, x, s, t) {
11728      return this.md5_cmn(b & c | ~b & d, a, b, x, s, t);
11729    };
11730    BlueImpMD5.prototype.md5_gg = function(a, b, c, d, x, s, t) {
11731      return this.md5_cmn(b & d | c & ~d, a, b, x, s, t);
11732    };
11733    BlueImpMD5.prototype.md5_hh = function(a, b, c, d, x, s, t) {
11734      return this.md5_cmn(b ^ c ^ d, a, b, x, s, t);
11735    };
11736    BlueImpMD5.prototype.md5_ii = function(a, b, c, d, x, s, t) {
11737      return this.md5_cmn(c ^ (b | ~d), a, b, x, s, t);
11738    };
11739    BlueImpMD5.prototype.binl_md5 = function(x, len) {
11740      x[len >> 5] |= 128 << len % 32;
11741      x[(len + 64 >>> 9 << 4) + 14] = len;
11742      var i, olda, oldb, oldc, oldd, a = 1732584193, b = -271733879, c = -1732584194, d = 271733878;
11743      for (i = 0; i < x.length; i += 16) {
11744        olda = a;
11745        oldb = b;
11746        oldc = c;
11747        oldd = d;
11748        a = this.md5_ff(a, b, c, d, x[i], 7, -680876936);
11749        d = this.md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
11750        c = this.md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
11751        b = this.md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
11752        a = this.md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
11753        d = this.md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
11754        c = this.md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
11755        b = this.md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
11756        a = this.md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
11757        d = this.md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
11758        c = this.md5_ff(c, d, a, b, x[i + 10], 17, -42063);
11759        b = this.md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
11760        a = this.md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
11761        d = this.md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
11762        c = this.md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
11763        b = this.md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
11764        a = this.md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
11765        d = this.md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
11766        c = this.md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
11767        b = this.md5_gg(b, c, d, a, x[i], 20, -373897302);
11768        a = this.md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
11769        d = this.md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
11770        c = this.md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
11771        b = this.md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
11772        a = this.md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
11773        d = this.md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
11774        c = this.md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
11775        b = this.md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
11776        a = this.md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
11777        d = this.md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
11778        c = this.md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
11779        b = this.md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
11780        a = this.md5_hh(a, b, c, d, x[i + 5], 4, -378558);
11781        d = this.md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
11782        c = this.md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
11783        b = this.md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
11784        a = this.md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
11785        d = this.md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
11786        c = this.md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
11787        b = this.md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
11788        a = this.md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
11789        d = this.md5_hh(d, a, b, c, x[i], 11, -358537222);
11790        c = this.md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
11791        b = this.md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
11792        a = this.md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
11793        d = this.md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
11794        c = this.md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
11795        b = this.md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
11796        a = this.md5_ii(a, b, c, d, x[i], 6, -198630844);
11797        d = this.md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
11798        c = this.md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
11799        b = this.md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
11800        a = this.md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
11801        d = this.md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
11802        c = this.md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
11803        b = this.md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
11804        a = this.md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
11805        d = this.md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
11806        c = this.md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
11807        b = this.md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
11808        a = this.md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
11809        d = this.md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
11810        c = this.md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
11811        b = this.md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
11812        a = this.safe_add(a, olda);
11813        b = this.safe_add(b, oldb);
11814        c = this.safe_add(c, oldc);
11815        d = this.safe_add(d, oldd);
11816      }
11817      return [a, b, c, d];
11818    };
11819    BlueImpMD5.prototype.binl2rstr = function(input) {
11820      var i, output = "";
11821      for (i = 0; i < input.length * 32; i += 8) {
11822        output += String.fromCharCode(input[i >> 5] >>> i % 32 & 255);
11823      }
11824      return output;
11825    };
11826    BlueImpMD5.prototype.rstr2binl = function(input) {
11827      var i, output = [];
11828      output[(input.length >> 2) - 1] = void 0;
11829      for (i = 0; i < output.length; i += 1) {
11830        output[i] = 0;
11831      }
11832      for (i = 0; i < input.length * 8; i += 8) {
11833        output[i >> 5] |= (input.charCodeAt(i / 8) & 255) << i % 32;
11834      }
11835      return output;
11836    };
11837    BlueImpMD5.prototype.rstr_md5 = function(s) {
11838      return this.binl2rstr(this.binl_md5(this.rstr2binl(s), s.length * 8));
11839    };
11840    BlueImpMD5.prototype.rstr_hmac_md5 = function(key, data2) {
11841      var i, bkey = this.rstr2binl(key), ipad = [], opad = [], hash;
11842      ipad[15] = opad[15] = void 0;
11843      if (bkey.length > 16) {
11844        bkey = this.binl_md5(bkey, key.length * 8);
11845      }
11846      for (i = 0; i < 16; i += 1) {
11847        ipad[i] = bkey[i] ^ 909522486;
11848        opad[i] = bkey[i] ^ 1549556828;
11849      }
11850      hash = this.binl_md5(ipad.concat(this.rstr2binl(data2)), 512 + data2.length * 8);
11851      return this.binl2rstr(this.binl_md5(opad.concat(hash), 512 + 128));
11852    };
11853    BlueImpMD5.prototype.rstr2hex = function(input) {
11854      var hex_tab = "0123456789abcdef", output = "", x, i;
11855      for (i = 0; i < input.length; i += 1) {
11856        x = input.charCodeAt(i);
11857        output += hex_tab.charAt(x >>> 4 & 15) + hex_tab.charAt(x & 15);
11858      }
11859      return output;
11860    };
11861    BlueImpMD5.prototype.str2rstr_utf8 = function(input) {
11862      return unescape(encodeURIComponent(input));
11863    };
11864    BlueImpMD5.prototype.raw_md5 = function(s) {
11865      return this.rstr_md5(this.str2rstr_utf8(s));
11866    };
11867    BlueImpMD5.prototype.hex_md5 = function(s) {
11868      return this.rstr2hex(this.raw_md5(s));
11869    };
11870    BlueImpMD5.prototype.raw_hmac_md5 = function(k, d) {
11871      return this.rstr_hmac_md5(this.str2rstr_utf8(k), this.str2rstr_utf8(d));
11872    };
11873    BlueImpMD5.prototype.hex_hmac_md5 = function(k, d) {
11874      return this.rstr2hex(this.raw_hmac_md5(k, d));
11875    };
11876    BlueImpMD5.prototype.md5 = function(string, key, raw) {
11877      if (!key) {
11878        if (!raw) {
11879          return this.hex_md5(string);
11880        }
11881        return this.raw_md5(string);
11882      }
11883      if (!raw) {
11884        return this.hex_hmac_md5(key, string);
11885      }
11886      return this.raw_hmac_md5(key, string);
11887    };
11888    {
11889      if (module.exports) {
11890        exports = module.exports = Chance;
11891      }
11892      exports.Chance = Chance;
11893    }
11894    if (typeof importScripts !== "undefined") {
11895      chance = new Chance();
11896      self.Chance = Chance;
11897    }
11898    if (typeof window === "object" && typeof window.document === "object") {
11899      window.Chance = Chance;
11900      window.chance = new Chance();
11901    }
11902  })();
11903})(chance$3, chance$3.exports);
11904var chanceExports = chance$3.exports;
11905const chance$1 = /* @__PURE__ */ getDefaultExportFromCjs(chanceExports);
11906const chance$2 = /* @__PURE__ */ _mergeNamespaces({
11907  __proto__: null,
11908  default: chance$1
11909}, [chanceExports]);
11910export {
11911  chance$2 as c
11912};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.