From 6be139b51171855e67c5df0aff51b8ae7b4b4315 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Tue, 23 Sep 2014 17:04:04 +0530 Subject: Moved mnemonics code to src/mnemonics --- src/mnemonics/electrum-words.cpp | 138 ++ src/mnemonics/electrum-words.h | 3308 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 3446 insertions(+) create mode 100644 src/mnemonics/electrum-words.cpp create mode 100644 src/mnemonics/electrum-words.h (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp new file mode 100644 index 000000000..4f672ec5e --- /dev/null +++ b/src/mnemonics/electrum-words.cpp @@ -0,0 +1,138 @@ +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* + * This file and its header file are for translating Electrum-style word lists + * into their equivalent byte representations for cross-compatibility with + * that method of "backing up" one's wallet keys. + */ + +#include +#include +#include +#include +#include +#include +#include "crypto/crypto.h" // for declaration of crypto::secret_key + +#include "mnemonics/electrum-words.h" + +namespace crypto +{ + namespace ElectrumWords + { + + /* convert words to bytes, 3 words -> 4 bytes + * returns: + * false if not a multiple of 3 words, or if a words is not in the + * words list + * + * true otherwise + */ + bool words_to_bytes(const std::string& words, crypto::secret_key& dst) + { + int n = NUMWORDS; // hardcoded because this is what electrum uses + + std::vector wlist; + + boost::split(wlist, words, boost::is_any_of(" ")); + + // error on non-compliant word list + if (wlist.size() != 12 && wlist.size() != 24) return false; + + for (unsigned int i=0; i < wlist.size() / 3; i++) + { + uint32_t val; + uint32_t w1, w2, w3; + + // verify all three words exist in the word list + if (wordsMap.count(wlist[i*3]) == 0 || + wordsMap.count(wlist[i*3 + 1]) == 0 || + wordsMap.count(wlist[i*3 + 2]) == 0) + { + return false; + } + + w1 = wordsMap.at(wlist[i*3]); + w2 = wordsMap.at(wlist[i*3 + 1]); + w3 = wordsMap.at(wlist[i*3 + 2]); + + val = w1 + n * (((n - w1) + w2) % n) + n * n * (((n - w2) + w3) % n); + + if (!(val % n == w1)) return false; + + memcpy(dst.data + i * 4, &val, 4); // copy 4 bytes to position + } + + std::string wlist_copy = words; + if (wlist.size() == 12) + { + memcpy(dst.data, dst.data + 16, 16); // if electrum 12-word seed, duplicate + wlist_copy += ' '; + wlist_copy += words; + } + + return true; + } + + /* convert bytes to words, 4 bytes-> 3 words + * returns: + * false if wrong number of bytes (shouldn't be possible) + * true otherwise + */ + bool bytes_to_words(const crypto::secret_key& src, std::string& words) + { + int n = NUMWORDS; // hardcoded because this is what electrum uses + + if (sizeof(src.data) % 4 != 0) return false; + + // 8 bytes -> 3 words. 8 digits base 16 -> 3 digits base 1626 + for (unsigned int i=0; i < sizeof(src.data)/4; i++, words += ' ') + { + uint32_t w1, w2, w3; + + uint32_t val; + + memcpy(&val, (src.data) + (i * 4), 4); + + w1 = val % n; + w2 = ((val / n) + w1) % n; + w3 = (((val / n) / n) + w2) % n; + + words += wordsArray[w1]; + words += ' '; + words += wordsArray[w2]; + words += ' '; + words += wordsArray[w3]; + } + return false; + } + + } // namespace ElectrumWords + +} // namespace crypto diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h new file mode 100644 index 000000000..d9e28ada1 --- /dev/null +++ b/src/mnemonics/electrum-words.h @@ -0,0 +1,3308 @@ +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +/* + * This file and its cpp file are for translating Electrum-style word lists + * into their equivalent byte representations for cross-compatibility with + * that method of "backing up" one's wallet keys. + */ + +#include +#include +#include +#include "crypto/crypto.h" // for declaration of crypto::secret_key + +namespace crypto +{ + namespace ElectrumWords + { + + const int NUMWORDS = 1626; + + bool words_to_bytes(const std::string& words, crypto::secret_key& dst); + bool bytes_to_words(const crypto::secret_key& src, std::string& words); + + const std::map wordsMap = { + {"like", 0}, + {"just", 1}, + {"love", 2}, + {"know", 3}, + {"never", 4}, + {"want", 5}, + {"time", 6}, + {"out", 7}, + {"there", 8}, + {"make", 9}, + {"look", 10}, + {"eye", 11}, + {"down", 12}, + {"only", 13}, + {"think", 14}, + {"heart", 15}, + {"back", 16}, + {"then", 17}, + {"into", 18}, + {"about", 19}, + {"more", 20}, + {"away", 21}, + {"still", 22}, + {"them", 23}, + {"take", 24}, + {"thing", 25}, + {"even", 26}, + {"through", 27}, + {"long", 28}, + {"always", 29}, + {"world", 30}, + {"too", 31}, + {"friend", 32}, + {"tell", 33}, + {"try", 34}, + {"hand", 35}, + {"thought", 36}, + {"over", 37}, + {"here", 38}, + {"other", 39}, + {"need", 40}, + {"smile", 41}, + {"again", 42}, + {"much", 43}, + {"cry", 44}, + {"been", 45}, + {"night", 46}, + {"ever", 47}, + {"little", 48}, + {"said", 49}, + {"end", 50}, + {"some", 51}, + {"those", 52}, + {"around", 53}, + {"mind", 54}, + {"people", 55}, + {"girl", 56}, + {"leave", 57}, + {"dream", 58}, + {"left", 59}, + {"turn", 60}, + {"myself", 61}, + {"give", 62}, + {"nothing", 63}, + {"really", 64}, + {"off", 65}, + {"before", 66}, + {"something", 67}, + {"find", 68}, + {"walk", 69}, + {"wish", 70}, + {"good", 71}, + {"once", 72}, + {"place", 73}, + {"ask", 74}, + {"stop", 75}, + {"keep", 76}, + {"watch", 77}, + {"seem", 78}, + {"everything", 79}, + {"wait", 80}, + {"got", 81}, + {"yet", 82}, + {"made", 83}, + {"remember", 84}, + {"start", 85}, + {"alone", 86}, + {"run", 87}, + {"hope", 88}, + {"maybe", 89}, + {"believe", 90}, + {"body", 91}, + {"hate", 92}, + {"after", 93}, + {"close", 94}, + {"talk", 95}, + {"stand", 96}, + {"own", 97}, + {"each", 98}, + {"hurt", 99}, + {"help", 100}, + {"home", 101}, + {"god", 102}, + {"soul", 103}, + {"new", 104}, + {"many", 105}, + {"two", 106}, + {"inside", 107}, + {"should", 108}, + {"true", 109}, + {"first", 110}, + {"fear", 111}, + {"mean", 112}, + {"better", 113}, + {"play", 114}, + {"another", 115}, + {"gone", 116}, + {"change", 117}, + {"use", 118}, + {"wonder", 119}, + {"someone", 120}, + {"hair", 121}, + {"cold", 122}, + {"open", 123}, + {"best", 124}, + {"any", 125}, + {"behind", 126}, + {"happen", 127}, + {"water", 128}, + {"dark", 129}, + {"laugh", 130}, + {"stay", 131}, + {"forever", 132}, + {"name", 133}, + {"work", 134}, + {"show", 135}, + {"sky", 136}, + {"break", 137}, + {"came", 138}, + {"deep", 139}, + {"door", 140}, + {"put", 141}, + {"black", 142}, + {"together", 143}, + {"upon", 144}, + {"happy", 145}, + {"such", 146}, + {"great", 147}, + {"white", 148}, + {"matter", 149}, + {"fill", 150}, + {"past", 151}, + {"please", 152}, + {"burn", 153}, + {"cause", 154}, + {"enough", 155}, + {"touch", 156}, + {"moment", 157}, + {"soon", 158}, + {"voice", 159}, + {"scream", 160}, + {"anything", 161}, + {"stare", 162}, + {"sound", 163}, + {"red", 164}, + {"everyone", 165}, + {"hide", 166}, + {"kiss", 167}, + {"truth", 168}, + {"death", 169}, + {"beautiful", 170}, + {"mine", 171}, + {"blood", 172}, + {"broken", 173}, + {"very", 174}, + {"pass", 175}, + {"next", 176}, + {"forget", 177}, + {"tree", 178}, + {"wrong", 179}, + {"air", 180}, + {"mother", 181}, + {"understand", 182}, + {"lip", 183}, + {"hit", 184}, + {"wall", 185}, + {"memory", 186}, + {"sleep", 187}, + {"free", 188}, + {"high", 189}, + {"realize", 190}, + {"school", 191}, + {"might", 192}, + {"skin", 193}, + {"sweet", 194}, + {"perfect", 195}, + {"blue", 196}, + {"kill", 197}, + {"breath", 198}, + {"dance", 199}, + {"against", 200}, + {"fly", 201}, + {"between", 202}, + {"grow", 203}, + {"strong", 204}, + {"under", 205}, + {"listen", 206}, + {"bring", 207}, + {"sometimes", 208}, + {"speak", 209}, + {"pull", 210}, + {"person", 211}, + {"become", 212}, + {"family", 213}, + {"begin", 214}, + {"ground", 215}, + {"real", 216}, + {"small", 217}, + {"father", 218}, + {"sure", 219}, + {"feet", 220}, + {"rest", 221}, + {"young", 222}, + {"finally", 223}, + {"land", 224}, + {"across", 225}, + {"today", 226}, + {"different", 227}, + {"guy", 228}, + {"line", 229}, + {"fire", 230}, + {"reason", 231}, + {"reach", 232}, + {"second", 233}, + {"slowly", 234}, + {"write", 235}, + {"eat", 236}, + {"smell", 237}, + {"mouth", 238}, + {"step", 239}, + {"learn", 240}, + {"three", 241}, + {"floor", 242}, + {"promise", 243}, + {"breathe", 244}, + {"darkness", 245}, + {"push", 246}, + {"earth", 247}, + {"guess", 248}, + {"save", 249}, + {"song", 250}, + {"above", 251}, + {"along", 252}, + {"both", 253}, + {"color", 254}, + {"house", 255}, + {"almost", 256}, + {"sorry", 257}, + {"anymore", 258}, + {"brother", 259}, + {"okay", 260}, + {"dear", 261}, + {"game", 262}, + {"fade", 263}, + {"already", 264}, + {"apart", 265}, + {"warm", 266}, + {"beauty", 267}, + {"heard", 268}, + {"notice", 269}, + {"question", 270}, + {"shine", 271}, + {"began", 272}, + {"piece", 273}, + {"whole", 274}, + {"shadow", 275}, + {"secret", 276}, + {"street", 277}, + {"within", 278}, + {"finger", 279}, + {"point", 280}, + {"morning", 281}, + {"whisper", 282}, + {"child", 283}, + {"moon", 284}, + {"green", 285}, + {"story", 286}, + {"glass", 287}, + {"kid", 288}, + {"silence", 289}, + {"since", 290}, + {"soft", 291}, + {"yourself", 292}, + {"empty", 293}, + {"shall", 294}, + {"angel", 295}, + {"answer", 296}, + {"baby", 297}, + {"bright", 298}, + {"dad", 299}, + {"path", 300}, + {"worry", 301}, + {"hour", 302}, + {"drop", 303}, + {"follow", 304}, + {"power", 305}, + {"war", 306}, + {"half", 307}, + {"flow", 308}, + {"heaven", 309}, + {"act", 310}, + {"chance", 311}, + {"fact", 312}, + {"least", 313}, + {"tired", 314}, + {"children", 315}, + {"near", 316}, + {"quite", 317}, + {"afraid", 318}, + {"rise", 319}, + {"sea", 320}, + {"taste", 321}, + {"window", 322}, + {"cover", 323}, + {"nice", 324}, + {"trust", 325}, + {"lot", 326}, + {"sad", 327}, + {"cool", 328}, + {"force", 329}, + {"peace", 330}, + {"return", 331}, + {"blind", 332}, + {"easy", 333}, + {"ready", 334}, + {"roll", 335}, + {"rose", 336}, + {"drive", 337}, + {"held", 338}, + {"music", 339}, + {"beneath", 340}, + {"hang", 341}, + {"mom", 342}, + {"paint", 343}, + {"emotion", 344}, + {"quiet", 345}, + {"clear", 346}, + {"cloud", 347}, + {"few", 348}, + {"pretty", 349}, + {"bird", 350}, + {"outside", 351}, + {"paper", 352}, + {"picture", 353}, + {"front", 354}, + {"rock", 355}, + {"simple", 356}, + {"anyone", 357}, + {"meant", 358}, + {"reality", 359}, + {"road", 360}, + {"sense", 361}, + {"waste", 362}, + {"bit", 363}, + {"leaf", 364}, + {"thank", 365}, + {"happiness", 366}, + {"meet", 367}, + {"men", 368}, + {"smoke", 369}, + {"truly", 370}, + {"decide", 371}, + {"self", 372}, + {"age", 373}, + {"book", 374}, + {"form", 375}, + {"alive", 376}, + {"carry", 377}, + {"escape", 378}, + {"damn", 379}, + {"instead", 380}, + {"able", 381}, + {"ice", 382}, + {"minute", 383}, + {"throw", 384}, + {"catch", 385}, + {"leg", 386}, + {"ring", 387}, + {"course", 388}, + {"goodbye", 389}, + {"lead", 390}, + {"poem", 391}, + {"sick", 392}, + {"corner", 393}, + {"desire", 394}, + {"known", 395}, + {"problem", 396}, + {"remind", 397}, + {"shoulder", 398}, + {"suppose", 399}, + {"toward", 400}, + {"wave", 401}, + {"drink", 402}, + {"jump", 403}, + {"woman", 404}, + {"pretend", 405}, + {"sister", 406}, + {"week", 407}, + {"human", 408}, + {"joy", 409}, + {"crack", 410}, + {"grey", 411}, + {"pray", 412}, + {"surprise", 413}, + {"dry", 414}, + {"knee", 415}, + {"less", 416}, + {"search", 417}, + {"bleed", 418}, + {"caught", 419}, + {"clean", 420}, + {"embrace", 421}, + {"future", 422}, + {"king", 423}, + {"son", 424}, + {"sorrow", 425}, + {"chest", 426}, + {"hug", 427}, + {"remain", 428}, + {"sat", 429}, + {"worth", 430}, + {"blow", 431}, + {"daddy", 432}, + {"final", 433}, + {"parent", 434}, + {"tight", 435}, + {"also", 436}, + {"create", 437}, + {"lonely", 438}, + {"safe", 439}, + {"cross", 440}, + {"dress", 441}, + {"evil", 442}, + {"silent", 443}, + {"bone", 444}, + {"fate", 445}, + {"perhaps", 446}, + {"anger", 447}, + {"class", 448}, + {"scar", 449}, + {"snow", 450}, + {"tiny", 451}, + {"tonight", 452}, + {"continue", 453}, + {"control", 454}, + {"dog", 455}, + {"edge", 456}, + {"mirror", 457}, + {"month", 458}, + {"suddenly", 459}, + {"comfort", 460}, + {"given", 461}, + {"loud", 462}, + {"quickly", 463}, + {"gaze", 464}, + {"plan", 465}, + {"rush", 466}, + {"stone", 467}, + {"town", 468}, + {"battle", 469}, + {"ignore", 470}, + {"spirit", 471}, + {"stood", 472}, + {"stupid", 473}, + {"yours", 474}, + {"brown", 475}, + {"build", 476}, + {"dust", 477}, + {"hey", 478}, + {"kept", 479}, + {"pay", 480}, + {"phone", 481}, + {"twist", 482}, + {"although", 483}, + {"ball", 484}, + {"beyond", 485}, + {"hidden", 486}, + {"nose", 487}, + {"taken", 488}, + {"fail", 489}, + {"float", 490}, + {"pure", 491}, + {"somehow", 492}, + {"wash", 493}, + {"wrap", 494}, + {"angry", 495}, + {"cheek", 496}, + {"creature", 497}, + {"forgotten", 498}, + {"heat", 499}, + {"rip", 500}, + {"single", 501}, + {"space", 502}, + {"special", 503}, + {"weak", 504}, + {"whatever", 505}, + {"yell", 506}, + {"anyway", 507}, + {"blame", 508}, + {"job", 509}, + {"choose", 510}, + {"country", 511}, + {"curse", 512}, + {"drift", 513}, + {"echo", 514}, + {"figure", 515}, + {"grew", 516}, + {"laughter", 517}, + {"neck", 518}, + {"suffer", 519}, + {"worse", 520}, + {"yeah", 521}, + {"disappear", 522}, + {"foot", 523}, + {"forward", 524}, + {"knife", 525}, + {"mess", 526}, + {"somewhere", 527}, + {"stomach", 528}, + {"storm", 529}, + {"beg", 530}, + {"idea", 531}, + {"lift", 532}, + {"offer", 533}, + {"breeze", 534}, + {"field", 535}, + {"five", 536}, + {"often", 537}, + {"simply", 538}, + {"stuck", 539}, + {"win", 540}, + {"allow", 541}, + {"confuse", 542}, + {"enjoy", 543}, + {"except", 544}, + {"flower", 545}, + {"seek", 546}, + {"strength", 547}, + {"calm", 548}, + {"grin", 549}, + {"gun", 550}, + {"heavy", 551}, + {"hill", 552}, + {"large", 553}, + {"ocean", 554}, + {"shoe", 555}, + {"sigh", 556}, + {"straight", 557}, + {"summer", 558}, + {"tongue", 559}, + {"accept", 560}, + {"crazy", 561}, + {"everyday", 562}, + {"exist", 563}, + {"grass", 564}, + {"mistake", 565}, + {"sent", 566}, + {"shut", 567}, + {"surround", 568}, + {"table", 569}, + {"ache", 570}, + {"brain", 571}, + {"destroy", 572}, + {"heal", 573}, + {"nature", 574}, + {"shout", 575}, + {"sign", 576}, + {"stain", 577}, + {"choice", 578}, + {"doubt", 579}, + {"glance", 580}, + {"glow", 581}, + {"mountain", 582}, + {"queen", 583}, + {"stranger", 584}, + {"throat", 585}, + {"tomorrow", 586}, + {"city", 587}, + {"either", 588}, + {"fish", 589}, + {"flame", 590}, + {"rather", 591}, + {"shape", 592}, + {"spin", 593}, + {"spread", 594}, + {"ash", 595}, + {"distance", 596}, + {"finish", 597}, + {"image", 598}, + {"imagine", 599}, + {"important", 600}, + {"nobody", 601}, + {"shatter", 602}, + {"warmth", 603}, + {"became", 604}, + {"feed", 605}, + {"flesh", 606}, + {"funny", 607}, + {"lust", 608}, + {"shirt", 609}, + {"trouble", 610}, + {"yellow", 611}, + {"attention", 612}, + {"bare", 613}, + {"bite", 614}, + {"money", 615}, + {"protect", 616}, + {"amaze", 617}, + {"appear", 618}, + {"born", 619}, + {"choke", 620}, + {"completely", 621}, + {"daughter", 622}, + {"fresh", 623}, + {"friendship", 624}, + {"gentle", 625}, + {"probably", 626}, + {"six", 627}, + {"deserve", 628}, + {"expect", 629}, + {"grab", 630}, + {"middle", 631}, + {"nightmare", 632}, + {"river", 633}, + {"thousand", 634}, + {"weight", 635}, + {"worst", 636}, + {"wound", 637}, + {"barely", 638}, + {"bottle", 639}, + {"cream", 640}, + {"regret", 641}, + {"relationship", 642}, + {"stick", 643}, + {"test", 644}, + {"crush", 645}, + {"endless", 646}, + {"fault", 647}, + {"itself", 648}, + {"rule", 649}, + {"spill", 650}, + {"art", 651}, + {"circle", 652}, + {"join", 653}, + {"kick", 654}, + {"mask", 655}, + {"master", 656}, + {"passion", 657}, + {"quick", 658}, + {"raise", 659}, + {"smooth", 660}, + {"unless", 661}, + {"wander", 662}, + {"actually", 663}, + {"broke", 664}, + {"chair", 665}, + {"deal", 666}, + {"favorite", 667}, + {"gift", 668}, + {"note", 669}, + {"number", 670}, + {"sweat", 671}, + {"box", 672}, + {"chill", 673}, + {"clothes", 674}, + {"lady", 675}, + {"mark", 676}, + {"park", 677}, + {"poor", 678}, + {"sadness", 679}, + {"tie", 680}, + {"animal", 681}, + {"belong", 682}, + {"brush", 683}, + {"consume", 684}, + {"dawn", 685}, + {"forest", 686}, + {"innocent", 687}, + {"pen", 688}, + {"pride", 689}, + {"stream", 690}, + {"thick", 691}, + {"clay", 692}, + {"complete", 693}, + {"count", 694}, + {"draw", 695}, + {"faith", 696}, + {"press", 697}, + {"silver", 698}, + {"struggle", 699}, + {"surface", 700}, + {"taught", 701}, + {"teach", 702}, + {"wet", 703}, + {"bless", 704}, + {"chase", 705}, + {"climb", 706}, + {"enter", 707}, + {"letter", 708}, + {"melt", 709}, + {"metal", 710}, + {"movie", 711}, + {"stretch", 712}, + {"swing", 713}, + {"vision", 714}, + {"wife", 715}, + {"beside", 716}, + {"crash", 717}, + {"forgot", 718}, + {"guide", 719}, + {"haunt", 720}, + {"joke", 721}, + {"knock", 722}, + {"plant", 723}, + {"pour", 724}, + {"prove", 725}, + {"reveal", 726}, + {"steal", 727}, + {"stuff", 728}, + {"trip", 729}, + {"wood", 730}, + {"wrist", 731}, + {"bother", 732}, + {"bottom", 733}, + {"crawl", 734}, + {"crowd", 735}, + {"fix", 736}, + {"forgive", 737}, + {"frown", 738}, + {"grace", 739}, + {"loose", 740}, + {"lucky", 741}, + {"party", 742}, + {"release", 743}, + {"surely", 744}, + {"survive", 745}, + {"teacher", 746}, + {"gently", 747}, + {"grip", 748}, + {"speed", 749}, + {"suicide", 750}, + {"travel", 751}, + {"treat", 752}, + {"vein", 753}, + {"written", 754}, + {"cage", 755}, + {"chain", 756}, + {"conversation", 757}, + {"date", 758}, + {"enemy", 759}, + {"however", 760}, + {"interest", 761}, + {"million", 762}, + {"page", 763}, + {"pink", 764}, + {"proud", 765}, + {"sway", 766}, + {"themselves", 767}, + {"winter", 768}, + {"church", 769}, + {"cruel", 770}, + {"cup", 771}, + {"demon", 772}, + {"experience", 773}, + {"freedom", 774}, + {"pair", 775}, + {"pop", 776}, + {"purpose", 777}, + {"respect", 778}, + {"shoot", 779}, + {"softly", 780}, + {"state", 781}, + {"strange", 782}, + {"bar", 783}, + {"birth", 784}, + {"curl", 785}, + {"dirt", 786}, + {"excuse", 787}, + {"lord", 788}, + {"lovely", 789}, + {"monster", 790}, + {"order", 791}, + {"pack", 792}, + {"pants", 793}, + {"pool", 794}, + {"scene", 795}, + {"seven", 796}, + {"shame", 797}, + {"slide", 798}, + {"ugly", 799}, + {"among", 800}, + {"blade", 801}, + {"blonde", 802}, + {"closet", 803}, + {"creek", 804}, + {"deny", 805}, + {"drug", 806}, + {"eternity", 807}, + {"gain", 808}, + {"grade", 809}, + {"handle", 810}, + {"key", 811}, + {"linger", 812}, + {"pale", 813}, + {"prepare", 814}, + {"swallow", 815}, + {"swim", 816}, + {"tremble", 817}, + {"wheel", 818}, + {"won", 819}, + {"cast", 820}, + {"cigarette", 821}, + {"claim", 822}, + {"college", 823}, + {"direction", 824}, + {"dirty", 825}, + {"gather", 826}, + {"ghost", 827}, + {"hundred", 828}, + {"loss", 829}, + {"lung", 830}, + {"orange", 831}, + {"present", 832}, + {"swear", 833}, + {"swirl", 834}, + {"twice", 835}, + {"wild", 836}, + {"bitter", 837}, + {"blanket", 838}, + {"doctor", 839}, + {"everywhere", 840}, + {"flash", 841}, + {"grown", 842}, + {"knowledge", 843}, + {"numb", 844}, + {"pressure", 845}, + {"radio", 846}, + {"repeat", 847}, + {"ruin", 848}, + {"spend", 849}, + {"unknown", 850}, + {"buy", 851}, + {"clock", 852}, + {"devil", 853}, + {"early", 854}, + {"false", 855}, + {"fantasy", 856}, + {"pound", 857}, + {"precious", 858}, + {"refuse", 859}, + {"sheet", 860}, + {"teeth", 861}, + {"welcome", 862}, + {"add", 863}, + {"ahead", 864}, + {"block", 865}, + {"bury", 866}, + {"caress", 867}, + {"content", 868}, + {"depth", 869}, + {"despite", 870}, + {"distant", 871}, + {"marry", 872}, + {"purple", 873}, + {"threw", 874}, + {"whenever", 875}, + {"bomb", 876}, + {"dull", 877}, + {"easily", 878}, + {"grasp", 879}, + {"hospital", 880}, + {"innocence", 881}, + {"normal", 882}, + {"receive", 883}, + {"reply", 884}, + {"rhyme", 885}, + {"shade", 886}, + {"someday", 887}, + {"sword", 888}, + {"toe", 889}, + {"visit", 890}, + {"asleep", 891}, + {"bought", 892}, + {"center", 893}, + {"consider", 894}, + {"flat", 895}, + {"hero", 896}, + {"history", 897}, + {"ink", 898}, + {"insane", 899}, + {"muscle", 900}, + {"mystery", 901}, + {"pocket", 902}, + {"reflection", 903}, + {"shove", 904}, + {"silently", 905}, + {"smart", 906}, + {"soldier", 907}, + {"spot", 908}, + {"stress", 909}, + {"train", 910}, + {"type", 911}, + {"view", 912}, + {"whether", 913}, + {"bus", 914}, + {"energy", 915}, + {"explain", 916}, + {"holy", 917}, + {"hunger", 918}, + {"inch", 919}, + {"magic", 920}, + {"mix", 921}, + {"noise", 922}, + {"nowhere", 923}, + {"prayer", 924}, + {"presence", 925}, + {"shock", 926}, + {"snap", 927}, + {"spider", 928}, + {"study", 929}, + {"thunder", 930}, + {"trail", 931}, + {"admit", 932}, + {"agree", 933}, + {"bag", 934}, + {"bang", 935}, + {"bound", 936}, + {"butterfly", 937}, + {"cute", 938}, + {"exactly", 939}, + {"explode", 940}, + {"familiar", 941}, + {"fold", 942}, + {"further", 943}, + {"pierce", 944}, + {"reflect", 945}, + {"scent", 946}, + {"selfish", 947}, + {"sharp", 948}, + {"sink", 949}, + {"spring", 950}, + {"stumble", 951}, + {"universe", 952}, + {"weep", 953}, + {"women", 954}, + {"wonderful", 955}, + {"action", 956}, + {"ancient", 957}, + {"attempt", 958}, + {"avoid", 959}, + {"birthday", 960}, + {"branch", 961}, + {"chocolate", 962}, + {"core", 963}, + {"depress", 964}, + {"drunk", 965}, + {"especially", 966}, + {"focus", 967}, + {"fruit", 968}, + {"honest", 969}, + {"match", 970}, + {"palm", 971}, + {"perfectly", 972}, + {"pillow", 973}, + {"pity", 974}, + {"poison", 975}, + {"roar", 976}, + {"shift", 977}, + {"slightly", 978}, + {"thump", 979}, + {"truck", 980}, + {"tune", 981}, + {"twenty", 982}, + {"unable", 983}, + {"wipe", 984}, + {"wrote", 985}, + {"coat", 986}, + {"constant", 987}, + {"dinner", 988}, + {"drove", 989}, + {"egg", 990}, + {"eternal", 991}, + {"flight", 992}, + {"flood", 993}, + {"frame", 994}, + {"freak", 995}, + {"gasp", 996}, + {"glad", 997}, + {"hollow", 998}, + {"motion", 999}, + {"peer", 1000}, + {"plastic", 1001}, + {"root", 1002}, + {"screen", 1003}, + {"season", 1004}, + {"sting", 1005}, + {"strike", 1006}, + {"team", 1007}, + {"unlike", 1008}, + {"victim", 1009}, + {"volume", 1010}, + {"warn", 1011}, + {"weird", 1012}, + {"attack", 1013}, + {"await", 1014}, + {"awake", 1015}, + {"built", 1016}, + {"charm", 1017}, + {"crave", 1018}, + {"despair", 1019}, + {"fought", 1020}, + {"grant", 1021}, + {"grief", 1022}, + {"horse", 1023}, + {"limit", 1024}, + {"message", 1025}, + {"ripple", 1026}, + {"sanity", 1027}, + {"scatter", 1028}, + {"serve", 1029}, + {"split", 1030}, + {"string", 1031}, + {"trick", 1032}, + {"annoy", 1033}, + {"blur", 1034}, + {"boat", 1035}, + {"brave", 1036}, + {"clearly", 1037}, + {"cling", 1038}, + {"connect", 1039}, + {"fist", 1040}, + {"forth", 1041}, + {"imagination", 1042}, + {"iron", 1043}, + {"jock", 1044}, + {"judge", 1045}, + {"lesson", 1046}, + {"milk", 1047}, + {"misery", 1048}, + {"nail", 1049}, + {"naked", 1050}, + {"ourselves", 1051}, + {"poet", 1052}, + {"possible", 1053}, + {"princess", 1054}, + {"sail", 1055}, + {"size", 1056}, + {"snake", 1057}, + {"society", 1058}, + {"stroke", 1059}, + {"torture", 1060}, + {"toss", 1061}, + {"trace", 1062}, + {"wise", 1063}, + {"bloom", 1064}, + {"bullet", 1065}, + {"cell", 1066}, + {"check", 1067}, + {"cost", 1068}, + {"darling", 1069}, + {"during", 1070}, + {"footstep", 1071}, + {"fragile", 1072}, + {"hallway", 1073}, + {"hardly", 1074}, + {"horizon", 1075}, + {"invisible", 1076}, + {"journey", 1077}, + {"midnight", 1078}, + {"mud", 1079}, + {"nod", 1080}, + {"pause", 1081}, + {"relax", 1082}, + {"shiver", 1083}, + {"sudden", 1084}, + {"value", 1085}, + {"youth", 1086}, + {"abuse", 1087}, + {"admire", 1088}, + {"blink", 1089}, + {"breast", 1090}, + {"bruise", 1091}, + {"constantly", 1092}, + {"couple", 1093}, + {"creep", 1094}, + {"curve", 1095}, + {"difference", 1096}, + {"dumb", 1097}, + {"emptiness", 1098}, + {"gotta", 1099}, + {"honor", 1100}, + {"plain", 1101}, + {"planet", 1102}, + {"recall", 1103}, + {"rub", 1104}, + {"ship", 1105}, + {"slam", 1106}, + {"soar", 1107}, + {"somebody", 1108}, + {"tightly", 1109}, + {"weather", 1110}, + {"adore", 1111}, + {"approach", 1112}, + {"bond", 1113}, + {"bread", 1114}, + {"burst", 1115}, + {"candle", 1116}, + {"coffee", 1117}, + {"cousin", 1118}, + {"crime", 1119}, + {"desert", 1120}, + {"flutter", 1121}, + {"frozen", 1122}, + {"grand", 1123}, + {"heel", 1124}, + {"hello", 1125}, + {"language", 1126}, + {"level", 1127}, + {"movement", 1128}, + {"pleasure", 1129}, + {"powerful", 1130}, + {"random", 1131}, + {"rhythm", 1132}, + {"settle", 1133}, + {"silly", 1134}, + {"slap", 1135}, + {"sort", 1136}, + {"spoken", 1137}, + {"steel", 1138}, + {"threaten", 1139}, + {"tumble", 1140}, + {"upset", 1141}, + {"aside", 1142}, + {"awkward", 1143}, + {"bee", 1144}, + {"blank", 1145}, + {"board", 1146}, + {"button", 1147}, + {"card", 1148}, + {"carefully", 1149}, + {"complain", 1150}, + {"crap", 1151}, + {"deeply", 1152}, + {"discover", 1153}, + {"drag", 1154}, + {"dread", 1155}, + {"effort", 1156}, + {"entire", 1157}, + {"fairy", 1158}, + {"giant", 1159}, + {"gotten", 1160}, + {"greet", 1161}, + {"illusion", 1162}, + {"jeans", 1163}, + {"leap", 1164}, + {"liquid", 1165}, + {"march", 1166}, + {"mend", 1167}, + {"nervous", 1168}, + {"nine", 1169}, + {"replace", 1170}, + {"rope", 1171}, + {"spine", 1172}, + {"stole", 1173}, + {"terror", 1174}, + {"accident", 1175}, + {"apple", 1176}, + {"balance", 1177}, + {"boom", 1178}, + {"childhood", 1179}, + {"collect", 1180}, + {"demand", 1181}, + {"depression", 1182}, + {"eventually", 1183}, + {"faint", 1184}, + {"glare", 1185}, + {"goal", 1186}, + {"group", 1187}, + {"honey", 1188}, + {"kitchen", 1189}, + {"laid", 1190}, + {"limb", 1191}, + {"machine", 1192}, + {"mere", 1193}, + {"mold", 1194}, + {"murder", 1195}, + {"nerve", 1196}, + {"painful", 1197}, + {"poetry", 1198}, + {"prince", 1199}, + {"rabbit", 1200}, + {"shelter", 1201}, + {"shore", 1202}, + {"shower", 1203}, + {"soothe", 1204}, + {"stair", 1205}, + {"steady", 1206}, + {"sunlight", 1207}, + {"tangle", 1208}, + {"tease", 1209}, + {"treasure", 1210}, + {"uncle", 1211}, + {"begun", 1212}, + {"bliss", 1213}, + {"canvas", 1214}, + {"cheer", 1215}, + {"claw", 1216}, + {"clutch", 1217}, + {"commit", 1218}, + {"crimson", 1219}, + {"crystal", 1220}, + {"delight", 1221}, + {"doll", 1222}, + {"existence", 1223}, + {"express", 1224}, + {"fog", 1225}, + {"football", 1226}, + {"gay", 1227}, + {"goose", 1228}, + {"guard", 1229}, + {"hatred", 1230}, + {"illuminate", 1231}, + {"mass", 1232}, + {"math", 1233}, + {"mourn", 1234}, + {"rich", 1235}, + {"rough", 1236}, + {"skip", 1237}, + {"stir", 1238}, + {"student", 1239}, + {"style", 1240}, + {"support", 1241}, + {"thorn", 1242}, + {"tough", 1243}, + {"yard", 1244}, + {"yearn", 1245}, + {"yesterday", 1246}, + {"advice", 1247}, + {"appreciate", 1248}, + {"autumn", 1249}, + {"bank", 1250}, + {"beam", 1251}, + {"bowl", 1252}, + {"capture", 1253}, + {"carve", 1254}, + {"collapse", 1255}, + {"confusion", 1256}, + {"creation", 1257}, + {"dove", 1258}, + {"feather", 1259}, + {"girlfriend", 1260}, + {"glory", 1261}, + {"government", 1262}, + {"harsh", 1263}, + {"hop", 1264}, + {"inner", 1265}, + {"loser", 1266}, + {"moonlight", 1267}, + {"neighbor", 1268}, + {"neither", 1269}, + {"peach", 1270}, + {"pig", 1271}, + {"praise", 1272}, + {"screw", 1273}, + {"shield", 1274}, + {"shimmer", 1275}, + {"sneak", 1276}, + {"stab", 1277}, + {"subject", 1278}, + {"throughout", 1279}, + {"thrown", 1280}, + {"tower", 1281}, + {"twirl", 1282}, + {"wow", 1283}, + {"army", 1284}, + {"arrive", 1285}, + {"bathroom", 1286}, + {"bump", 1287}, + {"cease", 1288}, + {"cookie", 1289}, + {"couch", 1290}, + {"courage", 1291}, + {"dim", 1292}, + {"guilt", 1293}, + {"howl", 1294}, + {"hum", 1295}, + {"husband", 1296}, + {"insult", 1297}, + {"led", 1298}, + {"lunch", 1299}, + {"mock", 1300}, + {"mostly", 1301}, + {"natural", 1302}, + {"nearly", 1303}, + {"needle", 1304}, + {"nerd", 1305}, + {"peaceful", 1306}, + {"perfection", 1307}, + {"pile", 1308}, + {"price", 1309}, + {"remove", 1310}, + {"roam", 1311}, + {"sanctuary", 1312}, + {"serious", 1313}, + {"shiny", 1314}, + {"shook", 1315}, + {"sob", 1316}, + {"stolen", 1317}, + {"tap", 1318}, + {"vain", 1319}, + {"void", 1320}, + {"warrior", 1321}, + {"wrinkle", 1322}, + {"affection", 1323}, + {"apologize", 1324}, + {"blossom", 1325}, + {"bounce", 1326}, + {"bridge", 1327}, + {"cheap", 1328}, + {"crumble", 1329}, + {"decision", 1330}, + {"descend", 1331}, + {"desperately", 1332}, + {"dig", 1333}, + {"dot", 1334}, + {"flip", 1335}, + {"frighten", 1336}, + {"heartbeat", 1337}, + {"huge", 1338}, + {"lazy", 1339}, + {"lick", 1340}, + {"odd", 1341}, + {"opinion", 1342}, + {"process", 1343}, + {"puzzle", 1344}, + {"quietly", 1345}, + {"retreat", 1346}, + {"score", 1347}, + {"sentence", 1348}, + {"separate", 1349}, + {"situation", 1350}, + {"skill", 1351}, + {"soak", 1352}, + {"square", 1353}, + {"stray", 1354}, + {"taint", 1355}, + {"task", 1356}, + {"tide", 1357}, + {"underneath", 1358}, + {"veil", 1359}, + {"whistle", 1360}, + {"anywhere", 1361}, + {"bedroom", 1362}, + {"bid", 1363}, + {"bloody", 1364}, + {"burden", 1365}, + {"careful", 1366}, + {"compare", 1367}, + {"concern", 1368}, + {"curtain", 1369}, + {"decay", 1370}, + {"defeat", 1371}, + {"describe", 1372}, + {"double", 1373}, + {"dreamer", 1374}, + {"driver", 1375}, + {"dwell", 1376}, + {"evening", 1377}, + {"flare", 1378}, + {"flicker", 1379}, + {"grandma", 1380}, + {"guitar", 1381}, + {"harm", 1382}, + {"horrible", 1383}, + {"hungry", 1384}, + {"indeed", 1385}, + {"lace", 1386}, + {"melody", 1387}, + {"monkey", 1388}, + {"nation", 1389}, + {"object", 1390}, + {"obviously", 1391}, + {"rainbow", 1392}, + {"salt", 1393}, + {"scratch", 1394}, + {"shown", 1395}, + {"shy", 1396}, + {"stage", 1397}, + {"stun", 1398}, + {"third", 1399}, + {"tickle", 1400}, + {"useless", 1401}, + {"weakness", 1402}, + {"worship", 1403}, + {"worthless", 1404}, + {"afternoon", 1405}, + {"beard", 1406}, + {"boyfriend", 1407}, + {"bubble", 1408}, + {"busy", 1409}, + {"certain", 1410}, + {"chin", 1411}, + {"concrete", 1412}, + {"desk", 1413}, + {"diamond", 1414}, + {"doom", 1415}, + {"drawn", 1416}, + {"due", 1417}, + {"felicity", 1418}, + {"freeze", 1419}, + {"frost", 1420}, + {"garden", 1421}, + {"glide", 1422}, + {"harmony", 1423}, + {"hopefully", 1424}, + {"hunt", 1425}, + {"jealous", 1426}, + {"lightning", 1427}, + {"mama", 1428}, + {"mercy", 1429}, + {"peel", 1430}, + {"physical", 1431}, + {"position", 1432}, + {"pulse", 1433}, + {"punch", 1434}, + {"quit", 1435}, + {"rant", 1436}, + {"respond", 1437}, + {"salty", 1438}, + {"sane", 1439}, + {"satisfy", 1440}, + {"savior", 1441}, + {"sheep", 1442}, + {"slept", 1443}, + {"social", 1444}, + {"sport", 1445}, + {"tuck", 1446}, + {"utter", 1447}, + {"valley", 1448}, + {"wolf", 1449}, + {"aim", 1450}, + {"alas", 1451}, + {"alter", 1452}, + {"arrow", 1453}, + {"awaken", 1454}, + {"beaten", 1455}, + {"belief", 1456}, + {"brand", 1457}, + {"ceiling", 1458}, + {"cheese", 1459}, + {"clue", 1460}, + {"confidence", 1461}, + {"connection", 1462}, + {"daily", 1463}, + {"disguise", 1464}, + {"eager", 1465}, + {"erase", 1466}, + {"essence", 1467}, + {"everytime", 1468}, + {"expression", 1469}, + {"fan", 1470}, + {"flag", 1471}, + {"flirt", 1472}, + {"foul", 1473}, + {"fur", 1474}, + {"giggle", 1475}, + {"glorious", 1476}, + {"ignorance", 1477}, + {"law", 1478}, + {"lifeless", 1479}, + {"measure", 1480}, + {"mighty", 1481}, + {"muse", 1482}, + {"north", 1483}, + {"opposite", 1484}, + {"paradise", 1485}, + {"patience", 1486}, + {"patient", 1487}, + {"pencil", 1488}, + {"petal", 1489}, + {"plate", 1490}, + {"ponder", 1491}, + {"possibly", 1492}, + {"practice", 1493}, + {"slice", 1494}, + {"spell", 1495}, + {"stock", 1496}, + {"strife", 1497}, + {"strip", 1498}, + {"suffocate", 1499}, + {"suit", 1500}, + {"tender", 1501}, + {"tool", 1502}, + {"trade", 1503}, + {"velvet", 1504}, + {"verse", 1505}, + {"waist", 1506}, + {"witch", 1507}, + {"aunt", 1508}, + {"bench", 1509}, + {"bold", 1510}, + {"cap", 1511}, + {"certainly", 1512}, + {"click", 1513}, + {"companion", 1514}, + {"creator", 1515}, + {"dart", 1516}, + {"delicate", 1517}, + {"determine", 1518}, + {"dish", 1519}, + {"dragon", 1520}, + {"drama", 1521}, + {"drum", 1522}, + {"dude", 1523}, + {"everybody", 1524}, + {"feast", 1525}, + {"forehead", 1526}, + {"former", 1527}, + {"fright", 1528}, + {"fully", 1529}, + {"gas", 1530}, + {"hook", 1531}, + {"hurl", 1532}, + {"invite", 1533}, + {"juice", 1534}, + {"manage", 1535}, + {"moral", 1536}, + {"possess", 1537}, + {"raw", 1538}, + {"rebel", 1539}, + {"royal", 1540}, + {"scale", 1541}, + {"scary", 1542}, + {"several", 1543}, + {"slight", 1544}, + {"stubborn", 1545}, + {"swell", 1546}, + {"talent", 1547}, + {"tea", 1548}, + {"terrible", 1549}, + {"thread", 1550}, + {"torment", 1551}, + {"trickle", 1552}, + {"usually", 1553}, + {"vast", 1554}, + {"violence", 1555}, + {"weave", 1556}, + {"acid", 1557}, + {"agony", 1558}, + {"ashamed", 1559}, + {"awe", 1560}, + {"belly", 1561}, + {"blend", 1562}, + {"blush", 1563}, + {"character", 1564}, + {"cheat", 1565}, + {"common", 1566}, + {"company", 1567}, + {"coward", 1568}, + {"creak", 1569}, + {"danger", 1570}, + {"deadly", 1571}, + {"defense", 1572}, + {"define", 1573}, + {"depend", 1574}, + {"desperate", 1575}, + {"destination", 1576}, + {"dew", 1577}, + {"duck", 1578}, + {"dusty", 1579}, + {"embarrass", 1580}, + {"engine", 1581}, + {"example", 1582}, + {"explore", 1583}, + {"foe", 1584}, + {"freely", 1585}, + {"frustrate", 1586}, + {"generation", 1587}, + {"glove", 1588}, + {"guilty", 1589}, + {"health", 1590}, + {"hurry", 1591}, + {"idiot", 1592}, + {"impossible", 1593}, + {"inhale", 1594}, + {"jaw", 1595}, + {"kingdom", 1596}, + {"mention", 1597}, + {"mist", 1598}, + {"moan", 1599}, + {"mumble", 1600}, + {"mutter", 1601}, + {"observe", 1602}, + {"ode", 1603}, + {"pathetic", 1604}, + {"pattern", 1605}, + {"pie", 1606}, + {"prefer", 1607}, + {"puff", 1608}, + {"rape", 1609}, + {"rare", 1610}, + {"revenge", 1611}, + {"rude", 1612}, + {"scrape", 1613}, + {"spiral", 1614}, + {"squeeze", 1615}, + {"strain", 1616}, + {"sunset", 1617}, + {"suspend", 1618}, + {"sympathy", 1619}, + {"thigh", 1620}, + {"throne", 1621}, + {"total", 1622}, + {"unseen", 1623}, + {"weapon", 1624}, + {"weary", 1625} + }; + + const std::string wordsArray[] = { + "like", + "just", + "love", + "know", + "never", + "want", + "time", + "out", + "there", + "make", + "look", + "eye", + "down", + "only", + "think", + "heart", + "back", + "then", + "into", + "about", + "more", + "away", + "still", + "them", + "take", + "thing", + "even", + "through", + "long", + "always", + "world", + "too", + "friend", + "tell", + "try", + "hand", + "thought", + "over", + "here", + "other", + "need", + "smile", + "again", + "much", + "cry", + "been", + "night", + "ever", + "little", + "said", + "end", + "some", + "those", + "around", + "mind", + "people", + "girl", + "leave", + "dream", + "left", + "turn", + "myself", + "give", + "nothing", + "really", + "off", + "before", + "something", + "find", + "walk", + "wish", + "good", + "once", + "place", + "ask", + "stop", + "keep", + "watch", + "seem", + "everything", + "wait", + "got", + "yet", + "made", + "remember", + "start", + "alone", + "run", + "hope", + "maybe", + "believe", + "body", + "hate", + "after", + "close", + "talk", + "stand", + "own", + "each", + "hurt", + "help", + "home", + "god", + "soul", + "new", + "many", + "two", + "inside", + "should", + "true", + "first", + "fear", + "mean", + "better", + "play", + "another", + "gone", + "change", + "use", + "wonder", + "someone", + "hair", + "cold", + "open", + "best", + "any", + "behind", + "happen", + "water", + "dark", + "laugh", + "stay", + "forever", + "name", + "work", + "show", + "sky", + "break", + "came", + "deep", + "door", + "put", + "black", + "together", + "upon", + "happy", + "such", + "great", + "white", + "matter", + "fill", + "past", + "please", + "burn", + "cause", + "enough", + "touch", + "moment", + "soon", + "voice", + "scream", + "anything", + "stare", + "sound", + "red", + "everyone", + "hide", + "kiss", + "truth", + "death", + "beautiful", + "mine", + "blood", + "broken", + "very", + "pass", + "next", + "forget", + "tree", + "wrong", + "air", + "mother", + "understand", + "lip", + "hit", + "wall", + "memory", + "sleep", + "free", + "high", + "realize", + "school", + "might", + "skin", + "sweet", + "perfect", + "blue", + "kill", + "breath", + "dance", + "against", + "fly", + "between", + "grow", + "strong", + "under", + "listen", + "bring", + "sometimes", + "speak", + "pull", + "person", + "become", + "family", + "begin", + "ground", + "real", + "small", + "father", + "sure", + "feet", + "rest", + "young", + "finally", + "land", + "across", + "today", + "different", + "guy", + "line", + "fire", + "reason", + "reach", + "second", + "slowly", + "write", + "eat", + "smell", + "mouth", + "step", + "learn", + "three", + "floor", + "promise", + "breathe", + "darkness", + "push", + "earth", + "guess", + "save", + "song", + "above", + "along", + "both", + "color", + "house", + "almost", + "sorry", + "anymore", + "brother", + "okay", + "dear", + "game", + "fade", + "already", + "apart", + "warm", + "beauty", + "heard", + "notice", + "question", + "shine", + "began", + "piece", + "whole", + "shadow", + "secret", + "street", + "within", + "finger", + "point", + "morning", + "whisper", + "child", + "moon", + "green", + "story", + "glass", + "kid", + "silence", + "since", + "soft", + "yourself", + "empty", + "shall", + "angel", + "answer", + "baby", + "bright", + "dad", + "path", + "worry", + "hour", + "drop", + "follow", + "power", + "war", + "half", + "flow", + "heaven", + "act", + "chance", + "fact", + "least", + "tired", + "children", + "near", + "quite", + "afraid", + "rise", + "sea", + "taste", + "window", + "cover", + "nice", + "trust", + "lot", + "sad", + "cool", + "force", + "peace", + "return", + "blind", + "easy", + "ready", + "roll", + "rose", + "drive", + "held", + "music", + "beneath", + "hang", + "mom", + "paint", + "emotion", + "quiet", + "clear", + "cloud", + "few", + "pretty", + "bird", + "outside", + "paper", + "picture", + "front", + "rock", + "simple", + "anyone", + "meant", + "reality", + "road", + "sense", + "waste", + "bit", + "leaf", + "thank", + "happiness", + "meet", + "men", + "smoke", + "truly", + "decide", + "self", + "age", + "book", + "form", + "alive", + "carry", + "escape", + "damn", + "instead", + "able", + "ice", + "minute", + "throw", + "catch", + "leg", + "ring", + "course", + "goodbye", + "lead", + "poem", + "sick", + "corner", + "desire", + "known", + "problem", + "remind", + "shoulder", + "suppose", + "toward", + "wave", + "drink", + "jump", + "woman", + "pretend", + "sister", + "week", + "human", + "joy", + "crack", + "grey", + "pray", + "surprise", + "dry", + "knee", + "less", + "search", + "bleed", + "caught", + "clean", + "embrace", + "future", + "king", + "son", + "sorrow", + "chest", + "hug", + "remain", + "sat", + "worth", + "blow", + "daddy", + "final", + "parent", + "tight", + "also", + "create", + "lonely", + "safe", + "cross", + "dress", + "evil", + "silent", + "bone", + "fate", + "perhaps", + "anger", + "class", + "scar", + "snow", + "tiny", + "tonight", + "continue", + "control", + "dog", + "edge", + "mirror", + "month", + "suddenly", + "comfort", + "given", + "loud", + "quickly", + "gaze", + "plan", + "rush", + "stone", + "town", + "battle", + "ignore", + "spirit", + "stood", + "stupid", + "yours", + "brown", + "build", + "dust", + "hey", + "kept", + "pay", + "phone", + "twist", + "although", + "ball", + "beyond", + "hidden", + "nose", + "taken", + "fail", + "float", + "pure", + "somehow", + "wash", + "wrap", + "angry", + "cheek", + "creature", + "forgotten", + "heat", + "rip", + "single", + "space", + "special", + "weak", + "whatever", + "yell", + "anyway", + "blame", + "job", + "choose", + "country", + "curse", + "drift", + "echo", + "figure", + "grew", + "laughter", + "neck", + "suffer", + "worse", + "yeah", + "disappear", + "foot", + "forward", + "knife", + "mess", + "somewhere", + "stomach", + "storm", + "beg", + "idea", + "lift", + "offer", + "breeze", + "field", + "five", + "often", + "simply", + "stuck", + "win", + "allow", + "confuse", + "enjoy", + "except", + "flower", + "seek", + "strength", + "calm", + "grin", + "gun", + "heavy", + "hill", + "large", + "ocean", + "shoe", + "sigh", + "straight", + "summer", + "tongue", + "accept", + "crazy", + "everyday", + "exist", + "grass", + "mistake", + "sent", + "shut", + "surround", + "table", + "ache", + "brain", + "destroy", + "heal", + "nature", + "shout", + "sign", + "stain", + "choice", + "doubt", + "glance", + "glow", + "mountain", + "queen", + "stranger", + "throat", + "tomorrow", + "city", + "either", + "fish", + "flame", + "rather", + "shape", + "spin", + "spread", + "ash", + "distance", + "finish", + "image", + "imagine", + "important", + "nobody", + "shatter", + "warmth", + "became", + "feed", + "flesh", + "funny", + "lust", + "shirt", + "trouble", + "yellow", + "attention", + "bare", + "bite", + "money", + "protect", + "amaze", + "appear", + "born", + "choke", + "completely", + "daughter", + "fresh", + "friendship", + "gentle", + "probably", + "six", + "deserve", + "expect", + "grab", + "middle", + "nightmare", + "river", + "thousand", + "weight", + "worst", + "wound", + "barely", + "bottle", + "cream", + "regret", + "relationship", + "stick", + "test", + "crush", + "endless", + "fault", + "itself", + "rule", + "spill", + "art", + "circle", + "join", + "kick", + "mask", + "master", + "passion", + "quick", + "raise", + "smooth", + "unless", + "wander", + "actually", + "broke", + "chair", + "deal", + "favorite", + "gift", + "note", + "number", + "sweat", + "box", + "chill", + "clothes", + "lady", + "mark", + "park", + "poor", + "sadness", + "tie", + "animal", + "belong", + "brush", + "consume", + "dawn", + "forest", + "innocent", + "pen", + "pride", + "stream", + "thick", + "clay", + "complete", + "count", + "draw", + "faith", + "press", + "silver", + "struggle", + "surface", + "taught", + "teach", + "wet", + "bless", + "chase", + "climb", + "enter", + "letter", + "melt", + "metal", + "movie", + "stretch", + "swing", + "vision", + "wife", + "beside", + "crash", + "forgot", + "guide", + "haunt", + "joke", + "knock", + "plant", + "pour", + "prove", + "reveal", + "steal", + "stuff", + "trip", + "wood", + "wrist", + "bother", + "bottom", + "crawl", + "crowd", + "fix", + "forgive", + "frown", + "grace", + "loose", + "lucky", + "party", + "release", + "surely", + "survive", + "teacher", + "gently", + "grip", + "speed", + "suicide", + "travel", + "treat", + "vein", + "written", + "cage", + "chain", + "conversation", + "date", + "enemy", + "however", + "interest", + "million", + "page", + "pink", + "proud", + "sway", + "themselves", + "winter", + "church", + "cruel", + "cup", + "demon", + "experience", + "freedom", + "pair", + "pop", + "purpose", + "respect", + "shoot", + "softly", + "state", + "strange", + "bar", + "birth", + "curl", + "dirt", + "excuse", + "lord", + "lovely", + "monster", + "order", + "pack", + "pants", + "pool", + "scene", + "seven", + "shame", + "slide", + "ugly", + "among", + "blade", + "blonde", + "closet", + "creek", + "deny", + "drug", + "eternity", + "gain", + "grade", + "handle", + "key", + "linger", + "pale", + "prepare", + "swallow", + "swim", + "tremble", + "wheel", + "won", + "cast", + "cigarette", + "claim", + "college", + "direction", + "dirty", + "gather", + "ghost", + "hundred", + "loss", + "lung", + "orange", + "present", + "swear", + "swirl", + "twice", + "wild", + "bitter", + "blanket", + "doctor", + "everywhere", + "flash", + "grown", + "knowledge", + "numb", + "pressure", + "radio", + "repeat", + "ruin", + "spend", + "unknown", + "buy", + "clock", + "devil", + "early", + "false", + "fantasy", + "pound", + "precious", + "refuse", + "sheet", + "teeth", + "welcome", + "add", + "ahead", + "block", + "bury", + "caress", + "content", + "depth", + "despite", + "distant", + "marry", + "purple", + "threw", + "whenever", + "bomb", + "dull", + "easily", + "grasp", + "hospital", + "innocence", + "normal", + "receive", + "reply", + "rhyme", + "shade", + "someday", + "sword", + "toe", + "visit", + "asleep", + "bought", + "center", + "consider", + "flat", + "hero", + "history", + "ink", + "insane", + "muscle", + "mystery", + "pocket", + "reflection", + "shove", + "silently", + "smart", + "soldier", + "spot", + "stress", + "train", + "type", + "view", + "whether", + "bus", + "energy", + "explain", + "holy", + "hunger", + "inch", + "magic", + "mix", + "noise", + "nowhere", + "prayer", + "presence", + "shock", + "snap", + "spider", + "study", + "thunder", + "trail", + "admit", + "agree", + "bag", + "bang", + "bound", + "butterfly", + "cute", + "exactly", + "explode", + "familiar", + "fold", + "further", + "pierce", + "reflect", + "scent", + "selfish", + "sharp", + "sink", + "spring", + "stumble", + "universe", + "weep", + "women", + "wonderful", + "action", + "ancient", + "attempt", + "avoid", + "birthday", + "branch", + "chocolate", + "core", + "depress", + "drunk", + "especially", + "focus", + "fruit", + "honest", + "match", + "palm", + "perfectly", + "pillow", + "pity", + "poison", + "roar", + "shift", + "slightly", + "thump", + "truck", + "tune", + "twenty", + "unable", + "wipe", + "wrote", + "coat", + "constant", + "dinner", + "drove", + "egg", + "eternal", + "flight", + "flood", + "frame", + "freak", + "gasp", + "glad", + "hollow", + "motion", + "peer", + "plastic", + "root", + "screen", + "season", + "sting", + "strike", + "team", + "unlike", + "victim", + "volume", + "warn", + "weird", + "attack", + "await", + "awake", + "built", + "charm", + "crave", + "despair", + "fought", + "grant", + "grief", + "horse", + "limit", + "message", + "ripple", + "sanity", + "scatter", + "serve", + "split", + "string", + "trick", + "annoy", + "blur", + "boat", + "brave", + "clearly", + "cling", + "connect", + "fist", + "forth", + "imagination", + "iron", + "jock", + "judge", + "lesson", + "milk", + "misery", + "nail", + "naked", + "ourselves", + "poet", + "possible", + "princess", + "sail", + "size", + "snake", + "society", + "stroke", + "torture", + "toss", + "trace", + "wise", + "bloom", + "bullet", + "cell", + "check", + "cost", + "darling", + "during", + "footstep", + "fragile", + "hallway", + "hardly", + "horizon", + "invisible", + "journey", + "midnight", + "mud", + "nod", + "pause", + "relax", + "shiver", + "sudden", + "value", + "youth", + "abuse", + "admire", + "blink", + "breast", + "bruise", + "constantly", + "couple", + "creep", + "curve", + "difference", + "dumb", + "emptiness", + "gotta", + "honor", + "plain", + "planet", + "recall", + "rub", + "ship", + "slam", + "soar", + "somebody", + "tightly", + "weather", + "adore", + "approach", + "bond", + "bread", + "burst", + "candle", + "coffee", + "cousin", + "crime", + "desert", + "flutter", + "frozen", + "grand", + "heel", + "hello", + "language", + "level", + "movement", + "pleasure", + "powerful", + "random", + "rhythm", + "settle", + "silly", + "slap", + "sort", + "spoken", + "steel", + "threaten", + "tumble", + "upset", + "aside", + "awkward", + "bee", + "blank", + "board", + "button", + "card", + "carefully", + "complain", + "crap", + "deeply", + "discover", + "drag", + "dread", + "effort", + "entire", + "fairy", + "giant", + "gotten", + "greet", + "illusion", + "jeans", + "leap", + "liquid", + "march", + "mend", + "nervous", + "nine", + "replace", + "rope", + "spine", + "stole", + "terror", + "accident", + "apple", + "balance", + "boom", + "childhood", + "collect", + "demand", + "depression", + "eventually", + "faint", + "glare", + "goal", + "group", + "honey", + "kitchen", + "laid", + "limb", + "machine", + "mere", + "mold", + "murder", + "nerve", + "painful", + "poetry", + "prince", + "rabbit", + "shelter", + "shore", + "shower", + "soothe", + "stair", + "steady", + "sunlight", + "tangle", + "tease", + "treasure", + "uncle", + "begun", + "bliss", + "canvas", + "cheer", + "claw", + "clutch", + "commit", + "crimson", + "crystal", + "delight", + "doll", + "existence", + "express", + "fog", + "football", + "gay", + "goose", + "guard", + "hatred", + "illuminate", + "mass", + "math", + "mourn", + "rich", + "rough", + "skip", + "stir", + "student", + "style", + "support", + "thorn", + "tough", + "yard", + "yearn", + "yesterday", + "advice", + "appreciate", + "autumn", + "bank", + "beam", + "bowl", + "capture", + "carve", + "collapse", + "confusion", + "creation", + "dove", + "feather", + "girlfriend", + "glory", + "government", + "harsh", + "hop", + "inner", + "loser", + "moonlight", + "neighbor", + "neither", + "peach", + "pig", + "praise", + "screw", + "shield", + "shimmer", + "sneak", + "stab", + "subject", + "throughout", + "thrown", + "tower", + "twirl", + "wow", + "army", + "arrive", + "bathroom", + "bump", + "cease", + "cookie", + "couch", + "courage", + "dim", + "guilt", + "howl", + "hum", + "husband", + "insult", + "led", + "lunch", + "mock", + "mostly", + "natural", + "nearly", + "needle", + "nerd", + "peaceful", + "perfection", + "pile", + "price", + "remove", + "roam", + "sanctuary", + "serious", + "shiny", + "shook", + "sob", + "stolen", + "tap", + "vain", + "void", + "warrior", + "wrinkle", + "affection", + "apologize", + "blossom", + "bounce", + "bridge", + "cheap", + "crumble", + "decision", + "descend", + "desperately", + "dig", + "dot", + "flip", + "frighten", + "heartbeat", + "huge", + "lazy", + "lick", + "odd", + "opinion", + "process", + "puzzle", + "quietly", + "retreat", + "score", + "sentence", + "separate", + "situation", + "skill", + "soak", + "square", + "stray", + "taint", + "task", + "tide", + "underneath", + "veil", + "whistle", + "anywhere", + "bedroom", + "bid", + "bloody", + "burden", + "careful", + "compare", + "concern", + "curtain", + "decay", + "defeat", + "describe", + "double", + "dreamer", + "driver", + "dwell", + "evening", + "flare", + "flicker", + "grandma", + "guitar", + "harm", + "horrible", + "hungry", + "indeed", + "lace", + "melody", + "monkey", + "nation", + "object", + "obviously", + "rainbow", + "salt", + "scratch", + "shown", + "shy", + "stage", + "stun", + "third", + "tickle", + "useless", + "weakness", + "worship", + "worthless", + "afternoon", + "beard", + "boyfriend", + "bubble", + "busy", + "certain", + "chin", + "concrete", + "desk", + "diamond", + "doom", + "drawn", + "due", + "felicity", + "freeze", + "frost", + "garden", + "glide", + "harmony", + "hopefully", + "hunt", + "jealous", + "lightning", + "mama", + "mercy", + "peel", + "physical", + "position", + "pulse", + "punch", + "quit", + "rant", + "respond", + "salty", + "sane", + "satisfy", + "savior", + "sheep", + "slept", + "social", + "sport", + "tuck", + "utter", + "valley", + "wolf", + "aim", + "alas", + "alter", + "arrow", + "awaken", + "beaten", + "belief", + "brand", + "ceiling", + "cheese", + "clue", + "confidence", + "connection", + "daily", + "disguise", + "eager", + "erase", + "essence", + "everytime", + "expression", + "fan", + "flag", + "flirt", + "foul", + "fur", + "giggle", + "glorious", + "ignorance", + "law", + "lifeless", + "measure", + "mighty", + "muse", + "north", + "opposite", + "paradise", + "patience", + "patient", + "pencil", + "petal", + "plate", + "ponder", + "possibly", + "practice", + "slice", + "spell", + "stock", + "strife", + "strip", + "suffocate", + "suit", + "tender", + "tool", + "trade", + "velvet", + "verse", + "waist", + "witch", + "aunt", + "bench", + "bold", + "cap", + "certainly", + "click", + "companion", + "creator", + "dart", + "delicate", + "determine", + "dish", + "dragon", + "drama", + "drum", + "dude", + "everybody", + "feast", + "forehead", + "former", + "fright", + "fully", + "gas", + "hook", + "hurl", + "invite", + "juice", + "manage", + "moral", + "possess", + "raw", + "rebel", + "royal", + "scale", + "scary", + "several", + "slight", + "stubborn", + "swell", + "talent", + "tea", + "terrible", + "thread", + "torment", + "trickle", + "usually", + "vast", + "violence", + "weave", + "acid", + "agony", + "ashamed", + "awe", + "belly", + "blend", + "blush", + "character", + "cheat", + "common", + "company", + "coward", + "creak", + "danger", + "deadly", + "defense", + "define", + "depend", + "desperate", + "destination", + "dew", + "duck", + "dusty", + "embarrass", + "engine", + "example", + "explore", + "foe", + "freely", + "frustrate", + "generation", + "glove", + "guilty", + "health", + "hurry", + "idiot", + "impossible", + "inhale", + "jaw", + "kingdom", + "mention", + "mist", + "moan", + "mumble", + "mutter", + "observe", + "ode", + "pathetic", + "pattern", + "pie", + "prefer", + "puff", + "rape", + "rare", + "revenge", + "rude", + "scrape", + "spiral", + "squeeze", + "strain", + "sunset", + "suspend", + "sympathy", + "thigh", + "throne", + "total", + "unseen", + "weapon", + "weary" + }; + } +} -- cgit v1.2.3 From 09170b4d3ba0a98c5a8be9f7a968e58e8d877c9a Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Tue, 23 Sep 2014 18:34:39 +0530 Subject: Added code to separate old word list to raw input file and support for multiple new languages --- src/mnemonics/electrum-words.cpp | 73 +- src/mnemonics/electrum-words.h | 3262 +------------------------------------- src/mnemonics/old-word-list | 1626 +++++++++++++++++++ 3 files changed, 1688 insertions(+), 3273 deletions(-) create mode 100644 src/mnemonics/old-word-list (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 4f672ec5e..250e37577 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -39,14 +39,55 @@ #include #include #include "crypto/crypto.h" // for declaration of crypto::secret_key - +#include #include "mnemonics/electrum-words.h" + +namespace +{ + int num_words = 0; + std::map words_map; + vector words_array; + + const std::string OLD_WORD_FILE = "old-word-list"; + const std::string WORD_LIST_DIRECTORY = "wordlists"; + bool is_first_use() + { + return num_words == 0 ? true : false; + } + + void create_data_structures(const std::string &word_file) + { + ifstream input_stream; + input_stream.open(word_file, std::ifstream::in); + std::string word; + while (input_stream >> word) + { + words_array.push(word); + words_map[word] = num_words; + num_words++; + } + input_stream.close(); + } +} + namespace crypto { namespace ElectrumWords { + void init(const std::string &language, bool old_word_list = false) + { + if (old_word_list) + { + create_data_structures(OLD_WORD_FILE); + } + else + { + create_data_structures(WORD_LIST_DIRECTORY + '/' + language); + } + } + /* convert words to bytes, 3 words -> 4 bytes * returns: * false if not a multiple of 3 words, or if a words is not in the @@ -56,7 +97,11 @@ namespace crypto */ bool words_to_bytes(const std::string& words, crypto::secret_key& dst) { - int n = NUMWORDS; // hardcoded because this is what electrum uses + if (is_first_use()) + { + init("", true); + } + int n = num_words; std::vector wlist; @@ -71,16 +116,16 @@ namespace crypto uint32_t w1, w2, w3; // verify all three words exist in the word list - if (wordsMap.count(wlist[i*3]) == 0 || - wordsMap.count(wlist[i*3 + 1]) == 0 || - wordsMap.count(wlist[i*3 + 2]) == 0) + if (words_map.count(wlist[i*3]) == 0 || + words_map.count(wlist[i*3 + 1]) == 0 || + words_map.count(wlist[i*3 + 2]) == 0) { return false; } - w1 = wordsMap.at(wlist[i*3]); - w2 = wordsMap.at(wlist[i*3 + 1]); - w3 = wordsMap.at(wlist[i*3 + 2]); + w1 = words_map.at(wlist[i*3]); + w2 = words_map.at(wlist[i*3 + 1]); + w3 = words_map.at(wlist[i*3 + 2]); val = w1 + n * (((n - w1) + w2) % n) + n * n * (((n - w2) + w3) % n); @@ -107,7 +152,11 @@ namespace crypto */ bool bytes_to_words(const crypto::secret_key& src, std::string& words) { - int n = NUMWORDS; // hardcoded because this is what electrum uses + if (is_first_use()) + { + init(); + } + int n = num_words; if (sizeof(src.data) % 4 != 0) return false; @@ -124,11 +173,11 @@ namespace crypto w2 = ((val / n) + w1) % n; w3 = (((val / n) / n) + w2) % n; - words += wordsArray[w1]; + words += words_array[w1]; words += ' '; - words += wordsArray[w2]; + words += words_array[w2]; words += ' '; - words += wordsArray[w3]; + words += words_array[w3]; } return false; } diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index d9e28ada1..0ae01b6a6 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -41,3268 +41,8 @@ namespace crypto { namespace ElectrumWords { - - const int NUMWORDS = 1626; - + void init(const std::string &language, bool old_word_list); bool words_to_bytes(const std::string& words, crypto::secret_key& dst); bool bytes_to_words(const crypto::secret_key& src, std::string& words); - - const std::map wordsMap = { - {"like", 0}, - {"just", 1}, - {"love", 2}, - {"know", 3}, - {"never", 4}, - {"want", 5}, - {"time", 6}, - {"out", 7}, - {"there", 8}, - {"make", 9}, - {"look", 10}, - {"eye", 11}, - {"down", 12}, - {"only", 13}, - {"think", 14}, - {"heart", 15}, - {"back", 16}, - {"then", 17}, - {"into", 18}, - {"about", 19}, - {"more", 20}, - {"away", 21}, - {"still", 22}, - {"them", 23}, - {"take", 24}, - {"thing", 25}, - {"even", 26}, - {"through", 27}, - {"long", 28}, - {"always", 29}, - {"world", 30}, - {"too", 31}, - {"friend", 32}, - {"tell", 33}, - {"try", 34}, - {"hand", 35}, - {"thought", 36}, - {"over", 37}, - {"here", 38}, - {"other", 39}, - {"need", 40}, - {"smile", 41}, - {"again", 42}, - {"much", 43}, - {"cry", 44}, - {"been", 45}, - {"night", 46}, - {"ever", 47}, - {"little", 48}, - {"said", 49}, - {"end", 50}, - {"some", 51}, - {"those", 52}, - {"around", 53}, - {"mind", 54}, - {"people", 55}, - {"girl", 56}, - {"leave", 57}, - {"dream", 58}, - {"left", 59}, - {"turn", 60}, - {"myself", 61}, - {"give", 62}, - {"nothing", 63}, - {"really", 64}, - {"off", 65}, - {"before", 66}, - {"something", 67}, - {"find", 68}, - {"walk", 69}, - {"wish", 70}, - {"good", 71}, - {"once", 72}, - {"place", 73}, - {"ask", 74}, - {"stop", 75}, - {"keep", 76}, - {"watch", 77}, - {"seem", 78}, - {"everything", 79}, - {"wait", 80}, - {"got", 81}, - {"yet", 82}, - {"made", 83}, - {"remember", 84}, - {"start", 85}, - {"alone", 86}, - {"run", 87}, - {"hope", 88}, - {"maybe", 89}, - {"believe", 90}, - {"body", 91}, - {"hate", 92}, - {"after", 93}, - {"close", 94}, - {"talk", 95}, - {"stand", 96}, - {"own", 97}, - {"each", 98}, - {"hurt", 99}, - {"help", 100}, - {"home", 101}, - {"god", 102}, - {"soul", 103}, - {"new", 104}, - {"many", 105}, - {"two", 106}, - {"inside", 107}, - {"should", 108}, - {"true", 109}, - {"first", 110}, - {"fear", 111}, - {"mean", 112}, - {"better", 113}, - {"play", 114}, - {"another", 115}, - {"gone", 116}, - {"change", 117}, - {"use", 118}, - {"wonder", 119}, - {"someone", 120}, - {"hair", 121}, - {"cold", 122}, - {"open", 123}, - {"best", 124}, - {"any", 125}, - {"behind", 126}, - {"happen", 127}, - {"water", 128}, - {"dark", 129}, - {"laugh", 130}, - {"stay", 131}, - {"forever", 132}, - {"name", 133}, - {"work", 134}, - {"show", 135}, - {"sky", 136}, - {"break", 137}, - {"came", 138}, - {"deep", 139}, - {"door", 140}, - {"put", 141}, - {"black", 142}, - {"together", 143}, - {"upon", 144}, - {"happy", 145}, - {"such", 146}, - {"great", 147}, - {"white", 148}, - {"matter", 149}, - {"fill", 150}, - {"past", 151}, - {"please", 152}, - {"burn", 153}, - {"cause", 154}, - {"enough", 155}, - {"touch", 156}, - {"moment", 157}, - {"soon", 158}, - {"voice", 159}, - {"scream", 160}, - {"anything", 161}, - {"stare", 162}, - {"sound", 163}, - {"red", 164}, - {"everyone", 165}, - {"hide", 166}, - {"kiss", 167}, - {"truth", 168}, - {"death", 169}, - {"beautiful", 170}, - {"mine", 171}, - {"blood", 172}, - {"broken", 173}, - {"very", 174}, - {"pass", 175}, - {"next", 176}, - {"forget", 177}, - {"tree", 178}, - {"wrong", 179}, - {"air", 180}, - {"mother", 181}, - {"understand", 182}, - {"lip", 183}, - {"hit", 184}, - {"wall", 185}, - {"memory", 186}, - {"sleep", 187}, - {"free", 188}, - {"high", 189}, - {"realize", 190}, - {"school", 191}, - {"might", 192}, - {"skin", 193}, - {"sweet", 194}, - {"perfect", 195}, - {"blue", 196}, - {"kill", 197}, - {"breath", 198}, - {"dance", 199}, - {"against", 200}, - {"fly", 201}, - {"between", 202}, - {"grow", 203}, - {"strong", 204}, - {"under", 205}, - {"listen", 206}, - {"bring", 207}, - {"sometimes", 208}, - {"speak", 209}, - {"pull", 210}, - {"person", 211}, - {"become", 212}, - {"family", 213}, - {"begin", 214}, - {"ground", 215}, - {"real", 216}, - {"small", 217}, - {"father", 218}, - {"sure", 219}, - {"feet", 220}, - {"rest", 221}, - {"young", 222}, - {"finally", 223}, - {"land", 224}, - {"across", 225}, - {"today", 226}, - {"different", 227}, - {"guy", 228}, - {"line", 229}, - {"fire", 230}, - {"reason", 231}, - {"reach", 232}, - {"second", 233}, - {"slowly", 234}, - {"write", 235}, - {"eat", 236}, - {"smell", 237}, - {"mouth", 238}, - {"step", 239}, - {"learn", 240}, - {"three", 241}, - {"floor", 242}, - {"promise", 243}, - {"breathe", 244}, - {"darkness", 245}, - {"push", 246}, - {"earth", 247}, - {"guess", 248}, - {"save", 249}, - {"song", 250}, - {"above", 251}, - {"along", 252}, - {"both", 253}, - {"color", 254}, - {"house", 255}, - {"almost", 256}, - {"sorry", 257}, - {"anymore", 258}, - {"brother", 259}, - {"okay", 260}, - {"dear", 261}, - {"game", 262}, - {"fade", 263}, - {"already", 264}, - {"apart", 265}, - {"warm", 266}, - {"beauty", 267}, - {"heard", 268}, - {"notice", 269}, - {"question", 270}, - {"shine", 271}, - {"began", 272}, - {"piece", 273}, - {"whole", 274}, - {"shadow", 275}, - {"secret", 276}, - {"street", 277}, - {"within", 278}, - {"finger", 279}, - {"point", 280}, - {"morning", 281}, - {"whisper", 282}, - {"child", 283}, - {"moon", 284}, - {"green", 285}, - {"story", 286}, - {"glass", 287}, - {"kid", 288}, - {"silence", 289}, - {"since", 290}, - {"soft", 291}, - {"yourself", 292}, - {"empty", 293}, - {"shall", 294}, - {"angel", 295}, - {"answer", 296}, - {"baby", 297}, - {"bright", 298}, - {"dad", 299}, - {"path", 300}, - {"worry", 301}, - {"hour", 302}, - {"drop", 303}, - {"follow", 304}, - {"power", 305}, - {"war", 306}, - {"half", 307}, - {"flow", 308}, - {"heaven", 309}, - {"act", 310}, - {"chance", 311}, - {"fact", 312}, - {"least", 313}, - {"tired", 314}, - {"children", 315}, - {"near", 316}, - {"quite", 317}, - {"afraid", 318}, - {"rise", 319}, - {"sea", 320}, - {"taste", 321}, - {"window", 322}, - {"cover", 323}, - {"nice", 324}, - {"trust", 325}, - {"lot", 326}, - {"sad", 327}, - {"cool", 328}, - {"force", 329}, - {"peace", 330}, - {"return", 331}, - {"blind", 332}, - {"easy", 333}, - {"ready", 334}, - {"roll", 335}, - {"rose", 336}, - {"drive", 337}, - {"held", 338}, - {"music", 339}, - {"beneath", 340}, - {"hang", 341}, - {"mom", 342}, - {"paint", 343}, - {"emotion", 344}, - {"quiet", 345}, - {"clear", 346}, - {"cloud", 347}, - {"few", 348}, - {"pretty", 349}, - {"bird", 350}, - {"outside", 351}, - {"paper", 352}, - {"picture", 353}, - {"front", 354}, - {"rock", 355}, - {"simple", 356}, - {"anyone", 357}, - {"meant", 358}, - {"reality", 359}, - {"road", 360}, - {"sense", 361}, - {"waste", 362}, - {"bit", 363}, - {"leaf", 364}, - {"thank", 365}, - {"happiness", 366}, - {"meet", 367}, - {"men", 368}, - {"smoke", 369}, - {"truly", 370}, - {"decide", 371}, - {"self", 372}, - {"age", 373}, - {"book", 374}, - {"form", 375}, - {"alive", 376}, - {"carry", 377}, - {"escape", 378}, - {"damn", 379}, - {"instead", 380}, - {"able", 381}, - {"ice", 382}, - {"minute", 383}, - {"throw", 384}, - {"catch", 385}, - {"leg", 386}, - {"ring", 387}, - {"course", 388}, - {"goodbye", 389}, - {"lead", 390}, - {"poem", 391}, - {"sick", 392}, - {"corner", 393}, - {"desire", 394}, - {"known", 395}, - {"problem", 396}, - {"remind", 397}, - {"shoulder", 398}, - {"suppose", 399}, - {"toward", 400}, - {"wave", 401}, - {"drink", 402}, - {"jump", 403}, - {"woman", 404}, - {"pretend", 405}, - {"sister", 406}, - {"week", 407}, - {"human", 408}, - {"joy", 409}, - {"crack", 410}, - {"grey", 411}, - {"pray", 412}, - {"surprise", 413}, - {"dry", 414}, - {"knee", 415}, - {"less", 416}, - {"search", 417}, - {"bleed", 418}, - {"caught", 419}, - {"clean", 420}, - {"embrace", 421}, - {"future", 422}, - {"king", 423}, - {"son", 424}, - {"sorrow", 425}, - {"chest", 426}, - {"hug", 427}, - {"remain", 428}, - {"sat", 429}, - {"worth", 430}, - {"blow", 431}, - {"daddy", 432}, - {"final", 433}, - {"parent", 434}, - {"tight", 435}, - {"also", 436}, - {"create", 437}, - {"lonely", 438}, - {"safe", 439}, - {"cross", 440}, - {"dress", 441}, - {"evil", 442}, - {"silent", 443}, - {"bone", 444}, - {"fate", 445}, - {"perhaps", 446}, - {"anger", 447}, - {"class", 448}, - {"scar", 449}, - {"snow", 450}, - {"tiny", 451}, - {"tonight", 452}, - {"continue", 453}, - {"control", 454}, - {"dog", 455}, - {"edge", 456}, - {"mirror", 457}, - {"month", 458}, - {"suddenly", 459}, - {"comfort", 460}, - {"given", 461}, - {"loud", 462}, - {"quickly", 463}, - {"gaze", 464}, - {"plan", 465}, - {"rush", 466}, - {"stone", 467}, - {"town", 468}, - {"battle", 469}, - {"ignore", 470}, - {"spirit", 471}, - {"stood", 472}, - {"stupid", 473}, - {"yours", 474}, - {"brown", 475}, - {"build", 476}, - {"dust", 477}, - {"hey", 478}, - {"kept", 479}, - {"pay", 480}, - {"phone", 481}, - {"twist", 482}, - {"although", 483}, - {"ball", 484}, - {"beyond", 485}, - {"hidden", 486}, - {"nose", 487}, - {"taken", 488}, - {"fail", 489}, - {"float", 490}, - {"pure", 491}, - {"somehow", 492}, - {"wash", 493}, - {"wrap", 494}, - {"angry", 495}, - {"cheek", 496}, - {"creature", 497}, - {"forgotten", 498}, - {"heat", 499}, - {"rip", 500}, - {"single", 501}, - {"space", 502}, - {"special", 503}, - {"weak", 504}, - {"whatever", 505}, - {"yell", 506}, - {"anyway", 507}, - {"blame", 508}, - {"job", 509}, - {"choose", 510}, - {"country", 511}, - {"curse", 512}, - {"drift", 513}, - {"echo", 514}, - {"figure", 515}, - {"grew", 516}, - {"laughter", 517}, - {"neck", 518}, - {"suffer", 519}, - {"worse", 520}, - {"yeah", 521}, - {"disappear", 522}, - {"foot", 523}, - {"forward", 524}, - {"knife", 525}, - {"mess", 526}, - {"somewhere", 527}, - {"stomach", 528}, - {"storm", 529}, - {"beg", 530}, - {"idea", 531}, - {"lift", 532}, - {"offer", 533}, - {"breeze", 534}, - {"field", 535}, - {"five", 536}, - {"often", 537}, - {"simply", 538}, - {"stuck", 539}, - {"win", 540}, - {"allow", 541}, - {"confuse", 542}, - {"enjoy", 543}, - {"except", 544}, - {"flower", 545}, - {"seek", 546}, - {"strength", 547}, - {"calm", 548}, - {"grin", 549}, - {"gun", 550}, - {"heavy", 551}, - {"hill", 552}, - {"large", 553}, - {"ocean", 554}, - {"shoe", 555}, - {"sigh", 556}, - {"straight", 557}, - {"summer", 558}, - {"tongue", 559}, - {"accept", 560}, - {"crazy", 561}, - {"everyday", 562}, - {"exist", 563}, - {"grass", 564}, - {"mistake", 565}, - {"sent", 566}, - {"shut", 567}, - {"surround", 568}, - {"table", 569}, - {"ache", 570}, - {"brain", 571}, - {"destroy", 572}, - {"heal", 573}, - {"nature", 574}, - {"shout", 575}, - {"sign", 576}, - {"stain", 577}, - {"choice", 578}, - {"doubt", 579}, - {"glance", 580}, - {"glow", 581}, - {"mountain", 582}, - {"queen", 583}, - {"stranger", 584}, - {"throat", 585}, - {"tomorrow", 586}, - {"city", 587}, - {"either", 588}, - {"fish", 589}, - {"flame", 590}, - {"rather", 591}, - {"shape", 592}, - {"spin", 593}, - {"spread", 594}, - {"ash", 595}, - {"distance", 596}, - {"finish", 597}, - {"image", 598}, - {"imagine", 599}, - {"important", 600}, - {"nobody", 601}, - {"shatter", 602}, - {"warmth", 603}, - {"became", 604}, - {"feed", 605}, - {"flesh", 606}, - {"funny", 607}, - {"lust", 608}, - {"shirt", 609}, - {"trouble", 610}, - {"yellow", 611}, - {"attention", 612}, - {"bare", 613}, - {"bite", 614}, - {"money", 615}, - {"protect", 616}, - {"amaze", 617}, - {"appear", 618}, - {"born", 619}, - {"choke", 620}, - {"completely", 621}, - {"daughter", 622}, - {"fresh", 623}, - {"friendship", 624}, - {"gentle", 625}, - {"probably", 626}, - {"six", 627}, - {"deserve", 628}, - {"expect", 629}, - {"grab", 630}, - {"middle", 631}, - {"nightmare", 632}, - {"river", 633}, - {"thousand", 634}, - {"weight", 635}, - {"worst", 636}, - {"wound", 637}, - {"barely", 638}, - {"bottle", 639}, - {"cream", 640}, - {"regret", 641}, - {"relationship", 642}, - {"stick", 643}, - {"test", 644}, - {"crush", 645}, - {"endless", 646}, - {"fault", 647}, - {"itself", 648}, - {"rule", 649}, - {"spill", 650}, - {"art", 651}, - {"circle", 652}, - {"join", 653}, - {"kick", 654}, - {"mask", 655}, - {"master", 656}, - {"passion", 657}, - {"quick", 658}, - {"raise", 659}, - {"smooth", 660}, - {"unless", 661}, - {"wander", 662}, - {"actually", 663}, - {"broke", 664}, - {"chair", 665}, - {"deal", 666}, - {"favorite", 667}, - {"gift", 668}, - {"note", 669}, - {"number", 670}, - {"sweat", 671}, - {"box", 672}, - {"chill", 673}, - {"clothes", 674}, - {"lady", 675}, - {"mark", 676}, - {"park", 677}, - {"poor", 678}, - {"sadness", 679}, - {"tie", 680}, - {"animal", 681}, - {"belong", 682}, - {"brush", 683}, - {"consume", 684}, - {"dawn", 685}, - {"forest", 686}, - {"innocent", 687}, - {"pen", 688}, - {"pride", 689}, - {"stream", 690}, - {"thick", 691}, - {"clay", 692}, - {"complete", 693}, - {"count", 694}, - {"draw", 695}, - {"faith", 696}, - {"press", 697}, - {"silver", 698}, - {"struggle", 699}, - {"surface", 700}, - {"taught", 701}, - {"teach", 702}, - {"wet", 703}, - {"bless", 704}, - {"chase", 705}, - {"climb", 706}, - {"enter", 707}, - {"letter", 708}, - {"melt", 709}, - {"metal", 710}, - {"movie", 711}, - {"stretch", 712}, - {"swing", 713}, - {"vision", 714}, - {"wife", 715}, - {"beside", 716}, - {"crash", 717}, - {"forgot", 718}, - {"guide", 719}, - {"haunt", 720}, - {"joke", 721}, - {"knock", 722}, - {"plant", 723}, - {"pour", 724}, - {"prove", 725}, - {"reveal", 726}, - {"steal", 727}, - {"stuff", 728}, - {"trip", 729}, - {"wood", 730}, - {"wrist", 731}, - {"bother", 732}, - {"bottom", 733}, - {"crawl", 734}, - {"crowd", 735}, - {"fix", 736}, - {"forgive", 737}, - {"frown", 738}, - {"grace", 739}, - {"loose", 740}, - {"lucky", 741}, - {"party", 742}, - {"release", 743}, - {"surely", 744}, - {"survive", 745}, - {"teacher", 746}, - {"gently", 747}, - {"grip", 748}, - {"speed", 749}, - {"suicide", 750}, - {"travel", 751}, - {"treat", 752}, - {"vein", 753}, - {"written", 754}, - {"cage", 755}, - {"chain", 756}, - {"conversation", 757}, - {"date", 758}, - {"enemy", 759}, - {"however", 760}, - {"interest", 761}, - {"million", 762}, - {"page", 763}, - {"pink", 764}, - {"proud", 765}, - {"sway", 766}, - {"themselves", 767}, - {"winter", 768}, - {"church", 769}, - {"cruel", 770}, - {"cup", 771}, - {"demon", 772}, - {"experience", 773}, - {"freedom", 774}, - {"pair", 775}, - {"pop", 776}, - {"purpose", 777}, - {"respect", 778}, - {"shoot", 779}, - {"softly", 780}, - {"state", 781}, - {"strange", 782}, - {"bar", 783}, - {"birth", 784}, - {"curl", 785}, - {"dirt", 786}, - {"excuse", 787}, - {"lord", 788}, - {"lovely", 789}, - {"monster", 790}, - {"order", 791}, - {"pack", 792}, - {"pants", 793}, - {"pool", 794}, - {"scene", 795}, - {"seven", 796}, - {"shame", 797}, - {"slide", 798}, - {"ugly", 799}, - {"among", 800}, - {"blade", 801}, - {"blonde", 802}, - {"closet", 803}, - {"creek", 804}, - {"deny", 805}, - {"drug", 806}, - {"eternity", 807}, - {"gain", 808}, - {"grade", 809}, - {"handle", 810}, - {"key", 811}, - {"linger", 812}, - {"pale", 813}, - {"prepare", 814}, - {"swallow", 815}, - {"swim", 816}, - {"tremble", 817}, - {"wheel", 818}, - {"won", 819}, - {"cast", 820}, - {"cigarette", 821}, - {"claim", 822}, - {"college", 823}, - {"direction", 824}, - {"dirty", 825}, - {"gather", 826}, - {"ghost", 827}, - {"hundred", 828}, - {"loss", 829}, - {"lung", 830}, - {"orange", 831}, - {"present", 832}, - {"swear", 833}, - {"swirl", 834}, - {"twice", 835}, - {"wild", 836}, - {"bitter", 837}, - {"blanket", 838}, - {"doctor", 839}, - {"everywhere", 840}, - {"flash", 841}, - {"grown", 842}, - {"knowledge", 843}, - {"numb", 844}, - {"pressure", 845}, - {"radio", 846}, - {"repeat", 847}, - {"ruin", 848}, - {"spend", 849}, - {"unknown", 850}, - {"buy", 851}, - {"clock", 852}, - {"devil", 853}, - {"early", 854}, - {"false", 855}, - {"fantasy", 856}, - {"pound", 857}, - {"precious", 858}, - {"refuse", 859}, - {"sheet", 860}, - {"teeth", 861}, - {"welcome", 862}, - {"add", 863}, - {"ahead", 864}, - {"block", 865}, - {"bury", 866}, - {"caress", 867}, - {"content", 868}, - {"depth", 869}, - {"despite", 870}, - {"distant", 871}, - {"marry", 872}, - {"purple", 873}, - {"threw", 874}, - {"whenever", 875}, - {"bomb", 876}, - {"dull", 877}, - {"easily", 878}, - {"grasp", 879}, - {"hospital", 880}, - {"innocence", 881}, - {"normal", 882}, - {"receive", 883}, - {"reply", 884}, - {"rhyme", 885}, - {"shade", 886}, - {"someday", 887}, - {"sword", 888}, - {"toe", 889}, - {"visit", 890}, - {"asleep", 891}, - {"bought", 892}, - {"center", 893}, - {"consider", 894}, - {"flat", 895}, - {"hero", 896}, - {"history", 897}, - {"ink", 898}, - {"insane", 899}, - {"muscle", 900}, - {"mystery", 901}, - {"pocket", 902}, - {"reflection", 903}, - {"shove", 904}, - {"silently", 905}, - {"smart", 906}, - {"soldier", 907}, - {"spot", 908}, - {"stress", 909}, - {"train", 910}, - {"type", 911}, - {"view", 912}, - {"whether", 913}, - {"bus", 914}, - {"energy", 915}, - {"explain", 916}, - {"holy", 917}, - {"hunger", 918}, - {"inch", 919}, - {"magic", 920}, - {"mix", 921}, - {"noise", 922}, - {"nowhere", 923}, - {"prayer", 924}, - {"presence", 925}, - {"shock", 926}, - {"snap", 927}, - {"spider", 928}, - {"study", 929}, - {"thunder", 930}, - {"trail", 931}, - {"admit", 932}, - {"agree", 933}, - {"bag", 934}, - {"bang", 935}, - {"bound", 936}, - {"butterfly", 937}, - {"cute", 938}, - {"exactly", 939}, - {"explode", 940}, - {"familiar", 941}, - {"fold", 942}, - {"further", 943}, - {"pierce", 944}, - {"reflect", 945}, - {"scent", 946}, - {"selfish", 947}, - {"sharp", 948}, - {"sink", 949}, - {"spring", 950}, - {"stumble", 951}, - {"universe", 952}, - {"weep", 953}, - {"women", 954}, - {"wonderful", 955}, - {"action", 956}, - {"ancient", 957}, - {"attempt", 958}, - {"avoid", 959}, - {"birthday", 960}, - {"branch", 961}, - {"chocolate", 962}, - {"core", 963}, - {"depress", 964}, - {"drunk", 965}, - {"especially", 966}, - {"focus", 967}, - {"fruit", 968}, - {"honest", 969}, - {"match", 970}, - {"palm", 971}, - {"perfectly", 972}, - {"pillow", 973}, - {"pity", 974}, - {"poison", 975}, - {"roar", 976}, - {"shift", 977}, - {"slightly", 978}, - {"thump", 979}, - {"truck", 980}, - {"tune", 981}, - {"twenty", 982}, - {"unable", 983}, - {"wipe", 984}, - {"wrote", 985}, - {"coat", 986}, - {"constant", 987}, - {"dinner", 988}, - {"drove", 989}, - {"egg", 990}, - {"eternal", 991}, - {"flight", 992}, - {"flood", 993}, - {"frame", 994}, - {"freak", 995}, - {"gasp", 996}, - {"glad", 997}, - {"hollow", 998}, - {"motion", 999}, - {"peer", 1000}, - {"plastic", 1001}, - {"root", 1002}, - {"screen", 1003}, - {"season", 1004}, - {"sting", 1005}, - {"strike", 1006}, - {"team", 1007}, - {"unlike", 1008}, - {"victim", 1009}, - {"volume", 1010}, - {"warn", 1011}, - {"weird", 1012}, - {"attack", 1013}, - {"await", 1014}, - {"awake", 1015}, - {"built", 1016}, - {"charm", 1017}, - {"crave", 1018}, - {"despair", 1019}, - {"fought", 1020}, - {"grant", 1021}, - {"grief", 1022}, - {"horse", 1023}, - {"limit", 1024}, - {"message", 1025}, - {"ripple", 1026}, - {"sanity", 1027}, - {"scatter", 1028}, - {"serve", 1029}, - {"split", 1030}, - {"string", 1031}, - {"trick", 1032}, - {"annoy", 1033}, - {"blur", 1034}, - {"boat", 1035}, - {"brave", 1036}, - {"clearly", 1037}, - {"cling", 1038}, - {"connect", 1039}, - {"fist", 1040}, - {"forth", 1041}, - {"imagination", 1042}, - {"iron", 1043}, - {"jock", 1044}, - {"judge", 1045}, - {"lesson", 1046}, - {"milk", 1047}, - {"misery", 1048}, - {"nail", 1049}, - {"naked", 1050}, - {"ourselves", 1051}, - {"poet", 1052}, - {"possible", 1053}, - {"princess", 1054}, - {"sail", 1055}, - {"size", 1056}, - {"snake", 1057}, - {"society", 1058}, - {"stroke", 1059}, - {"torture", 1060}, - {"toss", 1061}, - {"trace", 1062}, - {"wise", 1063}, - {"bloom", 1064}, - {"bullet", 1065}, - {"cell", 1066}, - {"check", 1067}, - {"cost", 1068}, - {"darling", 1069}, - {"during", 1070}, - {"footstep", 1071}, - {"fragile", 1072}, - {"hallway", 1073}, - {"hardly", 1074}, - {"horizon", 1075}, - {"invisible", 1076}, - {"journey", 1077}, - {"midnight", 1078}, - {"mud", 1079}, - {"nod", 1080}, - {"pause", 1081}, - {"relax", 1082}, - {"shiver", 1083}, - {"sudden", 1084}, - {"value", 1085}, - {"youth", 1086}, - {"abuse", 1087}, - {"admire", 1088}, - {"blink", 1089}, - {"breast", 1090}, - {"bruise", 1091}, - {"constantly", 1092}, - {"couple", 1093}, - {"creep", 1094}, - {"curve", 1095}, - {"difference", 1096}, - {"dumb", 1097}, - {"emptiness", 1098}, - {"gotta", 1099}, - {"honor", 1100}, - {"plain", 1101}, - {"planet", 1102}, - {"recall", 1103}, - {"rub", 1104}, - {"ship", 1105}, - {"slam", 1106}, - {"soar", 1107}, - {"somebody", 1108}, - {"tightly", 1109}, - {"weather", 1110}, - {"adore", 1111}, - {"approach", 1112}, - {"bond", 1113}, - {"bread", 1114}, - {"burst", 1115}, - {"candle", 1116}, - {"coffee", 1117}, - {"cousin", 1118}, - {"crime", 1119}, - {"desert", 1120}, - {"flutter", 1121}, - {"frozen", 1122}, - {"grand", 1123}, - {"heel", 1124}, - {"hello", 1125}, - {"language", 1126}, - {"level", 1127}, - {"movement", 1128}, - {"pleasure", 1129}, - {"powerful", 1130}, - {"random", 1131}, - {"rhythm", 1132}, - {"settle", 1133}, - {"silly", 1134}, - {"slap", 1135}, - {"sort", 1136}, - {"spoken", 1137}, - {"steel", 1138}, - {"threaten", 1139}, - {"tumble", 1140}, - {"upset", 1141}, - {"aside", 1142}, - {"awkward", 1143}, - {"bee", 1144}, - {"blank", 1145}, - {"board", 1146}, - {"button", 1147}, - {"card", 1148}, - {"carefully", 1149}, - {"complain", 1150}, - {"crap", 1151}, - {"deeply", 1152}, - {"discover", 1153}, - {"drag", 1154}, - {"dread", 1155}, - {"effort", 1156}, - {"entire", 1157}, - {"fairy", 1158}, - {"giant", 1159}, - {"gotten", 1160}, - {"greet", 1161}, - {"illusion", 1162}, - {"jeans", 1163}, - {"leap", 1164}, - {"liquid", 1165}, - {"march", 1166}, - {"mend", 1167}, - {"nervous", 1168}, - {"nine", 1169}, - {"replace", 1170}, - {"rope", 1171}, - {"spine", 1172}, - {"stole", 1173}, - {"terror", 1174}, - {"accident", 1175}, - {"apple", 1176}, - {"balance", 1177}, - {"boom", 1178}, - {"childhood", 1179}, - {"collect", 1180}, - {"demand", 1181}, - {"depression", 1182}, - {"eventually", 1183}, - {"faint", 1184}, - {"glare", 1185}, - {"goal", 1186}, - {"group", 1187}, - {"honey", 1188}, - {"kitchen", 1189}, - {"laid", 1190}, - {"limb", 1191}, - {"machine", 1192}, - {"mere", 1193}, - {"mold", 1194}, - {"murder", 1195}, - {"nerve", 1196}, - {"painful", 1197}, - {"poetry", 1198}, - {"prince", 1199}, - {"rabbit", 1200}, - {"shelter", 1201}, - {"shore", 1202}, - {"shower", 1203}, - {"soothe", 1204}, - {"stair", 1205}, - {"steady", 1206}, - {"sunlight", 1207}, - {"tangle", 1208}, - {"tease", 1209}, - {"treasure", 1210}, - {"uncle", 1211}, - {"begun", 1212}, - {"bliss", 1213}, - {"canvas", 1214}, - {"cheer", 1215}, - {"claw", 1216}, - {"clutch", 1217}, - {"commit", 1218}, - {"crimson", 1219}, - {"crystal", 1220}, - {"delight", 1221}, - {"doll", 1222}, - {"existence", 1223}, - {"express", 1224}, - {"fog", 1225}, - {"football", 1226}, - {"gay", 1227}, - {"goose", 1228}, - {"guard", 1229}, - {"hatred", 1230}, - {"illuminate", 1231}, - {"mass", 1232}, - {"math", 1233}, - {"mourn", 1234}, - {"rich", 1235}, - {"rough", 1236}, - {"skip", 1237}, - {"stir", 1238}, - {"student", 1239}, - {"style", 1240}, - {"support", 1241}, - {"thorn", 1242}, - {"tough", 1243}, - {"yard", 1244}, - {"yearn", 1245}, - {"yesterday", 1246}, - {"advice", 1247}, - {"appreciate", 1248}, - {"autumn", 1249}, - {"bank", 1250}, - {"beam", 1251}, - {"bowl", 1252}, - {"capture", 1253}, - {"carve", 1254}, - {"collapse", 1255}, - {"confusion", 1256}, - {"creation", 1257}, - {"dove", 1258}, - {"feather", 1259}, - {"girlfriend", 1260}, - {"glory", 1261}, - {"government", 1262}, - {"harsh", 1263}, - {"hop", 1264}, - {"inner", 1265}, - {"loser", 1266}, - {"moonlight", 1267}, - {"neighbor", 1268}, - {"neither", 1269}, - {"peach", 1270}, - {"pig", 1271}, - {"praise", 1272}, - {"screw", 1273}, - {"shield", 1274}, - {"shimmer", 1275}, - {"sneak", 1276}, - {"stab", 1277}, - {"subject", 1278}, - {"throughout", 1279}, - {"thrown", 1280}, - {"tower", 1281}, - {"twirl", 1282}, - {"wow", 1283}, - {"army", 1284}, - {"arrive", 1285}, - {"bathroom", 1286}, - {"bump", 1287}, - {"cease", 1288}, - {"cookie", 1289}, - {"couch", 1290}, - {"courage", 1291}, - {"dim", 1292}, - {"guilt", 1293}, - {"howl", 1294}, - {"hum", 1295}, - {"husband", 1296}, - {"insult", 1297}, - {"led", 1298}, - {"lunch", 1299}, - {"mock", 1300}, - {"mostly", 1301}, - {"natural", 1302}, - {"nearly", 1303}, - {"needle", 1304}, - {"nerd", 1305}, - {"peaceful", 1306}, - {"perfection", 1307}, - {"pile", 1308}, - {"price", 1309}, - {"remove", 1310}, - {"roam", 1311}, - {"sanctuary", 1312}, - {"serious", 1313}, - {"shiny", 1314}, - {"shook", 1315}, - {"sob", 1316}, - {"stolen", 1317}, - {"tap", 1318}, - {"vain", 1319}, - {"void", 1320}, - {"warrior", 1321}, - {"wrinkle", 1322}, - {"affection", 1323}, - {"apologize", 1324}, - {"blossom", 1325}, - {"bounce", 1326}, - {"bridge", 1327}, - {"cheap", 1328}, - {"crumble", 1329}, - {"decision", 1330}, - {"descend", 1331}, - {"desperately", 1332}, - {"dig", 1333}, - {"dot", 1334}, - {"flip", 1335}, - {"frighten", 1336}, - {"heartbeat", 1337}, - {"huge", 1338}, - {"lazy", 1339}, - {"lick", 1340}, - {"odd", 1341}, - {"opinion", 1342}, - {"process", 1343}, - {"puzzle", 1344}, - {"quietly", 1345}, - {"retreat", 1346}, - {"score", 1347}, - {"sentence", 1348}, - {"separate", 1349}, - {"situation", 1350}, - {"skill", 1351}, - {"soak", 1352}, - {"square", 1353}, - {"stray", 1354}, - {"taint", 1355}, - {"task", 1356}, - {"tide", 1357}, - {"underneath", 1358}, - {"veil", 1359}, - {"whistle", 1360}, - {"anywhere", 1361}, - {"bedroom", 1362}, - {"bid", 1363}, - {"bloody", 1364}, - {"burden", 1365}, - {"careful", 1366}, - {"compare", 1367}, - {"concern", 1368}, - {"curtain", 1369}, - {"decay", 1370}, - {"defeat", 1371}, - {"describe", 1372}, - {"double", 1373}, - {"dreamer", 1374}, - {"driver", 1375}, - {"dwell", 1376}, - {"evening", 1377}, - {"flare", 1378}, - {"flicker", 1379}, - {"grandma", 1380}, - {"guitar", 1381}, - {"harm", 1382}, - {"horrible", 1383}, - {"hungry", 1384}, - {"indeed", 1385}, - {"lace", 1386}, - {"melody", 1387}, - {"monkey", 1388}, - {"nation", 1389}, - {"object", 1390}, - {"obviously", 1391}, - {"rainbow", 1392}, - {"salt", 1393}, - {"scratch", 1394}, - {"shown", 1395}, - {"shy", 1396}, - {"stage", 1397}, - {"stun", 1398}, - {"third", 1399}, - {"tickle", 1400}, - {"useless", 1401}, - {"weakness", 1402}, - {"worship", 1403}, - {"worthless", 1404}, - {"afternoon", 1405}, - {"beard", 1406}, - {"boyfriend", 1407}, - {"bubble", 1408}, - {"busy", 1409}, - {"certain", 1410}, - {"chin", 1411}, - {"concrete", 1412}, - {"desk", 1413}, - {"diamond", 1414}, - {"doom", 1415}, - {"drawn", 1416}, - {"due", 1417}, - {"felicity", 1418}, - {"freeze", 1419}, - {"frost", 1420}, - {"garden", 1421}, - {"glide", 1422}, - {"harmony", 1423}, - {"hopefully", 1424}, - {"hunt", 1425}, - {"jealous", 1426}, - {"lightning", 1427}, - {"mama", 1428}, - {"mercy", 1429}, - {"peel", 1430}, - {"physical", 1431}, - {"position", 1432}, - {"pulse", 1433}, - {"punch", 1434}, - {"quit", 1435}, - {"rant", 1436}, - {"respond", 1437}, - {"salty", 1438}, - {"sane", 1439}, - {"satisfy", 1440}, - {"savior", 1441}, - {"sheep", 1442}, - {"slept", 1443}, - {"social", 1444}, - {"sport", 1445}, - {"tuck", 1446}, - {"utter", 1447}, - {"valley", 1448}, - {"wolf", 1449}, - {"aim", 1450}, - {"alas", 1451}, - {"alter", 1452}, - {"arrow", 1453}, - {"awaken", 1454}, - {"beaten", 1455}, - {"belief", 1456}, - {"brand", 1457}, - {"ceiling", 1458}, - {"cheese", 1459}, - {"clue", 1460}, - {"confidence", 1461}, - {"connection", 1462}, - {"daily", 1463}, - {"disguise", 1464}, - {"eager", 1465}, - {"erase", 1466}, - {"essence", 1467}, - {"everytime", 1468}, - {"expression", 1469}, - {"fan", 1470}, - {"flag", 1471}, - {"flirt", 1472}, - {"foul", 1473}, - {"fur", 1474}, - {"giggle", 1475}, - {"glorious", 1476}, - {"ignorance", 1477}, - {"law", 1478}, - {"lifeless", 1479}, - {"measure", 1480}, - {"mighty", 1481}, - {"muse", 1482}, - {"north", 1483}, - {"opposite", 1484}, - {"paradise", 1485}, - {"patience", 1486}, - {"patient", 1487}, - {"pencil", 1488}, - {"petal", 1489}, - {"plate", 1490}, - {"ponder", 1491}, - {"possibly", 1492}, - {"practice", 1493}, - {"slice", 1494}, - {"spell", 1495}, - {"stock", 1496}, - {"strife", 1497}, - {"strip", 1498}, - {"suffocate", 1499}, - {"suit", 1500}, - {"tender", 1501}, - {"tool", 1502}, - {"trade", 1503}, - {"velvet", 1504}, - {"verse", 1505}, - {"waist", 1506}, - {"witch", 1507}, - {"aunt", 1508}, - {"bench", 1509}, - {"bold", 1510}, - {"cap", 1511}, - {"certainly", 1512}, - {"click", 1513}, - {"companion", 1514}, - {"creator", 1515}, - {"dart", 1516}, - {"delicate", 1517}, - {"determine", 1518}, - {"dish", 1519}, - {"dragon", 1520}, - {"drama", 1521}, - {"drum", 1522}, - {"dude", 1523}, - {"everybody", 1524}, - {"feast", 1525}, - {"forehead", 1526}, - {"former", 1527}, - {"fright", 1528}, - {"fully", 1529}, - {"gas", 1530}, - {"hook", 1531}, - {"hurl", 1532}, - {"invite", 1533}, - {"juice", 1534}, - {"manage", 1535}, - {"moral", 1536}, - {"possess", 1537}, - {"raw", 1538}, - {"rebel", 1539}, - {"royal", 1540}, - {"scale", 1541}, - {"scary", 1542}, - {"several", 1543}, - {"slight", 1544}, - {"stubborn", 1545}, - {"swell", 1546}, - {"talent", 1547}, - {"tea", 1548}, - {"terrible", 1549}, - {"thread", 1550}, - {"torment", 1551}, - {"trickle", 1552}, - {"usually", 1553}, - {"vast", 1554}, - {"violence", 1555}, - {"weave", 1556}, - {"acid", 1557}, - {"agony", 1558}, - {"ashamed", 1559}, - {"awe", 1560}, - {"belly", 1561}, - {"blend", 1562}, - {"blush", 1563}, - {"character", 1564}, - {"cheat", 1565}, - {"common", 1566}, - {"company", 1567}, - {"coward", 1568}, - {"creak", 1569}, - {"danger", 1570}, - {"deadly", 1571}, - {"defense", 1572}, - {"define", 1573}, - {"depend", 1574}, - {"desperate", 1575}, - {"destination", 1576}, - {"dew", 1577}, - {"duck", 1578}, - {"dusty", 1579}, - {"embarrass", 1580}, - {"engine", 1581}, - {"example", 1582}, - {"explore", 1583}, - {"foe", 1584}, - {"freely", 1585}, - {"frustrate", 1586}, - {"generation", 1587}, - {"glove", 1588}, - {"guilty", 1589}, - {"health", 1590}, - {"hurry", 1591}, - {"idiot", 1592}, - {"impossible", 1593}, - {"inhale", 1594}, - {"jaw", 1595}, - {"kingdom", 1596}, - {"mention", 1597}, - {"mist", 1598}, - {"moan", 1599}, - {"mumble", 1600}, - {"mutter", 1601}, - {"observe", 1602}, - {"ode", 1603}, - {"pathetic", 1604}, - {"pattern", 1605}, - {"pie", 1606}, - {"prefer", 1607}, - {"puff", 1608}, - {"rape", 1609}, - {"rare", 1610}, - {"revenge", 1611}, - {"rude", 1612}, - {"scrape", 1613}, - {"spiral", 1614}, - {"squeeze", 1615}, - {"strain", 1616}, - {"sunset", 1617}, - {"suspend", 1618}, - {"sympathy", 1619}, - {"thigh", 1620}, - {"throne", 1621}, - {"total", 1622}, - {"unseen", 1623}, - {"weapon", 1624}, - {"weary", 1625} - }; - - const std::string wordsArray[] = { - "like", - "just", - "love", - "know", - "never", - "want", - "time", - "out", - "there", - "make", - "look", - "eye", - "down", - "only", - "think", - "heart", - "back", - "then", - "into", - "about", - "more", - "away", - "still", - "them", - "take", - "thing", - "even", - "through", - "long", - "always", - "world", - "too", - "friend", - "tell", - "try", - "hand", - "thought", - "over", - "here", - "other", - "need", - "smile", - "again", - "much", - "cry", - "been", - "night", - "ever", - "little", - "said", - "end", - "some", - "those", - "around", - "mind", - "people", - "girl", - "leave", - "dream", - "left", - "turn", - "myself", - "give", - "nothing", - "really", - "off", - "before", - "something", - "find", - "walk", - "wish", - "good", - "once", - "place", - "ask", - "stop", - "keep", - "watch", - "seem", - "everything", - "wait", - "got", - "yet", - "made", - "remember", - "start", - "alone", - "run", - "hope", - "maybe", - "believe", - "body", - "hate", - "after", - "close", - "talk", - "stand", - "own", - "each", - "hurt", - "help", - "home", - "god", - "soul", - "new", - "many", - "two", - "inside", - "should", - "true", - "first", - "fear", - "mean", - "better", - "play", - "another", - "gone", - "change", - "use", - "wonder", - "someone", - "hair", - "cold", - "open", - "best", - "any", - "behind", - "happen", - "water", - "dark", - "laugh", - "stay", - "forever", - "name", - "work", - "show", - "sky", - "break", - "came", - "deep", - "door", - "put", - "black", - "together", - "upon", - "happy", - "such", - "great", - "white", - "matter", - "fill", - "past", - "please", - "burn", - "cause", - "enough", - "touch", - "moment", - "soon", - "voice", - "scream", - "anything", - "stare", - "sound", - "red", - "everyone", - "hide", - "kiss", - "truth", - "death", - "beautiful", - "mine", - "blood", - "broken", - "very", - "pass", - "next", - "forget", - "tree", - "wrong", - "air", - "mother", - "understand", - "lip", - "hit", - "wall", - "memory", - "sleep", - "free", - "high", - "realize", - "school", - "might", - "skin", - "sweet", - "perfect", - "blue", - "kill", - "breath", - "dance", - "against", - "fly", - "between", - "grow", - "strong", - "under", - "listen", - "bring", - "sometimes", - "speak", - "pull", - "person", - "become", - "family", - "begin", - "ground", - "real", - "small", - "father", - "sure", - "feet", - "rest", - "young", - "finally", - "land", - "across", - "today", - "different", - "guy", - "line", - "fire", - "reason", - "reach", - "second", - "slowly", - "write", - "eat", - "smell", - "mouth", - "step", - "learn", - "three", - "floor", - "promise", - "breathe", - "darkness", - "push", - "earth", - "guess", - "save", - "song", - "above", - "along", - "both", - "color", - "house", - "almost", - "sorry", - "anymore", - "brother", - "okay", - "dear", - "game", - "fade", - "already", - "apart", - "warm", - "beauty", - "heard", - "notice", - "question", - "shine", - "began", - "piece", - "whole", - "shadow", - "secret", - "street", - "within", - "finger", - "point", - "morning", - "whisper", - "child", - "moon", - "green", - "story", - "glass", - "kid", - "silence", - "since", - "soft", - "yourself", - "empty", - "shall", - "angel", - "answer", - "baby", - "bright", - "dad", - "path", - "worry", - "hour", - "drop", - "follow", - "power", - "war", - "half", - "flow", - "heaven", - "act", - "chance", - "fact", - "least", - "tired", - "children", - "near", - "quite", - "afraid", - "rise", - "sea", - "taste", - "window", - "cover", - "nice", - "trust", - "lot", - "sad", - "cool", - "force", - "peace", - "return", - "blind", - "easy", - "ready", - "roll", - "rose", - "drive", - "held", - "music", - "beneath", - "hang", - "mom", - "paint", - "emotion", - "quiet", - "clear", - "cloud", - "few", - "pretty", - "bird", - "outside", - "paper", - "picture", - "front", - "rock", - "simple", - "anyone", - "meant", - "reality", - "road", - "sense", - "waste", - "bit", - "leaf", - "thank", - "happiness", - "meet", - "men", - "smoke", - "truly", - "decide", - "self", - "age", - "book", - "form", - "alive", - "carry", - "escape", - "damn", - "instead", - "able", - "ice", - "minute", - "throw", - "catch", - "leg", - "ring", - "course", - "goodbye", - "lead", - "poem", - "sick", - "corner", - "desire", - "known", - "problem", - "remind", - "shoulder", - "suppose", - "toward", - "wave", - "drink", - "jump", - "woman", - "pretend", - "sister", - "week", - "human", - "joy", - "crack", - "grey", - "pray", - "surprise", - "dry", - "knee", - "less", - "search", - "bleed", - "caught", - "clean", - "embrace", - "future", - "king", - "son", - "sorrow", - "chest", - "hug", - "remain", - "sat", - "worth", - "blow", - "daddy", - "final", - "parent", - "tight", - "also", - "create", - "lonely", - "safe", - "cross", - "dress", - "evil", - "silent", - "bone", - "fate", - "perhaps", - "anger", - "class", - "scar", - "snow", - "tiny", - "tonight", - "continue", - "control", - "dog", - "edge", - "mirror", - "month", - "suddenly", - "comfort", - "given", - "loud", - "quickly", - "gaze", - "plan", - "rush", - "stone", - "town", - "battle", - "ignore", - "spirit", - "stood", - "stupid", - "yours", - "brown", - "build", - "dust", - "hey", - "kept", - "pay", - "phone", - "twist", - "although", - "ball", - "beyond", - "hidden", - "nose", - "taken", - "fail", - "float", - "pure", - "somehow", - "wash", - "wrap", - "angry", - "cheek", - "creature", - "forgotten", - "heat", - "rip", - "single", - "space", - "special", - "weak", - "whatever", - "yell", - "anyway", - "blame", - "job", - "choose", - "country", - "curse", - "drift", - "echo", - "figure", - "grew", - "laughter", - "neck", - "suffer", - "worse", - "yeah", - "disappear", - "foot", - "forward", - "knife", - "mess", - "somewhere", - "stomach", - "storm", - "beg", - "idea", - "lift", - "offer", - "breeze", - "field", - "five", - "often", - "simply", - "stuck", - "win", - "allow", - "confuse", - "enjoy", - "except", - "flower", - "seek", - "strength", - "calm", - "grin", - "gun", - "heavy", - "hill", - "large", - "ocean", - "shoe", - "sigh", - "straight", - "summer", - "tongue", - "accept", - "crazy", - "everyday", - "exist", - "grass", - "mistake", - "sent", - "shut", - "surround", - "table", - "ache", - "brain", - "destroy", - "heal", - "nature", - "shout", - "sign", - "stain", - "choice", - "doubt", - "glance", - "glow", - "mountain", - "queen", - "stranger", - "throat", - "tomorrow", - "city", - "either", - "fish", - "flame", - "rather", - "shape", - "spin", - "spread", - "ash", - "distance", - "finish", - "image", - "imagine", - "important", - "nobody", - "shatter", - "warmth", - "became", - "feed", - "flesh", - "funny", - "lust", - "shirt", - "trouble", - "yellow", - "attention", - "bare", - "bite", - "money", - "protect", - "amaze", - "appear", - "born", - "choke", - "completely", - "daughter", - "fresh", - "friendship", - "gentle", - "probably", - "six", - "deserve", - "expect", - "grab", - "middle", - "nightmare", - "river", - "thousand", - "weight", - "worst", - "wound", - "barely", - "bottle", - "cream", - "regret", - "relationship", - "stick", - "test", - "crush", - "endless", - "fault", - "itself", - "rule", - "spill", - "art", - "circle", - "join", - "kick", - "mask", - "master", - "passion", - "quick", - "raise", - "smooth", - "unless", - "wander", - "actually", - "broke", - "chair", - "deal", - "favorite", - "gift", - "note", - "number", - "sweat", - "box", - "chill", - "clothes", - "lady", - "mark", - "park", - "poor", - "sadness", - "tie", - "animal", - "belong", - "brush", - "consume", - "dawn", - "forest", - "innocent", - "pen", - "pride", - "stream", - "thick", - "clay", - "complete", - "count", - "draw", - "faith", - "press", - "silver", - "struggle", - "surface", - "taught", - "teach", - "wet", - "bless", - "chase", - "climb", - "enter", - "letter", - "melt", - "metal", - "movie", - "stretch", - "swing", - "vision", - "wife", - "beside", - "crash", - "forgot", - "guide", - "haunt", - "joke", - "knock", - "plant", - "pour", - "prove", - "reveal", - "steal", - "stuff", - "trip", - "wood", - "wrist", - "bother", - "bottom", - "crawl", - "crowd", - "fix", - "forgive", - "frown", - "grace", - "loose", - "lucky", - "party", - "release", - "surely", - "survive", - "teacher", - "gently", - "grip", - "speed", - "suicide", - "travel", - "treat", - "vein", - "written", - "cage", - "chain", - "conversation", - "date", - "enemy", - "however", - "interest", - "million", - "page", - "pink", - "proud", - "sway", - "themselves", - "winter", - "church", - "cruel", - "cup", - "demon", - "experience", - "freedom", - "pair", - "pop", - "purpose", - "respect", - "shoot", - "softly", - "state", - "strange", - "bar", - "birth", - "curl", - "dirt", - "excuse", - "lord", - "lovely", - "monster", - "order", - "pack", - "pants", - "pool", - "scene", - "seven", - "shame", - "slide", - "ugly", - "among", - "blade", - "blonde", - "closet", - "creek", - "deny", - "drug", - "eternity", - "gain", - "grade", - "handle", - "key", - "linger", - "pale", - "prepare", - "swallow", - "swim", - "tremble", - "wheel", - "won", - "cast", - "cigarette", - "claim", - "college", - "direction", - "dirty", - "gather", - "ghost", - "hundred", - "loss", - "lung", - "orange", - "present", - "swear", - "swirl", - "twice", - "wild", - "bitter", - "blanket", - "doctor", - "everywhere", - "flash", - "grown", - "knowledge", - "numb", - "pressure", - "radio", - "repeat", - "ruin", - "spend", - "unknown", - "buy", - "clock", - "devil", - "early", - "false", - "fantasy", - "pound", - "precious", - "refuse", - "sheet", - "teeth", - "welcome", - "add", - "ahead", - "block", - "bury", - "caress", - "content", - "depth", - "despite", - "distant", - "marry", - "purple", - "threw", - "whenever", - "bomb", - "dull", - "easily", - "grasp", - "hospital", - "innocence", - "normal", - "receive", - "reply", - "rhyme", - "shade", - "someday", - "sword", - "toe", - "visit", - "asleep", - "bought", - "center", - "consider", - "flat", - "hero", - "history", - "ink", - "insane", - "muscle", - "mystery", - "pocket", - "reflection", - "shove", - "silently", - "smart", - "soldier", - "spot", - "stress", - "train", - "type", - "view", - "whether", - "bus", - "energy", - "explain", - "holy", - "hunger", - "inch", - "magic", - "mix", - "noise", - "nowhere", - "prayer", - "presence", - "shock", - "snap", - "spider", - "study", - "thunder", - "trail", - "admit", - "agree", - "bag", - "bang", - "bound", - "butterfly", - "cute", - "exactly", - "explode", - "familiar", - "fold", - "further", - "pierce", - "reflect", - "scent", - "selfish", - "sharp", - "sink", - "spring", - "stumble", - "universe", - "weep", - "women", - "wonderful", - "action", - "ancient", - "attempt", - "avoid", - "birthday", - "branch", - "chocolate", - "core", - "depress", - "drunk", - "especially", - "focus", - "fruit", - "honest", - "match", - "palm", - "perfectly", - "pillow", - "pity", - "poison", - "roar", - "shift", - "slightly", - "thump", - "truck", - "tune", - "twenty", - "unable", - "wipe", - "wrote", - "coat", - "constant", - "dinner", - "drove", - "egg", - "eternal", - "flight", - "flood", - "frame", - "freak", - "gasp", - "glad", - "hollow", - "motion", - "peer", - "plastic", - "root", - "screen", - "season", - "sting", - "strike", - "team", - "unlike", - "victim", - "volume", - "warn", - "weird", - "attack", - "await", - "awake", - "built", - "charm", - "crave", - "despair", - "fought", - "grant", - "grief", - "horse", - "limit", - "message", - "ripple", - "sanity", - "scatter", - "serve", - "split", - "string", - "trick", - "annoy", - "blur", - "boat", - "brave", - "clearly", - "cling", - "connect", - "fist", - "forth", - "imagination", - "iron", - "jock", - "judge", - "lesson", - "milk", - "misery", - "nail", - "naked", - "ourselves", - "poet", - "possible", - "princess", - "sail", - "size", - "snake", - "society", - "stroke", - "torture", - "toss", - "trace", - "wise", - "bloom", - "bullet", - "cell", - "check", - "cost", - "darling", - "during", - "footstep", - "fragile", - "hallway", - "hardly", - "horizon", - "invisible", - "journey", - "midnight", - "mud", - "nod", - "pause", - "relax", - "shiver", - "sudden", - "value", - "youth", - "abuse", - "admire", - "blink", - "breast", - "bruise", - "constantly", - "couple", - "creep", - "curve", - "difference", - "dumb", - "emptiness", - "gotta", - "honor", - "plain", - "planet", - "recall", - "rub", - "ship", - "slam", - "soar", - "somebody", - "tightly", - "weather", - "adore", - "approach", - "bond", - "bread", - "burst", - "candle", - "coffee", - "cousin", - "crime", - "desert", - "flutter", - "frozen", - "grand", - "heel", - "hello", - "language", - "level", - "movement", - "pleasure", - "powerful", - "random", - "rhythm", - "settle", - "silly", - "slap", - "sort", - "spoken", - "steel", - "threaten", - "tumble", - "upset", - "aside", - "awkward", - "bee", - "blank", - "board", - "button", - "card", - "carefully", - "complain", - "crap", - "deeply", - "discover", - "drag", - "dread", - "effort", - "entire", - "fairy", - "giant", - "gotten", - "greet", - "illusion", - "jeans", - "leap", - "liquid", - "march", - "mend", - "nervous", - "nine", - "replace", - "rope", - "spine", - "stole", - "terror", - "accident", - "apple", - "balance", - "boom", - "childhood", - "collect", - "demand", - "depression", - "eventually", - "faint", - "glare", - "goal", - "group", - "honey", - "kitchen", - "laid", - "limb", - "machine", - "mere", - "mold", - "murder", - "nerve", - "painful", - "poetry", - "prince", - "rabbit", - "shelter", - "shore", - "shower", - "soothe", - "stair", - "steady", - "sunlight", - "tangle", - "tease", - "treasure", - "uncle", - "begun", - "bliss", - "canvas", - "cheer", - "claw", - "clutch", - "commit", - "crimson", - "crystal", - "delight", - "doll", - "existence", - "express", - "fog", - "football", - "gay", - "goose", - "guard", - "hatred", - "illuminate", - "mass", - "math", - "mourn", - "rich", - "rough", - "skip", - "stir", - "student", - "style", - "support", - "thorn", - "tough", - "yard", - "yearn", - "yesterday", - "advice", - "appreciate", - "autumn", - "bank", - "beam", - "bowl", - "capture", - "carve", - "collapse", - "confusion", - "creation", - "dove", - "feather", - "girlfriend", - "glory", - "government", - "harsh", - "hop", - "inner", - "loser", - "moonlight", - "neighbor", - "neither", - "peach", - "pig", - "praise", - "screw", - "shield", - "shimmer", - "sneak", - "stab", - "subject", - "throughout", - "thrown", - "tower", - "twirl", - "wow", - "army", - "arrive", - "bathroom", - "bump", - "cease", - "cookie", - "couch", - "courage", - "dim", - "guilt", - "howl", - "hum", - "husband", - "insult", - "led", - "lunch", - "mock", - "mostly", - "natural", - "nearly", - "needle", - "nerd", - "peaceful", - "perfection", - "pile", - "price", - "remove", - "roam", - "sanctuary", - "serious", - "shiny", - "shook", - "sob", - "stolen", - "tap", - "vain", - "void", - "warrior", - "wrinkle", - "affection", - "apologize", - "blossom", - "bounce", - "bridge", - "cheap", - "crumble", - "decision", - "descend", - "desperately", - "dig", - "dot", - "flip", - "frighten", - "heartbeat", - "huge", - "lazy", - "lick", - "odd", - "opinion", - "process", - "puzzle", - "quietly", - "retreat", - "score", - "sentence", - "separate", - "situation", - "skill", - "soak", - "square", - "stray", - "taint", - "task", - "tide", - "underneath", - "veil", - "whistle", - "anywhere", - "bedroom", - "bid", - "bloody", - "burden", - "careful", - "compare", - "concern", - "curtain", - "decay", - "defeat", - "describe", - "double", - "dreamer", - "driver", - "dwell", - "evening", - "flare", - "flicker", - "grandma", - "guitar", - "harm", - "horrible", - "hungry", - "indeed", - "lace", - "melody", - "monkey", - "nation", - "object", - "obviously", - "rainbow", - "salt", - "scratch", - "shown", - "shy", - "stage", - "stun", - "third", - "tickle", - "useless", - "weakness", - "worship", - "worthless", - "afternoon", - "beard", - "boyfriend", - "bubble", - "busy", - "certain", - "chin", - "concrete", - "desk", - "diamond", - "doom", - "drawn", - "due", - "felicity", - "freeze", - "frost", - "garden", - "glide", - "harmony", - "hopefully", - "hunt", - "jealous", - "lightning", - "mama", - "mercy", - "peel", - "physical", - "position", - "pulse", - "punch", - "quit", - "rant", - "respond", - "salty", - "sane", - "satisfy", - "savior", - "sheep", - "slept", - "social", - "sport", - "tuck", - "utter", - "valley", - "wolf", - "aim", - "alas", - "alter", - "arrow", - "awaken", - "beaten", - "belief", - "brand", - "ceiling", - "cheese", - "clue", - "confidence", - "connection", - "daily", - "disguise", - "eager", - "erase", - "essence", - "everytime", - "expression", - "fan", - "flag", - "flirt", - "foul", - "fur", - "giggle", - "glorious", - "ignorance", - "law", - "lifeless", - "measure", - "mighty", - "muse", - "north", - "opposite", - "paradise", - "patience", - "patient", - "pencil", - "petal", - "plate", - "ponder", - "possibly", - "practice", - "slice", - "spell", - "stock", - "strife", - "strip", - "suffocate", - "suit", - "tender", - "tool", - "trade", - "velvet", - "verse", - "waist", - "witch", - "aunt", - "bench", - "bold", - "cap", - "certainly", - "click", - "companion", - "creator", - "dart", - "delicate", - "determine", - "dish", - "dragon", - "drama", - "drum", - "dude", - "everybody", - "feast", - "forehead", - "former", - "fright", - "fully", - "gas", - "hook", - "hurl", - "invite", - "juice", - "manage", - "moral", - "possess", - "raw", - "rebel", - "royal", - "scale", - "scary", - "several", - "slight", - "stubborn", - "swell", - "talent", - "tea", - "terrible", - "thread", - "torment", - "trickle", - "usually", - "vast", - "violence", - "weave", - "acid", - "agony", - "ashamed", - "awe", - "belly", - "blend", - "blush", - "character", - "cheat", - "common", - "company", - "coward", - "creak", - "danger", - "deadly", - "defense", - "define", - "depend", - "desperate", - "destination", - "dew", - "duck", - "dusty", - "embarrass", - "engine", - "example", - "explore", - "foe", - "freely", - "frustrate", - "generation", - "glove", - "guilty", - "health", - "hurry", - "idiot", - "impossible", - "inhale", - "jaw", - "kingdom", - "mention", - "mist", - "moan", - "mumble", - "mutter", - "observe", - "ode", - "pathetic", - "pattern", - "pie", - "prefer", - "puff", - "rape", - "rare", - "revenge", - "rude", - "scrape", - "spiral", - "squeeze", - "strain", - "sunset", - "suspend", - "sympathy", - "thigh", - "throne", - "total", - "unseen", - "weapon", - "weary" - }; } } diff --git a/src/mnemonics/old-word-list b/src/mnemonics/old-word-list new file mode 100644 index 000000000..a5184a9ce --- /dev/null +++ b/src/mnemonics/old-word-list @@ -0,0 +1,1626 @@ +like +just +love +know +never +want +time +out +there +make +look +eye +down +only +think +heart +back +then +into +about +more +away +still +them +take +thing +even +through +long +always +world +too +friend +tell +try +hand +thought +over +here +other +need +smile +again +much +cry +been +night +ever +little +said +end +some +those +around +mind +people +girl +leave +dream +left +turn +myself +give +nothing +really +off +before +something +find +walk +wish +good +once +place +ask +stop +keep +watch +seem +everything +wait +got +yet +made +remember +start +alone +run +hope +maybe +believe +body +hate +after +close +talk +stand +own +each +hurt +help +home +god +soul +new +many +two +inside +should +true +first +fear +mean +better +play +another +gone +change +use +wonder +someone +hair +cold +open +best +any +behind +happen +water +dark +laugh +stay +forever +name +work +show +sky +break +came +deep +door +put +black +together +upon +happy +such +great +white +matter +fill +past +please +burn +cause +enough +touch +moment +soon +voice +scream +anything +stare +sound +red +everyone +hide +kiss +truth +death +beautiful +mine +blood +broken +very +pass +next +forget +tree +wrong +air +mother +understand +lip +hit +wall +memory +sleep +free +high +realize +school +might +skin +sweet +perfect +blue +kill +breath +dance +against +fly +between +grow +strong +under +listen +bring +sometimes +speak +pull +person +become +family +begin +ground +real +small +father +sure +feet +rest +young +finally +land +across +today +different +guy +line +fire +reason +reach +second +slowly +write +eat +smell +mouth +step +learn +three +floor +promise +breathe +darkness +push +earth +guess +save +song +above +along +both +color +house +almost +sorry +anymore +brother +okay +dear +game +fade +already +apart +warm +beauty +heard +notice +question +shine +began +piece +whole +shadow +secret +street +within +finger +point +morning +whisper +child +moon +green +story +glass +kid +silence +since +soft +yourself +empty +shall +angel +answer +baby +bright +dad +path +worry +hour +drop +follow +power +war +half +flow +heaven +act +chance +fact +least +tired +children +near +quite +afraid +rise +sea +taste +window +cover +nice +trust +lot +sad +cool +force +peace +return +blind +easy +ready +roll +rose +drive +held +music +beneath +hang +mom +paint +emotion +quiet +clear +cloud +few +pretty +bird +outside +paper +picture +front +rock +simple +anyone +meant +reality +road +sense +waste +bit +leaf +thank +happiness +meet +men +smoke +truly +decide +self +age +book +form +alive +carry +escape +damn +instead +able +ice +minute +throw +catch +leg +ring +course +goodbye +lead +poem +sick +corner +desire +known +problem +remind +shoulder +suppose +toward +wave +drink +jump +woman +pretend +sister +week +human +joy +crack +grey +pray +surprise +dry +knee +less +search +bleed +caught +clean +embrace +future +king +son +sorrow +chest +hug +remain +sat +worth +blow +daddy +final +parent +tight +also +create +lonely +safe +cross +dress +evil +silent +bone +fate +perhaps +anger +class +scar +snow +tiny +tonight +continue +control +dog +edge +mirror +month +suddenly +comfort +given +loud +quickly +gaze +plan +rush +stone +town +battle +ignore +spirit +stood +stupid +yours +brown +build +dust +hey +kept +pay +phone +twist +although +ball +beyond +hidden +nose +taken +fail +float +pure +somehow +wash +wrap +angry +cheek +creature +forgotten +heat +rip +single +space +special +weak +whatever +yell +anyway +blame +job +choose +country +curse +drift +echo +figure +grew +laughter +neck +suffer +worse +yeah +disappear +foot +forward +knife +mess +somewhere +stomach +storm +beg +idea +lift +offer +breeze +field +five +often +simply +stuck +win +allow +confuse +enjoy +except +flower +seek +strength +calm +grin +gun +heavy +hill +large +ocean +shoe +sigh +straight +summer +tongue +accept +crazy +everyday +exist +grass +mistake +sent +shut +surround +table +ache +brain +destroy +heal +nature +shout +sign +stain +choice +doubt +glance +glow +mountain +queen +stranger +throat +tomorrow +city +either +fish +flame +rather +shape +spin +spread +ash +distance +finish +image +imagine +important +nobody +shatter +warmth +became +feed +flesh +funny +lust +shirt +trouble +yellow +attention +bare +bite +money +protect +amaze +appear +born +choke +completely +daughter +fresh +friendship +gentle +probably +six +deserve +expect +grab +middle +nightmare +river +thousand +weight +worst +wound +barely +bottle +cream +regret +relationship +stick +test +crush +endless +fault +itself +rule +spill +art +circle +join +kick +mask +master +passion +quick +raise +smooth +unless +wander +actually +broke +chair +deal +favorite +gift +note +number +sweat +box +chill +clothes +lady +mark +park +poor +sadness +tie +animal +belong +brush +consume +dawn +forest +innocent +pen +pride +stream +thick +clay +complete +count +draw +faith +press +silver +struggle +surface +taught +teach +wet +bless +chase +climb +enter +letter +melt +metal +movie +stretch +swing +vision +wife +beside +crash +forgot +guide +haunt +joke +knock +plant +pour +prove +reveal +steal +stuff +trip +wood +wrist +bother +bottom +crawl +crowd +fix +forgive +frown +grace +loose +lucky +party +release +surely +survive +teacher +gently +grip +speed +suicide +travel +treat +vein +written +cage +chain +conversation +date +enemy +however +interest +million +page +pink +proud +sway +themselves +winter +church +cruel +cup +demon +experience +freedom +pair +pop +purpose +respect +shoot +softly +state +strange +bar +birth +curl +dirt +excuse +lord +lovely +monster +order +pack +pants +pool +scene +seven +shame +slide +ugly +among +blade +blonde +closet +creek +deny +drug +eternity +gain +grade +handle +key +linger +pale +prepare +swallow +swim +tremble +wheel +won +cast +cigarette +claim +college +direction +dirty +gather +ghost +hundred +loss +lung +orange +present +swear +swirl +twice +wild +bitter +blanket +doctor +everywhere +flash +grown +knowledge +numb +pressure +radio +repeat +ruin +spend +unknown +buy +clock +devil +early +false +fantasy +pound +precious +refuse +sheet +teeth +welcome +add +ahead +block +bury +caress +content +depth +despite +distant +marry +purple +threw +whenever +bomb +dull +easily +grasp +hospital +innocence +normal +receive +reply +rhyme +shade +someday +sword +toe +visit +asleep +bought +center +consider +flat +hero +history +ink +insane +muscle +mystery +pocket +reflection +shove +silently +smart +soldier +spot +stress +train +type +view +whether +bus +energy +explain +holy +hunger +inch +magic +mix +noise +nowhere +prayer +presence +shock +snap +spider +study +thunder +trail +admit +agree +bag +bang +bound +butterfly +cute +exactly +explode +familiar +fold +further +pierce +reflect +scent +selfish +sharp +sink +spring +stumble +universe +weep +women +wonderful +action +ancient +attempt +avoid +birthday +branch +chocolate +core +depress +drunk +especially +focus +fruit +honest +match +palm +perfectly +pillow +pity +poison +roar +shift +slightly +thump +truck +tune +twenty +unable +wipe +wrote +coat +constant +dinner +drove +egg +eternal +flight +flood +frame +freak +gasp +glad +hollow +motion +peer +plastic +root +screen +season +sting +strike +team +unlike +victim +volume +warn +weird +attack +await +awake +built +charm +crave +despair +fought +grant +grief +horse +limit +message +ripple +sanity +scatter +serve +split +string +trick +annoy +blur +boat +brave +clearly +cling +connect +fist +forth +imagination +iron +jock +judge +lesson +milk +misery +nail +naked +ourselves +poet +possible +princess +sail +size +snake +society +stroke +torture +toss +trace +wise +bloom +bullet +cell +check +cost +darling +during +footstep +fragile +hallway +hardly +horizon +invisible +journey +midnight +mud +nod +pause +relax +shiver +sudden +value +youth +abuse +admire +blink +breast +bruise +constantly +couple +creep +curve +difference +dumb +emptiness +gotta +honor +plain +planet +recall +rub +ship +slam +soar +somebody +tightly +weather +adore +approach +bond +bread +burst +candle +coffee +cousin +crime +desert +flutter +frozen +grand +heel +hello +language +level +movement +pleasure +powerful +random +rhythm +settle +silly +slap +sort +spoken +steel +threaten +tumble +upset +aside +awkward +bee +blank +board +button +card +carefully +complain +crap +deeply +discover +drag +dread +effort +entire +fairy +giant +gotten +greet +illusion +jeans +leap +liquid +march +mend +nervous +nine +replace +rope +spine +stole +terror +accident +apple +balance +boom +childhood +collect +demand +depression +eventually +faint +glare +goal +group +honey +kitchen +laid +limb +machine +mere +mold +murder +nerve +painful +poetry +prince +rabbit +shelter +shore +shower +soothe +stair +steady +sunlight +tangle +tease +treasure +uncle +begun +bliss +canvas +cheer +claw +clutch +commit +crimson +crystal +delight +doll +existence +express +fog +football +gay +goose +guard +hatred +illuminate +mass +math +mourn +rich +rough +skip +stir +student +style +support +thorn +tough +yard +yearn +yesterday +advice +appreciate +autumn +bank +beam +bowl +capture +carve +collapse +confusion +creation +dove +feather +girlfriend +glory +government +harsh +hop +inner +loser +moonlight +neighbor +neither +peach +pig +praise +screw +shield +shimmer +sneak +stab +subject +throughout +thrown +tower +twirl +wow +army +arrive +bathroom +bump +cease +cookie +couch +courage +dim +guilt +howl +hum +husband +insult +led +lunch +mock +mostly +natural +nearly +needle +nerd +peaceful +perfection +pile +price +remove +roam +sanctuary +serious +shiny +shook +sob +stolen +tap +vain +void +warrior +wrinkle +affection +apologize +blossom +bounce +bridge +cheap +crumble +decision +descend +desperately +dig +dot +flip +frighten +heartbeat +huge +lazy +lick +odd +opinion +process +puzzle +quietly +retreat +score +sentence +separate +situation +skill +soak +square +stray +taint +task +tide +underneath +veil +whistle +anywhere +bedroom +bid +bloody +burden +careful +compare +concern +curtain +decay +defeat +describe +double +dreamer +driver +dwell +evening +flare +flicker +grandma +guitar +harm +horrible +hungry +indeed +lace +melody +monkey +nation +object +obviously +rainbow +salt +scratch +shown +shy +stage +stun +third +tickle +useless +weakness +worship +worthless +afternoon +beard +boyfriend +bubble +busy +certain +chin +concrete +desk +diamond +doom +drawn +due +felicity +freeze +frost +garden +glide +harmony +hopefully +hunt +jealous +lightning +mama +mercy +peel +physical +position +pulse +punch +quit +rant +respond +salty +sane +satisfy +savior +sheep +slept +social +sport +tuck +utter +valley +wolf +aim +alas +alter +arrow +awaken +beaten +belief +brand +ceiling +cheese +clue +confidence +connection +daily +disguise +eager +erase +essence +everytime +expression +fan +flag +flirt +foul +fur +giggle +glorious +ignorance +law +lifeless +measure +mighty +muse +north +opposite +paradise +patience +patient +pencil +petal +plate +ponder +possibly +practice +slice +spell +stock +strife +strip +suffocate +suit +tender +tool +trade +velvet +verse +waist +witch +aunt +bench +bold +cap +certainly +click +companion +creator +dart +delicate +determine +dish +dragon +drama +drum +dude +everybody +feast +forehead +former +fright +fully +gas +hook +hurl +invite +juice +manage +moral +possess +raw +rebel +royal +scale +scary +several +slight +stubborn +swell +talent +tea +terrible +thread +torment +trickle +usually +vast +violence +weave +acid +agony +ashamed +awe +belly +blend +blush +character +cheat +common +company +coward +creak +danger +deadly +defense +define +depend +desperate +destination +dew +duck +dusty +embarrass +engine +example +explore +foe +freely +frustrate +generation +glove +guilty +health +hurry +idiot +impossible +inhale +jaw +kingdom +mention +mist +moan +mumble +mutter +observe +ode +pathetic +pattern +pie +prefer +puff +rape +rare +revenge +rude +scrape +spiral +squeeze +strain +sunset +suspend +sympathy +thigh +throne +total +unseen +weapon +weary -- cgit v1.2.3 From 608572eeadbcee465313f024c5604c52379c9cc9 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Tue, 23 Sep 2014 20:48:15 +0530 Subject: Check for error after opening word list file --- src/mnemonics/electrum-words.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 250e37577..8ab618b16 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -41,16 +41,17 @@ #include "crypto/crypto.h" // for declaration of crypto::secret_key #include #include "mnemonics/electrum-words.h" - +#include namespace { int num_words = 0; std::map words_map; - vector words_array; + std::vector words_array; const std::string OLD_WORD_FILE = "old-word-list"; const std::string WORD_LIST_DIRECTORY = "wordlists"; + bool is_first_use() { return num_words == 0 ? true : false; @@ -58,12 +59,16 @@ namespace void create_data_structures(const std::string &word_file) { - ifstream input_stream; - input_stream.open(word_file, std::ifstream::in); + std::ifstream input_stream; + input_stream.open(word_file.c_str(), std::ifstream::in); + + if (!input_stream) + throw std::runtime_error(std::string("Word list file couldn't be opened.")); + std::string word; while (input_stream >> word) { - words_array.push(word); + words_array.push_back(word); words_map[word] = num_words; num_words++; } @@ -154,7 +159,7 @@ namespace crypto { if (is_first_use()) { - init(); + init("", true); } int n = num_words; -- cgit v1.2.3 From 26ea53d4611bbb81cf12be61daa30c489a942bda Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Wed, 24 Sep 2014 22:44:36 +0530 Subject: Copies word lists directory to the location of the executable --- src/mnemonics/electrum-words.cpp | 7 +- src/mnemonics/old-word-list | 1626 --------------------------------- src/mnemonics/wordlists/old-word-list | 1626 +++++++++++++++++++++++++++++++++ 3 files changed, 1630 insertions(+), 1629 deletions(-) delete mode 100644 src/mnemonics/old-word-list create mode 100644 src/mnemonics/wordlists/old-word-list (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 8ab618b16..3d79ecf6e 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -49,8 +49,9 @@ namespace std::map words_map; std::vector words_array; + const std::string WORD_LISTS_DIRECTORY = "wordlists"; + const std::string LANGUAGES_DIRECTORY = "languages"; const std::string OLD_WORD_FILE = "old-word-list"; - const std::string WORD_LIST_DIRECTORY = "wordlists"; bool is_first_use() { @@ -85,11 +86,11 @@ namespace crypto { if (old_word_list) { - create_data_structures(OLD_WORD_FILE); + create_data_structures(WORD_LISTS_DIRECTORY + '/' + OLD_WORD_FILE); } else { - create_data_structures(WORD_LIST_DIRECTORY + '/' + language); + create_data_structures(WORD_LISTS_DIRECTORY + '/' + LANGUAGES_DIRECTORY + '/' + language); } } diff --git a/src/mnemonics/old-word-list b/src/mnemonics/old-word-list deleted file mode 100644 index a5184a9ce..000000000 --- a/src/mnemonics/old-word-list +++ /dev/null @@ -1,1626 +0,0 @@ -like -just -love -know -never -want -time -out -there -make -look -eye -down -only -think -heart -back -then -into -about -more -away -still -them -take -thing -even -through -long -always -world -too -friend -tell -try -hand -thought -over -here -other -need -smile -again -much -cry -been -night -ever -little -said -end -some -those -around -mind -people -girl -leave -dream -left -turn -myself -give -nothing -really -off -before -something -find -walk -wish -good -once -place -ask -stop -keep -watch -seem -everything -wait -got -yet -made -remember -start -alone -run -hope -maybe -believe -body -hate -after -close -talk -stand -own -each -hurt -help -home -god -soul -new -many -two -inside -should -true -first -fear -mean -better -play -another -gone -change -use -wonder -someone -hair -cold -open -best -any -behind -happen -water -dark -laugh -stay -forever -name -work -show -sky -break -came -deep -door -put -black -together -upon -happy -such -great -white -matter -fill -past -please -burn -cause -enough -touch -moment -soon -voice -scream -anything -stare -sound -red -everyone -hide -kiss -truth -death -beautiful -mine -blood -broken -very -pass -next -forget -tree -wrong -air -mother -understand -lip -hit -wall -memory -sleep -free -high -realize -school -might -skin -sweet -perfect -blue -kill -breath -dance -against -fly -between -grow -strong -under -listen -bring -sometimes -speak -pull -person -become -family -begin -ground -real -small -father -sure -feet -rest -young -finally -land -across -today -different -guy -line -fire -reason -reach -second -slowly -write -eat -smell -mouth -step -learn -three -floor -promise -breathe -darkness -push -earth -guess -save -song -above -along -both -color -house -almost -sorry -anymore -brother -okay -dear -game -fade -already -apart -warm -beauty -heard -notice -question -shine -began -piece -whole -shadow -secret -street -within -finger -point -morning -whisper -child -moon -green -story -glass -kid -silence -since -soft -yourself -empty -shall -angel -answer -baby -bright -dad -path -worry -hour -drop -follow -power -war -half -flow -heaven -act -chance -fact -least -tired -children -near -quite -afraid -rise -sea -taste -window -cover -nice -trust -lot -sad -cool -force -peace -return -blind -easy -ready -roll -rose -drive -held -music -beneath -hang -mom -paint -emotion -quiet -clear -cloud -few -pretty -bird -outside -paper -picture -front -rock -simple -anyone -meant -reality -road -sense -waste -bit -leaf -thank -happiness -meet -men -smoke -truly -decide -self -age -book -form -alive -carry -escape -damn -instead -able -ice -minute -throw -catch -leg -ring -course -goodbye -lead -poem -sick -corner -desire -known -problem -remind -shoulder -suppose -toward -wave -drink -jump -woman -pretend -sister -week -human -joy -crack -grey -pray -surprise -dry -knee -less -search -bleed -caught -clean -embrace -future -king -son -sorrow -chest -hug -remain -sat -worth -blow -daddy -final -parent -tight -also -create -lonely -safe -cross -dress -evil -silent -bone -fate -perhaps -anger -class -scar -snow -tiny -tonight -continue -control -dog -edge -mirror -month -suddenly -comfort -given -loud -quickly -gaze -plan -rush -stone -town -battle -ignore -spirit -stood -stupid -yours -brown -build -dust -hey -kept -pay -phone -twist -although -ball -beyond -hidden -nose -taken -fail -float -pure -somehow -wash -wrap -angry -cheek -creature -forgotten -heat -rip -single -space -special -weak -whatever -yell -anyway -blame -job -choose -country -curse -drift -echo -figure -grew -laughter -neck -suffer -worse -yeah -disappear -foot -forward -knife -mess -somewhere -stomach -storm -beg -idea -lift -offer -breeze -field -five -often -simply -stuck -win -allow -confuse -enjoy -except -flower -seek -strength -calm -grin -gun -heavy -hill -large -ocean -shoe -sigh -straight -summer -tongue -accept -crazy -everyday -exist -grass -mistake -sent -shut -surround -table -ache -brain -destroy -heal -nature -shout -sign -stain -choice -doubt -glance -glow -mountain -queen -stranger -throat -tomorrow -city -either -fish -flame -rather -shape -spin -spread -ash -distance -finish -image -imagine -important -nobody -shatter -warmth -became -feed -flesh -funny -lust -shirt -trouble -yellow -attention -bare -bite -money -protect -amaze -appear -born -choke -completely -daughter -fresh -friendship -gentle -probably -six -deserve -expect -grab -middle -nightmare -river -thousand -weight -worst -wound -barely -bottle -cream -regret -relationship -stick -test -crush -endless -fault -itself -rule -spill -art -circle -join -kick -mask -master -passion -quick -raise -smooth -unless -wander -actually -broke -chair -deal -favorite -gift -note -number -sweat -box -chill -clothes -lady -mark -park -poor -sadness -tie -animal -belong -brush -consume -dawn -forest -innocent -pen -pride -stream -thick -clay -complete -count -draw -faith -press -silver -struggle -surface -taught -teach -wet -bless -chase -climb -enter -letter -melt -metal -movie -stretch -swing -vision -wife -beside -crash -forgot -guide -haunt -joke -knock -plant -pour -prove -reveal -steal -stuff -trip -wood -wrist -bother -bottom -crawl -crowd -fix -forgive -frown -grace -loose -lucky -party -release -surely -survive -teacher -gently -grip -speed -suicide -travel -treat -vein -written -cage -chain -conversation -date -enemy -however -interest -million -page -pink -proud -sway -themselves -winter -church -cruel -cup -demon -experience -freedom -pair -pop -purpose -respect -shoot -softly -state -strange -bar -birth -curl -dirt -excuse -lord -lovely -monster -order -pack -pants -pool -scene -seven -shame -slide -ugly -among -blade -blonde -closet -creek -deny -drug -eternity -gain -grade -handle -key -linger -pale -prepare -swallow -swim -tremble -wheel -won -cast -cigarette -claim -college -direction -dirty -gather -ghost -hundred -loss -lung -orange -present -swear -swirl -twice -wild -bitter -blanket -doctor -everywhere -flash -grown -knowledge -numb -pressure -radio -repeat -ruin -spend -unknown -buy -clock -devil -early -false -fantasy -pound -precious -refuse -sheet -teeth -welcome -add -ahead -block -bury -caress -content -depth -despite -distant -marry -purple -threw -whenever -bomb -dull -easily -grasp -hospital -innocence -normal -receive -reply -rhyme -shade -someday -sword -toe -visit -asleep -bought -center -consider -flat -hero -history -ink -insane -muscle -mystery -pocket -reflection -shove -silently -smart -soldier -spot -stress -train -type -view -whether -bus -energy -explain -holy -hunger -inch -magic -mix -noise -nowhere -prayer -presence -shock -snap -spider -study -thunder -trail -admit -agree -bag -bang -bound -butterfly -cute -exactly -explode -familiar -fold -further -pierce -reflect -scent -selfish -sharp -sink -spring -stumble -universe -weep -women -wonderful -action -ancient -attempt -avoid -birthday -branch -chocolate -core -depress -drunk -especially -focus -fruit -honest -match -palm -perfectly -pillow -pity -poison -roar -shift -slightly -thump -truck -tune -twenty -unable -wipe -wrote -coat -constant -dinner -drove -egg -eternal -flight -flood -frame -freak -gasp -glad -hollow -motion -peer -plastic -root -screen -season -sting -strike -team -unlike -victim -volume -warn -weird -attack -await -awake -built -charm -crave -despair -fought -grant -grief -horse -limit -message -ripple -sanity -scatter -serve -split -string -trick -annoy -blur -boat -brave -clearly -cling -connect -fist -forth -imagination -iron -jock -judge -lesson -milk -misery -nail -naked -ourselves -poet -possible -princess -sail -size -snake -society -stroke -torture -toss -trace -wise -bloom -bullet -cell -check -cost -darling -during -footstep -fragile -hallway -hardly -horizon -invisible -journey -midnight -mud -nod -pause -relax -shiver -sudden -value -youth -abuse -admire -blink -breast -bruise -constantly -couple -creep -curve -difference -dumb -emptiness -gotta -honor -plain -planet -recall -rub -ship -slam -soar -somebody -tightly -weather -adore -approach -bond -bread -burst -candle -coffee -cousin -crime -desert -flutter -frozen -grand -heel -hello -language -level -movement -pleasure -powerful -random -rhythm -settle -silly -slap -sort -spoken -steel -threaten -tumble -upset -aside -awkward -bee -blank -board -button -card -carefully -complain -crap -deeply -discover -drag -dread -effort -entire -fairy -giant -gotten -greet -illusion -jeans -leap -liquid -march -mend -nervous -nine -replace -rope -spine -stole -terror -accident -apple -balance -boom -childhood -collect -demand -depression -eventually -faint -glare -goal -group -honey -kitchen -laid -limb -machine -mere -mold -murder -nerve -painful -poetry -prince -rabbit -shelter -shore -shower -soothe -stair -steady -sunlight -tangle -tease -treasure -uncle -begun -bliss -canvas -cheer -claw -clutch -commit -crimson -crystal -delight -doll -existence -express -fog -football -gay -goose -guard -hatred -illuminate -mass -math -mourn -rich -rough -skip -stir -student -style -support -thorn -tough -yard -yearn -yesterday -advice -appreciate -autumn -bank -beam -bowl -capture -carve -collapse -confusion -creation -dove -feather -girlfriend -glory -government -harsh -hop -inner -loser -moonlight -neighbor -neither -peach -pig -praise -screw -shield -shimmer -sneak -stab -subject -throughout -thrown -tower -twirl -wow -army -arrive -bathroom -bump -cease -cookie -couch -courage -dim -guilt -howl -hum -husband -insult -led -lunch -mock -mostly -natural -nearly -needle -nerd -peaceful -perfection -pile -price -remove -roam -sanctuary -serious -shiny -shook -sob -stolen -tap -vain -void -warrior -wrinkle -affection -apologize -blossom -bounce -bridge -cheap -crumble -decision -descend -desperately -dig -dot -flip -frighten -heartbeat -huge -lazy -lick -odd -opinion -process -puzzle -quietly -retreat -score -sentence -separate -situation -skill -soak -square -stray -taint -task -tide -underneath -veil -whistle -anywhere -bedroom -bid -bloody -burden -careful -compare -concern -curtain -decay -defeat -describe -double -dreamer -driver -dwell -evening -flare -flicker -grandma -guitar -harm -horrible -hungry -indeed -lace -melody -monkey -nation -object -obviously -rainbow -salt -scratch -shown -shy -stage -stun -third -tickle -useless -weakness -worship -worthless -afternoon -beard -boyfriend -bubble -busy -certain -chin -concrete -desk -diamond -doom -drawn -due -felicity -freeze -frost -garden -glide -harmony -hopefully -hunt -jealous -lightning -mama -mercy -peel -physical -position -pulse -punch -quit -rant -respond -salty -sane -satisfy -savior -sheep -slept -social -sport -tuck -utter -valley -wolf -aim -alas -alter -arrow -awaken -beaten -belief -brand -ceiling -cheese -clue -confidence -connection -daily -disguise -eager -erase -essence -everytime -expression -fan -flag -flirt -foul -fur -giggle -glorious -ignorance -law -lifeless -measure -mighty -muse -north -opposite -paradise -patience -patient -pencil -petal -plate -ponder -possibly -practice -slice -spell -stock -strife -strip -suffocate -suit -tender -tool -trade -velvet -verse -waist -witch -aunt -bench -bold -cap -certainly -click -companion -creator -dart -delicate -determine -dish -dragon -drama -drum -dude -everybody -feast -forehead -former -fright -fully -gas -hook -hurl -invite -juice -manage -moral -possess -raw -rebel -royal -scale -scary -several -slight -stubborn -swell -talent -tea -terrible -thread -torment -trickle -usually -vast -violence -weave -acid -agony -ashamed -awe -belly -blend -blush -character -cheat -common -company -coward -creak -danger -deadly -defense -define -depend -desperate -destination -dew -duck -dusty -embarrass -engine -example -explore -foe -freely -frustrate -generation -glove -guilty -health -hurry -idiot -impossible -inhale -jaw -kingdom -mention -mist -moan -mumble -mutter -observe -ode -pathetic -pattern -pie -prefer -puff -rape -rare -revenge -rude -scrape -spiral -squeeze -strain -sunset -suspend -sympathy -thigh -throne -total -unseen -weapon -weary diff --git a/src/mnemonics/wordlists/old-word-list b/src/mnemonics/wordlists/old-word-list new file mode 100644 index 000000000..a5184a9ce --- /dev/null +++ b/src/mnemonics/wordlists/old-word-list @@ -0,0 +1,1626 @@ +like +just +love +know +never +want +time +out +there +make +look +eye +down +only +think +heart +back +then +into +about +more +away +still +them +take +thing +even +through +long +always +world +too +friend +tell +try +hand +thought +over +here +other +need +smile +again +much +cry +been +night +ever +little +said +end +some +those +around +mind +people +girl +leave +dream +left +turn +myself +give +nothing +really +off +before +something +find +walk +wish +good +once +place +ask +stop +keep +watch +seem +everything +wait +got +yet +made +remember +start +alone +run +hope +maybe +believe +body +hate +after +close +talk +stand +own +each +hurt +help +home +god +soul +new +many +two +inside +should +true +first +fear +mean +better +play +another +gone +change +use +wonder +someone +hair +cold +open +best +any +behind +happen +water +dark +laugh +stay +forever +name +work +show +sky +break +came +deep +door +put +black +together +upon +happy +such +great +white +matter +fill +past +please +burn +cause +enough +touch +moment +soon +voice +scream +anything +stare +sound +red +everyone +hide +kiss +truth +death +beautiful +mine +blood +broken +very +pass +next +forget +tree +wrong +air +mother +understand +lip +hit +wall +memory +sleep +free +high +realize +school +might +skin +sweet +perfect +blue +kill +breath +dance +against +fly +between +grow +strong +under +listen +bring +sometimes +speak +pull +person +become +family +begin +ground +real +small +father +sure +feet +rest +young +finally +land +across +today +different +guy +line +fire +reason +reach +second +slowly +write +eat +smell +mouth +step +learn +three +floor +promise +breathe +darkness +push +earth +guess +save +song +above +along +both +color +house +almost +sorry +anymore +brother +okay +dear +game +fade +already +apart +warm +beauty +heard +notice +question +shine +began +piece +whole +shadow +secret +street +within +finger +point +morning +whisper +child +moon +green +story +glass +kid +silence +since +soft +yourself +empty +shall +angel +answer +baby +bright +dad +path +worry +hour +drop +follow +power +war +half +flow +heaven +act +chance +fact +least +tired +children +near +quite +afraid +rise +sea +taste +window +cover +nice +trust +lot +sad +cool +force +peace +return +blind +easy +ready +roll +rose +drive +held +music +beneath +hang +mom +paint +emotion +quiet +clear +cloud +few +pretty +bird +outside +paper +picture +front +rock +simple +anyone +meant +reality +road +sense +waste +bit +leaf +thank +happiness +meet +men +smoke +truly +decide +self +age +book +form +alive +carry +escape +damn +instead +able +ice +minute +throw +catch +leg +ring +course +goodbye +lead +poem +sick +corner +desire +known +problem +remind +shoulder +suppose +toward +wave +drink +jump +woman +pretend +sister +week +human +joy +crack +grey +pray +surprise +dry +knee +less +search +bleed +caught +clean +embrace +future +king +son +sorrow +chest +hug +remain +sat +worth +blow +daddy +final +parent +tight +also +create +lonely +safe +cross +dress +evil +silent +bone +fate +perhaps +anger +class +scar +snow +tiny +tonight +continue +control +dog +edge +mirror +month +suddenly +comfort +given +loud +quickly +gaze +plan +rush +stone +town +battle +ignore +spirit +stood +stupid +yours +brown +build +dust +hey +kept +pay +phone +twist +although +ball +beyond +hidden +nose +taken +fail +float +pure +somehow +wash +wrap +angry +cheek +creature +forgotten +heat +rip +single +space +special +weak +whatever +yell +anyway +blame +job +choose +country +curse +drift +echo +figure +grew +laughter +neck +suffer +worse +yeah +disappear +foot +forward +knife +mess +somewhere +stomach +storm +beg +idea +lift +offer +breeze +field +five +often +simply +stuck +win +allow +confuse +enjoy +except +flower +seek +strength +calm +grin +gun +heavy +hill +large +ocean +shoe +sigh +straight +summer +tongue +accept +crazy +everyday +exist +grass +mistake +sent +shut +surround +table +ache +brain +destroy +heal +nature +shout +sign +stain +choice +doubt +glance +glow +mountain +queen +stranger +throat +tomorrow +city +either +fish +flame +rather +shape +spin +spread +ash +distance +finish +image +imagine +important +nobody +shatter +warmth +became +feed +flesh +funny +lust +shirt +trouble +yellow +attention +bare +bite +money +protect +amaze +appear +born +choke +completely +daughter +fresh +friendship +gentle +probably +six +deserve +expect +grab +middle +nightmare +river +thousand +weight +worst +wound +barely +bottle +cream +regret +relationship +stick +test +crush +endless +fault +itself +rule +spill +art +circle +join +kick +mask +master +passion +quick +raise +smooth +unless +wander +actually +broke +chair +deal +favorite +gift +note +number +sweat +box +chill +clothes +lady +mark +park +poor +sadness +tie +animal +belong +brush +consume +dawn +forest +innocent +pen +pride +stream +thick +clay +complete +count +draw +faith +press +silver +struggle +surface +taught +teach +wet +bless +chase +climb +enter +letter +melt +metal +movie +stretch +swing +vision +wife +beside +crash +forgot +guide +haunt +joke +knock +plant +pour +prove +reveal +steal +stuff +trip +wood +wrist +bother +bottom +crawl +crowd +fix +forgive +frown +grace +loose +lucky +party +release +surely +survive +teacher +gently +grip +speed +suicide +travel +treat +vein +written +cage +chain +conversation +date +enemy +however +interest +million +page +pink +proud +sway +themselves +winter +church +cruel +cup +demon +experience +freedom +pair +pop +purpose +respect +shoot +softly +state +strange +bar +birth +curl +dirt +excuse +lord +lovely +monster +order +pack +pants +pool +scene +seven +shame +slide +ugly +among +blade +blonde +closet +creek +deny +drug +eternity +gain +grade +handle +key +linger +pale +prepare +swallow +swim +tremble +wheel +won +cast +cigarette +claim +college +direction +dirty +gather +ghost +hundred +loss +lung +orange +present +swear +swirl +twice +wild +bitter +blanket +doctor +everywhere +flash +grown +knowledge +numb +pressure +radio +repeat +ruin +spend +unknown +buy +clock +devil +early +false +fantasy +pound +precious +refuse +sheet +teeth +welcome +add +ahead +block +bury +caress +content +depth +despite +distant +marry +purple +threw +whenever +bomb +dull +easily +grasp +hospital +innocence +normal +receive +reply +rhyme +shade +someday +sword +toe +visit +asleep +bought +center +consider +flat +hero +history +ink +insane +muscle +mystery +pocket +reflection +shove +silently +smart +soldier +spot +stress +train +type +view +whether +bus +energy +explain +holy +hunger +inch +magic +mix +noise +nowhere +prayer +presence +shock +snap +spider +study +thunder +trail +admit +agree +bag +bang +bound +butterfly +cute +exactly +explode +familiar +fold +further +pierce +reflect +scent +selfish +sharp +sink +spring +stumble +universe +weep +women +wonderful +action +ancient +attempt +avoid +birthday +branch +chocolate +core +depress +drunk +especially +focus +fruit +honest +match +palm +perfectly +pillow +pity +poison +roar +shift +slightly +thump +truck +tune +twenty +unable +wipe +wrote +coat +constant +dinner +drove +egg +eternal +flight +flood +frame +freak +gasp +glad +hollow +motion +peer +plastic +root +screen +season +sting +strike +team +unlike +victim +volume +warn +weird +attack +await +awake +built +charm +crave +despair +fought +grant +grief +horse +limit +message +ripple +sanity +scatter +serve +split +string +trick +annoy +blur +boat +brave +clearly +cling +connect +fist +forth +imagination +iron +jock +judge +lesson +milk +misery +nail +naked +ourselves +poet +possible +princess +sail +size +snake +society +stroke +torture +toss +trace +wise +bloom +bullet +cell +check +cost +darling +during +footstep +fragile +hallway +hardly +horizon +invisible +journey +midnight +mud +nod +pause +relax +shiver +sudden +value +youth +abuse +admire +blink +breast +bruise +constantly +couple +creep +curve +difference +dumb +emptiness +gotta +honor +plain +planet +recall +rub +ship +slam +soar +somebody +tightly +weather +adore +approach +bond +bread +burst +candle +coffee +cousin +crime +desert +flutter +frozen +grand +heel +hello +language +level +movement +pleasure +powerful +random +rhythm +settle +silly +slap +sort +spoken +steel +threaten +tumble +upset +aside +awkward +bee +blank +board +button +card +carefully +complain +crap +deeply +discover +drag +dread +effort +entire +fairy +giant +gotten +greet +illusion +jeans +leap +liquid +march +mend +nervous +nine +replace +rope +spine +stole +terror +accident +apple +balance +boom +childhood +collect +demand +depression +eventually +faint +glare +goal +group +honey +kitchen +laid +limb +machine +mere +mold +murder +nerve +painful +poetry +prince +rabbit +shelter +shore +shower +soothe +stair +steady +sunlight +tangle +tease +treasure +uncle +begun +bliss +canvas +cheer +claw +clutch +commit +crimson +crystal +delight +doll +existence +express +fog +football +gay +goose +guard +hatred +illuminate +mass +math +mourn +rich +rough +skip +stir +student +style +support +thorn +tough +yard +yearn +yesterday +advice +appreciate +autumn +bank +beam +bowl +capture +carve +collapse +confusion +creation +dove +feather +girlfriend +glory +government +harsh +hop +inner +loser +moonlight +neighbor +neither +peach +pig +praise +screw +shield +shimmer +sneak +stab +subject +throughout +thrown +tower +twirl +wow +army +arrive +bathroom +bump +cease +cookie +couch +courage +dim +guilt +howl +hum +husband +insult +led +lunch +mock +mostly +natural +nearly +needle +nerd +peaceful +perfection +pile +price +remove +roam +sanctuary +serious +shiny +shook +sob +stolen +tap +vain +void +warrior +wrinkle +affection +apologize +blossom +bounce +bridge +cheap +crumble +decision +descend +desperately +dig +dot +flip +frighten +heartbeat +huge +lazy +lick +odd +opinion +process +puzzle +quietly +retreat +score +sentence +separate +situation +skill +soak +square +stray +taint +task +tide +underneath +veil +whistle +anywhere +bedroom +bid +bloody +burden +careful +compare +concern +curtain +decay +defeat +describe +double +dreamer +driver +dwell +evening +flare +flicker +grandma +guitar +harm +horrible +hungry +indeed +lace +melody +monkey +nation +object +obviously +rainbow +salt +scratch +shown +shy +stage +stun +third +tickle +useless +weakness +worship +worthless +afternoon +beard +boyfriend +bubble +busy +certain +chin +concrete +desk +diamond +doom +drawn +due +felicity +freeze +frost +garden +glide +harmony +hopefully +hunt +jealous +lightning +mama +mercy +peel +physical +position +pulse +punch +quit +rant +respond +salty +sane +satisfy +savior +sheep +slept +social +sport +tuck +utter +valley +wolf +aim +alas +alter +arrow +awaken +beaten +belief +brand +ceiling +cheese +clue +confidence +connection +daily +disguise +eager +erase +essence +everytime +expression +fan +flag +flirt +foul +fur +giggle +glorious +ignorance +law +lifeless +measure +mighty +muse +north +opposite +paradise +patience +patient +pencil +petal +plate +ponder +possibly +practice +slice +spell +stock +strife +strip +suffocate +suit +tender +tool +trade +velvet +verse +waist +witch +aunt +bench +bold +cap +certainly +click +companion +creator +dart +delicate +determine +dish +dragon +drama +drum +dude +everybody +feast +forehead +former +fright +fully +gas +hook +hurl +invite +juice +manage +moral +possess +raw +rebel +royal +scale +scary +several +slight +stubborn +swell +talent +tea +terrible +thread +torment +trickle +usually +vast +violence +weave +acid +agony +ashamed +awe +belly +blend +blush +character +cheat +common +company +coward +creak +danger +deadly +defense +define +depend +desperate +destination +dew +duck +dusty +embarrass +engine +example +explore +foe +freely +frustrate +generation +glove +guilty +health +hurry +idiot +impossible +inhale +jaw +kingdom +mention +mist +moan +mumble +mutter +observe +ode +pathetic +pattern +pie +prefer +puff +rape +rare +revenge +rude +scrape +spiral +squeeze +strain +sunset +suspend +sympathy +thigh +throne +total +unseen +weapon +weary -- cgit v1.2.3 From a1ac92e185c49c5db0956bf4506f910fac5024e7 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Thu, 25 Sep 2014 18:04:30 +0530 Subject: Accepts seed language choice from user. --- src/mnemonics/electrum-words.cpp | 19 ++++++++++++++++++- src/mnemonics/electrum-words.h | 3 ++- 2 files changed, 20 insertions(+), 2 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 3d79ecf6e..756306014 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -42,6 +42,7 @@ #include #include "mnemonics/electrum-words.h" #include +#include namespace { @@ -82,7 +83,7 @@ namespace crypto namespace ElectrumWords { - void init(const std::string &language, bool old_word_list = false) + void init(const std::string &language, bool old_word_list) { if (old_word_list) { @@ -188,6 +189,22 @@ namespace crypto return false; } + void get_language_list(std::vector &languages) + { + languages.clear(); + boost::filesystem::path languages_directory("wordlists/languages"); + if (!boost::filesystem::exists(languages_directory) || + !boost::filesystem::is_directory(languages_directory)) + { + throw std::runtime_error("Word list languages directory is missing."); + } + boost::filesystem::directory_iterator end; + for (boost::filesystem::directory_iterator it(languages_directory); it != end; it++) + { + languages.push_back(it->path().filename().string()); + } + } + } // namespace ElectrumWords } // namespace crypto diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index 0ae01b6a6..4a3cdeb04 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -41,8 +41,9 @@ namespace crypto { namespace ElectrumWords { - void init(const std::string &language, bool old_word_list); + void init(const std::string &language, bool old_word_list=false); bool words_to_bytes(const std::string& words, crypto::secret_key& dst); bool bytes_to_words(const crypto::secret_key& src, std::string& words); + void get_language_list(std::vector &languages); } } -- cgit v1.2.3 From 3c0e87e1b604a846bf6a16c9eb5b45a05548541a Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Fri, 26 Sep 2014 23:34:35 +0530 Subject: Supports wallet restoration --- src/mnemonics/electrum-words.cpp | 54 +++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 15 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 756306014..251503d9b 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -54,13 +54,15 @@ namespace const std::string LANGUAGES_DIRECTORY = "languages"; const std::string OLD_WORD_FILE = "old-word-list"; - bool is_first_use() + bool is_uninitialized() { return num_words == 0 ? true : false; } void create_data_structures(const std::string &word_file) { + words_array.clear(); + words_map.clear(); std::ifstream input_stream; input_stream.open(word_file.c_str(), std::ifstream::in); @@ -76,6 +78,18 @@ namespace } input_stream.close(); } + + bool word_list_file_match(const std::vector &wlist) + { + for (std::vector::const_iterator it = wlist.begin(); it != wlist.end(); it++) + { + if (words_map.count(*it) == 0) + { + return false; + } + } + return true; + } } namespace crypto @@ -93,6 +107,11 @@ namespace crypto { create_data_structures(WORD_LISTS_DIRECTORY + '/' + LANGUAGES_DIRECTORY + '/' + language); } + if (num_words == 0) + { + throw std::runtime_error(std::string("Word list file is corrupt: ") + + old_word_list ? OLD_WORD_FILE : (LANGUAGES_DIRECTORY + '/' + language)); + } } /* convert words to bytes, 3 words -> 4 bytes @@ -104,16 +123,29 @@ namespace crypto */ bool words_to_bytes(const std::string& words, crypto::secret_key& dst) { - if (is_first_use()) + std::vector wlist; + + boost::split(wlist, words, boost::is_any_of(" ")); + + std::vector languages; + + std::vector::iterator it; + get_language_list(languages); + for (it = languages.begin(); it != languages.end() && + !word_list_file_match(wlist); it++) + { + init(*it); + } + if (it == languages.end()) { init("", true); + if (!word_list_file_match(wlist)) + { + return false; + } } int n = num_words; - std::vector wlist; - - boost::split(wlist, words, boost::is_any_of(" ")); - // error on non-compliant word list if (wlist.size() != 12 && wlist.size() != 24) return false; @@ -122,14 +154,6 @@ namespace crypto uint32_t val; uint32_t w1, w2, w3; - // verify all three words exist in the word list - if (words_map.count(wlist[i*3]) == 0 || - words_map.count(wlist[i*3 + 1]) == 0 || - words_map.count(wlist[i*3 + 2]) == 0) - { - return false; - } - w1 = words_map.at(wlist[i*3]); w2 = words_map.at(wlist[i*3 + 1]); w3 = words_map.at(wlist[i*3 + 2]); @@ -159,7 +183,7 @@ namespace crypto */ bool bytes_to_words(const crypto::secret_key& src, std::string& words) { - if (is_first_use()) + if (is_uninitialized()) { init("", true); } -- cgit v1.2.3 From 262e155bab392783b4b282e3abc2d0934e196b56 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sat, 27 Sep 2014 00:55:21 +0530 Subject: Throw error when word list file is empty and quick bug fix --- src/mnemonics/electrum-words.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 251503d9b..3ef7c5efc 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -63,6 +63,7 @@ namespace { words_array.clear(); words_map.clear(); + num_words = 0; std::ifstream input_stream; input_stream.open(word_file.c_str(), std::ifstream::in); @@ -109,8 +110,8 @@ namespace crypto } if (num_words == 0) { - throw std::runtime_error(std::string("Word list file is corrupt: ") + - old_word_list ? OLD_WORD_FILE : (LANGUAGES_DIRECTORY + '/' + language)); + throw std::runtime_error(std::string("Word list file is empty: ") + + (old_word_list ? OLD_WORD_FILE : (LANGUAGES_DIRECTORY + '/' + language))); } } @@ -128,13 +129,16 @@ namespace crypto boost::split(wlist, words, boost::is_any_of(" ")); std::vector languages; + get_language_list(languages); std::vector::iterator it; - get_language_list(languages); - for (it = languages.begin(); it != languages.end() && - !word_list_file_match(wlist); it++) + for (it = languages.begin(); it != languages.end(); it++) { init(*it); + if (word_list_file_match(wlist)) + { + break; + } } if (it == languages.end()) { -- cgit v1.2.3 From 91aa25e055b918d9f9525f67d93c3f5a05f53024 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sat, 27 Sep 2014 17:04:23 +0530 Subject: Informs about old style mnemonics from older wallet and provides a new one. CMakeLists.txt update. --- src/mnemonics/electrum-words.cpp | 12 + src/mnemonics/electrum-words.h | 1 + src/mnemonics/wordlists/languages/english | 2048 ++++++++++++++++++++++++++ src/mnemonics/wordlists/languages/japanese | 2048 ++++++++++++++++++++++++++ src/mnemonics/wordlists/languages/portuguese | 1626 ++++++++++++++++++++ src/mnemonics/wordlists/languages/spanish | 2048 ++++++++++++++++++++++++++ 6 files changed, 7783 insertions(+) create mode 100644 src/mnemonics/wordlists/languages/english create mode 100644 src/mnemonics/wordlists/languages/japanese create mode 100644 src/mnemonics/wordlists/languages/portuguese create mode 100644 src/mnemonics/wordlists/languages/spanish (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 3ef7c5efc..897ab34e7 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -50,6 +50,8 @@ namespace std::map words_map; std::vector words_array; + bool is_old_style_mnemonics = false; + const std::string WORD_LISTS_DIRECTORY = "wordlists"; const std::string LANGUAGES_DIRECTORY = "languages"; const std::string OLD_WORD_FILE = "old-word-list"; @@ -103,10 +105,12 @@ namespace crypto if (old_word_list) { create_data_structures(WORD_LISTS_DIRECTORY + '/' + OLD_WORD_FILE); + is_old_style_mnemonics = true; } else { create_data_structures(WORD_LISTS_DIRECTORY + '/' + LANGUAGES_DIRECTORY + '/' + language); + is_old_style_mnemonics = false; } if (num_words == 0) { @@ -115,6 +119,14 @@ namespace crypto } } + bool get_is_old_style_mnemonics() + { + if (is_uninitialized()) + { + throw std::runtime_error("ElectrumWords hasn't been initialized with a word list yet."); + } + return is_old_style_mnemonics; + } /* convert words to bytes, 3 words -> 4 bytes * returns: * false if not a multiple of 3 words, or if a words is not in the diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index 4a3cdeb04..73db652d7 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -45,5 +45,6 @@ namespace crypto bool words_to_bytes(const std::string& words, crypto::secret_key& dst); bool bytes_to_words(const crypto::secret_key& src, std::string& words); void get_language_list(std::vector &languages); + bool get_is_old_style_mnemonics(); } } diff --git a/src/mnemonics/wordlists/languages/english b/src/mnemonics/wordlists/languages/english new file mode 100644 index 000000000..942040ed5 --- /dev/null +++ b/src/mnemonics/wordlists/languages/english @@ -0,0 +1,2048 @@ +abandon +ability +able +about +above +absent +absorb +abstract +absurd +abuse +access +accident +account +accuse +achieve +acid +acoustic +acquire +across +act +action +actor +actress +actual +adapt +add +addict +address +adjust +admit +adult +advance +advice +aerobic +affair +afford +afraid +again +age +agent +agree +ahead +aim +air +airport +aisle +alarm +album +alcohol +alert +alien +all +alley +allow +almost +alone +alpha +already +also +alter +always +amateur +amazing +among +amount +amused +analyst +anchor +ancient +anger +angle +angry +animal +ankle +announce +annual +another +answer +antenna +antique +anxiety +any +apart +apology +appear +apple +approve +april +arch +arctic +area +arena +argue +arm +armed +armor +army +around +arrange +arrest +arrive +arrow +art +artefact +artist +artwork +ask +aspect +assault +asset +assist +assume +asthma +athlete +atom +attack +attend +attitude +attract +auction +audit +august +aunt +author +auto +autumn +average +avocado +avoid +awake +aware +away +awesome +awful +awkward +axis +baby +bachelor +bacon +badge +bag +balance +balcony +ball +bamboo +banana +banner +bar +barely +bargain +barrel +base +basic +basket +battle +beach +bean +beauty +because +become +beef +before +begin +behave +behind +believe +below +belt +bench +benefit +best +betray +better +between +beyond +bicycle +bid +bike +bind +biology +bird +birth +bitter +black +blade +blame +blanket +blast +bleak +bless +blind +blood +blossom +blouse +blue +blur +blush +board +boat +body +boil +bomb +bone +bonus +book +boost +border +boring +borrow +boss +bottom +bounce +box +boy +bracket +brain +brand +brass +brave +bread +breeze +brick +bridge +brief +bright +bring +brisk +broccoli +broken +bronze +broom +brother +brown +brush +bubble +buddy +budget +buffalo +build +bulb +bulk +bullet +bundle +bunker +burden +burger +burst +bus +business +busy +butter +buyer +buzz +cabbage +cabin +cable +cactus +cage +cake +call +calm +camera +camp +can +canal +cancel +candy +cannon +canoe +canvas +canyon +capable +capital +captain +car +carbon +card +cargo +carpet +carry +cart +case +cash +casino +castle +casual +cat +catalog +catch +category +cattle +caught +cause +caution +cave +ceiling +celery +cement +census +century +cereal +certain +chair +chalk +champion +change +chaos +chapter +charge +chase +chat +cheap +check +cheese +chef +cherry +chest +chicken +chief +child +chimney +choice +choose +chronic +chuckle +chunk +churn +cigar +cinnamon +circle +citizen +city +civil +claim +clap +clarify +claw +clay +clean +clerk +clever +click +client +cliff +climb +clinic +clip +clock +clog +close +cloth +cloud +clown +club +clump +cluster +clutch +coach +coast +coconut +code +coffee +coil +coin +collect +color +column +combine +come +comfort +comic +common +company +concert +conduct +confirm +congress +connect +consider +control +convince +cook +cool +copper +copy +coral +core +corn +correct +cost +cotton +couch +country +couple +course +cousin +cover +coyote +crack +cradle +craft +cram +crane +crash +crater +crawl +crazy +cream +credit +creek +crew +cricket +crime +crisp +critic +crop +cross +crouch +crowd +crucial +cruel +cruise +crumble +crunch +crush +cry +crystal +cube +culture +cup +cupboard +curious +current +curtain +curve +cushion +custom +cute +cycle +dad +damage +damp +dance +danger +daring +dash +daughter +dawn +day +deal +debate +debris +decade +december +decide +decline +decorate +decrease +deer +defense +define +defy +degree +delay +deliver +demand +demise +denial +dentist +deny +depart +depend +deposit +depth +deputy +derive +describe +desert +design +desk +despair +destroy +detail +detect +develop +device +devote +diagram +dial +diamond +diary +dice +diesel +diet +differ +digital +dignity +dilemma +dinner +dinosaur +direct +dirt +disagree +discover +disease +dish +dismiss +disorder +display +distance +divert +divide +divorce +dizzy +doctor +document +dog +doll +dolphin +domain +donate +donkey +donor +door +dose +double +dove +draft +dragon +drama +drastic +draw +dream +dress +drift +drill +drink +drip +drive +drop +drum +dry +duck +dumb +dune +during +dust +dutch +duty +dwarf +dynamic +eager +eagle +early +earn +earth +easily +east +easy +echo +ecology +economy +edge +edit +educate +effort +egg +eight +either +elbow +elder +electric +elegant +element +elephant +elevator +elite +else +embark +embody +embrace +emerge +emotion +employ +empower +empty +enable +enact +end +endless +endorse +enemy +energy +enforce +engage +engine +enhance +enjoy +enlist +enough +enrich +enroll +ensure +enter +entire +entry +envelope +episode +equal +equip +era +erase +erode +erosion +error +erupt +escape +essay +essence +estate +eternal +ethics +evidence +evil +evoke +evolve +exact +example +excess +exchange +excite +exclude +excuse +execute +exercise +exhaust +exhibit +exile +exist +exit +exotic +expand +expect +expire +explain +expose +express +extend +extra +eye +eyebrow +fabric +face +faculty +fade +faint +faith +fall +false +fame +family +famous +fan +fancy +fantasy +farm +fashion +fat +fatal +father +fatigue +fault +favorite +feature +february +federal +fee +feed +feel +female +fence +festival +fetch +fever +few +fiber +fiction +field +figure +file +film +filter +final +find +fine +finger +finish +fire +firm +first +fiscal +fish +fit +fitness +fix +flag +flame +flash +flat +flavor +flee +flight +flip +float +flock +floor +flower +fluid +flush +fly +foam +focus +fog +foil +fold +follow +food +foot +force +forest +forget +fork +fortune +forum +forward +fossil +foster +found +fox +fragile +frame +frequent +fresh +friend +fringe +frog +front +frost +frown +frozen +fruit +fuel +fun +funny +furnace +fury +future +gadget +gain +galaxy +gallery +game +gap +garage +garbage +garden +garlic +garment +gas +gasp +gate +gather +gauge +gaze +general +genius +genre +gentle +genuine +gesture +ghost +giant +gift +giggle +ginger +giraffe +girl +give +glad +glance +glare +glass +glide +glimpse +globe +gloom +glory +glove +glow +glue +goat +goddess +gold +good +goose +gorilla +gospel +gossip +govern +gown +grab +grace +grain +grant +grape +grass +gravity +great +green +grid +grief +grit +grocery +group +grow +grunt +guard +guess +guide +guilt +guitar +gun +gym +habit +hair +half +hammer +hamster +hand +happy +harbor +hard +harsh +harvest +hat +have +hawk +hazard +head +health +heart +heavy +hedgehog +height +hello +helmet +help +hen +hero +hidden +high +hill +hint +hip +hire +history +hobby +hockey +hold +hole +holiday +hollow +home +honey +hood +hope +horn +horror +horse +hospital +host +hotel +hour +hover +hub +huge +human +humble +humor +hundred +hungry +hunt +hurdle +hurry +hurt +husband +hybrid +ice +icon +idea +identify +idle +ignore +ill +illegal +illness +image +imitate +immense +immune +impact +impose +improve +impulse +inch +include +income +increase +index +indicate +indoor +industry +infant +inflict +inform +inhale +inherit +initial +inject +injury +inmate +inner +innocent +input +inquiry +insane +insect +inside +inspire +install +intact +interest +into +invest +invite +involve +iron +island +isolate +issue +item +ivory +jacket +jaguar +jar +jazz +jealous +jeans +jelly +jewel +job +join +joke +journey +joy +judge +juice +jump +jungle +junior +junk +just +kangaroo +keen +keep +ketchup +key +kick +kid +kidney +kind +kingdom +kiss +kit +kitchen +kite +kitten +kiwi +knee +knife +knock +know +lab +label +labor +ladder +lady +lake +lamp +language +laptop +large +later +latin +laugh +laundry +lava +law +lawn +lawsuit +layer +lazy +leader +leaf +learn +leave +lecture +left +leg +legal +legend +leisure +lemon +lend +length +lens +leopard +lesson +letter +level +liar +liberty +library +license +life +lift +light +like +limb +limit +link +lion +liquid +list +little +live +lizard +load +loan +lobster +local +lock +logic +lonely +long +loop +lottery +loud +lounge +love +loyal +lucky +luggage +lumber +lunar +lunch +luxury +lyrics +machine +mad +magic +magnet +maid +mail +main +major +make +mammal +man +manage +mandate +mango +mansion +manual +maple +marble +march +margin +marine +market +marriage +mask +mass +master +match +material +math +matrix +matter +maximum +maze +meadow +mean +measure +meat +mechanic +medal +media +melody +melt +member +memory +mention +menu +mercy +merge +merit +merry +mesh +message +metal +method +middle +midnight +milk +million +mimic +mind +minimum +minor +minute +miracle +mirror +misery +miss +mistake +mix +mixed +mixture +mobile +model +modify +mom +moment +monitor +monkey +monster +month +moon +moral +more +morning +mosquito +mother +motion +motor +mountain +mouse +move +movie +much +muffin +mule +multiply +muscle +museum +mushroom +music +must +mutual +myself +mystery +myth +naive +name +napkin +narrow +nasty +nation +nature +near +neck +need +negative +neglect +neither +nephew +nerve +nest +net +network +neutral +never +news +next +nice +night +noble +noise +nominee +noodle +normal +north +nose +notable +note +nothing +notice +novel +now +nuclear +number +nurse +nut +oak +obey +object +oblige +obscure +observe +obtain +obvious +occur +ocean +october +odor +off +offer +office +often +oil +okay +old +olive +olympic +omit +once +one +onion +online +only +open +opera +opinion +oppose +option +orange +orbit +orchard +order +ordinary +organ +orient +original +orphan +ostrich +other +outdoor +outer +output +outside +oval +oven +over +own +owner +oxygen +oyster +ozone +pact +paddle +page +pair +palace +palm +panda +panel +panic +panther +paper +parade +parent +park +parrot +party +pass +patch +path +patient +patrol +pattern +pause +pave +payment +peace +peanut +pear +peasant +pelican +pen +penalty +pencil +people +pepper +perfect +permit +person +pet +phone +photo +phrase +physical +piano +picnic +picture +piece +pig +pigeon +pill +pilot +pink +pioneer +pipe +pistol +pitch +pizza +place +planet +plastic +plate +play +please +pledge +pluck +plug +plunge +poem +poet +point +polar +pole +police +pond +pony +pool +popular +portion +position +possible +post +potato +pottery +poverty +powder +power +practice +praise +predict +prefer +prepare +present +pretty +prevent +price +pride +primary +print +priority +prison +private +prize +problem +process +produce +profit +program +project +promote +proof +property +prosper +protect +proud +provide +public +pudding +pull +pulp +pulse +pumpkin +punch +pupil +puppy +purchase +purity +purpose +purse +push +put +puzzle +pyramid +quality +quantum +quarter +question +quick +quit +quiz +quote +rabbit +raccoon +race +rack +radar +radio +rail +rain +raise +rally +ramp +ranch +random +range +rapid +rare +rate +rather +raven +raw +razor +ready +real +reason +rebel +rebuild +recall +receive +recipe +record +recycle +reduce +reflect +reform +refuse +region +regret +regular +reject +relax +release +relief +rely +remain +remember +remind +remove +render +renew +rent +reopen +repair +repeat +replace +report +require +rescue +resemble +resist +resource +response +result +retire +retreat +return +reunion +reveal +review +reward +rhythm +rib +ribbon +rice +rich +ride +ridge +rifle +right +rigid +ring +riot +ripple +risk +ritual +rival +river +road +roast +robot +robust +rocket +romance +roof +rookie +room +rose +rotate +rough +round +route +royal +rubber +rude +rug +rule +run +runway +rural +sad +saddle +sadness +safe +sail +salad +salmon +salon +salt +salute +same +sample +sand +satisfy +satoshi +sauce +sausage +save +say +scale +scan +scare +scatter +scene +scheme +school +science +scissors +scorpion +scout +scrap +screen +script +scrub +sea +search +season +seat +second +secret +section +security +seed +seek +segment +select +sell +seminar +senior +sense +sentence +series +service +session +settle +setup +seven +shadow +shaft +shallow +share +shed +shell +sheriff +shield +shift +shine +ship +shiver +shock +shoe +shoot +shop +short +shoulder +shove +shrimp +shrug +shuffle +shy +sibling +sick +side +siege +sight +sign +silent +silk +silly +silver +similar +simple +since +sing +siren +sister +situate +six +size +skate +sketch +ski +skill +skin +skirt +skull +slab +slam +sleep +slender +slice +slide +slight +slim +slogan +slot +slow +slush +small +smart +smile +smoke +smooth +snack +snake +snap +sniff +snow +soap +soccer +social +sock +soda +soft +solar +soldier +solid +solution +solve +someone +song +soon +sorry +sort +soul +sound +soup +source +south +space +spare +spatial +spawn +speak +special +speed +spell +spend +sphere +spice +spider +spike +spin +spirit +split +spoil +sponsor +spoon +sport +spot +spray +spread +spring +spy +square +squeeze +squirrel +stable +stadium +staff +stage +stairs +stamp +stand +start +state +stay +steak +steel +stem +step +stereo +stick +still +sting +stock +stomach +stone +stool +story +stove +strategy +street +strike +strong +struggle +student +stuff +stumble +style +subject +submit +subway +success +such +sudden +suffer +sugar +suggest +suit +summer +sun +sunny +sunset +super +supply +supreme +sure +surface +surge +surprise +surround +survey +suspect +sustain +swallow +swamp +swap +swarm +swear +sweet +swift +swim +swing +switch +sword +symbol +symptom +syrup +system +table +tackle +tag +tail +talent +talk +tank +tape +target +task +taste +tattoo +taxi +teach +team +tell +ten +tenant +tennis +tent +term +test +text +thank +that +theme +then +theory +there +they +thing +this +thought +three +thrive +throw +thumb +thunder +ticket +tide +tiger +tilt +timber +time +tiny +tip +tired +tissue +title +toast +tobacco +today +toddler +toe +together +toilet +token +tomato +tomorrow +tone +tongue +tonight +tool +tooth +top +topic +topple +torch +tornado +tortoise +toss +total +tourist +toward +tower +town +toy +track +trade +traffic +tragic +train +transfer +trap +trash +travel +tray +treat +tree +trend +trial +tribe +trick +trigger +trim +trip +trophy +trouble +truck +true +truly +trumpet +trust +truth +try +tube +tuition +tumble +tuna +tunnel +turkey +turn +turtle +twelve +twenty +twice +twin +twist +two +type +typical +ugly +umbrella +unable +unaware +uncle +uncover +under +undo +unfair +unfold +unhappy +uniform +unique +unit +universe +unknown +unlock +until +unusual +unveil +update +upgrade +uphold +upon +upper +upset +urban +urge +usage +use +used +useful +useless +usual +utility +vacant +vacuum +vague +valid +valley +valve +van +vanish +vapor +various +vast +vault +vehicle +velvet +vendor +venture +venue +verb +verify +version +very +vessel +veteran +viable +vibrant +vicious +victory +video +view +village +vintage +violin +virtual +virus +visa +visit +visual +vital +vivid +vocal +voice +void +volcano +volume +vote +voyage +wage +wagon +wait +walk +wall +walnut +want +warfare +warm +warrior +wash +wasp +waste +water +wave +way +wealth +weapon +wear +weasel +weather +web +wedding +weekend +weird +welcome +west +wet +whale +what +wheat +wheel +when +where +whip +whisper +wide +width +wife +wild +will +win +window +wine +wing +wink +winner +winter +wire +wisdom +wise +wish +witness +wolf +woman +wonder +wood +wool +word +work +world +worry +worth +wrap +wreck +wrestle +wrist +write +wrong +yard +year +yellow +you +young +youth +zebra +zero +zone +zoo diff --git a/src/mnemonics/wordlists/languages/japanese b/src/mnemonics/wordlists/languages/japanese new file mode 100644 index 000000000..aa7673fce --- /dev/null +++ b/src/mnemonics/wordlists/languages/japanese @@ -0,0 +1,2048 @@ +ใ‚ใ„ +ใ‚ใ„ใ“ใใ—ใ‚“ +ใ‚ใ† +ใ‚ใŠ +ใ‚ใŠใžใ‚‰ +ใ‚ใ‹ +ใ‚ใ‹ใกใ‚ƒใ‚“ +ใ‚ใ +ใ‚ใใ‚‹ +ใ‚ใ +ใ‚ใ• +ใ‚ใ•ใฒ +ใ‚ใ— +ใ‚ใšใ +ใ‚ใ› +ใ‚ใใถ +ใ‚ใŸใ‚‹ +ใ‚ใคใ„ +ใ‚ใช +ใ‚ใซ +ใ‚ใญ +ใ‚ใฒใ‚‹ +ใ‚ใพใ„ +ใ‚ใฟ +ใ‚ใ‚ +ใ‚ใ‚ใ‚Šใ‹ +ใ‚ใ‚„ใพใ‚‹ +ใ‚ใ‚†ใ‚€ +ใ‚ใ‚‰ใ„ใใพ +ใ‚ใ‚‰ใ— +ใ‚ใ‚Š +ใ‚ใ‚‹ +ใ‚ใ‚Œ +ใ‚ใ‚ +ใ‚ใ‚“ใ“ +ใ„ใ† +ใ„ใˆ +ใ„ใŠใ‚“ +ใ„ใ‹ +ใ„ใŒใ„ +ใ„ใ‹ใ„ใ‚ˆใ† +ใ„ใ‘ +ใ„ใ‘ใ‚“ +ใ„ใ“ใ +ใ„ใ“ใค +ใ„ใ•ใ‚“ +ใ„ใ— +ใ„ใ˜ใ‚…ใ† +ใ„ใ™ +ใ„ใ›ใ„ +ใ„ใ›ใˆใณ +ใ„ใ›ใ‹ใ„ +ใ„ใ›ใ +ใ„ใใ†ใ‚ใ† +ใ„ใใŒใ—ใ„ +ใ„ใŸใ‚Šใ‚ +ใ„ใฆใ– +ใ„ใฆใ‚“ +ใ„ใจ +ใ„ใชใ„ +ใ„ใชใ‹ +ใ„ใฌ +ใ„ใญ +ใ„ใฎใก +ใ„ใฎใ‚‹ +ใ„ใฏใค +ใ„ใฏใ‚“ +ใ„ใณใ +ใ„ใฒใ‚“ +ใ„ใตใ +ใ„ใธใ‚“ +ใ„ใปใ† +ใ„ใพ +ใ„ใฟ +ใ„ใฟใ‚“ +ใ„ใ‚‚ +ใ„ใ‚‚ใ†ใจ +ใ„ใ‚‚ใŸใ‚Œ +ใ„ใ‚‚ใ‚Š +ใ„ใ‚„ +ใ„ใ‚„ใ™ +ใ„ใ‚ˆใ‹ใ‚“ +ใ„ใ‚ˆใ +ใ„ใ‚‰ใ„ +ใ„ใ‚‰ใ™ใจ +ใ„ใ‚Šใใก +ใ„ใ‚Šใ‚‡ใ† +ใ„ใ‚Šใ‚‡ใ†ใฒ +ใ„ใ‚‹ +ใ„ใ‚Œใ„ +ใ„ใ‚Œใ‚‚ใฎ +ใ„ใ‚Œใ‚‹ +ใ„ใ‚ +ใ„ใ‚ใˆใ‚“ใดใค +ใ„ใ‚ +ใ„ใ‚ใ† +ใ„ใ‚ใ‹ใ‚“ +ใ„ใ‚“ใ’ใ‚“ใพใ‚ +ใ†ใˆ +ใ†ใŠใ– +ใ†ใ‹ใถ +ใ†ใใ‚ +ใ†ใ +ใ†ใใ‚‰ใ„ใช +ใ†ใใ‚Œใ‚Œ +ใ†ใ‘ใคใ +ใ†ใ‘ใคใ‘ +ใ†ใ‘ใ‚‹ +ใ†ใ”ใ +ใ†ใ“ใ‚“ +ใ†ใ•ใŽ +ใ†ใ— +ใ†ใ—ใชใ† +ใ†ใ—ใ‚ +ใ†ใ—ใ‚ใŒใฟ +ใ†ใ™ใ„ +ใ†ใ™ใŽ +ใ†ใ›ใค +ใ†ใ +ใ†ใŸ +ใ†ใกใ‚ใ‚ใ› +ใ†ใกใŒใ‚ +ใ†ใกใ +ใ†ใค +ใ†ใชใŽ +ใ†ใชใ˜ +ใ†ใซ +ใ†ใญใ‚‹ +ใ†ใฎใ† +ใ†ใถใ’ +ใ†ใถใ”ใˆ +ใ†ใพ +ใ†ใพใ‚Œใ‚‹ +ใ†ใฟ +ใ†ใ‚€ +ใ†ใ‚ +ใ†ใ‚ใ‚‹ +ใ†ใ‚‚ใ† +ใ†ใ‚„ใพใ† +ใ†ใ‚ˆใ +ใ†ใ‚‰ +ใ†ใ‚‰ใชใ„ +ใ†ใ‚‹ +ใ†ใ‚‹ใ•ใ„ +ใ†ใ‚Œใ—ใ„ +ใ†ใ‚ใ“ +ใ†ใ‚ใ +ใ†ใ‚ใ• +ใˆใ„ +ใˆใ„ใˆใ‚“ +ใˆใ„ใŒ +ใˆใ„ใŽใ‚‡ใ† +ใˆใ„ใ” +ใˆใŠใ‚Š +ใˆใ +ใˆใใŸใ„ +ใˆใใ›ใ‚‹ +ใˆใ• +ใˆใ—ใ‚ƒใ +ใˆใ™ใฆ +ใˆใคใ‚‰ใ‚“ +ใˆใจ +ใˆใฎใ +ใˆใณ +ใˆใปใ†ใพใ +ใˆใปใ‚“ +ใˆใพ +ใˆใพใ +ใˆใ‚‚ใ˜ +ใˆใ‚‚ใฎ +ใˆใ‚‰ใ„ +ใˆใ‚‰ใถ +ใˆใ‚Š +ใˆใ‚Šใ‚ +ใˆใ‚‹ +ใˆใ‚“ +ใˆใ‚“ใˆใ‚“ +ใŠใใ‚‹ +ใŠใ +ใŠใ‘ +ใŠใ“ใ‚‹ +ใŠใ—ใˆใ‚‹ +ใŠใ‚„ใ‚†ใณ +ใŠใ‚‰ใ‚“ใ  +ใ‹ใ‚ใค +ใ‹ใ„ +ใ‹ใ† +ใ‹ใŠ +ใ‹ใŒใ— +ใ‹ใ +ใ‹ใ +ใ‹ใ“ +ใ‹ใ• +ใ‹ใ™ +ใ‹ใก +ใ‹ใค +ใ‹ใชใ–ใ‚ใ— +ใ‹ใซ +ใ‹ใญ +ใ‹ใฎใ† +ใ‹ใปใ† +ใ‹ใปใ” +ใ‹ใพใผใ“ +ใ‹ใฟ +ใ‹ใ‚€ +ใ‹ใ‚ใ‚ŒใŠใ‚“ +ใ‹ใ‚‚ +ใ‹ใ‚†ใ„ +ใ‹ใ‚‰ใ„ +ใ‹ใ‚‹ใ„ +ใ‹ใ‚ใ† +ใ‹ใ‚ +ใ‹ใ‚ใ‚‰ +ใใ‚ใ„ +ใใ‚ใค +ใใ„ใ‚ +ใŽใ„ใ‚“ +ใใ†ใ„ +ใใ†ใ‚“ +ใใˆใ‚‹ +ใใŠใ† +ใใŠใ +ใใŠใก +ใใŠใ‚“ +ใใ‹ +ใใ‹ใ„ +ใใ‹ใ +ใใ‹ใ‚“ +ใใ‹ใ‚“ใ—ใ‚ƒ +ใใŽ +ใใใฆ +ใใ +ใใใฐใ‚Š +ใใใ‚‰ใ’ +ใใ‘ใ‚“ +ใใ‘ใ‚“ใ›ใ„ +ใใ“ใ† +ใใ“ใˆใ‚‹ +ใใ“ใ +ใใ•ใ„ +ใใ•ใ +ใใ•ใพ +ใใ•ใ‚‰ใŽ +ใใ— +ใใ—ใ‚… +ใใ™ +ใใ™ใ† +ใใ›ใ„ +ใใ›ใ +ใใ›ใค +ใใ +ใใใ† +ใใใ +ใใžใ +ใŽใใ +ใใžใ‚“ +ใใŸ +ใใŸใˆใ‚‹ +ใใก +ใใกใ‚‡ใ† +ใใคใˆใ‚“ +ใใคใคใ +ใใคใญ +ใใฆใ„ +ใใฉใ† +ใใฉใ +ใใชใ„ +ใใชใŒ +ใใฌ +ใใฌใ”ใ— +ใใญใ‚“ +ใใฎใ† +ใใฏใ +ใใณใ—ใ„ +ใใฒใ‚“ +ใใต +ใŽใต +ใใตใ +ใŽใผ +ใใปใ† +ใใผใ† +ใใปใ‚“ +ใใพใ‚‹ +ใใฟ +ใใฟใค +ใŽใ‚€ +ใใ‚€ใšใ‹ใ—ใ„ +ใใ‚ +ใใ‚ใ‚‹ +ใใ‚‚ใ ใ‚ใ— +ใใ‚‚ใก +ใใ‚„ใ +ใใ‚ˆใ† +ใใ‚‰ใ„ +ใใ‚‰ใ +ใใ‚Š +ใใ‚‹ +ใใ‚Œใ„ +ใใ‚Œใค +ใใ‚ใ +ใŽใ‚ใ‚“ +ใใ‚ใ‚ใ‚‹ +ใใ‚ใ„ +ใใ„ +ใใ„ใš +ใใ†ใ‹ใ‚“ +ใใ†ใ +ใใ†ใใ‚“ +ใใ†ใ“ใ† +ใใ†ใใ† +ใใ†ใตใ +ใใ†ใผ +ใใ‹ใ‚“ +ใใ +ใใใ‚‡ใ† +ใใ’ใ‚“ +ใใ“ใ† +ใใ• +ใใ•ใ„ +ใใ•ใ +ใใ•ใฐใช +ใใ•ใ‚‹ +ใใ— +ใใ—ใ‚ƒใฟ +ใใ—ใ‚‡ใ† +ใใ™ใฎใ +ใใ™ใ‚Š +ใใ™ใ‚Šใ‚†ใณ +ใใ› +ใใ›ใ’ +ใใ›ใ‚“ +ใใŸใณใ‚Œใ‚‹ +ใใก +ใใกใ“ใฟ +ใใกใ•ใ +ใใค +ใใคใ—ใŸ +ใใคใ‚ใ +ใใจใ†ใฆใ‚“ +ใใฉใ +ใใชใ‚“ +ใใซ +ใใญใใญ +ใใฎใ† +ใใตใ† +ใใพ +ใใฟใ‚ใ‚ใ› +ใใฟใŸใฆใ‚‹ +ใใ‚€ +ใใ‚ใ‚‹ +ใใ‚„ใใ—ใ‚‡ +ใใ‚‰ใ™ +ใใ‚Š +ใใ‚Œใ‚‹ +ใใ‚ +ใใ‚ใ† +ใใ‚ใ—ใ„ +ใใ‚“ใ˜ใ‚‡ +ใ‘ใ‚ใช +ใ‘ใ„ใ‘ใ‚“ +ใ‘ใ„ใ“ +ใ‘ใ„ใ•ใ„ +ใ‘ใ„ใ•ใค +ใ’ใ„ใฎใ†ใ˜ใ‚“ +ใ‘ใ„ใ‚Œใ +ใ‘ใ„ใ‚Œใค +ใ‘ใ„ใ‚Œใ‚“ +ใ‘ใ„ใ‚ +ใ‘ใŠใจใ™ +ใ‘ใŠใ‚Šใ‚‚ใฎ +ใ‘ใŒ +ใ’ใ +ใ’ใใ‹ +ใ’ใใ’ใ‚“ +ใ’ใใ ใ‚“ +ใ’ใใกใ‚“ +ใ’ใใฉ +ใ’ใใฏ +ใ’ใใ‚„ใ +ใ’ใ“ใ† +ใ’ใ“ใใ˜ใ‚‡ใ† +ใ‘ใ• +ใ’ใ–ใ„ +ใ‘ใ•ใ +ใ’ใ–ใ‚“ +ใ‘ใ—ใ +ใ‘ใ—ใ”ใ‚€ +ใ‘ใ—ใ‚‡ใ† +ใ‘ใ™ +ใ’ใ™ใจ +ใ‘ใŸ +ใ’ใŸ +ใ‘ใŸใฐ +ใ‘ใก +ใ‘ใกใ‚ƒใฃใท +ใ‘ใกใ‚‰ใ™ +ใ‘ใค +ใ‘ใคใ‚ใค +ใ‘ใคใ„ +ใ‘ใคใˆใ +ใ‘ใฃใ“ใ‚“ +ใ‘ใคใ˜ใ‚‡ +ใ‘ใฃใฆใ„ +ใ‘ใคใพใค +ใ’ใคใ‚ˆใ†ใณ +ใ’ใคใ‚Œใ„ +ใ‘ใคใ‚ใ‚“ +ใ’ใฉใ +ใ‘ใจใฐใ™ +ใ‘ใจใ‚‹ +ใ‘ใชใ’ +ใ‘ใชใ™ +ใ‘ใชใฟ +ใ‘ใฌใ +ใ’ใญใค +ใ‘ใญใ‚“ +ใ‘ใฏใ„ +ใ’ใฒใ‚“ +ใ‘ใถใ‹ใ„ +ใ’ใผใ +ใ‘ใพใ‚Š +ใ‘ใฟใ‹ใ‚‹ +ใ‘ใ‚€ใ— +ใ‘ใ‚€ใ‚Š +ใ‘ใ‚‚ใฎ +ใ‘ใ‚‰ใ„ +ใ‘ใ‚‹ +ใ’ใ‚ +ใ‘ใ‚ใ‘ใ‚ +ใ‘ใ‚ใ—ใ„ +ใ‘ใ‚“ใ„ +ใ‘ใ‚“ใˆใค +ใ‘ใ‚“ใŠ +ใ‘ใ‚“ใ‹ +ใ’ใ‚“ใ +ใ‘ใ‚“ใใ‚…ใ† +ใ‘ใ‚“ใใ‚‡ +ใ‘ใ‚“ใ‘ใ„ +ใ‘ใ‚“ใ‘ใค +ใ‘ใ‚“ใ’ใ‚“ +ใ‘ใ‚“ใ“ใ† +ใ‘ใ‚“ใ• +ใ‘ใ‚“ใ•ใ +ใ‘ใ‚“ใ—ใ‚…ใ† +ใ‘ใ‚“ใ—ใ‚…ใค +ใ‘ใ‚“ใ—ใ‚“ +ใ‘ใ‚“ใ™ใ† +ใ‘ใ‚“ใใ† +ใ’ใ‚“ใใ† +ใ‘ใ‚“ใใ‚“ +ใ’ใ‚“ใก +ใ‘ใ‚“ใกใ +ใ‘ใ‚“ใฆใ„ +ใ’ใ‚“ใฆใ„ +ใ‘ใ‚“ใจใ† +ใ‘ใ‚“ใชใ„ +ใ‘ใ‚“ใซใ‚“ +ใ’ใ‚“ใถใค +ใ‘ใ‚“ใพ +ใ‘ใ‚“ใฟใ‚“ +ใ‘ใ‚“ใ‚ใ„ +ใ‘ใ‚“ใ‚‰ใ‚“ +ใ‘ใ‚“ใ‚Š +ใ‘ใ‚“ใ‚Šใค +ใ“ใ‚ใใพ +ใ“ใ„ +ใ”ใ„ +ใ“ใ„ใณใจ +ใ“ใ†ใ„ +ใ“ใ†ใˆใ‚“ +ใ“ใ†ใ‹ +ใ“ใ†ใ‹ใ„ +ใ“ใ†ใ‹ใ‚“ +ใ“ใ†ใ•ใ„ +ใ“ใ†ใ•ใ‚“ +ใ“ใ†ใ—ใ‚“ +ใ“ใ†ใš +ใ“ใ†ใ™ใ„ +ใ“ใ†ใ›ใ‚“ +ใ“ใ†ใใ† +ใ“ใ†ใใ +ใ“ใ†ใŸใ„ +ใ“ใ†ใกใ‚ƒ +ใ“ใ†ใคใ† +ใ“ใ†ใฆใ„ +ใ“ใ†ใจใ†ใถ +ใ“ใ†ใชใ„ +ใ“ใ†ใฏใ„ +ใ“ใ†ใฏใ‚“ +ใ“ใ†ใ‚‚ใ +ใ“ใˆ +ใ“ใˆใ‚‹ +ใ“ใŠใ‚Š +ใ”ใŒใค +ใ“ใ‹ใ‚“ +ใ“ใ +ใ“ใใ” +ใ“ใใชใ„ +ใ“ใใฏใ +ใ“ใ‘ใ„ +ใ“ใ‘ใ‚‹ +ใ“ใ“ +ใ“ใ“ใ‚ +ใ”ใ• +ใ“ใ•ใ‚ +ใ“ใ— +ใ“ใ—ใค +ใ“ใ™ +ใ“ใ™ใ† +ใ“ใ›ใ„ +ใ“ใ›ใ +ใ“ใœใ‚“ +ใ“ใใ ใฆ +ใ“ใŸใ„ +ใ“ใŸใˆใ‚‹ +ใ“ใŸใค +ใ“ใกใ‚‡ใ† +ใ“ใฃใ‹ +ใ“ใคใ“ใค +ใ“ใคใฐใ‚“ +ใ“ใคใถ +ใ“ใฆใ„ +ใ“ใฆใ‚“ +ใ“ใจ +ใ“ใจใŒใ‚‰ +ใ“ใจใ— +ใ“ใชใ”ใช +ใ“ใญใ“ใญ +ใ“ใฎใพใพ +ใ“ใฎใฟ +ใ“ใฎใ‚ˆ +ใ“ใฏใ‚“ +ใ”ใฏใ‚“ +ใ”ใณ +ใ“ใฒใคใ˜ +ใ“ใตใ† +ใ“ใตใ‚“ +ใ“ใผใ‚Œใ‚‹ +ใ”ใพ +ใ“ใพใ‹ใ„ +ใ“ใพใคใ— +ใ“ใพใคใช +ใ“ใพใ‚‹ +ใ“ใ‚€ +ใ“ใ‚€ใŽใ“ +ใ“ใ‚ +ใ“ใ‚‚ใ˜ +ใ“ใ‚‚ใก +ใ“ใ‚‚ใฎ +ใ“ใ‚‚ใ‚“ +ใ“ใ‚„ +ใ“ใ‚„ใ +ใ“ใ‚„ใพ +ใ“ใ‚†ใ† +ใ“ใ‚†ใณ +ใ“ใ‚ˆใ„ +ใ“ใ‚ˆใ† +ใ“ใ‚Šใ‚‹ +ใ“ใ‚‹ +ใ“ใ‚Œใใ—ใ‚‡ใ‚“ +ใ“ใ‚ใฃใ‘ +ใ“ใ‚ใ‚‚ใฆ +ใ“ใ‚ใ‚Œใ‚‹ +ใ“ใ‚“ +ใ“ใ‚“ใ„ใ‚“ +ใ“ใ‚“ใ‹ใ„ +ใ“ใ‚“ใ +ใ“ใ‚“ใ—ใ‚…ใ† +ใ“ใ‚“ใ—ใ‚…ใ‚“ +ใ“ใ‚“ใ™ใ„ +ใ“ใ‚“ใ ใฆ +ใ“ใ‚“ใ ใ‚“ +ใ“ใ‚“ใจใ‚“ +ใ“ใ‚“ใชใ‚“ +ใ“ใ‚“ใณใซ +ใ“ใ‚“ใฝใ† +ใ“ใ‚“ใฝใ‚“ +ใ“ใ‚“ใพใ‘ +ใ“ใ‚“ใ‚„ +ใ“ใ‚“ใ‚„ใ +ใ“ใ‚“ใ‚Œใ„ +ใ“ใ‚“ใ‚ใ +ใ•ใ„ใ‹ใ„ +ใ•ใ„ใŒใ„ +ใ•ใ„ใใ‚“ +ใ•ใ„ใ” +ใ•ใ„ใ“ใ‚“ +ใ•ใ„ใ—ใ‚‡ +ใ•ใ†ใช +ใ•ใŠ +ใ•ใ‹ใ„ใ— +ใ•ใ‹ใช +ใ•ใ‹ใฟใก +ใ•ใ +ใ•ใ +ใ•ใใ— +ใ•ใใ˜ใ‚‡ +ใ•ใใฒใ‚“ +ใ•ใใ‚‰ +ใ•ใ‘ +ใ•ใ“ใ +ใ•ใ“ใค +ใ•ใŸใ‚“ +ใ•ใคใˆใ„ +ใ•ใฃใ‹ +ใ•ใฃใใ‚‡ใ +ใ•ใคใ˜ใ‚“ +ใ•ใคใŸใฐ +ใ•ใคใพใ„ใ‚‚ +ใ•ใฆใ„ +ใ•ใจใ„ใ‚‚ +ใ•ใจใ† +ใ•ใจใŠใ‚„ +ใ•ใจใ‚‹ +ใ•ใฎใ† +ใ•ใฐ +ใ•ใฐใ +ใ•ในใค +ใ•ใปใ† +ใ•ใปใฉ +ใ•ใพใ™ +ใ•ใฟใ—ใ„ +ใ•ใฟใ ใ‚Œ +ใ•ใ‚€ใ‘ +ใ•ใ‚ +ใ•ใ‚ใ‚‹ +ใ•ใ‚„ใˆใ‚“ใฉใ† +ใ•ใ‚†ใ† +ใ•ใ‚ˆใ† +ใ•ใ‚ˆใ +ใ•ใ‚‰ +ใ•ใ‚‰ใ  +ใ•ใ‚‹ +ใ•ใ‚ใ‚„ใ‹ +ใ•ใ‚ใ‚‹ +ใ•ใ‚“ใ„ใ‚“ +ใ•ใ‚“ใ‹ +ใ•ใ‚“ใใ‚ƒใ +ใ•ใ‚“ใ“ใ† +ใ•ใ‚“ใ•ใ„ +ใ•ใ‚“ใ–ใ‚“ +ใ•ใ‚“ใ™ใ† +ใ•ใ‚“ใ›ใ„ +ใ•ใ‚“ใ +ใ•ใ‚“ใใ‚“ +ใ•ใ‚“ใก +ใ•ใ‚“ใกใ‚‡ใ† +ใ•ใ‚“ใพ +ใ•ใ‚“ใฟ +ใ•ใ‚“ใ‚‰ใ‚“ +ใ—ใ‚ใ„ +ใ—ใ‚ใ’ +ใ—ใ‚ใ•ใฃใฆ +ใ—ใ‚ใ‚ใ› +ใ—ใ„ใ +ใ—ใ„ใ‚“ +ใ—ใ†ใก +ใ—ใˆใ„ +ใ—ใŠ +ใ—ใŠใ‘ +ใ—ใ‹ +ใ—ใ‹ใ„ +ใ—ใ‹ใ +ใ˜ใ‹ใ‚“ +ใ—ใŸ +ใ—ใŸใŽ +ใ—ใŸใฆ +ใ—ใŸใฟ +ใ—ใกใ‚‡ใ† +ใ—ใกใ‚‡ใ†ใใ‚“ +ใ—ใกใ‚Šใ‚“ +ใ˜ใคใ˜ +ใ—ใฆใ„ +ใ—ใฆใ +ใ—ใฆใค +ใ—ใฆใ‚“ +ใ—ใจใ† +ใ˜ใฉใ† +ใ—ใชใŽใ‚Œ +ใ—ใชใ‚‚ใฎ +ใ—ใชใ‚“ +ใ—ใญใพ +ใ—ใญใ‚“ +ใ—ใฎใ +ใ—ใฎใถ +ใ—ใฏใ„ +ใ—ใฐใ‹ใ‚Š +ใ—ใฏใค +ใ˜ใฏใค +ใ—ใฏใ‚‰ใ„ +ใ—ใฏใ‚“ +ใ—ใฒใ‚‡ใ† +ใ˜ใต +ใ—ใตใ +ใ˜ใถใ‚“ +ใ—ใธใ„ +ใ—ใปใ† +ใ—ใปใ‚“ +ใ—ใพ +ใ—ใพใ† +ใ—ใพใ‚‹ +ใ—ใฟ +ใ˜ใฟ +ใ—ใฟใ‚“ +ใ˜ใ‚€ +ใ—ใ‚€ใ‘ใ‚‹ +ใ—ใ‚ใ„ +ใ—ใ‚ใ‚‹ +ใ—ใ‚‚ใ‚“ +ใ—ใ‚ƒใ„ใ‚“ +ใ—ใ‚ƒใ†ใ‚“ +ใ—ใ‚ƒใŠใ‚“ +ใ—ใ‚ƒใ‹ใ„ +ใ˜ใ‚ƒใŒใ„ใ‚‚ +ใ—ใ‚„ใใ—ใ‚‡ +ใ—ใ‚ƒใใปใ† +ใ—ใ‚ƒใ‘ใ‚“ +ใ—ใ‚ƒใ“ +ใ—ใ‚ƒใ“ใ† +ใ—ใ‚ƒใ–ใ„ +ใ—ใ‚ƒใ—ใ‚“ +ใ—ใ‚ƒใ›ใ‚“ +ใ—ใ‚ƒใใ† +ใ—ใ‚ƒใŸใ„ +ใ—ใ‚ƒใŸใ +ใ—ใ‚ƒใกใ‚‡ใ† +ใ—ใ‚ƒใฃใใ‚“ +ใ˜ใ‚ƒใพ +ใ˜ใ‚ƒใ‚Š +ใ—ใ‚ƒใ‚Šใ‚‡ใ† +ใ—ใ‚ƒใ‚Šใ‚“ +ใ—ใ‚ƒใ‚Œใ„ +ใ—ใ‚…ใ†ใˆใ‚“ +ใ—ใ‚…ใ†ใ‹ใ„ +ใ—ใ‚…ใ†ใใ‚“ +ใ—ใ‚…ใ†ใ‘ใ„ +ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ† +ใ—ใ‚…ใ‚‰ใฐ +ใ—ใ‚‡ใ†ใ‹ +ใ—ใ‚‡ใ†ใ‹ใ„ +ใ—ใ‚‡ใ†ใใ‚“ +ใ—ใ‚‡ใ†ใ˜ใ +ใ—ใ‚‡ใใ–ใ„ +ใ—ใ‚‡ใใŸใ +ใ—ใ‚‡ใฃใ‘ใ‚“ +ใ—ใ‚‡ใฉใ† +ใ—ใ‚‡ใ‚‚ใค +ใ—ใ‚“ +ใ—ใ‚“ใ‹ +ใ—ใ‚“ใ“ใ† +ใ—ใ‚“ใ›ใ„ใ˜ +ใ—ใ‚“ใกใ +ใ—ใ‚“ใ‚Šใ‚“ +ใ™ใ‚ใ’ +ใ™ใ‚ใ— +ใ™ใ‚ใช +ใšใ‚ใ‚“ +ใ™ใ„ใ‹ +ใ™ใ„ใจใ† +ใ™ใ† +ใ™ใ†ใŒใ +ใ™ใ†ใ˜ใค +ใ™ใ†ใ›ใ‚“ +ใ™ใŠใฉใ‚Š +ใ™ใ +ใ™ใใพ +ใ™ใ +ใ™ใใ† +ใ™ใใชใ„ +ใ™ใ‘ใ‚‹ +ใ™ใ“ใ— +ใšใ•ใ‚“ +ใ™ใ— +ใ™ใšใ—ใ„ +ใ™ใ™ใ‚ใ‚‹ +ใ™ใ +ใšใฃใ—ใ‚Š +ใšใฃใจ +ใ™ใง +ใ™ใฆใ +ใ™ใฆใ‚‹ +ใ™ใช +ใ™ใชใฃใ +ใ™ใชใฃใท +ใ™ใญ +ใ™ใญใ‚‹ +ใ™ใฎใ“ +ใ™ใฏใ  +ใ™ใฐใ‚‰ใ—ใ„ +ใšใฒใ‚‡ใ† +ใšใถใฌใ‚Œ +ใ™ใถใ‚Š +ใ™ใตใ‚Œ +ใ™ในใฆ +ใ™ในใ‚‹ +ใšใปใ† +ใ™ใผใ‚“ +ใ™ใพใ„ +ใ™ใฟ +ใ™ใ‚€ +ใ™ใ‚ใ— +ใ™ใ‚‚ใ† +ใ™ใ‚„ใ +ใ™ใ‚‰ใ„ใ™ +ใ™ใ‚‰ใ„ใฉ +ใ™ใ‚‰ใ™ใ‚‰ +ใ™ใ‚Š +ใ™ใ‚‹ +ใ™ใ‚‹ใ‚ +ใ™ใ‚ŒใกใŒใ† +ใ™ใ‚ใฃใจ +ใ™ใ‚ใ‚‹ +ใ™ใ‚“ใœใ‚“ +ใ™ใ‚“ใฝใ† +ใ›ใ‚ใถใ‚‰ +ใ›ใ„ใ‹ +ใ›ใ„ใ‹ใ„ +ใ›ใ„ใ‹ใค +ใ›ใŠใ† +ใ›ใ‹ใ„ +ใ›ใ‹ใ„ใ‹ใ‚“ +ใ›ใ‹ใ„ใ— +ใ›ใ‹ใ„ใ˜ใ‚…ใ† +ใ›ใ +ใ›ใใซใ‚“ +ใ›ใใ‚€ +ใ›ใใ‚† +ใ›ใใ‚‰ใ‚“ใ†ใ‚“ +ใ›ใ‘ใ‚“ +ใ›ใ“ใ† +ใ›ใ™ใ˜ +ใ›ใŸใ„ +ใ›ใŸใ‘ +ใ›ใฃใ‹ใ„ +ใ›ใฃใ‹ใ +ใ›ใฃใ +ใ›ใฃใใ‚ƒใ +ใ›ใฃใใ‚‡ใ +ใ›ใฃใใ‚“ +ใœใฃใ +ใ›ใฃใ‘ใ‚“ +ใ›ใฃใ“ใค +ใ›ใฃใ•ใŸใใพ +ใ›ใคใžใ +ใ›ใคใ ใ‚“ +ใ›ใคใงใ‚“ +ใ›ใฃใฑใ‚“ +ใ›ใคใณ +ใ›ใคใถใ‚“ +ใ›ใคใ‚ใ„ +ใ›ใคใ‚Šใค +ใ›ใจ +ใ›ใชใ‹ +ใ›ใฎใณ +ใ›ใฏใฐ +ใ›ใผใญ +ใ›ใพใ„ +ใ›ใพใ‚‹ +ใ›ใฟ +ใ›ใ‚ใ‚‹ +ใ›ใ‚‚ใŸใ‚Œ +ใ›ใ‚Šใต +ใ›ใ‚ +ใ›ใ‚“ +ใœใ‚“ใ‚ใ +ใ›ใ‚“ใ„ +ใ›ใ‚“ใˆใ„ +ใ›ใ‚“ใ‹ +ใ›ใ‚“ใใ‚‡ +ใ›ใ‚“ใ +ใ›ใ‚“ใ‘ใค +ใ›ใ‚“ใ’ใ‚“ +ใœใ‚“ใ” +ใ›ใ‚“ใ•ใ„ +ใ›ใ‚“ใ— +ใ›ใ‚“ใ—ใ‚… +ใ›ใ‚“ใ™ +ใ›ใ‚“ใ™ใ„ +ใ›ใ‚“ใ›ใ„ +ใ›ใ‚“ใž +ใ›ใ‚“ใใ† +ใ›ใ‚“ใŸใ +ใ›ใ‚“ใก +ใ›ใ‚“ใกใ‚ƒ +ใ›ใ‚“ใกใ‚ƒใ +ใ›ใ‚“ใกใ‚‡ใ† +ใ›ใ‚“ใฆใ„ +ใ›ใ‚“ใจใ† +ใ›ใ‚“ใฌใ +ใ›ใ‚“ใญใ‚“ +ใœใ‚“ใถ +ใ›ใ‚“ใทใ†ใ +ใ›ใ‚“ใทใ +ใœใ‚“ใฝใ† +ใ›ใ‚“ใ‚€ +ใ›ใ‚“ใ‚ใ„ +ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡ +ใ›ใ‚“ใ‚‚ใ‚“ +ใ›ใ‚“ใ‚„ใ +ใ›ใ‚“ใ‚†ใ† +ใ›ใ‚“ใ‚ˆใ† +ใœใ‚“ใ‚‰ +ใœใ‚“ใ‚Šใ‚ƒใ +ใ›ใ‚“ใ‚Šใ‚‡ใ +ใ›ใ‚“ใ‚Œใ„ +ใ›ใ‚“ใ‚ +ใใ‚ใ +ใใ„ใจใ’ใ‚‹ +ใใ„ใญ +ใใ† +ใžใ† +ใใ†ใŒใ‚“ใใ‚‡ใ† +ใใ†ใ +ใใ†ใ” +ใใ†ใชใ‚“ +ใใ†ใณ +ใใ†ใฒใ‚‡ใ† +ใใ†ใ‚ใ‚“ +ใใ†ใ‚Š +ใใ†ใ‚Šใ‚‡ +ใใˆใ‚‚ใฎ +ใใˆใ‚“ +ใใ‹ใ„ +ใใŒใ„ +ใใ +ใใ’ใ +ใใ“ใ† +ใใ“ใใ“ +ใใ–ใ„ +ใใ— +ใใ—ใช +ใใ›ใ„ +ใใ›ใ‚“ +ใใใ +ใใ ใฆใ‚‹ +ใใคใ† +ใใคใˆใ‚“ +ใใฃใ‹ใ‚“ +ใใคใŽใ‚‡ใ† +ใใฃใ‘ใค +ใใฃใ“ใ† +ใใฃใ›ใ‚“ +ใใฃใจ +ใใง +ใใจ +ใใจใŒใ‚ +ใใจใฅใ‚‰ +ใใชใˆใ‚‹ +ใใชใŸ +ใใฐ +ใใต +ใใตใผ +ใใผ +ใใผใ +ใใผใ‚ +ใใพใค +ใใพใ‚‹ +ใใ‚€ใ +ใใ‚€ใ‚Šใˆ +ใใ‚ใ‚‹ +ใใ‚‚ใใ‚‚ +ใใ‚ˆใ‹ใœ +ใใ‚‰ +ใใ‚‰ใพใ‚ +ใใ‚Š +ใใ‚‹ +ใใ‚ใ† +ใใ‚“ใ‹ใ„ +ใใ‚“ใ‘ใ„ +ใใ‚“ใ–ใ„ +ใใ‚“ใ—ใค +ใใ‚“ใ—ใ‚‡ใ† +ใใ‚“ใžใ +ใใ‚“ใกใ‚‡ใ† +ใžใ‚“ใณ +ใžใ‚“ใถใ‚“ +ใใ‚“ใฟใ‚“ +ใŸใ‚ใ„ +ใŸใ„ใ„ใ‚“ +ใŸใ„ใ†ใ‚“ +ใŸใ„ใˆใ +ใŸใ„ใŠใ† +ใ ใ„ใŠใ† +ใŸใ„ใ‹ +ใŸใ„ใ‹ใ„ +ใŸใ„ใ +ใŸใ„ใใ‘ใ‚“ +ใŸใ„ใใ† +ใŸใ„ใใค +ใŸใ„ใ‘ใ„ +ใŸใ„ใ‘ใค +ใŸใ„ใ‘ใ‚“ +ใŸใ„ใ“ +ใŸใ„ใ“ใ† +ใŸใ„ใ• +ใŸใ„ใ•ใ‚“ +ใŸใ„ใ—ใ‚…ใค +ใ ใ„ใ˜ใ‚‡ใ†ใถ +ใŸใ„ใ—ใ‚‡ใ +ใ ใ„ใš +ใ ใ„ใ™ใ +ใŸใ„ใ›ใ„ +ใŸใ„ใ›ใค +ใŸใ„ใ›ใ‚“ +ใŸใ„ใใ† +ใŸใ„ใกใ‚‡ใ† +ใ ใ„ใกใ‚‡ใ† +ใŸใ„ใจใ† +ใŸใ„ใชใ„ +ใŸใ„ใญใค +ใŸใ„ใฎใ† +ใŸใ„ใฏ +ใŸใ„ใฏใ‚“ +ใŸใ„ใฒ +ใŸใ„ใตใ† +ใŸใ„ใธใ‚“ +ใŸใ„ใป +ใŸใ„ใพใคใฐใช +ใŸใ„ใพใ‚“ +ใŸใ„ใฟใ‚“ใ +ใŸใ„ใ‚€ +ใŸใ„ใ‚ใ‚“ +ใŸใ„ใ‚„ใ +ใŸใ„ใ‚„ใ +ใŸใ„ใ‚ˆใ† +ใŸใ„ใ‚‰ +ใŸใ„ใ‚Šใ‚‡ใ† +ใŸใ„ใ‚Šใ‚‡ใ +ใŸใ„ใ‚‹ +ใŸใ„ใ‚ +ใŸใ„ใ‚ใ‚“ +ใŸใ†ใˆ +ใŸใˆใ‚‹ +ใŸใŠใ™ +ใŸใŠใ‚‹ +ใŸใ‹ใ„ +ใŸใ‹ใญ +ใŸใ +ใŸใใณ +ใŸใใ•ใ‚“ +ใŸใ‘ +ใŸใ“ +ใŸใ“ใ +ใŸใ“ใ‚„ใ +ใŸใ•ใ„ +ใ ใ•ใ„ +ใŸใ—ใ–ใ‚“ +ใŸใ™ +ใŸใ™ใ‘ใ‚‹ +ใŸใใŒใ‚Œ +ใŸใŸใ‹ใ† +ใŸใŸใ +ใŸใกใฐ +ใŸใกใฐใช +ใŸใค +ใ ใฃใ‹ใ„ +ใ ใฃใใ‚ƒใ +ใ ใฃใ“ +ใ ใฃใ—ใ‚ใ‚“ +ใ ใฃใ—ใ‚…ใค +ใ ใฃใŸใ„ +ใŸใฆ +ใŸใฆใ‚‹ +ใŸใจใˆใ‚‹ +ใŸใช +ใŸใซใ‚“ +ใŸใฌใ +ใŸใญ +ใŸใฎใ—ใฟ +ใŸใฏใค +ใŸใณ +ใŸใถใ‚“ +ใŸในใ‚‹ +ใŸใผใ† +ใŸใปใ†ใ‚ใ‚“ +ใŸใพ +ใŸใพใ” +ใŸใพใ‚‹ +ใ ใ‚€ใ‚‹ +ใŸใ‚ใ„ใ +ใŸใ‚ใ™ +ใŸใ‚ใ‚‹ +ใŸใ‚‚ใค +ใŸใ‚„ใ™ใ„ +ใŸใ‚ˆใ‚‹ +ใŸใ‚‰ +ใŸใ‚‰ใ™ +ใŸใ‚Šใใปใ‚“ใŒใ‚“ +ใŸใ‚Šใ‚‡ใ† +ใŸใ‚Šใ‚‹ +ใŸใ‚‹ +ใŸใ‚‹ใจ +ใŸใ‚Œใ‚‹ +ใŸใ‚Œใ‚“ใจ +ใŸใ‚ใฃใจ +ใŸใ‚ใ‚€ใ‚Œใ‚‹ +ใŸใ‚“ +ใ ใ‚“ใ‚ใค +ใŸใ‚“ใ„ +ใŸใ‚“ใŠใ‚“ +ใŸใ‚“ใ‹ +ใŸใ‚“ใ +ใŸใ‚“ใ‘ใ‚“ +ใŸใ‚“ใ” +ใŸใ‚“ใ•ใ +ใŸใ‚“ใ•ใ‚“ +ใŸใ‚“ใ— +ใŸใ‚“ใ—ใ‚…ใ +ใŸใ‚“ใ˜ใ‚‡ใ†ใณ +ใ ใ‚“ใ›ใ„ +ใŸใ‚“ใใ +ใŸใ‚“ใŸใ„ +ใŸใ‚“ใก +ใ ใ‚“ใก +ใŸใ‚“ใกใ‚‡ใ† +ใŸใ‚“ใฆใ„ +ใŸใ‚“ใฆใ +ใŸใ‚“ใจใ† +ใ ใ‚“ใช +ใŸใ‚“ใซใ‚“ +ใ ใ‚“ใญใค +ใŸใ‚“ใฎใ† +ใŸใ‚“ใดใ‚“ +ใŸใ‚“ใพใค +ใŸใ‚“ใ‚ใ„ +ใ ใ‚“ใ‚Œใค +ใ ใ‚“ใ‚ +ใ ใ‚“ใ‚ +ใกใ‚ใ„ +ใกใ‚ใ‚“ +ใกใ„ +ใกใ„ใ +ใกใ„ใ•ใ„ +ใกใˆ +ใกใˆใ‚“ +ใกใ‹ +ใกใ‹ใ„ +ใกใใ‚…ใ† +ใกใใ‚“ +ใกใ‘ใ„ +ใกใ‘ใ„ใš +ใกใ‘ใ‚“ +ใกใ“ใ +ใกใ•ใ„ +ใกใ—ใ +ใกใ—ใ‚Šใ‚‡ใ† +ใกใš +ใกใ›ใ„ +ใกใใ† +ใกใŸใ„ +ใกใŸใ‚“ +ใกใกใŠใ‚„ +ใกใคใ˜ใ‚‡ +ใกใฆใ +ใกใฆใ‚“ +ใกใฌใ +ใกใฌใ‚Š +ใกใฎใ† +ใกใฒใ‚‡ใ† +ใกใธใ„ใ›ใ‚“ +ใกใปใ† +ใกใพใŸ +ใกใฟใค +ใกใฟใฉใ‚ +ใกใ‚ใ„ใฉ +ใกใ‚…ใ†ใ„ +ใกใ‚…ใ†ใŠใ† +ใกใ‚…ใ†ใŠใ†ใ +ใกใ‚…ใ†ใŒใฃใ“ใ† +ใกใ‚…ใ†ใ”ใ +ใกใ‚†ใ‚Šใ‚‡ใ +ใกใ‚‡ใ†ใ• +ใกใ‚‡ใ†ใ— +ใกใ‚‰ใ— +ใกใ‚‰ใฟ +ใกใ‚Š +ใกใ‚ŠใŒใฟ +ใกใ‚‹ +ใกใ‚‹ใฉ +ใกใ‚ใ‚ +ใกใ‚“ใŸใ„ +ใกใ‚“ใ‚‚ใ +ใคใ„ใ‹ +ใคใ†ใ‹ +ใคใ†ใ˜ใ‚‡ใ† +ใคใ†ใ˜ใ‚‹ +ใคใ†ใฏใ‚“ +ใคใ†ใ‚ +ใคใˆ +ใคใ‹ใ† +ใคใ‹ใ‚Œใ‚‹ +ใคใ +ใคใ +ใคใใญ +ใคใใ‚‹ +ใคใ‘ใญ +ใคใ‘ใ‚‹ +ใคใ”ใ† +ใคใŸ +ใคใŸใˆใ‚‹ +ใคใก +ใคใคใ˜ +ใคใจใ‚ใ‚‹ +ใคใช +ใคใชใŒใ‚‹ +ใคใชใฟ +ใคใญใฅใญ +ใคใฎ +ใคใฎใ‚‹ +ใคใฐ +ใคใถ +ใคใถใ™ +ใคใผ +ใคใพ +ใคใพใ‚‰ใชใ„ +ใคใพใ‚‹ +ใคใฟ +ใคใฟใ +ใคใ‚€ +ใคใ‚ใŸใ„ +ใคใ‚‚ใ‚‹ +ใคใ‚„ +ใคใ‚ˆใ„ +ใคใ‚Š +ใคใ‚‹ใผ +ใคใ‚‹ใฟใ +ใคใ‚ใ‚‚ใฎ +ใคใ‚ใ‚Š +ใฆใ‚ใ— +ใฆใ‚ใฆ +ใฆใ‚ใฟ +ใฆใ„ใ‹ +ใฆใ„ใ +ใฆใ„ใ‘ใ„ +ใฆใ„ใ‘ใค +ใฆใ„ใ‘ใคใ‚ใค +ใฆใ„ใ“ใ +ใฆใ„ใ•ใค +ใฆใ„ใ— +ใฆใ„ใ—ใ‚ƒ +ใฆใ„ใ›ใ„ +ใฆใ„ใŸใ„ +ใฆใ„ใฉ +ใฆใ„ใญใ„ +ใฆใ„ใฒใ‚‡ใ† +ใฆใ„ใธใ‚“ +ใฆใ„ใผใ† +ใฆใ†ใก +ใฆใŠใใ‚Œ +ใฆใ +ใฆใใณ +ใฆใ“ +ใฆใ•ใŽใ‚‡ใ† +ใฆใ•ใ’ +ใงใ— +ใฆใ™ใ‚Š +ใฆใใ† +ใฆใกใŒใ„ +ใฆใกใ‚‡ใ† +ใฆใคใŒใ +ใฆใคใฅใ +ใฆใคใ‚„ +ใงใฌใ‹ใˆ +ใฆใฌใ +ใฆใฌใใ„ +ใฆใฎใฒใ‚‰ +ใฆใฏใ„ +ใฆใตใ  +ใฆใปใฉใ +ใฆใปใ‚“ +ใฆใพ +ใฆใพใˆ +ใฆใพใใšใ— +ใฆใฟใ˜ใ‹ +ใฆใฟใ‚„ใ’ +ใฆใ‚‰ +ใฆใ‚‰ใ™ +ใงใ‚‹ +ใฆใ‚Œใณ +ใฆใ‚ +ใฆใ‚ใ‘ +ใฆใ‚ใŸใ— +ใงใ‚“ใ‚ใค +ใฆใ‚“ใ„ +ใฆใ‚“ใ„ใ‚“ +ใฆใ‚“ใ‹ใ„ +ใฆใ‚“ใ +ใฆใ‚“ใ +ใฆใ‚“ใ‘ใ‚“ +ใงใ‚“ใ’ใ‚“ +ใฆใ‚“ใ”ใ +ใฆใ‚“ใ•ใ„ +ใฆใ‚“ใ™ใ† +ใงใ‚“ใก +ใฆใ‚“ใฆใ +ใฆใ‚“ใจใ† +ใฆใ‚“ใชใ„ +ใฆใ‚“ใท +ใฆใ‚“ใทใ‚‰ +ใฆใ‚“ใผใ†ใ ใ„ +ใฆใ‚“ใ‚ใค +ใฆใ‚“ใ‚‰ใ +ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„ +ใงใ‚“ใ‚Šใ‚…ใ† +ใงใ‚“ใ‚Šใ‚‡ใ +ใงใ‚“ใ‚ +ใฉใ‚ +ใฉใ‚ใ„ +ใจใ„ใ‚Œ +ใจใ†ใ‚€ใŽ +ใจใŠใ„ +ใจใŠใ™ +ใจใ‹ใ„ +ใจใ‹ใ™ +ใจใใŠใ‚Š +ใจใใฉใ +ใจใใ„ +ใจใใฆใ„ +ใจใใฆใ‚“ +ใจใในใค +ใจใ‘ใ„ +ใจใ‘ใ‚‹ +ใจใ•ใ‹ +ใจใ— +ใจใ—ใ‚‡ใ‹ใ‚“ +ใจใใ† +ใจใŸใ‚“ +ใจใก +ใจใกใ‚…ใ† +ใจใคใœใ‚“ +ใจใคใซใ‚…ใ† +ใจใจใฎใˆใ‚‹ +ใจใชใ„ +ใจใชใˆใ‚‹ +ใจใชใ‚Š +ใจใฎใ•ใพ +ใจใฐใ™ +ใจใถ +ใจใป +ใจใปใ† +ใฉใพ +ใจใพใ‚‹ +ใจใ‚‰ +ใจใ‚Š +ใจใ‚‹ +ใจใ‚“ใ‹ใค +ใชใ„ +ใชใ„ใ‹ +ใชใ„ใ‹ใ +ใชใ„ใ“ใ† +ใชใ„ใ—ใ‚‡ +ใชใ„ใ™ +ใชใ„ใ›ใ‚“ +ใชใ„ใใ† +ใชใ„ใžใ† +ใชใŠใ™ +ใชใ +ใชใ“ใ†ใฉ +ใชใ•ใ‘ +ใชใ— +ใชใ™ +ใชใœ +ใชใž +ใชใŸใงใ“ใ“ +ใชใค +ใชใฃใจใ† +ใชใคใ‚„ใ™ใฟ +ใชใชใŠใ— +ใชใซใ”ใจ +ใชใซใ‚‚ใฎ +ใชใซใ‚ +ใชใฏ +ใชใณ +ใชใตใ  +ใชใน +ใชใพใ„ใ +ใชใพใˆ +ใชใพใฟ +ใชใฟ +ใชใฟใ  +ใชใ‚ใ‚‰ใ‹ +ใชใ‚ใ‚‹ +ใชใ‚„ใ‚€ +ใชใ‚‰ใถ +ใชใ‚‹ +ใชใ‚Œใ‚‹ +ใชใ‚ +ใชใ‚ใจใณ +ใชใ‚ใฐใ‚Š +ใซใ‚ใ† +ใซใ„ใŒใŸ +ใซใ†ใ‘ +ใซใŠใ„ +ใซใ‹ใ„ +ใซใŒใฆ +ใซใใณ +ใซใ +ใซใใ—ใฟ +ใซใใพใ‚“ +ใซใ’ใ‚‹ +ใซใ•ใ‚“ใ‹ใŸใ‚“ใ +ใซใ— +ใซใ—ใ +ใซใ™ +ใซใ›ใ‚‚ใฎ +ใซใกใ˜ +ใซใกใ˜ใ‚‡ใ† +ใซใกใ‚ˆใ†ใณ +ใซใฃใ‹ +ใซใฃใ +ใซใฃใ‘ใ„ +ใซใฃใ“ใ† +ใซใฃใ•ใ‚“ +ใซใฃใ—ใ‚‡ใ +ใซใฃใ™ใ† +ใซใฃใ›ใ +ใซใฃใฆใ„ +ใซใชใ† +ใซใปใ‚“ +ใซใพใ‚ +ใซใ‚‚ใค +ใซใ‚„ใ‚Š +ใซใ‚…ใ†ใ„ใ‚“ +ใซใ‚…ใ†ใ‹ +ใซใ‚…ใ†ใ— +ใซใ‚…ใ†ใ—ใ‚ƒ +ใซใ‚…ใ†ใ ใ‚“ +ใซใ‚…ใ†ใถ +ใซใ‚‰ +ใซใ‚Šใ‚“ใ—ใ‚ƒ +ใซใ‚‹ +ใซใ‚ +ใซใ‚ใจใ‚Š +ใซใ‚“ใ„ +ใซใ‚“ใ‹ +ใซใ‚“ใ +ใซใ‚“ใ’ใ‚“ +ใซใ‚“ใ—ใ +ใซใ‚“ใ—ใ‚‡ใ† +ใซใ‚“ใ—ใ‚“ +ใซใ‚“ใšใ† +ใซใ‚“ใใ† +ใซใ‚“ใŸใ„ +ใซใ‚“ใก +ใซใ‚“ใฆใ„ +ใซใ‚“ใซใ +ใซใ‚“ใท +ใซใ‚“ใพใ‚Š +ใซใ‚“ใ‚€ +ใซใ‚“ใ‚ใ„ +ใซใ‚“ใ‚ˆใ† +ใฌใ† +ใฌใ‹ +ใฌใ +ใฌใใ‚‚ใ‚Š +ใฌใ— +ใฌใฎ +ใฌใพ +ใฌใ‚ใ‚Š +ใฌใ‚‰ใ™ +ใฌใ‚‹ +ใฌใ‚“ใกใ‚ƒใ +ใญใ‚ใ’ +ใญใ„ใ +ใญใ„ใ‚‹ +ใญใ„ใ‚ +ใญใŽ +ใญใใ› +ใญใใŸใ„ +ใญใใ‚‰ +ใญใ“ +ใญใ“ใœ +ใญใ“ใ‚€ +ใญใ•ใ’ +ใญใ™ใ”ใ™ +ใญใในใ‚‹ +ใญใคใ„ +ใญใคใžใ† +ใญใฃใŸใ„ +ใญใฃใŸใ„ใŽใ‚‡ +ใญใถใใ +ใญใตใ  +ใญใผใ† +ใญใปใ‚Šใฏใปใ‚Š +ใญใพใ +ใญใพใ‚ใ— +ใญใฟใฟ +ใญใ‚€ใ„ +ใญใ‚‚ใจ +ใญใ‚‰ใ† +ใญใ‚‹ +ใญใ‚ใ– +ใญใ‚“ใ„ใ‚Š +ใญใ‚“ใŠใ— +ใญใ‚“ใ‹ใ‚“ +ใญใ‚“ใ +ใญใ‚“ใใ‚“ +ใญใ‚“ใ +ใญใ‚“ใ– +ใญใ‚“ใ— +ใญใ‚“ใกใ‚ƒใ +ใญใ‚“ใกใ‚‡ใ† +ใญใ‚“ใฉ +ใญใ‚“ใด +ใญใ‚“ใถใค +ใญใ‚“ใพใ +ใญใ‚“ใพใค +ใญใ‚“ใ‚Šใ +ใญใ‚“ใ‚Šใ‚‡ใ† +ใญใ‚“ใ‚Œใ„ +ใฎใ„ใš +ใฎใ† +ใฎใŠใฅใพ +ใฎใŒใ™ +ใฎใใชใฟ +ใฎใ“ใŽใ‚Š +ใฎใ“ใ™ +ใฎใ›ใ‚‹ +ใฎใžใ +ใฎใžใ‚€ +ใฎใŸใพใ† +ใฎใกใปใฉ +ใฎใฃใ +ใฎใฐใ™ +ใฎใฏใ‚‰ +ใฎในใ‚‹ +ใฎใผใ‚‹ +ใฎใ‚€ +ใฎใ‚„ใพ +ใฎใ‚‰ใ„ใฌ +ใฎใ‚‰ใญใ“ +ใฎใ‚Š +ใฎใ‚‹ +ใฎใ‚Œใ‚“ +ใฎใ‚“ใ +ใฐใ‚ใ„ +ใฏใ‚ใ +ใฐใ‚ใ•ใ‚“ +ใฏใ„ +ใฐใ„ใ‹ +ใฐใ„ใ +ใฏใ„ใ‘ใ‚“ +ใฏใ„ใ” +ใฏใ„ใ“ใ† +ใฏใ„ใ— +ใฏใ„ใ—ใ‚…ใค +ใฏใ„ใ—ใ‚“ +ใฏใ„ใ™ใ„ +ใฏใ„ใ›ใค +ใฏใ„ใ›ใ‚“ +ใฏใ„ใใ† +ใฏใ„ใก +ใฐใ„ใฐใ„ +ใฏใ† +ใฏใˆ +ใฏใˆใ‚‹ +ใฏใŠใ‚‹ +ใฏใ‹ +ใฐใ‹ +ใฏใ‹ใ„ +ใฏใ‹ใ‚‹ +ใฏใ +ใฏใ +ใฏใใ—ใ‚… +ใฏใ‘ใ‚“ +ใฏใ“ +ใฏใ“ใถ +ใฏใ•ใฟ +ใฏใ•ใ‚“ +ใฏใ— +ใฏใ—ใ” +ใฏใ—ใ‚‹ +ใฐใ™ +ใฏใ›ใ‚‹ +ใฑใใ“ใ‚“ +ใฏใใ‚“ +ใฏใŸใ‚“ +ใฏใก +ใฏใกใฟใค +ใฏใฃใ‹ +ใฏใฃใ‹ใ +ใฏใฃใ +ใฏใฃใใ‚Š +ใฏใฃใใค +ใฏใฃใ‘ใ‚“ +ใฏใฃใ“ใ† +ใฏใฃใ•ใ‚“ +ใฏใฃใ—ใ‚ƒ +ใฏใฃใ—ใ‚“ +ใฏใฃใŸใค +ใฏใฃใกใ‚ƒใ +ใฏใฃใกใ‚…ใ† +ใฏใฃใฆใ‚“ +ใฏใฃใดใ‚‡ใ† +ใฏใฃใฝใ† +ใฏใฆ +ใฏใช +ใฏใชใ™ +ใฏใชใณ +ใฏใซใ‹ใ‚€ +ใฏใญ +ใฏใฏ +ใฏใถใ‚‰ใ— +ใฏใพ +ใฏใฟใŒใ +ใฏใ‚€ +ใฏใ‚€ใ‹ใ† +ใฏใ‚ใค +ใฏใ‚„ใ„ +ใฏใ‚‰ +ใฏใ‚‰ใ† +ใฏใ‚Š +ใฏใ‚‹ +ใฏใ‚Œ +ใฏใ‚ใ†ใƒใ‚“ +ใฏใ‚ใ„ +ใฏใ‚“ใ„ +ใฏใ‚“ใˆใ„ +ใฏใ‚“ใˆใ‚“ +ใฏใ‚“ใŠใ‚“ +ใฏใ‚“ใ‹ใ +ใฏใ‚“ใ‹ใก +ใฏใ‚“ใใ‚‡ใ† +ใฏใ‚“ใ“ +ใฏใ‚“ใ“ใ† +ใฏใ‚“ใ—ใ‚ƒ +ใฏใ‚“ใ—ใ‚“ +ใฏใ‚“ใ™ใ† +ใฏใ‚“ใŸใ„ +ใฏใ‚“ใ ใ‚“ +ใฑใ‚“ใก +ใฑใ‚“ใค +ใฏใ‚“ใฆใ„ +ใฏใ‚“ใฆใ‚“ +ใฏใ‚“ใจใ— +ใฏใ‚“ใฎใ† +ใฏใ‚“ใฑ +ใฏใ‚“ใถใ‚“ +ใฏใ‚“ใบใ‚“ +ใฏใ‚“ใผใ†ใ +ใฏใ‚“ใ‚ใ„ +ใฏใ‚“ใ‚ใ‚“ +ใฏใ‚“ใ‚‰ใ‚“ +ใฏใ‚“ใ‚ใ‚“ +ใฒใ„ใ +ใฒใ†ใ‚“ +ใฒใˆใ‚‹ +ใฒใ‹ใ +ใฒใ‹ใ‚Š +ใฒใ‹ใ‚“ +ใฒใ +ใฒใใ„ +ใฒใ‘ใค +ใฒใ“ใ†ใ +ใฒใ“ใ +ใฒใ– +ใดใ– +ใฒใ•ใ„ +ใฒใ•ใ—ใถใ‚Š +ใฒใ•ใ‚“ +ใฒใ— +ใฒใ˜ +ใฒใ—ใ‚‡ +ใฒใ˜ใ‚‡ใ† +ใฒใใ‹ +ใฒใใ‚€ +ใฒใŸใ‚€ใ +ใฒใŸใ‚‹ +ใฒใคใŽ +ใฒใฃใ“ใ— +ใฒใฃใ— +ใฒใฃใ™ +ใฒใคใœใ‚“ +ใฒใคใ‚ˆใ† +ใฒใฆใ„ +ใฒใจ +ใฒใจใ”ใฟ +ใฒใช +ใฒใชใ‚“ +ใฒใญใ‚‹ +ใฒใฏใ‚“ +ใฒใณใ +ใฒใฒใ‚‡ใ† +ใฒใต +ใฒใปใ† +ใฒใพ +ใฒใพใ‚“ +ใฒใฟใค +ใฒใ‚ +ใฒใ‚ใ„ +ใฒใ‚ใ˜ใ— +ใฒใ‚‚ +ใฒใ‚„ใ‘ +ใฒใ‚„ใ™ +ใฒใ‚† +ใฒใ‚ˆใ† +ใณใ‚‡ใ†ใ +ใฒใ‚‰ใ +ใฒใ‚Šใค +ใฒใ‚Šใ‚‡ใ† +ใฒใ‚‹ +ใฒใ‚Œใ„ +ใฒใ‚ใ„ +ใฒใ‚ใ† +ใฒใ‚ +ใฒใ‚“ใ‹ใ +ใฒใ‚“ใ‘ใค +ใฒใ‚“ใ“ใ‚“ +ใฒใ‚“ใ— +ใฒใ‚“ใ—ใค +ใฒใ‚“ใ—ใ‚… +ใฒใ‚“ใใ† +ใดใ‚“ใก +ใฒใ‚“ใฑใ‚“ +ใณใ‚“ใผใ† +ใตใ‚ใ‚“ +ใตใ„ใ†ใก +ใตใ†ใ‘ใ„ +ใตใ†ใ›ใ‚“ +ใตใ†ใจใ† +ใตใ†ใต +ใตใˆ +ใตใˆใ‚‹ +ใตใŠใ‚“ +ใตใ‹ +ใตใ‹ใ„ +ใตใใ‚“ +ใตใ +ใตใใ–ใค +ใตใ“ใ† +ใตใ•ใ„ +ใตใ–ใ„ +ใตใ—ใŽ +ใตใ˜ใฟ +ใตใ™ใพ +ใตใ›ใ„ +ใตใ›ใ +ใตใใ +ใตใŸ +ใตใŸใ‚“ +ใตใก +ใตใกใ‚‡ใ† +ใตใคใ† +ใตใฃใ‹ใค +ใตใฃใ +ใตใฃใใ‚“ +ใตใฃใ“ใ +ใตใจใ‚‹ +ใตใจใ‚“ +ใตใญ +ใตใฎใ† +ใตใฏใ„ +ใตใฒใ‚‡ใ† +ใตใธใ‚“ +ใตใพใ‚“ +ใตใฟใ‚“ +ใตใ‚€ +ใตใ‚ใค +ใตใ‚ใ‚“ +ใตใ‚† +ใตใ‚ˆใ† +ใตใ‚Šใ“ +ใตใ‚Šใ‚‹ +ใตใ‚‹ +ใตใ‚‹ใ„ +ใตใ‚ +ใตใ‚“ใ„ใ +ใตใ‚“ใ‹ +ใถใ‚“ใ‹ +ใถใ‚“ใ +ใตใ‚“ใ—ใค +ใถใ‚“ใ›ใ +ใตใ‚“ใใ† +ใธใ„ +ใธใ„ใ +ใธใ„ใ• +ใธใ„ใ‚ +ใธใใŒ +ใธใ“ใ‚€ +ใธใ +ใธใŸ +ในใค +ในใฃใฉ +ใบใฃใจ +ใธใณ +ใธใ‚„ +ใธใ‚‹ +ใธใ‚“ใ‹ +ใธใ‚“ใ‹ใ‚“ +ใธใ‚“ใใ‚ƒใ +ใธใ‚“ใใ‚“ +ใธใ‚“ใ•ใ„ +ใธใ‚“ใŸใ„ +ใปใ‚ใ‚“ +ใปใ„ใ +ใปใ†ใปใ† +ใปใˆใ‚‹ +ใปใŠใ‚“ +ใปใ‹ใ‚“ +ใปใใ‚‡ใ† +ใผใใ‚“ +ใปใใ‚ +ใปใ‘ใค +ใปใ‘ใ‚“ +ใปใ“ใ† +ใปใ“ใ‚‹ +ใปใ• +ใปใ— +ใปใ—ใค +ใปใ—ใ‚… +ใปใ—ใ‚‡ใ† +ใปใ™ +ใปใ›ใ„ +ใผใ›ใ„ +ใปใใ„ +ใปใใ +ใปใŸใฆ +ใปใŸใ‚‹ +ใผใก +ใปใฃใใ‚‡ใ +ใปใฃใ• +ใปใฃใŸใ‚“ +ใปใจใ‚“ใฉ +ใปใ‚ใ‚‹ +ใปใ‚‹ +ใปใ‚“ใ„ +ใปใ‚“ใ +ใปใ‚“ใ‘ +ใปใ‚“ใ—ใค +ใพใ„ใซใก +ใพใ† +ใพใ‹ใ„ +ใพใ‹ใ›ใ‚‹ +ใพใ +ใพใ‘ใ‚‹ +ใพใ“ใจ +ใพใ•ใค +ใพใ™ใ +ใพใœใ‚‹ +ใพใก +ใพใค +ใพใคใ‚Š +ใพใจใ‚ +ใพใชใถ +ใพใฌใ‘ +ใพใญ +ใพใญใ +ใพใฒ +ใพใปใ† +ใพใ‚ +ใพใ‚‚ใ‚‹ +ใพใ‚†ใ’ +ใพใ‚ˆใ† +ใพใ‚‹ +ใพใ‚ใ‚„ใ‹ +ใพใ‚ใ™ +ใพใ‚ใ‚Š +ใพใ‚“ใŒ +ใพใ‚“ใ‹ใ„ +ใพใ‚“ใใค +ใพใ‚“ใžใ +ใฟใ„ใ‚‰ +ใฟใ†ใก +ใฟใ‹ใŸ +ใฟใ‹ใ‚“ +ใฟใŽ +ใฟใ‘ใ‚“ +ใฟใ“ใ‚“ +ใฟใ™ใ„ +ใฟใ™ใˆใ‚‹ +ใฟใ› +ใฟใ +ใฟใก +ใฟใฆใ„ +ใฟใจใ‚ใ‚‹ +ใฟใชใฟใ‹ใ•ใ„ +ใฟใญใ‚‰ใ‚‹ +ใฟใฎใ† +ใฟใปใ‚“ +ใฟใฟ +ใฟใ‚‚ใจ +ใฟใ‚„ใ’ +ใฟใ‚‰ใ„ +ใฟใ‚Šใ‚‡ใ +ใฟใ‚‹ +ใฟใ‚ใ +ใ‚€ใˆใ +ใ‚€ใˆใ‚“ +ใ‚€ใ‹ใ— +ใ‚€ใ +ใ‚€ใ“ +ใ‚€ใ•ใผใ‚‹ +ใ‚€ใ— +ใ‚€ใ™ใ“ +ใ‚€ใ™ใ‚ +ใ‚€ใ›ใ‚‹ +ใ‚€ใ›ใ‚“ +ใ‚€ใ  +ใ‚€ใก +ใ‚€ใชใ—ใ„ +ใ‚€ใญ +ใ‚€ใฎใ† +ใ‚€ใ‚„ใฟ +ใ‚€ใ‚ˆใ† +ใ‚€ใ‚‰ +ใ‚€ใ‚Š +ใ‚€ใ‚Šใ‚‡ใ† +ใ‚€ใ‚Œ +ใ‚€ใ‚ใ‚“ +ใ‚‚ใ†ใฉใ†ใ‘ใ‚“ +ใ‚‚ใˆใ‚‹ +ใ‚‚ใŽ +ใ‚‚ใใ— +ใ‚‚ใใฆใ +ใ‚‚ใ— +ใ‚‚ใ‚“ใ +ใ‚‚ใ‚“ใ ใ„ +ใ‚„ใ™ใ„ +ใ‚„ใ™ใฟ +ใ‚„ใใ† +ใ‚„ใŸใ„ +ใ‚„ใกใ‚“ +ใ‚„ใญ +ใ‚„ใถใ‚‹ +ใ‚„ใพ +ใ‚„ใฟ +ใ‚„ใ‚ใ‚‹ +ใ‚„ใ‚„ใ“ใ—ใ„ +ใ‚„ใ‚ˆใ„ +ใ‚„ใ‚Š +ใ‚„ใ‚ใ‚‰ใ‹ใ„ +ใ‚†ใ‘ใค +ใ‚†ใ—ใ‚…ใค +ใ‚†ใ›ใ‚“ +ใ‚†ใใ† +ใ‚†ใŸใ‹ +ใ‚†ใกใ‚ƒใ +ใ‚†ใงใ‚‹ +ใ‚†ใณ +ใ‚†ใณใ‚ +ใ‚†ใ‚ +ใ‚†ใ‚Œใ‚‹ +ใ‚ˆใ† +ใ‚ˆใ‹ใœ +ใ‚ˆใ‹ใ‚“ +ใ‚ˆใใ‚“ +ใ‚ˆใใ›ใ„ +ใ‚ˆใใผใ† +ใ‚ˆใ‘ใ„ +ใ‚ˆใ•ใ‚“ +ใ‚ˆใใ† +ใ‚ˆใใ +ใ‚ˆใก +ใ‚ˆใฆใ„ +ใ‚ˆใฉใŒใ‚ใ +ใ‚ˆใญใค +ใ‚ˆใ‚€ +ใ‚ˆใ‚ +ใ‚ˆใ‚„ใ +ใ‚ˆใ‚†ใ† +ใ‚ˆใ‚‹ +ใ‚ˆใ‚ใ“ใถ +ใ‚‰ใ„ใ† +ใ‚‰ใใŒใ +ใ‚‰ใใ” +ใ‚‰ใใ•ใค +ใ‚‰ใใ  +ใ‚‰ใใŸใ‚“ +ใ‚‰ใ—ใ‚“ใฐใ‚“ +ใ‚‰ใ›ใ‚“ +ใ‚‰ใžใ +ใ‚‰ใŸใ„ +ใ‚‰ใก +ใ‚‰ใฃใ‹ +ใ‚‰ใฃใ‹ใ›ใ„ +ใ‚‰ใ‚Œใค +ใ‚Šใˆใ +ใ‚Šใ‹ +ใ‚Šใ‹ใ„ +ใ‚Šใใ•ใ +ใ‚Šใใ›ใค +ใ‚Šใ +ใ‚Šใใใ‚“ +ใ‚Šใใค +ใ‚Šใ‘ใ‚“ +ใ‚Šใ“ใ† +ใ‚Šใ— +ใ‚Šใ™ +ใ‚Šใ›ใ„ +ใ‚Šใใ† +ใ‚Šใใ +ใ‚Šใฆใ‚“ +ใ‚Šใญใ‚“ +ใ‚Šใ‚…ใ† +ใ‚Šใ‚†ใ† +ใ‚Šใ‚…ใ†ใŒใ +ใ‚Šใ‚…ใ†ใ“ใ† +ใ‚Šใ‚…ใ†ใ— +ใ‚Šใ‚…ใ†ใญใ‚“ +ใ‚Šใ‚ˆใ† +ใ‚Šใ‚‡ใ†ใ‹ใ„ +ใ‚Šใ‚‡ใ†ใใ‚“ +ใ‚Šใ‚‡ใ†ใ—ใ‚“ +ใ‚Šใ‚‡ใ†ใฆ +ใ‚Šใ‚‡ใ†ใฉ +ใ‚Šใ‚‡ใ†ใปใ† +ใ‚Šใ‚‡ใ†ใ‚Š +ใ‚Šใ‚Šใ +ใ‚Šใ‚Œใ +ใ‚Šใ‚ใ‚“ +ใ‚Šใ‚“ใ” +ใ‚‹ใ„ใ˜ +ใ‚‹ใ™ +ใ‚Œใ„ใ‹ใ‚“ +ใ‚Œใ„ใŽ +ใ‚Œใ„ใ›ใ„ +ใ‚Œใ„ใžใ†ใ“ +ใ‚Œใ„ใจใ† +ใ‚Œใใ— +ใ‚Œใใ ใ„ +ใ‚Œใ‚“ใ‚ใ„ +ใ‚Œใ‚“ใ‘ใ„ +ใ‚Œใ‚“ใ‘ใค +ใ‚Œใ‚“ใ“ใ† +ใ‚Œใ‚“ใ“ใ‚“ +ใ‚Œใ‚“ใ• +ใ‚Œใ‚“ใ•ใ„ +ใ‚Œใ‚“ใ•ใ +ใ‚Œใ‚“ใ—ใ‚ƒ +ใ‚Œใ‚“ใ—ใ‚…ใ† +ใ‚Œใ‚“ใžใ +ใ‚ใ†ใ‹ +ใ‚ใ†ใ” +ใ‚ใ†ใ˜ใ‚“ +ใ‚ใ†ใใ +ใ‚ใ‹ +ใ‚ใใŒ +ใ‚ใ“ใค +ใ‚ใ—ใ‚…ใค +ใ‚ใ›ใ‚“ +ใ‚ใฆใ‚“ +ใ‚ใ‚ใ‚“ +ใ‚ใ‚Œใค +ใ‚ใ‚“ใŽ +ใ‚ใ‚“ใฑ +ใ‚ใ‚“ใถใ‚“ +ใ‚ใ‚“ใ‚Š +ใ‚ใ˜ใพใ— diff --git a/src/mnemonics/wordlists/languages/portuguese b/src/mnemonics/wordlists/languages/portuguese new file mode 100644 index 000000000..126fd2740 --- /dev/null +++ b/src/mnemonics/wordlists/languages/portuguese @@ -0,0 +1,1626 @@ +abaular +abdominal +abeto +abissinio +abjeto +ablucao +abnegar +abotoar +abrutalhar +absurdo +abutre +acautelar +accessorios +acetona +achocolatado +acirrar +acne +acovardar +acrostico +actinomicete +acustico +adaptavel +adeus +adivinho +adjunto +admoestar +adnominal +adotivo +adquirir +adriatico +adsorcao +adutora +advogar +aerossol +afazeres +afetuoso +afixo +afluir +afortunar +afrouxar +aftosa +afunilar +agentes +agito +aglutinar +aiatola +aimore +aino +aipo +airoso +ajeitar +ajoelhar +ajudante +ajuste +alazao +albumina +alcunha +alegria +alexandre +alforriar +alguns +alhures +alivio +almoxarife +alotropico +alpiste +alquimista +alsaciano +altura +aluviao +alvura +amazonico +ambulatorio +ametodico +amizades +amniotico +amovivel +amurada +anatomico +ancorar +anexo +anfora +aniversario +anjo +anotar +ansioso +anturio +anuviar +anverso +anzol +aonde +apaziguar +apito +aplicavel +apoteotico +aprimorar +aprumo +apto +apuros +aquoso +arauto +arbusto +arduo +aresta +arfar +arguto +aritmetico +arlequim +armisticio +aromatizar +arpoar +arquivo +arrumar +arsenio +arturiano +aruaque +arvores +asbesto +ascorbico +aspirina +asqueroso +assustar +astuto +atazanar +ativo +atletismo +atmosferico +atormentar +atroz +aturdir +audivel +auferir +augusto +aula +aumento +aurora +autuar +avatar +avexar +avizinhar +avolumar +avulso +axiomatico +azerbaijano +azimute +azoto +azulejo +bacteriologista +badulaque +baforada +baixote +bajular +balzaquiana +bambuzal +banzo +baoba +baqueta +barulho +bastonete +batuta +bauxita +bavaro +bazuca +bcrepuscular +beato +beduino +begonia +behaviorista +beisebol +belzebu +bemol +benzido +beocio +bequer +berro +besuntar +betume +bexiga +bezerro +biatlon +biboca +bicuspide +bidirecional +bienio +bifurcar +bigorna +bijuteria +bimotor +binormal +bioxido +bipolarizacao +biquini +birutice +bisturi +bituca +biunivoco +bivalve +bizarro +blasfemo +blenorreia +blindar +bloqueio +blusao +boazuda +bofete +bojudo +bolso +bombordo +bonzo +botina +boquiaberto +bostoniano +botulismo +bourbon +bovino +boximane +bravura +brevidade +britar +broxar +bruno +bruxuleio +bubonico +bucolico +buda +budista +bueiro +buffer +bugre +bujao +bumerangue +burundines +busto +butique +buzios +caatinga +cabuqui +cacunda +cafuzo +cajueiro +camurca +canudo +caquizeiro +carvoeiro +casulo +catuaba +cauterizar +cebolinha +cedula +ceifeiro +celulose +cerzir +cesto +cetro +ceus +cevar +chavena +cheroqui +chita +chovido +chuvoso +ciatico +cibernetico +cicuta +cidreira +cientistas +cifrar +cigarro +cilio +cimo +cinzento +cioso +cipriota +cirurgico +cisto +citrico +ciumento +civismo +clavicula +clero +clitoris +cluster +coaxial +cobrir +cocota +codorniz +coexistir +cogumelo +coito +colusao +compaixao +comutativo +contentamento +convulsivo +coordenativa +coquetel +correto +corvo +costureiro +cotovia +covil +cozinheiro +cretino +cristo +crivo +crotalo +cruzes +cubo +cucuia +cueiro +cuidar +cujo +cultural +cunilingua +cupula +curvo +custoso +cutucar +czarismo +dablio +dacota +dados +daguerreotipo +daiquiri +daltonismo +damista +dantesco +daquilo +darwinista +dasein +dativo +deao +debutantes +decurso +deduzir +defunto +degustar +dejeto +deltoide +demover +denunciar +deputado +deque +dervixe +desvirtuar +deturpar +deuteronomio +devoto +dextrose +dezoito +diatribe +dicotomico +didatico +dietista +difuso +digressao +diluvio +diminuto +dinheiro +dinossauro +dioxido +diplomatico +dique +dirimivel +disturbio +diurno +divulgar +dizivel +doar +dobro +docura +dodoi +doer +dogue +doloso +domo +donzela +doping +dorsal +dossie +dote +doutro +doze +dravidico +dreno +driver +dropes +druso +dubnio +ducto +dueto +dulija +dundum +duodeno +duquesa +durou +duvidoso +duzia +ebano +ebrio +eburneo +echarpe +eclusa +ecossistema +ectoplasma +ecumenismo +eczema +eden +editorial +edredom +edulcorar +efetuar +efigie +efluvio +egiptologo +egresso +egua +einsteiniano +eira +eivar +eixos +ejetar +elastomero +eldorado +elixir +elmo +eloquente +elucidativo +emaranhar +embutir +emerito +emfa +emitir +emotivo +empuxo +emulsao +enamorar +encurvar +enduro +enevoar +enfurnar +enguico +enho +enigmista +enlutar +enormidade +enpreendimento +enquanto +enriquecer +enrugar +entusiastico +enunciar +envolvimento +enxuto +enzimatico +eolico +epiteto +epoxi +epura +equivoco +erario +erbio +ereto +erguido +erisipela +ermo +erotizar +erros +erupcao +ervilha +esburacar +escutar +esfuziante +esguio +esloveno +esmurrar +esoterismo +esperanca +espirito +espurio +essencialmente +esturricar +esvoacar +etario +eterno +etiquetar +etnologo +etos +etrusco +euclidiano +euforico +eugenico +eunuco +europio +eustaquio +eutanasia +evasivo +eventualidade +evitavel +evoluir +exaustor +excursionista +exercito +exfoliado +exito +exotico +expurgo +exsudar +extrusora +exumar +fabuloso +facultativo +fado +fagulha +faixas +fajuto +faltoso +famoso +fanzine +fapesp +faquir +fartura +fastio +faturista +fausto +favorito +faxineira +fazer +fealdade +febril +fecundo +fedorento +feerico +feixe +felicidade +felipe +feltro +femur +fenotipo +fervura +festivo +feto +feudo +fevereiro +fezinha +fiasco +fibra +ficticio +fiduciario +fiesp +fifa +figurino +fijiano +filtro +finura +fiorde +fiquei +firula +fissurar +fitoteca +fivela +fixo +flavio +flexor +flibusteiro +flotilha +fluxograma +fobos +foco +fofura +foguista +foie +foliculo +fominha +fonte +forum +fosso +fotossintese +foxtrote +fraudulento +frevo +frivolo +frouxo +frutose +fuba +fucsia +fugitivo +fuinha +fujao +fulustreco +fumo +funileiro +furunculo +fustigar +futurologo +fuxico +fuzue +gabriel +gado +gaelico +gafieira +gaguejo +gaivota +gajo +galvanoplastico +gamo +ganso +garrucha +gastronomo +gatuno +gaussiano +gaviao +gaxeta +gazeteiro +gear +geiser +geminiano +generoso +genuino +geossinclinal +gerundio +gestual +getulista +gibi +gigolo +gilete +ginseng +giroscopio +glaucio +glacial +gleba +glifo +glote +glutonia +gnostico +goela +gogo +goitaca +golpista +gomo +gonzo +gorro +gostou +goticula +gourmet +governo +gozo +graxo +grevista +grito +grotesco +gruta +guaxinim +gude +gueto +guizo +guloso +gume +guru +gustativo +gustavo +gutural +habitue +haitiano +halterofilista +hamburguer +hanseniase +happening +harpista +hastear +haveres +hebreu +hectometro +hedonista +hegira +helena +helminto +hemorroidas +henrique +heptassilabo +hertziano +hesitar +heterossexual +heuristico +hexagono +hiato +hibrido +hidrostatico +hieroglifo +hifenizar +higienizar +hilario +himen +hino +hippie +hirsuto +historiografia +hitlerista +hodometro +hoje +holograma +homus +honroso +hoquei +horto +hostilizar +hotentote +huguenote +humilde +huno +hurra +hutu +iaia +ialorixa +iambico +iansa +iaque +iara +iatista +iberico +ibis +icar +iceberg +icosagono +idade +ideologo +idiotice +idoso +iemenita +iene +igarape +iglu +ignorar +igreja +iguaria +iidiche +ilativo +iletrado +ilharga +ilimitado +ilogismo +ilustrissimo +imaturo +imbuzeiro +imerso +imitavel +imovel +imputar +imutavel +inaveriguavel +incutir +induzir +inextricavel +infusao +ingua +inhame +iniquo +injusto +inning +inoxidavel +inquisitorial +insustentavel +intumescimento +inutilizavel +invulneravel +inzoneiro +iodo +iogurte +ioio +ionosfera +ioruba +iota +ipsilon +irascivel +iris +irlandes +irmaos +iroques +irrupcao +isca +isento +islandes +isotopo +isqueiro +israelita +isso +isto +iterbio +itinerario +itrio +iuane +iugoslavo +jabuticabeira +jacutinga +jade +jagunco +jainista +jaleco +jambo +jantarada +japones +jaqueta +jarro +jasmim +jato +jaula +javel +jazz +jegue +jeitoso +jejum +jenipapo +jeova +jequitiba +jersei +jesus +jetom +jiboia +jihad +jilo +jingle +jipe +jocoso +joelho +joguete +joio +jojoba +jorro +jota +joule +joviano +jubiloso +judoca +jugular +juizo +jujuba +juliano +jumento +junto +jururu +justo +juta +juventude +labutar +laguna +laico +lajota +lanterninha +lapso +laquear +lastro +lauto +lavrar +laxativo +lazer +leasing +lebre +lecionar +ledo +leguminoso +leitura +lele +lemure +lento +leonardo +leopardo +lepton +leque +leste +letreiro +leucocito +levitico +lexicologo +lhama +lhufas +liame +licoroso +lidocaina +liliputiano +limusine +linotipo +lipoproteina +liquidos +lirismo +lisura +liturgico +livros +lixo +lobulo +locutor +lodo +logro +lojista +lombriga +lontra +loop +loquaz +lorota +losango +lotus +louvor +luar +lubrificavel +lucros +lugubre +luis +luminoso +luneta +lustroso +luto +luvas +luxuriante +luzeiro +maduro +maestro +mafioso +magro +maiuscula +majoritario +malvisto +mamute +manutencao +mapoteca +maquinista +marzipa +masturbar +matuto +mausoleu +mavioso +maxixe +mazurca +meandro +mecha +medusa +mefistofelico +megera +meirinho +melro +memorizar +menu +mequetrefe +mertiolate +mestria +metroviario +mexilhao +mezanino +miau +microssegundo +midia +migratorio +mimosa +minuto +miosotis +mirtilo +misturar +mitzvah +miudos +mixuruca +mnemonico +moagem +mobilizar +modulo +moer +mofo +mogno +moita +molusco +monumento +moqueca +morubixaba +mostruario +motriz +mouse +movivel +mozarela +muarra +muculmano +mudo +mugir +muitos +mumunha +munir +muon +muquira +murros +musselina +nacoes +nado +naftalina +nago +naipe +naja +nalgum +namoro +nanquim +napolitano +naquilo +nascimento +nautilo +navios +nazista +nebuloso +nectarina +nefrologo +negus +nelore +nenufar +nepotismo +nervura +neste +netuno +neutron +nevoeiro +newtoniano +nexo +nhenhenhem +nhoque +nigeriano +niilista +ninho +niobio +niponico +niquelar +nirvana +nisto +nitroglicerina +nivoso +nobreza +nocivo +noel +nogueira +noivo +nojo +nominativo +nonuplo +noruegues +nostalgico +noturno +nouveau +nuanca +nublar +nucleotideo +nudista +nulo +numismatico +nunquinha +nupcias +nutritivo +nuvens +oasis +obcecar +obeso +obituario +objetos +oblongo +obnoxio +obrigatorio +obstruir +obtuso +obus +obvio +ocaso +occipital +oceanografo +ocioso +oclusivo +ocorrer +ocre +octogono +odalisca +odisseia +odorifico +oersted +oeste +ofertar +ofidio +oftalmologo +ogiva +ogum +oigale +oitavo +oitocentos +ojeriza +olaria +oleoso +olfato +olhos +oliveira +olmo +olor +olvidavel +ombudsman +omeleteira +omitir +omoplata +onanismo +ondular +oneroso +onomatopeico +ontologico +onus +onze +opalescente +opcional +operistico +opio +oposto +oprobrio +optometrista +opusculo +oratorio +orbital +orcar +orfao +orixa +orla +ornitologo +orquidea +ortorrombico +orvalho +osculo +osmotico +ossudo +ostrogodo +otario +otite +ouro +ousar +outubro +ouvir +ovario +overnight +oviparo +ovni +ovoviviparo +ovulo +oxala +oxente +oxiuro +oxossi +ozonizar +paciente +pactuar +padronizar +paete +pagodeiro +paixao +pajem +paludismo +pampas +panturrilha +papudo +paquistanes +pastoso +patua +paulo +pauzinhos +pavoroso +paxa +pazes +peao +pecuniario +pedunculo +pegaso +peixinho +pejorativo +pelvis +penuria +pequno +petunia +pezada +piauiense +pictorico +pierro +pigmeu +pijama +pilulas +pimpolho +pintura +piorar +pipocar +piqueteiro +pirulito +pistoleiro +pituitaria +pivotar +pixote +pizzaria +plistoceno +plotar +pluviometrico +pneumonico +poco +podridao +poetisa +pogrom +pois +polvorosa +pomposo +ponderado +pontudo +populoso +poquer +porvir +posudo +potro +pouso +povoar +prazo +prezar +privilegios +proximo +prussiano +pseudopode +psoriase +pterossauros +ptialina +ptolemaico +pudor +pueril +pufe +pugilista +puir +pujante +pulverizar +pumba +punk +purulento +pustula +putsch +puxe +quatrocentos +quetzal +quixotesco +quotizavel +rabujice +racista +radonio +rafia +ragu +rajado +ralo +rampeiro +ranzinza +raptor +raquitismo +raro +rasurar +ratoeira +ravioli +razoavel +reavivar +rebuscar +recusavel +reduzivel +reexposicao +refutavel +regurgitar +reivindicavel +rejuvenescimento +relva +remuneravel +renunciar +reorientar +repuxo +requisito +resumo +returno +reutilizar +revolvido +rezonear +riacho +ribossomo +ricota +ridiculo +rifle +rigoroso +rijo +rimel +rins +rios +riqueza +riquixa +rissole +ritualistico +rivalizar +rixa +robusto +rococo +rodoviario +roer +rogo +rojao +rolo +rompimento +ronronar +roqueiro +rorqual +rosto +rotundo +rouxinol +roxo +royal +ruas +rucula +rudimentos +ruela +rufo +rugoso +ruivo +rule +rumoroso +runico +ruptura +rural +rustico +rutilar +saariano +sabujo +sacudir +sadomasoquista +safra +sagui +sais +samurai +santuario +sapo +saquear +sartriano +saturno +saude +sauva +saveiro +saxofonista +sazonal +scherzo +script +seara +seborreia +secura +seduzir +sefardim +seguro +seja +selvas +sempre +senzala +sepultura +sequoia +sestercio +setuplo +seus +seviciar +sezonismo +shalom +siames +sibilante +sicrano +sidra +sifilitico +signos +silvo +simultaneo +sinusite +sionista +sirio +sisudo +situar +sivan +slide +slogan +soar +sobrio +socratico +sodomizar +soerguer +software +sogro +soja +solver +somente +sonso +sopro +soquete +sorveteiro +sossego +soturno +sousafone +sovinice +sozinho +suavizar +subverter +sucursal +sudoriparo +sufragio +sugestoes +suite +sujo +sultao +sumula +suntuoso +suor +supurar +suruba +susto +suturar +suvenir +tabuleta +taco +tadjique +tafeta +tagarelice +taitiano +talvez +tampouco +tanzaniano +taoista +tapume +taquion +tarugo +tascar +tatuar +tautologico +tavola +taxionomista +tchecoslovaco +teatrologo +tectonismo +tedioso +teflon +tegumento +teixo +telurio +temporas +tenue +teosofico +tepido +tequila +terrorista +testosterona +tetrico +teutonico +teve +texugo +tiara +tibia +tiete +tifoide +tigresa +tijolo +tilintar +timpano +tintureiro +tiquete +tiroteio +tisico +titulos +tive +toar +toboga +tofu +togoles +toicinho +tolueno +tomografo +tontura +toponimo +toquio +torvelinho +tostar +toto +touro +toxina +trazer +trezentos +trivialidade +trovoar +truta +tuaregue +tubular +tucano +tudo +tufo +tuiste +tulipa +tumultuoso +tunisino +tupiniquim +turvo +tutu +ucraniano +udenista +ufanista +ufologo +ugaritico +uiste +uivo +ulceroso +ulema +ultravioleta +umbilical +umero +umido +umlaut +unanimidade +unesco +ungulado +unheiro +univoco +untuoso +urano +urbano +urdir +uretra +urgente +urinol +urna +urologo +urro +ursulina +urtiga +urupe +usavel +usbeque +usei +usineiro +usurpar +utero +utilizar +utopico +uvular +uxoricidio +vacuo +vadio +vaguear +vaivem +valvula +vampiro +vantajoso +vaporoso +vaquinha +varziano +vasto +vaticinio +vaudeville +vazio +veado +vedico +veemente +vegetativo +veio +veja +veludo +venusiano +verdade +verve +vestuario +vetusto +vexatorio +vezes +viavel +vibratorio +victor +vicunha +vidros +vietnamita +vigoroso +vilipendiar +vime +vintem +violoncelo +viquingue +virus +visualizar +vituperio +viuvo +vivo +vizir +voar +vociferar +vodu +vogar +voile +volver +vomito +vontade +vortice +vosso +voto +vovozinha +voyeuse +vozes +vulva +vupt +western +xadrez +xale +xampu +xango +xarope +xaual +xavante +xaxim +xenonio +xepa +xerox +xicara +xifopago +xiita +xilogravura +xinxim +xistoso +xixi +xodo +xogum +xucro +zabumba +zagueiro +zambiano +zanzar +zarpar +zebu +zefiro +zeloso +zenite +zumbi diff --git a/src/mnemonics/wordlists/languages/spanish b/src/mnemonics/wordlists/languages/spanish new file mode 100644 index 000000000..d0900c2c7 --- /dev/null +++ b/src/mnemonics/wordlists/languages/spanish @@ -0,0 +1,2048 @@ +รกbaco +abdomen +abeja +abierto +abogado +abono +aborto +abrazo +abrir +abuelo +abuso +acabar +academia +acceso +acciรณn +aceite +acelga +acento +aceptar +รกcido +aclarar +acnรฉ +acoger +acoso +activo +acto +actriz +actuar +acudir +acuerdo +acusar +adicto +admitir +adoptar +adorno +aduana +adulto +aรฉreo +afectar +aficiรณn +afinar +afirmar +รกgil +agitar +agonรญa +agosto +agotar +agregar +agrio +agua +agudo +รกguila +aguja +ahogo +ahorro +aire +aislar +ajedrez +ajeno +ajuste +alacrรกn +alambre +alarma +alba +รกlbum +alcalde +aldea +alegre +alejar +alerta +aleta +alfiler +alga +algodรณn +aliado +aliento +alivio +alma +almeja +almรญbar +altar +alteza +altivo +alto +altura +alumno +alzar +amable +amante +amapola +amargo +amasar +รกmbar +รกmbito +ameno +amigo +amistad +amor +amparo +amplio +ancho +anciano +ancla +andar +andรฉn +anemia +รกngulo +anillo +รกnimo +anรญs +anotar +antena +antiguo +antojo +anual +anular +anuncio +aรฑadir +aรฑejo +aรฑo +apagar +aparato +apetito +apio +aplicar +apodo +aporte +apoyo +aprender +aprobar +apuesta +apuro +arado +araรฑa +arar +รกrbitro +รกrbol +arbusto +archivo +arco +arder +ardilla +arduo +รกrea +รกrido +aries +armonรญa +arnรฉs +aroma +arpa +arpรณn +arreglo +arroz +arruga +arte +artista +asa +asado +asalto +ascenso +asegurar +aseo +asesor +asiento +asilo +asistir +asno +asombro +รกspero +astilla +astro +astuto +asumir +asunto +atajo +ataque +atar +atento +ateo +รกtico +atleta +รกtomo +atraer +atroz +atรบn +audaz +audio +auge +aula +aumento +ausente +autor +aval +avance +avaro +ave +avellana +avena +avestruz +aviรณn +aviso +ayer +ayuda +ayuno +azafrรกn +azar +azote +azรบcar +azufre +azul +baba +babor +bache +bahรญa +baile +bajar +balanza +balcรณn +balde +bambรบ +banco +banda +baรฑo +barba +barco +barniz +barro +bรกscula +bastรณn +basura +batalla +baterรญa +batir +batuta +baรบl +bazar +bebรฉ +bebida +bello +besar +beso +bestia +bicho +bien +bingo +blanco +bloque +blusa +boa +bobina +bobo +boca +bocina +boda +bodega +boina +bola +bolero +bolsa +bomba +bondad +bonito +bono +bonsรกi +borde +borrar +bosque +bote +botรญn +bรณveda +bozal +bravo +brazo +brecha +breve +brillo +brinco +brisa +broca +broma +bronce +brote +bruja +brusco +bruto +buceo +bucle +bueno +buey +bufanda +bufรณn +bรบho +buitre +bulto +burbuja +burla +burro +buscar +butaca +buzรณn +caballo +cabeza +cabina +cabra +cacao +cadรกver +cadena +caer +cafรฉ +caรญda +caimรกn +caja +cajรณn +cal +calamar +calcio +caldo +calidad +calle +calma +calor +calvo +cama +cambio +camello +camino +campo +cรกncer +candil +canela +canguro +canica +canto +caรฑa +caรฑรณn +caoba +caos +capaz +capitรกn +capote +captar +capucha +cara +carbรณn +cรกrcel +careta +carga +cariรฑo +carne +carpeta +carro +carta +casa +casco +casero +caspa +castor +catorce +catre +caudal +causa +cazo +cebolla +ceder +cedro +celda +cรฉlebre +celoso +cรฉlula +cemento +ceniza +centro +cerca +cerdo +cereza +cero +cerrar +certeza +cรฉsped +cetro +chacal +chaleco +champรบ +chancla +chapa +charla +chico +chiste +chivo +choque +choza +chuleta +chupar +ciclรณn +ciego +cielo +cien +cierto +cifra +cigarro +cima +cinco +cine +cinta +ciprรฉs +circo +ciruela +cisne +cita +ciudad +clamor +clan +claro +clase +clave +cliente +clima +clรญnica +cobre +cocciรณn +cochino +cocina +coco +cรณdigo +codo +cofre +coger +cohete +cojรญn +cojo +cola +colcha +colegio +colgar +colina +collar +colmo +columna +combate +comer +comida +cรณmodo +compra +conde +conejo +conga +conocer +consejo +contar +copa +copia +corazรณn +corbata +corcho +cordรณn +corona +correr +coser +cosmos +costa +crรกneo +crรกter +crear +crecer +creรญdo +crema +crรญa +crimen +cripta +crisis +cromo +crรณnica +croqueta +crudo +cruz +cuadro +cuarto +cuatro +cubo +cubrir +cuchara +cuello +cuento +cuerda +cuesta +cueva +cuidar +culebra +culpa +culto +cumbre +cumplir +cuna +cuneta +cuota +cupรณn +cรบpula +curar +curioso +curso +curva +cutis +dama +danza +dar +dardo +dรกtil +deber +dรฉbil +dรฉcada +decir +dedo +defensa +definir +dejar +delfรญn +delgado +delito +demora +denso +dental +deporte +derecho +derrota +desayuno +deseo +desfile +desnudo +destino +desvรญo +detalle +detener +deuda +dรญa +diablo +diadema +diamante +diana +diario +dibujo +dictar +diente +dieta +diez +difรญcil +digno +dilema +diluir +dinero +directo +dirigir +disco +diseรฑo +disfraz +diva +divino +doble +doce +dolor +domingo +don +donar +dorado +dormir +dorso +dos +dosis +dragรณn +droga +ducha +duda +duelo +dueรฑo +dulce +dรบo +duque +durar +dureza +duro +รฉbano +ebrio +echar +eco +ecuador +edad +ediciรณn +edificio +editor +educar +efecto +eficaz +eje +ejemplo +elefante +elegir +elemento +elevar +elipse +รฉlite +elixir +elogio +eludir +embudo +emitir +emociรณn +empate +empeรฑo +empleo +empresa +enano +encargo +enchufe +encรญa +enemigo +enero +enfado +enfermo +engaรฑo +enigma +enlace +enorme +enredo +ensayo +enseรฑar +entero +entrar +envase +envรญo +รฉpoca +equipo +erizo +escala +escena +escolar +escribir +escudo +esencia +esfera +esfuerzo +espada +espejo +espรญa +esposa +espuma +esquรญ +estar +este +estilo +estufa +etapa +eterno +รฉtica +etnia +evadir +evaluar +evento +evitar +exacto +examen +exceso +excusa +exento +exigir +exilio +existir +รฉxito +experto +explicar +exponer +extremo +fรกbrica +fรกbula +fachada +fรกcil +factor +faena +faja +falda +fallo +falso +faltar +fama +familia +famoso +faraรณn +farmacia +farol +farsa +fase +fatiga +fauna +favor +fax +febrero +fecha +feliz +feo +feria +feroz +fรฉrtil +fervor +festรญn +fiable +fianza +fiar +fibra +ficciรณn +ficha +fideo +fiebre +fiel +fiera +fiesta +figura +fijar +fijo +fila +filete +filial +filtro +fin +finca +fingir +finito +firma +flaco +flauta +flecha +flor +flota +fluir +flujo +flรบor +fobia +foca +fogata +fogรณn +folio +folleto +fondo +forma +forro +fortuna +forzar +fosa +foto +fracaso +frรกgil +franja +frase +fraude +freรญr +freno +fresa +frรญo +frito +fruta +fuego +fuente +fuerza +fuga +fumar +funciรณn +funda +furgรณn +furia +fusil +fรบtbol +futuro +gacela +gafas +gaita +gajo +gala +galerรญa +gallo +gamba +ganar +gancho +ganga +ganso +garaje +garza +gasolina +gastar +gato +gavilรกn +gemelo +gemir +gen +gรฉnero +genio +gente +geranio +gerente +germen +gesto +gigante +gimnasio +girar +giro +glaciar +globo +gloria +gol +golfo +goloso +golpe +goma +gordo +gorila +gorra +gota +goteo +gozar +grada +grรกfico +grano +grasa +gratis +grave +grieta +grillo +gripe +gris +grito +grosor +grรบa +grueso +grumo +grupo +guante +guapo +guardia +guerra +guรญa +guiรฑo +guion +guiso +guitarra +gusano +gustar +haber +hรกbil +hablar +hacer +hacha +hada +hallar +hamaca +harina +haz +hazaรฑa +hebilla +hebra +hecho +helado +helio +hembra +herir +hermano +hรฉroe +hervir +hielo +hierro +hรญgado +higiene +hijo +himno +historia +hocico +hogar +hoguera +hoja +hombre +hongo +honor +honra +hora +hormiga +horno +hostil +hoyo +hueco +huelga +huerta +hueso +huevo +huida +huir +humano +hรบmedo +humilde +humo +hundir +huracรกn +hurto +icono +ideal +idioma +รญdolo +iglesia +iglรบ +igual +ilegal +ilusiรณn +imagen +imรกn +imitar +impar +imperio +imponer +impulso +incapaz +รญndice +inerte +infiel +informe +ingenio +inicio +inmenso +inmune +innato +insecto +instante +interรฉs +รญntimo +intuir +inรบtil +invierno +ira +iris +ironรญa +isla +islote +jabalรญ +jabรณn +jamรณn +jarabe +jardรญn +jarra +jaula +jazmรญn +jefe +jeringa +jinete +jornada +joroba +joven +joya +juerga +jueves +juez +jugador +jugo +juguete +juicio +junco +jungla +junio +juntar +jรบpiter +jurar +justo +juvenil +juzgar +kilo +koala +labio +lacio +lacra +lado +ladrรณn +lagarto +lรกgrima +laguna +laico +lamer +lรกmina +lรกmpara +lana +lancha +langosta +lanza +lรกpiz +largo +larva +lรกstima +lata +lรกtex +latir +laurel +lavar +lazo +leal +lecciรณn +leche +lector +leer +legiรณn +legumbre +lejano +lengua +lento +leรฑa +leรณn +leopardo +lesiรณn +letal +letra +leve +leyenda +libertad +libro +licor +lรญder +lidiar +lienzo +liga +ligero +lima +lรญmite +limรณn +limpio +lince +lindo +lรญnea +lingote +lino +linterna +lรญquido +liso +lista +litera +litio +litro +llaga +llama +llanto +llave +llegar +llenar +llevar +llorar +llover +lluvia +lobo +lociรณn +loco +locura +lรณgica +logro +lombriz +lomo +lonja +lote +lucha +lucir +lugar +lujo +luna +lunes +lupa +lustro +luto +luz +maceta +macho +madera +madre +maduro +maestro +mafia +magia +mago +maรญz +maldad +maleta +malla +malo +mamรก +mambo +mamut +manco +mando +manejar +manga +maniquรญ +manjar +mano +manso +manta +maรฑana +mapa +mรกquina +mar +marco +marea +marfil +margen +marido +mรกrmol +marrรณn +martes +marzo +masa +mรกscara +masivo +matar +materia +matiz +matriz +mรกximo +mayor +mazorca +mecha +medalla +medio +mรฉdula +mejilla +mejor +melena +melรณn +memoria +menor +mensaje +mente +menรบ +mercado +merengue +mรฉrito +mes +mesรณn +meta +meter +mรฉtodo +metro +mezcla +miedo +miel +miembro +miga +mil +milagro +militar +millรณn +mimo +mina +minero +mรญnimo +minuto +miope +mirar +misa +miseria +misil +mismo +mitad +mito +mochila +mociรณn +moda +modelo +moho +mojar +molde +moler +molino +momento +momia +monarca +moneda +monja +monto +moรฑo +morada +morder +moreno +morir +morro +morsa +mortal +mosca +mostrar +motivo +mover +mรณvil +mozo +mucho +mudar +mueble +muela +muerte +muestra +mugre +mujer +mula +muleta +multa +mundo +muรฑeca +mural +muro +mรบsculo +museo +musgo +mรบsica +muslo +nรกcar +naciรณn +nadar +naipe +naranja +nariz +narrar +nasal +natal +nativo +natural +nรกusea +naval +nave +navidad +necio +nรฉctar +negar +negocio +negro +neรณn +nervio +neto +neutro +nevar +nevera +nicho +nido +niebla +nieto +niรฑez +niรฑo +nรญtido +nivel +nobleza +noche +nรณmina +noria +norma +norte +nota +noticia +novato +novela +novio +nube +nuca +nรบcleo +nudillo +nudo +nuera +nueve +nuez +nulo +nรบmero +nutria +oasis +obeso +obispo +objeto +obra +obrero +observar +obtener +obvio +oca +ocaso +ocรฉano +ochenta +ocho +ocio +ocre +octavo +octubre +oculto +ocupar +ocurrir +odiar +odio +odisea +oeste +ofensa +oferta +oficio +ofrecer +ogro +oรญdo +oรญr +ojo +ola +oleada +olfato +olivo +olla +olmo +olor +olvido +ombligo +onda +onza +opaco +opciรณn +รณpera +opinar +oponer +optar +รณptica +opuesto +oraciรณn +orador +oral +รณrbita +orca +orden +oreja +รณrgano +orgรญa +orgullo +oriente +origen +orilla +oro +orquesta +oruga +osadรญa +oscuro +osezno +oso +ostra +otoรฑo +otro +oveja +รณvulo +รณxido +oxรญgeno +oyente +ozono +pacto +padre +paella +pรกgina +pago +paรญs +pรกjaro +palabra +palco +paleta +pรกlido +palma +paloma +palpar +pan +panal +pรกnico +pantera +paรฑuelo +papรก +papel +papilla +paquete +parar +parcela +pared +parir +paro +pรกrpado +parque +pรกrrafo +parte +pasar +paseo +pasiรณn +paso +pasta +pata +patio +patria +pausa +pauta +pavo +payaso +peatรณn +pecado +pecera +pecho +pedal +pedir +pegar +peine +pelar +peldaรฑo +pelea +peligro +pellejo +pelo +peluca +pena +pensar +peรฑรณn +peรณn +peor +pepino +pequeรฑo +pera +percha +perder +pereza +perfil +perico +perla +permiso +perro +persona +pesa +pesca +pรฉsimo +pestaรฑa +pรฉtalo +petrรณleo +pez +pezuรฑa +picar +pichรณn +pie +piedra +pierna +pieza +pijama +pilar +piloto +pimienta +pino +pintor +pinza +piรฑa +piojo +pipa +pirata +pisar +piscina +piso +pista +pitรณn +pizca +placa +plan +plata +playa +plaza +pleito +pleno +plomo +pluma +plural +pobre +poco +poder +podio +poema +poesรญa +poeta +polen +policรญa +pollo +polvo +pomada +pomelo +pomo +pompa +poner +porciรณn +portal +posada +poseer +posible +poste +potencia +potro +pozo +prado +precoz +pregunta +premio +prensa +preso +previo +primo +prรญncipe +prisiรณn +privar +proa +probar +proceso +producto +proeza +profesor +programa +prole +promesa +pronto +propio +prรณximo +prueba +pรบblico +puchero +pudor +pueblo +puerta +puesto +pulga +pulir +pulmรณn +pulpo +pulso +puma +punto +puรฑal +puรฑo +pupa +pupila +purรฉ +quedar +queja +quemar +querer +queso +quieto +quรญmica +quince +quitar +rรกbano +rabia +rabo +raciรณn +radical +raรญz +rama +rampa +rancho +rango +rapaz +rรกpido +rapto +rasgo +raspa +rato +rayo +raza +razรณn +reacciรณn +realidad +rebaรฑo +rebote +recaer +receta +rechazo +recoger +recreo +recto +recurso +red +redondo +reducir +reflejo +reforma +refrรกn +refugio +regalo +regir +regla +regreso +rehรฉn +reino +reรญr +reja +relato +relevo +relieve +relleno +reloj +remar +remedio +remo +rencor +rendir +renta +reparto +repetir +reposo +reptil +res +rescate +resina +respeto +resto +resumen +retiro +retorno +retrato +reunir +revรฉs +revista +rey +rezar +rico +riego +rienda +riesgo +rifa +rรญgido +rigor +rincรณn +riรฑรณn +rรญo +riqueza +risa +ritmo +rito +rizo +roble +roce +rociar +rodar +rodeo +rodilla +roer +rojizo +rojo +romero +romper +ron +ronco +ronda +ropa +ropero +rosa +rosca +rostro +rotar +rubรญ +rubor +rudo +rueda +rugir +ruido +ruina +ruleta +rulo +rumbo +rumor +ruptura +ruta +rutina +sรกbado +saber +sabio +sable +sacar +sagaz +sagrado +sala +saldo +salero +salir +salmรณn +salรณn +salsa +salto +salud +salvar +samba +sanciรณn +sandรญa +sanear +sangre +sanidad +sano +santo +sapo +saque +sardina +sartรฉn +sastre +satรกn +sauna +saxofรณn +secciรณn +seco +secreto +secta +sed +seguir +seis +sello +selva +semana +semilla +senda +sensor +seรฑal +seรฑor +separar +sepia +sequรญa +ser +serie +sermรณn +servir +sesenta +sesiรณn +seta +setenta +severo +sexo +sexto +sidra +siesta +siete +siglo +signo +sรญlaba +silbar +silencio +silla +sรญmbolo +simio +sirena +sistema +sitio +situar +sobre +socio +sodio +sol +solapa +soldado +soledad +sรณlido +soltar +soluciรณn +sombra +sondeo +sonido +sonoro +sonrisa +sopa +soplar +soporte +sordo +sorpresa +sorteo +sostรฉn +sรณtano +suave +subir +suceso +sudor +suegra +suelo +sueรฑo +suerte +sufrir +sujeto +sultรกn +sumar +superar +suplir +suponer +supremo +sur +surco +sureรฑo +surgir +susto +sutil +tabaco +tabique +tabla +tabรบ +taco +tacto +tajo +talar +talco +talento +talla +talรณn +tamaรฑo +tambor +tango +tanque +tapa +tapete +tapia +tapรณn +taquilla +tarde +tarea +tarifa +tarjeta +tarot +tarro +tarta +tatuaje +tauro +taza +tazรณn +teatro +techo +tecla +tรฉcnica +tejado +tejer +tejido +tela +telรฉfono +tema +temor +templo +tenaz +tender +tener +tenis +tenso +teorรญa +terapia +terco +tรฉrmino +ternura +terror +tesis +tesoro +testigo +tetera +texto +tez +tibio +tiburรณn +tiempo +tienda +tierra +tieso +tigre +tijera +tilde +timbre +tรญmido +timo +tinta +tรญo +tรญpico +tipo +tira +tirรณn +titรกn +tรญtere +tรญtulo +tiza +toalla +tobillo +tocar +tocino +todo +toga +toldo +tomar +tono +tonto +topar +tope +toque +tรณrax +torero +tormenta +torneo +toro +torpedo +torre +torso +tortuga +tos +tosco +toser +tรณxico +trabajo +tractor +traer +trรกfico +trago +traje +tramo +trance +trato +trauma +trazar +trรฉbol +tregua +treinta +tren +trepar +tres +tribu +trigo +tripa +triste +triunfo +trofeo +trompa +tronco +tropa +trote +trozo +truco +trueno +trufa +tuberรญa +tubo +tuerto +tumba +tumor +tรบnel +tรบnica +turbina +turismo +turno +tutor +ubicar +รบlcera +umbral +unidad +unir +universo +uno +untar +uรฑa +urbano +urbe +urgente +urna +usar +usuario +รบtil +utopรญa +uva +vaca +vacรญo +vacuna +vagar +vago +vaina +vajilla +vale +vรกlido +valle +valor +vรกlvula +vampiro +vara +variar +varรณn +vaso +vecino +vector +vehรญculo +veinte +vejez +vela +velero +veloz +vena +vencer +venda +veneno +vengar +venir +venta +venus +ver +verano +verbo +verde +vereda +verja +verso +verter +vรญa +viaje +vibrar +vicio +vรญctima +vida +vรญdeo +vidrio +viejo +viernes +vigor +vil +villa +vinagre +vino +viรฑedo +violรญn +viral +virgo +virtud +visor +vรญspera +vista +vitamina +viudo +vivaz +vivero +vivir +vivo +volcรกn +volumen +volver +voraz +votar +voto +voz +vuelo +vulgar +yacer +yate +yegua +yema +yerno +yeso +yodo +yoga +yogur +zafiro +zanja +zapato +zarza +zona +zorro +zumo +zurdo -- cgit v1.2.3 From f31adbc977939036d51d59e8ddb5cdf2c61ecd97 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sat, 27 Sep 2014 18:20:15 +0530 Subject: Doxygen comments in --- src/mnemonics/electrum-words.cpp | 70 ++++++++++++++++++++++++++++++++-------- src/mnemonics/electrum-words.h | 43 +++++++++++++++++++++++- 2 files changed, 98 insertions(+), 15 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 897ab34e7..718bbfd9a 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -26,7 +26,11 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/* +/*! + * \file electrum-words.cpp + * + * \brief Mnemonic seed generation and wallet restoration from them. + * * This file and its header file are for translating Electrum-style word lists * into their equivalent byte representations for cross-compatibility with * that method of "backing up" one's wallet keys. @@ -56,11 +60,20 @@ namespace const std::string LANGUAGES_DIRECTORY = "languages"; const std::string OLD_WORD_FILE = "old-word-list"; + /*! + * Tells if the module hasn't been initialized with a word list file. + * \return Whether the module hasn't been initialized with a word list file. + */ bool is_uninitialized() { return num_words == 0 ? true : false; } + /*! + * Create word list map and array data structres for use during inter-conversion between + * words and secret key. + * \param word_file Path to the word list file from pwd. + */ void create_data_structures(const std::string &word_file) { words_array.clear(); @@ -82,6 +95,11 @@ namespace input_stream.close(); } + /*! + * Tells if all the words passed in wlist was present in current word list file. + * \param wlist List of words to match. + * \return Whether they were all present or not. + */ bool word_list_file_match(const std::vector &wlist) { for (std::vector::const_iterator it = wlist.begin(); it != wlist.end(); it++) @@ -95,15 +113,28 @@ namespace } } +/*! + * \namespace crypto + */ namespace crypto { + /*! + * \namespace ElectrumWords + * + * \brief Mnemonic seed word generation and wallet restoration. + */ namespace ElectrumWords { - + /*! + * \brief Called to initialize it work with a word list file. + * \param language Language of the word list file. + * \param old_word_list Whether it is to use the old style word list file. + */ void init(const std::string &language, bool old_word_list) { if (old_word_list) { + // Use the old word list file if told to. create_data_structures(WORD_LISTS_DIRECTORY + '/' + OLD_WORD_FILE); is_old_style_mnemonics = true; } @@ -119,6 +150,10 @@ namespace crypto } } + /*! + * \brief If the module is currenly using an old style word list. + * \return Whether it is currenly using an old style word list. + */ bool get_is_old_style_mnemonics() { if (is_uninitialized()) @@ -127,12 +162,12 @@ namespace crypto } return is_old_style_mnemonics; } - /* convert words to bytes, 3 words -> 4 bytes - * returns: - * false if not a multiple of 3 words, or if a words is not in the - * words list - * - * true otherwise + + /*! + * \brief Converts seed words to bytes (secret key). + * \param words String containing the words separated by spaces. + * \param dst To put the secret key restored from the words. + * \return false if not a multiple of 3 words, or if word is not in the words list */ bool words_to_bytes(const std::string& words, crypto::secret_key& dst) { @@ -143,6 +178,7 @@ namespace crypto std::vector languages; get_language_list(languages); + // Try to find a word list file that contains all the words in the word list. std::vector::iterator it; for (it = languages.begin(); it != languages.end(); it++) { @@ -152,6 +188,7 @@ namespace crypto break; } } + // If no such file was found, see if the old style word list file has them all. if (it == languages.end()) { init("", true); @@ -192,10 +229,11 @@ namespace crypto return true; } - /* convert bytes to words, 4 bytes-> 3 words - * returns: - * false if wrong number of bytes (shouldn't be possible) - * true otherwise + /*! + * \brief Converts bytes (secret key) to seed words. + * \param src Secret key + * \param words Space separated words get copied here. + * \return Whether it was successful or not. Unsuccessful if wrong key size. */ bool bytes_to_words(const crypto::secret_key& src, std::string& words) { @@ -229,6 +267,10 @@ namespace crypto return false; } + /*! + * \brief Gets a list of seed languages that are supported. + * \param languages The list gets added to this. + */ void get_language_list(std::vector &languages) { languages.clear(); @@ -245,6 +287,6 @@ namespace crypto } } - } // namespace ElectrumWords + } -} // namespace crypto +} diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index 73db652d7..687ac76cf 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -26,7 +26,11 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -/* +/*! + * \file electrum-words.h + * + * \brief Mnemonic seed generation and wallet restoration from them. + * * This file and its cpp file are for translating Electrum-style word lists * into their equivalent byte representations for cross-compatibility with * that method of "backing up" one's wallet keys. @@ -37,14 +41,51 @@ #include #include "crypto/crypto.h" // for declaration of crypto::secret_key +/*! + * \namespace crypto + */ namespace crypto { + /*! + * \namespace ElectrumWords + * + * \brief Mnemonic seed word generation and wallet restoration. + */ namespace ElectrumWords { + /*! + * \brief Called to initialize it work with a word list file. + * \param language Language of the word list file. + * \param old_word_list Whether it is to use the old style word list file. + */ void init(const std::string &language, bool old_word_list=false); + + /*! + * \brief Converts seed words to bytes (secret key). + * \param words String containing the words separated by spaces. + * \param dst To put the secret key restored from the words. + * \return false if not a multiple of 3 words, or if word is not in the words list + */ bool words_to_bytes(const std::string& words, crypto::secret_key& dst); + + /*! + * \brief Converts bytes (secret key) to seed words. + * \param src Secret key + * \param words Space separated words get copied here. + * \return Whether it was successful or not. Unsuccessful if wrong key size. + */ bool bytes_to_words(const crypto::secret_key& src, std::string& words); + + /*! + * \brief Gets a list of seed languages that are supported. + * \param languages The list gets added to this. + */ void get_language_list(std::vector &languages); + + /*! + * \brief If the module is currenly using an old style word list. + * \return Whether it is currenly using an old style word list. + */ bool get_is_old_style_mnemonics(); } } -- cgit v1.2.3 From 8f587ba1c8044ed6face883d8f50cd43e27484e3 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sun, 28 Sep 2014 02:29:25 +0530 Subject: CRC Checksum for word seed. Gives a new 25 word seed with checksum if one without checksum is passed. Doxygen comment fix. --- src/mnemonics/electrum-words.cpp | 109 +++++++++++++++++++++++++++++---------- src/mnemonics/electrum-words.h | 25 ++++++--- 2 files changed, 99 insertions(+), 35 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 718bbfd9a..d0d90ed8a 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -47,21 +47,25 @@ #include "mnemonics/electrum-words.h" #include #include +#include +#include namespace { - int num_words = 0; + int num_words = 0; + const int seed_length = 24; + std::map words_map; std::vector words_array; - bool is_old_style_mnemonics = false; + bool is_old_style_word_list = false; const std::string WORD_LISTS_DIRECTORY = "wordlists"; const std::string LANGUAGES_DIRECTORY = "languages"; const std::string OLD_WORD_FILE = "old-word-list"; /*! - * Tells if the module hasn't been initialized with a word list file. + * \brief Tells if the module hasn't been initialized with a word list file. * \return Whether the module hasn't been initialized with a word list file. */ bool is_uninitialized() @@ -70,7 +74,7 @@ namespace } /*! - * Create word list map and array data structres for use during inter-conversion between + * \brief Create word list map and array data structres for use during inter-conversion between * words and secret key. * \param word_file Path to the word list file from pwd. */ @@ -96,7 +100,7 @@ namespace } /*! - * Tells if all the words passed in wlist was present in current word list file. + * \brief Tells if all the words passed in wlist was present in current word list file. * \param wlist List of words to match. * \return Whether they were all present or not. */ @@ -111,17 +115,31 @@ namespace } return true; } + + /*! + * \brief Creates a checksum index in the word list array on the list of words. + * \param words Space separated list of words + * \return Checksum index + */ + uint32_t create_checksum_index(const std::string &words) + { + boost::crc_32_type result; + result.process_bytes(words.data(), words.length()); + return result.checksum() % seed_length; + } } /*! * \namespace crypto + * + * \brief crypto namespace. */ namespace crypto { /*! - * \namespace ElectrumWords + * \namespace crypto::ElectrumWords * - * \brief Mnemonic seed word generation and wallet restoration. + * \brief Mnemonic seed word generation and wallet restoration helper functions. */ namespace ElectrumWords { @@ -136,12 +154,12 @@ namespace crypto { // Use the old word list file if told to. create_data_structures(WORD_LISTS_DIRECTORY + '/' + OLD_WORD_FILE); - is_old_style_mnemonics = true; + is_old_style_word_list = true; } else { create_data_structures(WORD_LISTS_DIRECTORY + '/' + LANGUAGES_DIRECTORY + '/' + language); - is_old_style_mnemonics = false; + is_old_style_word_list = false; } if (num_words == 0) { @@ -150,19 +168,6 @@ namespace crypto } } - /*! - * \brief If the module is currenly using an old style word list. - * \return Whether it is currenly using an old style word list. - */ - bool get_is_old_style_mnemonics() - { - if (is_uninitialized()) - { - throw std::runtime_error("ElectrumWords hasn't been initialized with a word list yet."); - } - return is_old_style_mnemonics; - } - /*! * \brief Converts seed words to bytes (secret key). * \param words String containing the words separated by spaces. @@ -175,10 +180,25 @@ namespace crypto boost::split(wlist, words, boost::is_any_of(" ")); + // If it is seed with a checksum. + if (wlist.size() == seed_length + 1) + { + // The last word is the checksum. + std::string last_word = wlist.back(); + wlist.pop_back(); + + std::string checksum = wlist[create_checksum_index(boost::algorithm::join(wlist, " "))]; + + if (checksum != last_word) + { + // Checksum fail + return false; + } + } + // Try to find a word list file that contains all the words in the word list. std::vector languages; get_language_list(languages); - // Try to find a word list file that contains all the words in the word list. std::vector::iterator it; for (it = languages.begin(); it != languages.end(); it++) { @@ -232,8 +252,8 @@ namespace crypto /*! * \brief Converts bytes (secret key) to seed words. * \param src Secret key - * \param words Space separated words get copied here. - * \return Whether it was successful or not. Unsuccessful if wrong key size. + * \param words Space delimited concatenated words get written here. + * \return true if successful false if not. Unsuccessful if wrong key size. */ bool bytes_to_words(const crypto::secret_key& src, std::string& words) { @@ -241,9 +261,12 @@ namespace crypto { init("", true); } + + // To store the words for random access to add the checksum word later. + std::vector words_store; int n = num_words; - if (sizeof(src.data) % 4 != 0) return false; + if (sizeof(src.data) % 4 != 0 || sizeof(src.data) == 0) return false; // 8 bytes -> 3 words. 8 digits base 16 -> 3 digits base 1626 for (unsigned int i=0; i < sizeof(src.data)/4; i++, words += ' ') @@ -263,13 +286,20 @@ namespace crypto words += words_array[w2]; words += ' '; words += words_array[w3]; + + words_store.push_back(words_array[w1]); + words_store.push_back(words_array[w2]); + words_store.push_back(words_array[w3]); } + + words.pop_back(); + words += (' ' + words_store[create_checksum_index(words)]); return false; } /*! * \brief Gets a list of seed languages that are supported. - * \param languages The list gets added to this. + * \param languages The list of languages gets added to this vector. */ void get_language_list(std::vector &languages) { @@ -287,6 +317,31 @@ namespace crypto } } + /*! + * \brief Tells if the module is currenly using an old style word list. + * \return true if it is currenly using an old style word list false if not. + */ + bool get_is_old_style_word_list() + { + if (is_uninitialized()) + { + throw std::runtime_error("ElectrumWords hasn't been initialized with a word list yet."); + } + return is_old_style_word_list; + } + + /*! + * \brief Tells if the seed passed is an old style seed or not. + * \param seed The seed to check (a space delimited concatenated word list) + * \return true if the seed passed is a old style seed false if not. + */ + bool get_is_old_style_seed(const std::string &seed) + { + std::vector wlist; + boost::split(wlist, seed, boost::is_any_of(" ")); + return wlist.size() != (seed_length + 1); + } + } } diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index 687ac76cf..ffe2fdefb 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -43,18 +43,20 @@ /*! * \namespace crypto + * + * \brief crypto namespace. */ namespace crypto { /*! - * \namespace ElectrumWords + * \namespace crypto::ElectrumWords * - * \brief Mnemonic seed word generation and wallet restoration. + * \brief Mnemonic seed word generation and wallet restoration helper functions. */ namespace ElectrumWords { /*! - * \brief Called to initialize it work with a word list file. + * \brief Called to initialize it to work with a word list file. * \param language Language of the word list file. * \param old_word_list Whether it is to use the old style word list file. */ @@ -71,21 +73,28 @@ namespace crypto /*! * \brief Converts bytes (secret key) to seed words. * \param src Secret key - * \param words Space separated words get copied here. - * \return Whether it was successful or not. Unsuccessful if wrong key size. + * \param words Space delimited concatenated words get written here. + * \return true if successful false if not. Unsuccessful if wrong key size. */ bool bytes_to_words(const crypto::secret_key& src, std::string& words); /*! * \brief Gets a list of seed languages that are supported. - * \param languages The list gets added to this. + * \param languages The list of languages gets added to this vector. */ void get_language_list(std::vector &languages); /*! * \brief If the module is currenly using an old style word list. - * \return Whether it is currenly using an old style word list. + * \return true if it is currenly using an old style word list false if not. + */ + bool get_is_old_style_word_list(); + + /*! + * \brief Tells if the seed passed is an old style seed or not. + * \param seed The seed to check (a space delimited concatenated word list) + * \return true if the seed passed is a old style seed false if not. */ - bool get_is_old_style_mnemonics(); + bool get_is_old_style_seed(const std::string &seed); } } -- cgit v1.2.3 From 230b80a5db7e2353b5f91ccca2933309b242810e Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sun, 28 Sep 2014 13:48:52 +0530 Subject: Minor code refactor and comment changes --- src/mnemonics/electrum-words.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index d0d90ed8a..c31344f61 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -66,7 +66,7 @@ namespace /*! * \brief Tells if the module hasn't been initialized with a word list file. - * \return Whether the module hasn't been initialized with a word list file. + * \return true if the module hasn't been initialized with a word list file false otherwise. */ bool is_uninitialized() { @@ -87,7 +87,7 @@ namespace input_stream.open(word_file.c_str(), std::ifstream::in); if (!input_stream) - throw std::runtime_error(std::string("Word list file couldn't be opened.")); + throw std::runtime_error("Word list file couldn't be opened."); std::string word; while (input_stream >> word) @@ -102,7 +102,7 @@ namespace /*! * \brief Tells if all the words passed in wlist was present in current word list file. * \param wlist List of words to match. - * \return Whether they were all present or not. + * \return true if all the words were present false if not. */ bool word_list_file_match(const std::vector &wlist) { @@ -146,7 +146,7 @@ namespace crypto /*! * \brief Called to initialize it work with a word list file. * \param language Language of the word list file. - * \param old_word_list Whether it is to use the old style word list file. + * \param old_word_list true it is to use the old style word list file false if not. */ void init(const std::string &language, bool old_word_list) { -- cgit v1.2.3 From 473c9644a9afd36f98efa904a8feb73286e988f0 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sun, 28 Sep 2014 13:49:47 +0530 Subject: Default to new style English seed --- src/mnemonics/electrum-words.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index c31344f61..9e1cc9ec8 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -259,7 +259,7 @@ namespace crypto { if (is_uninitialized()) { - init("", true); + init("english", true); } // To store the words for random access to add the checksum word later. -- cgit v1.2.3 From 2b60646c9bcf8519bbe4bbc5bb433d2a0d1141a7 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sun, 28 Sep 2014 14:10:23 +0530 Subject: Minor comment changes and code clean-up --- src/mnemonics/electrum-words.cpp | 2 +- src/mnemonics/electrum-words.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 9e1cc9ec8..d1fae84cb 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -299,7 +299,7 @@ namespace crypto /*! * \brief Gets a list of seed languages that are supported. - * \param languages The list of languages gets added to this vector. + * \param languages The vector is set to the list of languages. */ void get_language_list(std::vector &languages) { diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index ffe2fdefb..c10e216e8 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -80,7 +80,7 @@ namespace crypto /*! * \brief Gets a list of seed languages that are supported. - * \param languages The list of languages gets added to this vector. + * \param languages The vector is set to the list of languages. */ void get_language_list(std::vector &languages); -- cgit v1.2.3 From 4cbf8d4243f4ed7d085725090a76e333dc44b8b7 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Tue, 30 Sep 2014 23:30:27 +0530 Subject: Is forgiving of spelling mistakes beyond the 1st 4 characters. --- src/mnemonics/electrum-words.cpp | 97 ++++++++++++++++++++++++++++------------ src/mnemonics/electrum-words.h | 7 +-- 2 files changed, 72 insertions(+), 32 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index d1fae84cb..d48df1436 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -64,6 +64,7 @@ namespace const std::string LANGUAGES_DIRECTORY = "languages"; const std::string OLD_WORD_FILE = "old-word-list"; + const int unique_prefix_length = 4; /*! * \brief Tells if the module hasn't been initialized with a word list file. * \return true if the module hasn't been initialized with a word list file false otherwise. @@ -76,9 +77,10 @@ namespace /*! * \brief Create word list map and array data structres for use during inter-conversion between * words and secret key. - * \param word_file Path to the word list file from pwd. + * \param word_file Path to the word list file from pwd. + * \param has_checksum True if checksum was supplied false if not. */ - void create_data_structures(const std::string &word_file) + void create_data_structures(const std::string &word_file, bool has_checksum) { words_array.clear(); words_map.clear(); @@ -93,7 +95,15 @@ namespace while (input_stream >> word) { words_array.push_back(word); - words_map[word] = num_words; + if (has_checksum) + { + // Only if checksum was passed should we stick to just 4 char checks to be lenient about typos. + words_map[word.substr(0, unique_prefix_length)] = num_words; + } + else + { + words_map[word] = num_words; + } num_words++; } input_stream.close(); @@ -101,16 +111,27 @@ namespace /*! * \brief Tells if all the words passed in wlist was present in current word list file. - * \param wlist List of words to match. - * \return true if all the words were present false if not. + * \param wlist List of words to match. + * \param has_checksum If word list passed checksum test, we need to only do a 4 char check. + * \return true if all the words were present false if not. */ - bool word_list_file_match(const std::vector &wlist) + bool word_list_file_match(const std::vector &wlist, bool has_checksum) { for (std::vector::const_iterator it = wlist.begin(); it != wlist.end(); it++) { - if (words_map.count(*it) == 0) + if (has_checksum) + { + if (words_map.count(it->substr(0, unique_prefix_length)) == 0) + { + return false; + } + } + else { - return false; + if (words_map.count(*it) == 0) + { + return false; + } } } return true; @@ -118,13 +139,19 @@ namespace /*! * \brief Creates a checksum index in the word list array on the list of words. - * \param words Space separated list of words - * \return Checksum index + * \param word_list Vector of words + * \return Checksum index */ - uint32_t create_checksum_index(const std::string &words) + uint32_t create_checksum_index(const std::vector &word_list) { + std::string four_char_words = ""; + + for (std::vector::const_iterator it = word_list.begin(); it != word_list.end(); it++) + { + four_char_words += it->substr(0, unique_prefix_length); + } boost::crc_32_type result; - result.process_bytes(words.data(), words.length()); + result.process_bytes(four_char_words.data(), four_char_words.length()); return result.checksum() % seed_length; } } @@ -144,21 +171,22 @@ namespace crypto namespace ElectrumWords { /*! - * \brief Called to initialize it work with a word list file. - * \param language Language of the word list file. - * \param old_word_list true it is to use the old style word list file false if not. + * \brief Called to initialize it to work with a word list file. + * \param language Language of the word list file. + * \param has_checksum True if the checksum was passed false if not. + * \param old_word_list true it is to use the old style word list file false if not. */ - void init(const std::string &language, bool old_word_list) + void init(const std::string &language, bool has_checksum, bool old_word_list) { if (old_word_list) { // Use the old word list file if told to. - create_data_structures(WORD_LISTS_DIRECTORY + '/' + OLD_WORD_FILE); + create_data_structures(WORD_LISTS_DIRECTORY + '/' + OLD_WORD_FILE, has_checksum); is_old_style_word_list = true; } else { - create_data_structures(WORD_LISTS_DIRECTORY + '/' + LANGUAGES_DIRECTORY + '/' + language); + create_data_structures(WORD_LISTS_DIRECTORY + '/' + LANGUAGES_DIRECTORY + '/' + language, has_checksum); is_old_style_word_list = false; } if (num_words == 0) @@ -181,15 +209,17 @@ namespace crypto boost::split(wlist, words, boost::is_any_of(" ")); // If it is seed with a checksum. - if (wlist.size() == seed_length + 1) + bool has_checksum = (wlist.size() == seed_length + 1); + + if (has_checksum) { // The last word is the checksum. std::string last_word = wlist.back(); wlist.pop_back(); - std::string checksum = wlist[create_checksum_index(boost::algorithm::join(wlist, " "))]; + std::string checksum = wlist[create_checksum_index(wlist)]; - if (checksum != last_word) + if (checksum.substr(0, unique_prefix_length) != last_word.substr(0, unique_prefix_length)) { // Checksum fail return false; @@ -202,8 +232,8 @@ namespace crypto std::vector::iterator it; for (it = languages.begin(); it != languages.end(); it++) { - init(*it); - if (word_list_file_match(wlist)) + init(*it, has_checksum); + if (word_list_file_match(wlist, has_checksum)) { break; } @@ -211,8 +241,8 @@ namespace crypto // If no such file was found, see if the old style word list file has them all. if (it == languages.end()) { - init("", true); - if (!word_list_file_match(wlist)) + init("", has_checksum, true); + if (!word_list_file_match(wlist, has_checksum)) { return false; } @@ -227,9 +257,18 @@ namespace crypto uint32_t val; uint32_t w1, w2, w3; - w1 = words_map.at(wlist[i*3]); - w2 = words_map.at(wlist[i*3 + 1]); - w3 = words_map.at(wlist[i*3 + 2]); + if (has_checksum) + { + w1 = words_map.at(wlist[i*3].substr(0, unique_prefix_length)); + w2 = words_map.at(wlist[i*3 + 1].substr(0, unique_prefix_length)); + w3 = words_map.at(wlist[i*3 + 2].substr(0, unique_prefix_length)); + } + else + { + w1 = words_map.at(wlist[i*3]); + w2 = words_map.at(wlist[i*3 + 1]); + w3 = words_map.at(wlist[i*3 + 2]); + } val = w1 + n * (((n - w1) + w2) % n) + n * n * (((n - w2) + w3) % n); @@ -293,7 +332,7 @@ namespace crypto } words.pop_back(); - words += (' ' + words_store[create_checksum_index(words)]); + words += (' ' + words_store[create_checksum_index(words_store)]); return false; } diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index c10e216e8..95c420562 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -57,10 +57,11 @@ namespace crypto { /*! * \brief Called to initialize it to work with a word list file. - * \param language Language of the word list file. - * \param old_word_list Whether it is to use the old style word list file. + * \param language Language of the word list file. + * \param has_checksum True if the checksum was passed false if not. + * \param old_word_list true it is to use the old style word list file false if not. */ - void init(const std::string &language, bool old_word_list=false); + void init(const std::string &language, bool has_checksum=true, bool old_word_list=false); /*! * \brief Converts seed words to bytes (secret key). -- cgit v1.2.3 From 423bf69dca3892806d5b80e88f4348a4adce3612 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Tue, 30 Sep 2014 23:53:02 +0530 Subject: Added attribution to Electrum for their word-lists --- src/mnemonics/electrum-words.cpp | 5 +++++ src/mnemonics/wordlists/languages/english | 1 + src/mnemonics/wordlists/languages/japanese | 1 + src/mnemonics/wordlists/languages/spanish | 1 + 4 files changed, 8 insertions(+) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index d48df1436..d1cef443c 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -94,6 +94,11 @@ namespace std::string word; while (input_stream >> word) { + if (word.length() == 0 || word[0] == '#') + { + // Skip empty and comment lines + continue; + } words_array.push_back(word); if (has_checksum) { diff --git a/src/mnemonics/wordlists/languages/english b/src/mnemonics/wordlists/languages/english index 942040ed5..714f66dac 100644 --- a/src/mnemonics/wordlists/languages/english +++ b/src/mnemonics/wordlists/languages/english @@ -1,3 +1,4 @@ +# Originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin abandon ability able diff --git a/src/mnemonics/wordlists/languages/japanese b/src/mnemonics/wordlists/languages/japanese index aa7673fce..cb28b89d8 100644 --- a/src/mnemonics/wordlists/languages/japanese +++ b/src/mnemonics/wordlists/languages/japanese @@ -1,3 +1,4 @@ +# Originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin ใ‚ใ„ ใ‚ใ„ใ“ใใ—ใ‚“ ใ‚ใ† diff --git a/src/mnemonics/wordlists/languages/spanish b/src/mnemonics/wordlists/languages/spanish index d0900c2c7..29f5b3a73 100644 --- a/src/mnemonics/wordlists/languages/spanish +++ b/src/mnemonics/wordlists/languages/spanish @@ -1,3 +1,4 @@ +# Originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin รกbaco abdomen abeja -- cgit v1.2.3 From 6c3b85de21e68ab22359e7c661f590789a6f4354 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Wed, 1 Oct 2014 21:22:13 +0530 Subject: Separated word lists to header files --- src/mnemonics/electrum-words.cpp | 6 + src/mnemonics/english.h | 2098 ++++++++++++++++++++++++++++++++++++++ src/mnemonics/japanese.h | 2098 ++++++++++++++++++++++++++++++++++++++ src/mnemonics/old_english.h | 1676 ++++++++++++++++++++++++++++++ src/mnemonics/portuguese.h | 1677 ++++++++++++++++++++++++++++++ src/mnemonics/spanish.h | 2098 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 9653 insertions(+) create mode 100644 src/mnemonics/english.h create mode 100644 src/mnemonics/japanese.h create mode 100644 src/mnemonics/old_english.h create mode 100644 src/mnemonics/portuguese.h create mode 100644 src/mnemonics/spanish.h (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index d1cef443c..334bc578f 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -50,6 +50,12 @@ #include #include +#include "english.h" +#include "spanish.h" +#include "portuguese.h" +#include "japanese.h" +#include "old_english.h" + namespace { int num_words = 0; diff --git a/src/mnemonics/english.h b/src/mnemonics/english.h new file mode 100644 index 000000000..f1bd3fb64 --- /dev/null +++ b/src/mnemonics/english.h @@ -0,0 +1,2098 @@ +#include +#include + +std::vector& word_list_english() +{ + static std::vector word_list( + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep", + "slender", + "slice", + "slide", + "slight", + "slim", + "slogan", + "slot", + "slow", + "slush", + "small", + "smart", + "smile", + "smoke", + "smooth", + "snack", + "snake", + "snap", + "sniff", + "snow", + "soap", + "soccer", + "social", + "sock", + "soda", + "soft", + "solar", + "soldier", + "solid", + "solution", + "solve", + "someone", + "song", + "soon", + "sorry", + "sort", + "soul", + "sound", + "soup", + "source", + "south", + "space", + "spare", + "spatial", + "spawn", + "speak", + "special", + "speed", + "spell", + "spend", + "sphere", + "spice", + "spider", + "spike", + "spin", + "spirit", + "split", + "spoil", + "sponsor", + "spoon", + "sport", + "spot", + "spray", + "spread", + "spring", + "spy", + "square", + "squeeze", + "squirrel", + "stable", + "stadium", + "staff", + "stage", + "stairs", + "stamp", + "stand", + "start", + "state", + "stay", + "steak", + "steel", + "stem", + "step", + "stereo", + "stick", + "still", + "sting", + "stock", + "stomach", + "stone", + "stool", + "story", + "stove", + "strategy", + "street", + "strike", + "strong", + "struggle", + "student", + "stuff", + "stumble", + "style", + "subject", + "submit", + "subway", + "success", + "such", + "sudden", + "suffer", + "sugar", + "suggest", + "suit", + "summer", + "sun", + "sunny", + "sunset", + "super", + "supply", + "supreme", + "sure", + "surface", + "surge", + "surprise", + "surround", + "survey", + "suspect", + "sustain", + "swallow", + "swamp", + "swap", + "swarm", + "swear", + "sweet", + "swift", + "swim", + "swing", + "switch", + "sword", + "symbol", + "symptom", + "syrup", + "system", + "table", + "tackle", + "tag", + "tail", + "talent", + "talk", + "tank", + "tape", + "target", + "task", + "taste", + "tattoo", + "taxi", + "teach", + "team", + "tell", + "ten", + "tenant", + "tennis", + "tent", + "term", + "test", + "text", + "thank", + "that", + "theme", + "then", + "theory", + "there", + "they", + "thing", + "this", + "thought", + "three", + "thrive", + "throw", + "thumb", + "thunder", + "ticket", + "tide", + "tiger", + "tilt", + "timber", + "time", + "tiny", + "tip", + "tired", + "tissue", + "title", + "toast", + "tobacco", + "today", + "toddler", + "toe", + "together", + "toilet", + "token", + "tomato", + "tomorrow", + "tone", + "tongue", + "tonight", + "tool", + "tooth", + "top", + "topic", + "topple", + "torch", + "tornado", + "tortoise", + "toss", + "total", + "tourist", + "toward", + "tower", + "town", + "toy", + "track", + "trade", + "traffic", + "tragic", + "train", + "transfer", + "trap", + "trash", + "travel", + "tray", + "treat", + "tree", + "trend", + "trial", + "tribe", + "trick", + "trigger", + "trim", + "trip", + "trophy", + "trouble", + "truck", + "true", + "truly", + "trumpet", + "trust", + "truth", + "try", + "tube", + "tuition", + "tumble", + "tuna", + "tunnel", + "turkey", + "turn", + "turtle", + "twelve", + "twenty", + "twice", + "twin", + "twist", + "two", + "type", + "typical", + "ugly", + "umbrella", + "unable", + "unaware", + "uncle", + "uncover", + "under", + "undo", + "unfair", + "unfold", + "unhappy", + "uniform", + "unique", + "unit", + "universe", + "unknown", + "unlock", + "until", + "unusual", + "unveil", + "update", + "upgrade", + "uphold", + "upon", + "upper", + "upset", + "urban", + "urge", + "usage", + "use", + "used", + "useful", + "useless", + "usual", + "utility", + "vacant", + "vacuum", + "vague", + "valid", + "valley", + "valve", + "van", + "vanish", + "vapor", + "various", + "vast", + "vault", + "vehicle", + "velvet", + "vendor", + "venture", + "venue", + "verb", + "verify", + "version", + "very", + "vessel", + "veteran", + "viable", + "vibrant", + "vicious", + "victory", + "video", + "view", + "village", + "vintage", + "violin", + "virtual", + "virus", + "visa", + "visit", + "visual", + "vital", + "vivid", + "vocal", + "voice", + "void", + "volcano", + "volume", + "vote", + "voyage", + "wage", + "wagon", + "wait", + "walk", + "wall", + "walnut", + "want", + "warfare", + "warm", + "warrior", + "wash", + "wasp", + "waste", + "water", + "wave", + "way", + "wealth", + "weapon", + "wear", + "weasel", + "weather", + "web", + "wedding", + "weekend", + "weird", + "welcome", + "west", + "wet", + "whale", + "what", + "wheat", + "wheel", + "when", + "where", + "whip", + "whisper", + "wide", + "width", + "wife", + "wild", + "will", + "win", + "window", + "wine", + "wing", + "wink", + "winner", + "winter", + "wire", + "wisdom", + "wise", + "wish", + "witness", + "wolf", + "woman", + "wonder", + "wood", + "wool", + "word", + "work", + "world", + "worry", + "worth", + "wrap", + "wreck", + "wrestle", + "wrist", + "write", + "wrong", + "yard", + "year", + "yellow", + "you", + "young", + "youth", + "zebra", + "zero", + "zone", + "zoo" + ); + return word_list; +} + +std::unordered_map& word_map_english() +{ + static std::unordered_map word_map; + if (word_map.size() > 0) + { + return word_map; + } + std::vector word_list = word_list_english(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + word_map[*it] = ii; + } + return word_map; +} + +std::unordered_map& trimmed_word_map_english() +{ + static std::unordered_map trimmed_word_map; + if (trimmed_word_map.size() > 0) + { + return trimmed_word_map; + } + std::vector word_list = word_list_english(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + if (it->length() > 4) + { + trimmed_word_map[it->substr(0, 4)] = ii; + } + else + { + trimmed_word_map[*it] = ii; + } + } + return trimmed_word_map; +} diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h new file mode 100644 index 000000000..47476e849 --- /dev/null +++ b/src/mnemonics/japanese.h @@ -0,0 +1,2098 @@ +#include +#include + +std::vector& word_list_japanese() +{ + static std::vector word_list( + "ใ‚ใ„", + "ใ‚ใ„ใ“ใใ—ใ‚“", + "ใ‚ใ†", + "ใ‚ใŠ", + "ใ‚ใŠใžใ‚‰", + "ใ‚ใ‹", + "ใ‚ใ‹ใกใ‚ƒใ‚“", + "ใ‚ใ", + "ใ‚ใใ‚‹", + "ใ‚ใ", + "ใ‚ใ•", + "ใ‚ใ•ใฒ", + "ใ‚ใ—", + "ใ‚ใšใ", + "ใ‚ใ›", + "ใ‚ใใถ", + "ใ‚ใŸใ‚‹", + "ใ‚ใคใ„", + "ใ‚ใช", + "ใ‚ใซ", + "ใ‚ใญ", + "ใ‚ใฒใ‚‹", + "ใ‚ใพใ„", + "ใ‚ใฟ", + "ใ‚ใ‚", + "ใ‚ใ‚ใ‚Šใ‹", + "ใ‚ใ‚„ใพใ‚‹", + "ใ‚ใ‚†ใ‚€", + "ใ‚ใ‚‰ใ„ใใพ", + "ใ‚ใ‚‰ใ—", + "ใ‚ใ‚Š", + "ใ‚ใ‚‹", + "ใ‚ใ‚Œ", + "ใ‚ใ‚", + "ใ‚ใ‚“ใ“", + "ใ„ใ†", + "ใ„ใˆ", + "ใ„ใŠใ‚“", + "ใ„ใ‹", + "ใ„ใŒใ„", + "ใ„ใ‹ใ„ใ‚ˆใ†", + "ใ„ใ‘", + "ใ„ใ‘ใ‚“", + "ใ„ใ“ใ", + "ใ„ใ“ใค", + "ใ„ใ•ใ‚“", + "ใ„ใ—", + "ใ„ใ˜ใ‚…ใ†", + "ใ„ใ™", + "ใ„ใ›ใ„", + "ใ„ใ›ใˆใณ", + "ใ„ใ›ใ‹ใ„", + "ใ„ใ›ใ", + "ใ„ใใ†ใ‚ใ†", + "ใ„ใใŒใ—ใ„", + "ใ„ใŸใ‚Šใ‚", + "ใ„ใฆใ–", + "ใ„ใฆใ‚“", + "ใ„ใจ", + "ใ„ใชใ„", + "ใ„ใชใ‹", + "ใ„ใฌ", + "ใ„ใญ", + "ใ„ใฎใก", + "ใ„ใฎใ‚‹", + "ใ„ใฏใค", + "ใ„ใฏใ‚“", + "ใ„ใณใ", + "ใ„ใฒใ‚“", + "ใ„ใตใ", + "ใ„ใธใ‚“", + "ใ„ใปใ†", + "ใ„ใพ", + "ใ„ใฟ", + "ใ„ใฟใ‚“", + "ใ„ใ‚‚", + "ใ„ใ‚‚ใ†ใจ", + "ใ„ใ‚‚ใŸใ‚Œ", + "ใ„ใ‚‚ใ‚Š", + "ใ„ใ‚„", + "ใ„ใ‚„ใ™", + "ใ„ใ‚ˆใ‹ใ‚“", + "ใ„ใ‚ˆใ", + "ใ„ใ‚‰ใ„", + "ใ„ใ‚‰ใ™ใจ", + "ใ„ใ‚Šใใก", + "ใ„ใ‚Šใ‚‡ใ†", + "ใ„ใ‚Šใ‚‡ใ†ใฒ", + "ใ„ใ‚‹", + "ใ„ใ‚Œใ„", + "ใ„ใ‚Œใ‚‚ใฎ", + "ใ„ใ‚Œใ‚‹", + "ใ„ใ‚", + "ใ„ใ‚ใˆใ‚“ใดใค", + "ใ„ใ‚", + "ใ„ใ‚ใ†", + "ใ„ใ‚ใ‹ใ‚“", + "ใ„ใ‚“ใ’ใ‚“ใพใ‚", + "ใ†ใˆ", + "ใ†ใŠใ–", + "ใ†ใ‹ใถ", + "ใ†ใใ‚", + "ใ†ใ", + "ใ†ใใ‚‰ใ„ใช", + "ใ†ใใ‚Œใ‚Œ", + "ใ†ใ‘ใคใ", + "ใ†ใ‘ใคใ‘", + "ใ†ใ‘ใ‚‹", + "ใ†ใ”ใ", + "ใ†ใ“ใ‚“", + "ใ†ใ•ใŽ", + "ใ†ใ—", + "ใ†ใ—ใชใ†", + "ใ†ใ—ใ‚", + "ใ†ใ—ใ‚ใŒใฟ", + "ใ†ใ™ใ„", + "ใ†ใ™ใŽ", + "ใ†ใ›ใค", + "ใ†ใ", + "ใ†ใŸ", + "ใ†ใกใ‚ใ‚ใ›", + "ใ†ใกใŒใ‚", + "ใ†ใกใ", + "ใ†ใค", + "ใ†ใชใŽ", + "ใ†ใชใ˜", + "ใ†ใซ", + "ใ†ใญใ‚‹", + "ใ†ใฎใ†", + "ใ†ใถใ’", + "ใ†ใถใ”ใˆ", + "ใ†ใพ", + "ใ†ใพใ‚Œใ‚‹", + "ใ†ใฟ", + "ใ†ใ‚€", + "ใ†ใ‚", + "ใ†ใ‚ใ‚‹", + "ใ†ใ‚‚ใ†", + "ใ†ใ‚„ใพใ†", + "ใ†ใ‚ˆใ", + "ใ†ใ‚‰", + "ใ†ใ‚‰ใชใ„", + "ใ†ใ‚‹", + "ใ†ใ‚‹ใ•ใ„", + "ใ†ใ‚Œใ—ใ„", + "ใ†ใ‚ใ“", + "ใ†ใ‚ใ", + "ใ†ใ‚ใ•", + "ใˆใ„", + "ใˆใ„ใˆใ‚“", + "ใˆใ„ใŒ", + "ใˆใ„ใŽใ‚‡ใ†", + "ใˆใ„ใ”", + "ใˆใŠใ‚Š", + "ใˆใ", + "ใˆใใŸใ„", + "ใˆใใ›ใ‚‹", + "ใˆใ•", + "ใˆใ—ใ‚ƒใ", + "ใˆใ™ใฆ", + "ใˆใคใ‚‰ใ‚“", + "ใˆใจ", + "ใˆใฎใ", + "ใˆใณ", + "ใˆใปใ†ใพใ", + "ใˆใปใ‚“", + "ใˆใพ", + "ใˆใพใ", + "ใˆใ‚‚ใ˜", + "ใˆใ‚‚ใฎ", + "ใˆใ‚‰ใ„", + "ใˆใ‚‰ใถ", + "ใˆใ‚Š", + "ใˆใ‚Šใ‚", + "ใˆใ‚‹", + "ใˆใ‚“", + "ใˆใ‚“ใˆใ‚“", + "ใŠใใ‚‹", + "ใŠใ", + "ใŠใ‘", + "ใŠใ“ใ‚‹", + "ใŠใ—ใˆใ‚‹", + "ใŠใ‚„ใ‚†ใณ", + "ใŠใ‚‰ใ‚“ใ ", + "ใ‹ใ‚ใค", + "ใ‹ใ„", + "ใ‹ใ†", + "ใ‹ใŠ", + "ใ‹ใŒใ—", + "ใ‹ใ", + "ใ‹ใ", + "ใ‹ใ“", + "ใ‹ใ•", + "ใ‹ใ™", + "ใ‹ใก", + "ใ‹ใค", + "ใ‹ใชใ–ใ‚ใ—", + "ใ‹ใซ", + "ใ‹ใญ", + "ใ‹ใฎใ†", + "ใ‹ใปใ†", + "ใ‹ใปใ”", + "ใ‹ใพใผใ“", + "ใ‹ใฟ", + "ใ‹ใ‚€", + "ใ‹ใ‚ใ‚ŒใŠใ‚“", + "ใ‹ใ‚‚", + "ใ‹ใ‚†ใ„", + "ใ‹ใ‚‰ใ„", + "ใ‹ใ‚‹ใ„", + "ใ‹ใ‚ใ†", + "ใ‹ใ‚", + "ใ‹ใ‚ใ‚‰", + "ใใ‚ใ„", + "ใใ‚ใค", + "ใใ„ใ‚", + "ใŽใ„ใ‚“", + "ใใ†ใ„", + "ใใ†ใ‚“", + "ใใˆใ‚‹", + "ใใŠใ†", + "ใใŠใ", + "ใใŠใก", + "ใใŠใ‚“", + "ใใ‹", + "ใใ‹ใ„", + "ใใ‹ใ", + "ใใ‹ใ‚“", + "ใใ‹ใ‚“ใ—ใ‚ƒ", + "ใใŽ", + "ใใใฆ", + "ใใ", + "ใใใฐใ‚Š", + "ใใใ‚‰ใ’", + "ใใ‘ใ‚“", + "ใใ‘ใ‚“ใ›ใ„", + "ใใ“ใ†", + "ใใ“ใˆใ‚‹", + "ใใ“ใ", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใพ", + "ใใ•ใ‚‰ใŽ", + "ใใ—", + "ใใ—ใ‚…", + "ใใ™", + "ใใ™ใ†", + "ใใ›ใ„", + "ใใ›ใ", + "ใใ›ใค", + "ใใ", + "ใใใ†", + "ใใใ", + "ใใžใ", + "ใŽใใ", + "ใใžใ‚“", + "ใใŸ", + "ใใŸใˆใ‚‹", + "ใใก", + "ใใกใ‚‡ใ†", + "ใใคใˆใ‚“", + "ใใคใคใ", + "ใใคใญ", + "ใใฆใ„", + "ใใฉใ†", + "ใใฉใ", + "ใใชใ„", + "ใใชใŒ", + "ใใฌ", + "ใใฌใ”ใ—", + "ใใญใ‚“", + "ใใฎใ†", + "ใใฏใ", + "ใใณใ—ใ„", + "ใใฒใ‚“", + "ใใต", + "ใŽใต", + "ใใตใ", + "ใŽใผ", + "ใใปใ†", + "ใใผใ†", + "ใใปใ‚“", + "ใใพใ‚‹", + "ใใฟ", + "ใใฟใค", + "ใŽใ‚€", + "ใใ‚€ใšใ‹ใ—ใ„", + "ใใ‚", + "ใใ‚ใ‚‹", + "ใใ‚‚ใ ใ‚ใ—", + "ใใ‚‚ใก", + "ใใ‚„ใ", + "ใใ‚ˆใ†", + "ใใ‚‰ใ„", + "ใใ‚‰ใ", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚Œใ„", + "ใใ‚Œใค", + "ใใ‚ใ", + "ใŽใ‚ใ‚“", + "ใใ‚ใ‚ใ‚‹", + "ใใ‚ใ„", + "ใใ„", + "ใใ„ใš", + "ใใ†ใ‹ใ‚“", + "ใใ†ใ", + "ใใ†ใใ‚“", + "ใใ†ใ“ใ†", + "ใใ†ใใ†", + "ใใ†ใตใ", + "ใใ†ใผ", + "ใใ‹ใ‚“", + "ใใ", + "ใใใ‚‡ใ†", + "ใใ’ใ‚“", + "ใใ“ใ†", + "ใใ•", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใฐใช", + "ใใ•ใ‚‹", + "ใใ—", + "ใใ—ใ‚ƒใฟ", + "ใใ—ใ‚‡ใ†", + "ใใ™ใฎใ", + "ใใ™ใ‚Š", + "ใใ™ใ‚Šใ‚†ใณ", + "ใใ›", + "ใใ›ใ’", + "ใใ›ใ‚“", + "ใใŸใณใ‚Œใ‚‹", + "ใใก", + "ใใกใ“ใฟ", + "ใใกใ•ใ", + "ใใค", + "ใใคใ—ใŸ", + "ใใคใ‚ใ", + "ใใจใ†ใฆใ‚“", + "ใใฉใ", + "ใใชใ‚“", + "ใใซ", + "ใใญใใญ", + "ใใฎใ†", + "ใใตใ†", + "ใใพ", + "ใใฟใ‚ใ‚ใ›", + "ใใฟใŸใฆใ‚‹", + "ใใ‚€", + "ใใ‚ใ‚‹", + "ใใ‚„ใใ—ใ‚‡", + "ใใ‚‰ใ™", + "ใใ‚Š", + "ใใ‚Œใ‚‹", + "ใใ‚", + "ใใ‚ใ†", + "ใใ‚ใ—ใ„", + "ใใ‚“ใ˜ใ‚‡", + "ใ‘ใ‚ใช", + "ใ‘ใ„ใ‘ใ‚“", + "ใ‘ใ„ใ“", + "ใ‘ใ„ใ•ใ„", + "ใ‘ใ„ใ•ใค", + "ใ’ใ„ใฎใ†ใ˜ใ‚“", + "ใ‘ใ„ใ‚Œใ", + "ใ‘ใ„ใ‚Œใค", + "ใ‘ใ„ใ‚Œใ‚“", + "ใ‘ใ„ใ‚", + "ใ‘ใŠใจใ™", + "ใ‘ใŠใ‚Šใ‚‚ใฎ", + "ใ‘ใŒ", + "ใ’ใ", + "ใ’ใใ‹", + "ใ’ใใ’ใ‚“", + "ใ’ใใ ใ‚“", + "ใ’ใใกใ‚“", + "ใ’ใใฉ", + "ใ’ใใฏ", + "ใ’ใใ‚„ใ", + "ใ’ใ“ใ†", + "ใ’ใ“ใใ˜ใ‚‡ใ†", + "ใ‘ใ•", + "ใ’ใ–ใ„", + "ใ‘ใ•ใ", + "ใ’ใ–ใ‚“", + "ใ‘ใ—ใ", + "ใ‘ใ—ใ”ใ‚€", + "ใ‘ใ—ใ‚‡ใ†", + "ใ‘ใ™", + "ใ’ใ™ใจ", + "ใ‘ใŸ", + "ใ’ใŸ", + "ใ‘ใŸใฐ", + "ใ‘ใก", + "ใ‘ใกใ‚ƒใฃใท", + "ใ‘ใกใ‚‰ใ™", + "ใ‘ใค", + "ใ‘ใคใ‚ใค", + "ใ‘ใคใ„", + "ใ‘ใคใˆใ", + "ใ‘ใฃใ“ใ‚“", + "ใ‘ใคใ˜ใ‚‡", + "ใ‘ใฃใฆใ„", + "ใ‘ใคใพใค", + "ใ’ใคใ‚ˆใ†ใณ", + "ใ’ใคใ‚Œใ„", + "ใ‘ใคใ‚ใ‚“", + "ใ’ใฉใ", + "ใ‘ใจใฐใ™", + "ใ‘ใจใ‚‹", + "ใ‘ใชใ’", + "ใ‘ใชใ™", + "ใ‘ใชใฟ", + "ใ‘ใฌใ", + "ใ’ใญใค", + "ใ‘ใญใ‚“", + "ใ‘ใฏใ„", + "ใ’ใฒใ‚“", + "ใ‘ใถใ‹ใ„", + "ใ’ใผใ", + "ใ‘ใพใ‚Š", + "ใ‘ใฟใ‹ใ‚‹", + "ใ‘ใ‚€ใ—", + "ใ‘ใ‚€ใ‚Š", + "ใ‘ใ‚‚ใฎ", + "ใ‘ใ‚‰ใ„", + "ใ‘ใ‚‹", + "ใ’ใ‚", + "ใ‘ใ‚ใ‘ใ‚", + "ใ‘ใ‚ใ—ใ„", + "ใ‘ใ‚“ใ„", + "ใ‘ใ‚“ใˆใค", + "ใ‘ใ‚“ใŠ", + "ใ‘ใ‚“ใ‹", + "ใ’ใ‚“ใ", + "ใ‘ใ‚“ใใ‚…ใ†", + "ใ‘ใ‚“ใใ‚‡", + "ใ‘ใ‚“ใ‘ใ„", + "ใ‘ใ‚“ใ‘ใค", + "ใ‘ใ‚“ใ’ใ‚“", + "ใ‘ใ‚“ใ“ใ†", + "ใ‘ใ‚“ใ•", + "ใ‘ใ‚“ใ•ใ", + "ใ‘ใ‚“ใ—ใ‚…ใ†", + "ใ‘ใ‚“ใ—ใ‚…ใค", + "ใ‘ใ‚“ใ—ใ‚“", + "ใ‘ใ‚“ใ™ใ†", + "ใ‘ใ‚“ใใ†", + "ใ’ใ‚“ใใ†", + "ใ‘ใ‚“ใใ‚“", + "ใ’ใ‚“ใก", + "ใ‘ใ‚“ใกใ", + "ใ‘ใ‚“ใฆใ„", + "ใ’ใ‚“ใฆใ„", + "ใ‘ใ‚“ใจใ†", + "ใ‘ใ‚“ใชใ„", + "ใ‘ใ‚“ใซใ‚“", + "ใ’ใ‚“ใถใค", + "ใ‘ใ‚“ใพ", + "ใ‘ใ‚“ใฟใ‚“", + "ใ‘ใ‚“ใ‚ใ„", + "ใ‘ใ‚“ใ‚‰ใ‚“", + "ใ‘ใ‚“ใ‚Š", + "ใ‘ใ‚“ใ‚Šใค", + "ใ“ใ‚ใใพ", + "ใ“ใ„", + "ใ”ใ„", + "ใ“ใ„ใณใจ", + "ใ“ใ†ใ„", + "ใ“ใ†ใˆใ‚“", + "ใ“ใ†ใ‹", + "ใ“ใ†ใ‹ใ„", + "ใ“ใ†ใ‹ใ‚“", + "ใ“ใ†ใ•ใ„", + "ใ“ใ†ใ•ใ‚“", + "ใ“ใ†ใ—ใ‚“", + "ใ“ใ†ใš", + "ใ“ใ†ใ™ใ„", + "ใ“ใ†ใ›ใ‚“", + "ใ“ใ†ใใ†", + "ใ“ใ†ใใ", + "ใ“ใ†ใŸใ„", + "ใ“ใ†ใกใ‚ƒ", + "ใ“ใ†ใคใ†", + "ใ“ใ†ใฆใ„", + "ใ“ใ†ใจใ†ใถ", + "ใ“ใ†ใชใ„", + "ใ“ใ†ใฏใ„", + "ใ“ใ†ใฏใ‚“", + "ใ“ใ†ใ‚‚ใ", + "ใ“ใˆ", + "ใ“ใˆใ‚‹", + "ใ“ใŠใ‚Š", + "ใ”ใŒใค", + "ใ“ใ‹ใ‚“", + "ใ“ใ", + "ใ“ใใ”", + "ใ“ใใชใ„", + "ใ“ใใฏใ", + "ใ“ใ‘ใ„", + "ใ“ใ‘ใ‚‹", + "ใ“ใ“", + "ใ“ใ“ใ‚", + "ใ”ใ•", + "ใ“ใ•ใ‚", + "ใ“ใ—", + "ใ“ใ—ใค", + "ใ“ใ™", + "ใ“ใ™ใ†", + "ใ“ใ›ใ„", + "ใ“ใ›ใ", + "ใ“ใœใ‚“", + "ใ“ใใ ใฆ", + "ใ“ใŸใ„", + "ใ“ใŸใˆใ‚‹", + "ใ“ใŸใค", + "ใ“ใกใ‚‡ใ†", + "ใ“ใฃใ‹", + "ใ“ใคใ“ใค", + "ใ“ใคใฐใ‚“", + "ใ“ใคใถ", + "ใ“ใฆใ„", + "ใ“ใฆใ‚“", + "ใ“ใจ", + "ใ“ใจใŒใ‚‰", + "ใ“ใจใ—", + "ใ“ใชใ”ใช", + "ใ“ใญใ“ใญ", + "ใ“ใฎใพใพ", + "ใ“ใฎใฟ", + "ใ“ใฎใ‚ˆ", + "ใ“ใฏใ‚“", + "ใ”ใฏใ‚“", + "ใ”ใณ", + "ใ“ใฒใคใ˜", + "ใ“ใตใ†", + "ใ“ใตใ‚“", + "ใ“ใผใ‚Œใ‚‹", + "ใ”ใพ", + "ใ“ใพใ‹ใ„", + "ใ“ใพใคใ—", + "ใ“ใพใคใช", + "ใ“ใพใ‚‹", + "ใ“ใ‚€", + "ใ“ใ‚€ใŽใ“", + "ใ“ใ‚", + "ใ“ใ‚‚ใ˜", + "ใ“ใ‚‚ใก", + "ใ“ใ‚‚ใฎ", + "ใ“ใ‚‚ใ‚“", + "ใ“ใ‚„", + "ใ“ใ‚„ใ", + "ใ“ใ‚„ใพ", + "ใ“ใ‚†ใ†", + "ใ“ใ‚†ใณ", + "ใ“ใ‚ˆใ„", + "ใ“ใ‚ˆใ†", + "ใ“ใ‚Šใ‚‹", + "ใ“ใ‚‹", + "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", + "ใ“ใ‚ใฃใ‘", + "ใ“ใ‚ใ‚‚ใฆ", + "ใ“ใ‚ใ‚Œใ‚‹", + "ใ“ใ‚“", + "ใ“ใ‚“ใ„ใ‚“", + "ใ“ใ‚“ใ‹ใ„", + "ใ“ใ‚“ใ", + "ใ“ใ‚“ใ—ใ‚…ใ†", + "ใ“ใ‚“ใ—ใ‚…ใ‚“", + "ใ“ใ‚“ใ™ใ„", + "ใ“ใ‚“ใ ใฆ", + "ใ“ใ‚“ใ ใ‚“", + "ใ“ใ‚“ใจใ‚“", + "ใ“ใ‚“ใชใ‚“", + "ใ“ใ‚“ใณใซ", + "ใ“ใ‚“ใฝใ†", + "ใ“ใ‚“ใฝใ‚“", + "ใ“ใ‚“ใพใ‘", + "ใ“ใ‚“ใ‚„", + "ใ“ใ‚“ใ‚„ใ", + "ใ“ใ‚“ใ‚Œใ„", + "ใ“ใ‚“ใ‚ใ", + "ใ•ใ„ใ‹ใ„", + "ใ•ใ„ใŒใ„", + "ใ•ใ„ใใ‚“", + "ใ•ใ„ใ”", + "ใ•ใ„ใ“ใ‚“", + "ใ•ใ„ใ—ใ‚‡", + "ใ•ใ†ใช", + "ใ•ใŠ", + "ใ•ใ‹ใ„ใ—", + "ใ•ใ‹ใช", + "ใ•ใ‹ใฟใก", + "ใ•ใ", + "ใ•ใ", + "ใ•ใใ—", + "ใ•ใใ˜ใ‚‡", + "ใ•ใใฒใ‚“", + "ใ•ใใ‚‰", + "ใ•ใ‘", + "ใ•ใ“ใ", + "ใ•ใ“ใค", + "ใ•ใŸใ‚“", + "ใ•ใคใˆใ„", + "ใ•ใฃใ‹", + "ใ•ใฃใใ‚‡ใ", + "ใ•ใคใ˜ใ‚“", + "ใ•ใคใŸใฐ", + "ใ•ใคใพใ„ใ‚‚", + "ใ•ใฆใ„", + "ใ•ใจใ„ใ‚‚", + "ใ•ใจใ†", + "ใ•ใจใŠใ‚„", + "ใ•ใจใ‚‹", + "ใ•ใฎใ†", + "ใ•ใฐ", + "ใ•ใฐใ", + "ใ•ในใค", + "ใ•ใปใ†", + "ใ•ใปใฉ", + "ใ•ใพใ™", + "ใ•ใฟใ—ใ„", + "ใ•ใฟใ ใ‚Œ", + "ใ•ใ‚€ใ‘", + "ใ•ใ‚", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚„ใˆใ‚“ใฉใ†", + "ใ•ใ‚†ใ†", + "ใ•ใ‚ˆใ†", + "ใ•ใ‚ˆใ", + "ใ•ใ‚‰", + "ใ•ใ‚‰ใ ", + "ใ•ใ‚‹", + "ใ•ใ‚ใ‚„ใ‹", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚“ใ„ใ‚“", + "ใ•ใ‚“ใ‹", + "ใ•ใ‚“ใใ‚ƒใ", + "ใ•ใ‚“ใ“ใ†", + "ใ•ใ‚“ใ•ใ„", + "ใ•ใ‚“ใ–ใ‚“", + "ใ•ใ‚“ใ™ใ†", + "ใ•ใ‚“ใ›ใ„", + "ใ•ใ‚“ใ", + "ใ•ใ‚“ใใ‚“", + "ใ•ใ‚“ใก", + "ใ•ใ‚“ใกใ‚‡ใ†", + "ใ•ใ‚“ใพ", + "ใ•ใ‚“ใฟ", + "ใ•ใ‚“ใ‚‰ใ‚“", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ’", + "ใ—ใ‚ใ•ใฃใฆ", + "ใ—ใ‚ใ‚ใ›", + "ใ—ใ„ใ", + "ใ—ใ„ใ‚“", + "ใ—ใ†ใก", + "ใ—ใˆใ„", + "ใ—ใŠ", + "ใ—ใŠใ‘", + "ใ—ใ‹", + "ใ—ใ‹ใ„", + "ใ—ใ‹ใ", + "ใ˜ใ‹ใ‚“", + "ใ—ใŸ", + "ใ—ใŸใŽ", + "ใ—ใŸใฆ", + "ใ—ใŸใฟ", + "ใ—ใกใ‚‡ใ†", + "ใ—ใกใ‚‡ใ†ใใ‚“", + "ใ—ใกใ‚Šใ‚“", + "ใ˜ใคใ˜", + "ใ—ใฆใ„", + "ใ—ใฆใ", + "ใ—ใฆใค", + "ใ—ใฆใ‚“", + "ใ—ใจใ†", + "ใ˜ใฉใ†", + "ใ—ใชใŽใ‚Œ", + "ใ—ใชใ‚‚ใฎ", + "ใ—ใชใ‚“", + "ใ—ใญใพ", + "ใ—ใญใ‚“", + "ใ—ใฎใ", + "ใ—ใฎใถ", + "ใ—ใฏใ„", + "ใ—ใฐใ‹ใ‚Š", + "ใ—ใฏใค", + "ใ˜ใฏใค", + "ใ—ใฏใ‚‰ใ„", + "ใ—ใฏใ‚“", + "ใ—ใฒใ‚‡ใ†", + "ใ˜ใต", + "ใ—ใตใ", + "ใ˜ใถใ‚“", + "ใ—ใธใ„", + "ใ—ใปใ†", + "ใ—ใปใ‚“", + "ใ—ใพ", + "ใ—ใพใ†", + "ใ—ใพใ‚‹", + "ใ—ใฟ", + "ใ˜ใฟ", + "ใ—ใฟใ‚“", + "ใ˜ใ‚€", + "ใ—ใ‚€ใ‘ใ‚‹", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ‚‹", + "ใ—ใ‚‚ใ‚“", + "ใ—ใ‚ƒใ„ใ‚“", + "ใ—ใ‚ƒใ†ใ‚“", + "ใ—ใ‚ƒใŠใ‚“", + "ใ—ใ‚ƒใ‹ใ„", + "ใ˜ใ‚ƒใŒใ„ใ‚‚", + "ใ—ใ‚„ใใ—ใ‚‡", + "ใ—ใ‚ƒใใปใ†", + "ใ—ใ‚ƒใ‘ใ‚“", + "ใ—ใ‚ƒใ“", + "ใ—ใ‚ƒใ“ใ†", + "ใ—ใ‚ƒใ–ใ„", + "ใ—ใ‚ƒใ—ใ‚“", + "ใ—ใ‚ƒใ›ใ‚“", + "ใ—ใ‚ƒใใ†", + "ใ—ใ‚ƒใŸใ„", + "ใ—ใ‚ƒใŸใ", + "ใ—ใ‚ƒใกใ‚‡ใ†", + "ใ—ใ‚ƒใฃใใ‚“", + "ใ˜ใ‚ƒใพ", + "ใ˜ใ‚ƒใ‚Š", + "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", + "ใ—ใ‚ƒใ‚Šใ‚“", + "ใ—ใ‚ƒใ‚Œใ„", + "ใ—ใ‚…ใ†ใˆใ‚“", + "ใ—ใ‚…ใ†ใ‹ใ„", + "ใ—ใ‚…ใ†ใใ‚“", + "ใ—ใ‚…ใ†ใ‘ใ„", + "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", + "ใ—ใ‚…ใ‚‰ใฐ", + "ใ—ใ‚‡ใ†ใ‹", + "ใ—ใ‚‡ใ†ใ‹ใ„", + "ใ—ใ‚‡ใ†ใใ‚“", + "ใ—ใ‚‡ใ†ใ˜ใ", + "ใ—ใ‚‡ใใ–ใ„", + "ใ—ใ‚‡ใใŸใ", + "ใ—ใ‚‡ใฃใ‘ใ‚“", + "ใ—ใ‚‡ใฉใ†", + "ใ—ใ‚‡ใ‚‚ใค", + "ใ—ใ‚“", + "ใ—ใ‚“ใ‹", + "ใ—ใ‚“ใ“ใ†", + "ใ—ใ‚“ใ›ใ„ใ˜", + "ใ—ใ‚“ใกใ", + "ใ—ใ‚“ใ‚Šใ‚“", + "ใ™ใ‚ใ’", + "ใ™ใ‚ใ—", + "ใ™ใ‚ใช", + "ใšใ‚ใ‚“", + "ใ™ใ„ใ‹", + "ใ™ใ„ใจใ†", + "ใ™ใ†", + "ใ™ใ†ใŒใ", + "ใ™ใ†ใ˜ใค", + "ใ™ใ†ใ›ใ‚“", + "ใ™ใŠใฉใ‚Š", + "ใ™ใ", + "ใ™ใใพ", + "ใ™ใ", + "ใ™ใใ†", + "ใ™ใใชใ„", + "ใ™ใ‘ใ‚‹", + "ใ™ใ“ใ—", + "ใšใ•ใ‚“", + "ใ™ใ—", + "ใ™ใšใ—ใ„", + "ใ™ใ™ใ‚ใ‚‹", + "ใ™ใ", + "ใšใฃใ—ใ‚Š", + "ใšใฃใจ", + "ใ™ใง", + "ใ™ใฆใ", + "ใ™ใฆใ‚‹", + "ใ™ใช", + "ใ™ใชใฃใ", + "ใ™ใชใฃใท", + "ใ™ใญ", + "ใ™ใญใ‚‹", + "ใ™ใฎใ“", + "ใ™ใฏใ ", + "ใ™ใฐใ‚‰ใ—ใ„", + "ใšใฒใ‚‡ใ†", + "ใšใถใฌใ‚Œ", + "ใ™ใถใ‚Š", + "ใ™ใตใ‚Œ", + "ใ™ในใฆ", + "ใ™ในใ‚‹", + "ใšใปใ†", + "ใ™ใผใ‚“", + "ใ™ใพใ„", + "ใ™ใฟ", + "ใ™ใ‚€", + "ใ™ใ‚ใ—", + "ใ™ใ‚‚ใ†", + "ใ™ใ‚„ใ", + "ใ™ใ‚‰ใ„ใ™", + "ใ™ใ‚‰ใ„ใฉ", + "ใ™ใ‚‰ใ™ใ‚‰", + "ใ™ใ‚Š", + "ใ™ใ‚‹", + "ใ™ใ‚‹ใ‚", + "ใ™ใ‚ŒใกใŒใ†", + "ใ™ใ‚ใฃใจ", + "ใ™ใ‚ใ‚‹", + "ใ™ใ‚“ใœใ‚“", + "ใ™ใ‚“ใฝใ†", + "ใ›ใ‚ใถใ‚‰", + "ใ›ใ„ใ‹", + "ใ›ใ„ใ‹ใ„", + "ใ›ใ„ใ‹ใค", + "ใ›ใŠใ†", + "ใ›ใ‹ใ„", + "ใ›ใ‹ใ„ใ‹ใ‚“", + "ใ›ใ‹ใ„ใ—", + "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", + "ใ›ใ", + "ใ›ใใซใ‚“", + "ใ›ใใ‚€", + "ใ›ใใ‚†", + "ใ›ใใ‚‰ใ‚“ใ†ใ‚“", + "ใ›ใ‘ใ‚“", + "ใ›ใ“ใ†", + "ใ›ใ™ใ˜", + "ใ›ใŸใ„", + "ใ›ใŸใ‘", + "ใ›ใฃใ‹ใ„", + "ใ›ใฃใ‹ใ", + "ใ›ใฃใ", + "ใ›ใฃใใ‚ƒใ", + "ใ›ใฃใใ‚‡ใ", + "ใ›ใฃใใ‚“", + "ใœใฃใ", + "ใ›ใฃใ‘ใ‚“", + "ใ›ใฃใ“ใค", + "ใ›ใฃใ•ใŸใใพ", + "ใ›ใคใžใ", + "ใ›ใคใ ใ‚“", + "ใ›ใคใงใ‚“", + "ใ›ใฃใฑใ‚“", + "ใ›ใคใณ", + "ใ›ใคใถใ‚“", + "ใ›ใคใ‚ใ„", + "ใ›ใคใ‚Šใค", + "ใ›ใจ", + "ใ›ใชใ‹", + "ใ›ใฎใณ", + "ใ›ใฏใฐ", + "ใ›ใผใญ", + "ใ›ใพใ„", + "ใ›ใพใ‚‹", + "ใ›ใฟ", + "ใ›ใ‚ใ‚‹", + "ใ›ใ‚‚ใŸใ‚Œ", + "ใ›ใ‚Šใต", + "ใ›ใ‚", + "ใ›ใ‚“", + "ใœใ‚“ใ‚ใ", + "ใ›ใ‚“ใ„", + "ใ›ใ‚“ใˆใ„", + "ใ›ใ‚“ใ‹", + "ใ›ใ‚“ใใ‚‡", + "ใ›ใ‚“ใ", + "ใ›ใ‚“ใ‘ใค", + "ใ›ใ‚“ใ’ใ‚“", + "ใœใ‚“ใ”", + "ใ›ใ‚“ใ•ใ„", + "ใ›ใ‚“ใ—", + "ใ›ใ‚“ใ—ใ‚…", + "ใ›ใ‚“ใ™", + "ใ›ใ‚“ใ™ใ„", + "ใ›ใ‚“ใ›ใ„", + "ใ›ใ‚“ใž", + "ใ›ใ‚“ใใ†", + "ใ›ใ‚“ใŸใ", + "ใ›ใ‚“ใก", + "ใ›ใ‚“ใกใ‚ƒ", + "ใ›ใ‚“ใกใ‚ƒใ", + "ใ›ใ‚“ใกใ‚‡ใ†", + "ใ›ใ‚“ใฆใ„", + "ใ›ใ‚“ใจใ†", + "ใ›ใ‚“ใฌใ", + "ใ›ใ‚“ใญใ‚“", + "ใœใ‚“ใถ", + "ใ›ใ‚“ใทใ†ใ", + "ใ›ใ‚“ใทใ", + "ใœใ‚“ใฝใ†", + "ใ›ใ‚“ใ‚€", + "ใ›ใ‚“ใ‚ใ„", + "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", + "ใ›ใ‚“ใ‚‚ใ‚“", + "ใ›ใ‚“ใ‚„ใ", + "ใ›ใ‚“ใ‚†ใ†", + "ใ›ใ‚“ใ‚ˆใ†", + "ใœใ‚“ใ‚‰", + "ใœใ‚“ใ‚Šใ‚ƒใ", + "ใ›ใ‚“ใ‚Šใ‚‡ใ", + "ใ›ใ‚“ใ‚Œใ„", + "ใ›ใ‚“ใ‚", + "ใใ‚ใ", + "ใใ„ใจใ’ใ‚‹", + "ใใ„ใญ", + "ใใ†", + "ใžใ†", + "ใใ†ใŒใ‚“ใใ‚‡ใ†", + "ใใ†ใ", + "ใใ†ใ”", + "ใใ†ใชใ‚“", + "ใใ†ใณ", + "ใใ†ใฒใ‚‡ใ†", + "ใใ†ใ‚ใ‚“", + "ใใ†ใ‚Š", + "ใใ†ใ‚Šใ‚‡", + "ใใˆใ‚‚ใฎ", + "ใใˆใ‚“", + "ใใ‹ใ„", + "ใใŒใ„", + "ใใ", + "ใใ’ใ", + "ใใ“ใ†", + "ใใ“ใใ“", + "ใใ–ใ„", + "ใใ—", + "ใใ—ใช", + "ใใ›ใ„", + "ใใ›ใ‚“", + "ใใใ", + "ใใ ใฆใ‚‹", + "ใใคใ†", + "ใใคใˆใ‚“", + "ใใฃใ‹ใ‚“", + "ใใคใŽใ‚‡ใ†", + "ใใฃใ‘ใค", + "ใใฃใ“ใ†", + "ใใฃใ›ใ‚“", + "ใใฃใจ", + "ใใง", + "ใใจ", + "ใใจใŒใ‚", + "ใใจใฅใ‚‰", + "ใใชใˆใ‚‹", + "ใใชใŸ", + "ใใฐ", + "ใใต", + "ใใตใผ", + "ใใผ", + "ใใผใ", + "ใใผใ‚", + "ใใพใค", + "ใใพใ‚‹", + "ใใ‚€ใ", + "ใใ‚€ใ‚Šใˆ", + "ใใ‚ใ‚‹", + "ใใ‚‚ใใ‚‚", + "ใใ‚ˆใ‹ใœ", + "ใใ‚‰", + "ใใ‚‰ใพใ‚", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚ใ†", + "ใใ‚“ใ‹ใ„", + "ใใ‚“ใ‘ใ„", + "ใใ‚“ใ–ใ„", + "ใใ‚“ใ—ใค", + "ใใ‚“ใ—ใ‚‡ใ†", + "ใใ‚“ใžใ", + "ใใ‚“ใกใ‚‡ใ†", + "ใžใ‚“ใณ", + "ใžใ‚“ใถใ‚“", + "ใใ‚“ใฟใ‚“", + "ใŸใ‚ใ„", + "ใŸใ„ใ„ใ‚“", + "ใŸใ„ใ†ใ‚“", + "ใŸใ„ใˆใ", + "ใŸใ„ใŠใ†", + "ใ ใ„ใŠใ†", + "ใŸใ„ใ‹", + "ใŸใ„ใ‹ใ„", + "ใŸใ„ใ", + "ใŸใ„ใใ‘ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใใค", + "ใŸใ„ใ‘ใ„", + "ใŸใ„ใ‘ใค", + "ใŸใ„ใ‘ใ‚“", + "ใŸใ„ใ“", + "ใŸใ„ใ“ใ†", + "ใŸใ„ใ•", + "ใŸใ„ใ•ใ‚“", + "ใŸใ„ใ—ใ‚…ใค", + "ใ ใ„ใ˜ใ‚‡ใ†ใถ", + "ใŸใ„ใ—ใ‚‡ใ", + "ใ ใ„ใš", + "ใ ใ„ใ™ใ", + "ใŸใ„ใ›ใ„", + "ใŸใ„ใ›ใค", + "ใŸใ„ใ›ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใกใ‚‡ใ†", + "ใ ใ„ใกใ‚‡ใ†", + "ใŸใ„ใจใ†", + "ใŸใ„ใชใ„", + "ใŸใ„ใญใค", + "ใŸใ„ใฎใ†", + "ใŸใ„ใฏ", + "ใŸใ„ใฏใ‚“", + "ใŸใ„ใฒ", + "ใŸใ„ใตใ†", + "ใŸใ„ใธใ‚“", + "ใŸใ„ใป", + "ใŸใ„ใพใคใฐใช", + "ใŸใ„ใพใ‚“", + "ใŸใ„ใฟใ‚“ใ", + "ใŸใ„ใ‚€", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚ˆใ†", + "ใŸใ„ใ‚‰", + "ใŸใ„ใ‚Šใ‚‡ใ†", + "ใŸใ„ใ‚Šใ‚‡ใ", + "ใŸใ„ใ‚‹", + "ใŸใ„ใ‚", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ†ใˆ", + "ใŸใˆใ‚‹", + "ใŸใŠใ™", + "ใŸใŠใ‚‹", + "ใŸใ‹ใ„", + "ใŸใ‹ใญ", + "ใŸใ", + "ใŸใใณ", + "ใŸใใ•ใ‚“", + "ใŸใ‘", + "ใŸใ“", + "ใŸใ“ใ", + "ใŸใ“ใ‚„ใ", + "ใŸใ•ใ„", + "ใ ใ•ใ„", + "ใŸใ—ใ–ใ‚“", + "ใŸใ™", + "ใŸใ™ใ‘ใ‚‹", + "ใŸใใŒใ‚Œ", + "ใŸใŸใ‹ใ†", + "ใŸใŸใ", + "ใŸใกใฐ", + "ใŸใกใฐใช", + "ใŸใค", + "ใ ใฃใ‹ใ„", + "ใ ใฃใใ‚ƒใ", + "ใ ใฃใ“", + "ใ ใฃใ—ใ‚ใ‚“", + "ใ ใฃใ—ใ‚…ใค", + "ใ ใฃใŸใ„", + "ใŸใฆ", + "ใŸใฆใ‚‹", + "ใŸใจใˆใ‚‹", + "ใŸใช", + "ใŸใซใ‚“", + "ใŸใฌใ", + "ใŸใญ", + "ใŸใฎใ—ใฟ", + "ใŸใฏใค", + "ใŸใณ", + "ใŸใถใ‚“", + "ใŸในใ‚‹", + "ใŸใผใ†", + "ใŸใปใ†ใ‚ใ‚“", + "ใŸใพ", + "ใŸใพใ”", + "ใŸใพใ‚‹", + "ใ ใ‚€ใ‚‹", + "ใŸใ‚ใ„ใ", + "ใŸใ‚ใ™", + "ใŸใ‚ใ‚‹", + "ใŸใ‚‚ใค", + "ใŸใ‚„ใ™ใ„", + "ใŸใ‚ˆใ‚‹", + "ใŸใ‚‰", + "ใŸใ‚‰ใ™", + "ใŸใ‚Šใใปใ‚“ใŒใ‚“", + "ใŸใ‚Šใ‚‡ใ†", + "ใŸใ‚Šใ‚‹", + "ใŸใ‚‹", + "ใŸใ‚‹ใจ", + "ใŸใ‚Œใ‚‹", + "ใŸใ‚Œใ‚“ใจ", + "ใŸใ‚ใฃใจ", + "ใŸใ‚ใ‚€ใ‚Œใ‚‹", + "ใŸใ‚“", + "ใ ใ‚“ใ‚ใค", + "ใŸใ‚“ใ„", + "ใŸใ‚“ใŠใ‚“", + "ใŸใ‚“ใ‹", + "ใŸใ‚“ใ", + "ใŸใ‚“ใ‘ใ‚“", + "ใŸใ‚“ใ”", + "ใŸใ‚“ใ•ใ", + "ใŸใ‚“ใ•ใ‚“", + "ใŸใ‚“ใ—", + "ใŸใ‚“ใ—ใ‚…ใ", + "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", + "ใ ใ‚“ใ›ใ„", + "ใŸใ‚“ใใ", + "ใŸใ‚“ใŸใ„", + "ใŸใ‚“ใก", + "ใ ใ‚“ใก", + "ใŸใ‚“ใกใ‚‡ใ†", + "ใŸใ‚“ใฆใ„", + "ใŸใ‚“ใฆใ", + "ใŸใ‚“ใจใ†", + "ใ ใ‚“ใช", + "ใŸใ‚“ใซใ‚“", + "ใ ใ‚“ใญใค", + "ใŸใ‚“ใฎใ†", + "ใŸใ‚“ใดใ‚“", + "ใŸใ‚“ใพใค", + "ใŸใ‚“ใ‚ใ„", + "ใ ใ‚“ใ‚Œใค", + "ใ ใ‚“ใ‚", + "ใ ใ‚“ใ‚", + "ใกใ‚ใ„", + "ใกใ‚ใ‚“", + "ใกใ„", + "ใกใ„ใ", + "ใกใ„ใ•ใ„", + "ใกใˆ", + "ใกใˆใ‚“", + "ใกใ‹", + "ใกใ‹ใ„", + "ใกใใ‚…ใ†", + "ใกใใ‚“", + "ใกใ‘ใ„", + "ใกใ‘ใ„ใš", + "ใกใ‘ใ‚“", + "ใกใ“ใ", + "ใกใ•ใ„", + "ใกใ—ใ", + "ใกใ—ใ‚Šใ‚‡ใ†", + "ใกใš", + "ใกใ›ใ„", + "ใกใใ†", + "ใกใŸใ„", + "ใกใŸใ‚“", + "ใกใกใŠใ‚„", + "ใกใคใ˜ใ‚‡", + "ใกใฆใ", + "ใกใฆใ‚“", + "ใกใฌใ", + "ใกใฌใ‚Š", + "ใกใฎใ†", + "ใกใฒใ‚‡ใ†", + "ใกใธใ„ใ›ใ‚“", + "ใกใปใ†", + "ใกใพใŸ", + "ใกใฟใค", + "ใกใฟใฉใ‚", + "ใกใ‚ใ„ใฉ", + "ใกใ‚…ใ†ใ„", + "ใกใ‚…ใ†ใŠใ†", + "ใกใ‚…ใ†ใŠใ†ใ", + "ใกใ‚…ใ†ใŒใฃใ“ใ†", + "ใกใ‚…ใ†ใ”ใ", + "ใกใ‚†ใ‚Šใ‚‡ใ", + "ใกใ‚‡ใ†ใ•", + "ใกใ‚‡ใ†ใ—", + "ใกใ‚‰ใ—", + "ใกใ‚‰ใฟ", + "ใกใ‚Š", + "ใกใ‚ŠใŒใฟ", + "ใกใ‚‹", + "ใกใ‚‹ใฉ", + "ใกใ‚ใ‚", + "ใกใ‚“ใŸใ„", + "ใกใ‚“ใ‚‚ใ", + "ใคใ„ใ‹", + "ใคใ†ใ‹", + "ใคใ†ใ˜ใ‚‡ใ†", + "ใคใ†ใ˜ใ‚‹", + "ใคใ†ใฏใ‚“", + "ใคใ†ใ‚", + "ใคใˆ", + "ใคใ‹ใ†", + "ใคใ‹ใ‚Œใ‚‹", + "ใคใ", + "ใคใ", + "ใคใใญ", + "ใคใใ‚‹", + "ใคใ‘ใญ", + "ใคใ‘ใ‚‹", + "ใคใ”ใ†", + "ใคใŸ", + "ใคใŸใˆใ‚‹", + "ใคใก", + "ใคใคใ˜", + "ใคใจใ‚ใ‚‹", + "ใคใช", + "ใคใชใŒใ‚‹", + "ใคใชใฟ", + "ใคใญใฅใญ", + "ใคใฎ", + "ใคใฎใ‚‹", + "ใคใฐ", + "ใคใถ", + "ใคใถใ™", + "ใคใผ", + "ใคใพ", + "ใคใพใ‚‰ใชใ„", + "ใคใพใ‚‹", + "ใคใฟ", + "ใคใฟใ", + "ใคใ‚€", + "ใคใ‚ใŸใ„", + "ใคใ‚‚ใ‚‹", + "ใคใ‚„", + "ใคใ‚ˆใ„", + "ใคใ‚Š", + "ใคใ‚‹ใผ", + "ใคใ‚‹ใฟใ", + "ใคใ‚ใ‚‚ใฎ", + "ใคใ‚ใ‚Š", + "ใฆใ‚ใ—", + "ใฆใ‚ใฆ", + "ใฆใ‚ใฟ", + "ใฆใ„ใ‹", + "ใฆใ„ใ", + "ใฆใ„ใ‘ใ„", + "ใฆใ„ใ‘ใค", + "ใฆใ„ใ‘ใคใ‚ใค", + "ใฆใ„ใ“ใ", + "ใฆใ„ใ•ใค", + "ใฆใ„ใ—", + "ใฆใ„ใ—ใ‚ƒ", + "ใฆใ„ใ›ใ„", + "ใฆใ„ใŸใ„", + "ใฆใ„ใฉ", + "ใฆใ„ใญใ„", + "ใฆใ„ใฒใ‚‡ใ†", + "ใฆใ„ใธใ‚“", + "ใฆใ„ใผใ†", + "ใฆใ†ใก", + "ใฆใŠใใ‚Œ", + "ใฆใ", + "ใฆใใณ", + "ใฆใ“", + "ใฆใ•ใŽใ‚‡ใ†", + "ใฆใ•ใ’", + "ใงใ—", + "ใฆใ™ใ‚Š", + "ใฆใใ†", + "ใฆใกใŒใ„", + "ใฆใกใ‚‡ใ†", + "ใฆใคใŒใ", + "ใฆใคใฅใ", + "ใฆใคใ‚„", + "ใงใฌใ‹ใˆ", + "ใฆใฌใ", + "ใฆใฌใใ„", + "ใฆใฎใฒใ‚‰", + "ใฆใฏใ„", + "ใฆใตใ ", + "ใฆใปใฉใ", + "ใฆใปใ‚“", + "ใฆใพ", + "ใฆใพใˆ", + "ใฆใพใใšใ—", + "ใฆใฟใ˜ใ‹", + "ใฆใฟใ‚„ใ’", + "ใฆใ‚‰", + "ใฆใ‚‰ใ™", + "ใงใ‚‹", + "ใฆใ‚Œใณ", + "ใฆใ‚", + "ใฆใ‚ใ‘", + "ใฆใ‚ใŸใ—", + "ใงใ‚“ใ‚ใค", + "ใฆใ‚“ใ„", + "ใฆใ‚“ใ„ใ‚“", + "ใฆใ‚“ใ‹ใ„", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ‘ใ‚“", + "ใงใ‚“ใ’ใ‚“", + "ใฆใ‚“ใ”ใ", + "ใฆใ‚“ใ•ใ„", + "ใฆใ‚“ใ™ใ†", + "ใงใ‚“ใก", + "ใฆใ‚“ใฆใ", + "ใฆใ‚“ใจใ†", + "ใฆใ‚“ใชใ„", + "ใฆใ‚“ใท", + "ใฆใ‚“ใทใ‚‰", + "ใฆใ‚“ใผใ†ใ ใ„", + "ใฆใ‚“ใ‚ใค", + "ใฆใ‚“ใ‚‰ใ", + "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", + "ใงใ‚“ใ‚Šใ‚…ใ†", + "ใงใ‚“ใ‚Šใ‚‡ใ", + "ใงใ‚“ใ‚", + "ใฉใ‚", + "ใฉใ‚ใ„", + "ใจใ„ใ‚Œ", + "ใจใ†ใ‚€ใŽ", + "ใจใŠใ„", + "ใจใŠใ™", + "ใจใ‹ใ„", + "ใจใ‹ใ™", + "ใจใใŠใ‚Š", + "ใจใใฉใ", + "ใจใใ„", + "ใจใใฆใ„", + "ใจใใฆใ‚“", + "ใจใในใค", + "ใจใ‘ใ„", + "ใจใ‘ใ‚‹", + "ใจใ•ใ‹", + "ใจใ—", + "ใจใ—ใ‚‡ใ‹ใ‚“", + "ใจใใ†", + "ใจใŸใ‚“", + "ใจใก", + "ใจใกใ‚…ใ†", + "ใจใคใœใ‚“", + "ใจใคใซใ‚…ใ†", + "ใจใจใฎใˆใ‚‹", + "ใจใชใ„", + "ใจใชใˆใ‚‹", + "ใจใชใ‚Š", + "ใจใฎใ•ใพ", + "ใจใฐใ™", + "ใจใถ", + "ใจใป", + "ใจใปใ†", + "ใฉใพ", + "ใจใพใ‚‹", + "ใจใ‚‰", + "ใจใ‚Š", + "ใจใ‚‹", + "ใจใ‚“ใ‹ใค", + "ใชใ„", + "ใชใ„ใ‹", + "ใชใ„ใ‹ใ", + "ใชใ„ใ“ใ†", + "ใชใ„ใ—ใ‚‡", + "ใชใ„ใ™", + "ใชใ„ใ›ใ‚“", + "ใชใ„ใใ†", + "ใชใ„ใžใ†", + "ใชใŠใ™", + "ใชใ", + "ใชใ“ใ†ใฉ", + "ใชใ•ใ‘", + "ใชใ—", + "ใชใ™", + "ใชใœ", + "ใชใž", + "ใชใŸใงใ“ใ“", + "ใชใค", + "ใชใฃใจใ†", + "ใชใคใ‚„ใ™ใฟ", + "ใชใชใŠใ—", + "ใชใซใ”ใจ", + "ใชใซใ‚‚ใฎ", + "ใชใซใ‚", + "ใชใฏ", + "ใชใณ", + "ใชใตใ ", + "ใชใน", + "ใชใพใ„ใ", + "ใชใพใˆ", + "ใชใพใฟ", + "ใชใฟ", + "ใชใฟใ ", + "ใชใ‚ใ‚‰ใ‹", + "ใชใ‚ใ‚‹", + "ใชใ‚„ใ‚€", + "ใชใ‚‰ใถ", + "ใชใ‚‹", + "ใชใ‚Œใ‚‹", + "ใชใ‚", + "ใชใ‚ใจใณ", + "ใชใ‚ใฐใ‚Š", + "ใซใ‚ใ†", + "ใซใ„ใŒใŸ", + "ใซใ†ใ‘", + "ใซใŠใ„", + "ใซใ‹ใ„", + "ใซใŒใฆ", + "ใซใใณ", + "ใซใ", + "ใซใใ—ใฟ", + "ใซใใพใ‚“", + "ใซใ’ใ‚‹", + "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", + "ใซใ—", + "ใซใ—ใ", + "ใซใ™", + "ใซใ›ใ‚‚ใฎ", + "ใซใกใ˜", + "ใซใกใ˜ใ‚‡ใ†", + "ใซใกใ‚ˆใ†ใณ", + "ใซใฃใ‹", + "ใซใฃใ", + "ใซใฃใ‘ใ„", + "ใซใฃใ“ใ†", + "ใซใฃใ•ใ‚“", + "ใซใฃใ—ใ‚‡ใ", + "ใซใฃใ™ใ†", + "ใซใฃใ›ใ", + "ใซใฃใฆใ„", + "ใซใชใ†", + "ใซใปใ‚“", + "ใซใพใ‚", + "ใซใ‚‚ใค", + "ใซใ‚„ใ‚Š", + "ใซใ‚…ใ†ใ„ใ‚“", + "ใซใ‚…ใ†ใ‹", + "ใซใ‚…ใ†ใ—", + "ใซใ‚…ใ†ใ—ใ‚ƒ", + "ใซใ‚…ใ†ใ ใ‚“", + "ใซใ‚…ใ†ใถ", + "ใซใ‚‰", + "ใซใ‚Šใ‚“ใ—ใ‚ƒ", + "ใซใ‚‹", + "ใซใ‚", + "ใซใ‚ใจใ‚Š", + "ใซใ‚“ใ„", + "ใซใ‚“ใ‹", + "ใซใ‚“ใ", + "ใซใ‚“ใ’ใ‚“", + "ใซใ‚“ใ—ใ", + "ใซใ‚“ใ—ใ‚‡ใ†", + "ใซใ‚“ใ—ใ‚“", + "ใซใ‚“ใšใ†", + "ใซใ‚“ใใ†", + "ใซใ‚“ใŸใ„", + "ใซใ‚“ใก", + "ใซใ‚“ใฆใ„", + "ใซใ‚“ใซใ", + "ใซใ‚“ใท", + "ใซใ‚“ใพใ‚Š", + "ใซใ‚“ใ‚€", + "ใซใ‚“ใ‚ใ„", + "ใซใ‚“ใ‚ˆใ†", + "ใฌใ†", + "ใฌใ‹", + "ใฌใ", + "ใฌใใ‚‚ใ‚Š", + "ใฌใ—", + "ใฌใฎ", + "ใฌใพ", + "ใฌใ‚ใ‚Š", + "ใฌใ‚‰ใ™", + "ใฌใ‚‹", + "ใฌใ‚“ใกใ‚ƒใ", + "ใญใ‚ใ’", + "ใญใ„ใ", + "ใญใ„ใ‚‹", + "ใญใ„ใ‚", + "ใญใŽ", + "ใญใใ›", + "ใญใใŸใ„", + "ใญใใ‚‰", + "ใญใ“", + "ใญใ“ใœ", + "ใญใ“ใ‚€", + "ใญใ•ใ’", + "ใญใ™ใ”ใ™", + "ใญใในใ‚‹", + "ใญใคใ„", + "ใญใคใžใ†", + "ใญใฃใŸใ„", + "ใญใฃใŸใ„ใŽใ‚‡", + "ใญใถใใ", + "ใญใตใ ", + "ใญใผใ†", + "ใญใปใ‚Šใฏใปใ‚Š", + "ใญใพใ", + "ใญใพใ‚ใ—", + "ใญใฟใฟ", + "ใญใ‚€ใ„", + "ใญใ‚‚ใจ", + "ใญใ‚‰ใ†", + "ใญใ‚‹", + "ใญใ‚ใ–", + "ใญใ‚“ใ„ใ‚Š", + "ใญใ‚“ใŠใ—", + "ใญใ‚“ใ‹ใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใ–", + "ใญใ‚“ใ—", + "ใญใ‚“ใกใ‚ƒใ", + "ใญใ‚“ใกใ‚‡ใ†", + "ใญใ‚“ใฉ", + "ใญใ‚“ใด", + "ใญใ‚“ใถใค", + "ใญใ‚“ใพใ", + "ใญใ‚“ใพใค", + "ใญใ‚“ใ‚Šใ", + "ใญใ‚“ใ‚Šใ‚‡ใ†", + "ใญใ‚“ใ‚Œใ„", + "ใฎใ„ใš", + "ใฎใ†", + "ใฎใŠใฅใพ", + "ใฎใŒใ™", + "ใฎใใชใฟ", + "ใฎใ“ใŽใ‚Š", + "ใฎใ“ใ™", + "ใฎใ›ใ‚‹", + "ใฎใžใ", + "ใฎใžใ‚€", + "ใฎใŸใพใ†", + "ใฎใกใปใฉ", + "ใฎใฃใ", + "ใฎใฐใ™", + "ใฎใฏใ‚‰", + "ใฎในใ‚‹", + "ใฎใผใ‚‹", + "ใฎใ‚€", + "ใฎใ‚„ใพ", + "ใฎใ‚‰ใ„ใฌ", + "ใฎใ‚‰ใญใ“", + "ใฎใ‚Š", + "ใฎใ‚‹", + "ใฎใ‚Œใ‚“", + "ใฎใ‚“ใ", + "ใฐใ‚ใ„", + "ใฏใ‚ใ", + "ใฐใ‚ใ•ใ‚“", + "ใฏใ„", + "ใฐใ„ใ‹", + "ใฐใ„ใ", + "ใฏใ„ใ‘ใ‚“", + "ใฏใ„ใ”", + "ใฏใ„ใ“ใ†", + "ใฏใ„ใ—", + "ใฏใ„ใ—ใ‚…ใค", + "ใฏใ„ใ—ใ‚“", + "ใฏใ„ใ™ใ„", + "ใฏใ„ใ›ใค", + "ใฏใ„ใ›ใ‚“", + "ใฏใ„ใใ†", + "ใฏใ„ใก", + "ใฐใ„ใฐใ„", + "ใฏใ†", + "ใฏใˆ", + "ใฏใˆใ‚‹", + "ใฏใŠใ‚‹", + "ใฏใ‹", + "ใฐใ‹", + "ใฏใ‹ใ„", + "ใฏใ‹ใ‚‹", + "ใฏใ", + "ใฏใ", + "ใฏใใ—ใ‚…", + "ใฏใ‘ใ‚“", + "ใฏใ“", + "ใฏใ“ใถ", + "ใฏใ•ใฟ", + "ใฏใ•ใ‚“", + "ใฏใ—", + "ใฏใ—ใ”", + "ใฏใ—ใ‚‹", + "ใฐใ™", + "ใฏใ›ใ‚‹", + "ใฑใใ“ใ‚“", + "ใฏใใ‚“", + "ใฏใŸใ‚“", + "ใฏใก", + "ใฏใกใฟใค", + "ใฏใฃใ‹", + "ใฏใฃใ‹ใ", + "ใฏใฃใ", + "ใฏใฃใใ‚Š", + "ใฏใฃใใค", + "ใฏใฃใ‘ใ‚“", + "ใฏใฃใ“ใ†", + "ใฏใฃใ•ใ‚“", + "ใฏใฃใ—ใ‚ƒ", + "ใฏใฃใ—ใ‚“", + "ใฏใฃใŸใค", + "ใฏใฃใกใ‚ƒใ", + "ใฏใฃใกใ‚…ใ†", + "ใฏใฃใฆใ‚“", + "ใฏใฃใดใ‚‡ใ†", + "ใฏใฃใฝใ†", + "ใฏใฆ", + "ใฏใช", + "ใฏใชใ™", + "ใฏใชใณ", + "ใฏใซใ‹ใ‚€", + "ใฏใญ", + "ใฏใฏ", + "ใฏใถใ‚‰ใ—", + "ใฏใพ", + "ใฏใฟใŒใ", + "ใฏใ‚€", + "ใฏใ‚€ใ‹ใ†", + "ใฏใ‚ใค", + "ใฏใ‚„ใ„", + "ใฏใ‚‰", + "ใฏใ‚‰ใ†", + "ใฏใ‚Š", + "ใฏใ‚‹", + "ใฏใ‚Œ", + "ใฏใ‚ใ†ใƒใ‚“", + "ใฏใ‚ใ„", + "ใฏใ‚“ใ„", + "ใฏใ‚“ใˆใ„", + "ใฏใ‚“ใˆใ‚“", + "ใฏใ‚“ใŠใ‚“", + "ใฏใ‚“ใ‹ใ", + "ใฏใ‚“ใ‹ใก", + "ใฏใ‚“ใใ‚‡ใ†", + "ใฏใ‚“ใ“", + "ใฏใ‚“ใ“ใ†", + "ใฏใ‚“ใ—ใ‚ƒ", + "ใฏใ‚“ใ—ใ‚“", + "ใฏใ‚“ใ™ใ†", + "ใฏใ‚“ใŸใ„", + "ใฏใ‚“ใ ใ‚“", + "ใฑใ‚“ใก", + "ใฑใ‚“ใค", + "ใฏใ‚“ใฆใ„", + "ใฏใ‚“ใฆใ‚“", + "ใฏใ‚“ใจใ—", + "ใฏใ‚“ใฎใ†", + "ใฏใ‚“ใฑ", + "ใฏใ‚“ใถใ‚“", + "ใฏใ‚“ใบใ‚“", + "ใฏใ‚“ใผใ†ใ", + "ใฏใ‚“ใ‚ใ„", + "ใฏใ‚“ใ‚ใ‚“", + "ใฏใ‚“ใ‚‰ใ‚“", + "ใฏใ‚“ใ‚ใ‚“", + "ใฒใ„ใ", + "ใฒใ†ใ‚“", + "ใฒใˆใ‚‹", + "ใฒใ‹ใ", + "ใฒใ‹ใ‚Š", + "ใฒใ‹ใ‚“", + "ใฒใ", + "ใฒใใ„", + "ใฒใ‘ใค", + "ใฒใ“ใ†ใ", + "ใฒใ“ใ", + "ใฒใ–", + "ใดใ–", + "ใฒใ•ใ„", + "ใฒใ•ใ—ใถใ‚Š", + "ใฒใ•ใ‚“", + "ใฒใ—", + "ใฒใ˜", + "ใฒใ—ใ‚‡", + "ใฒใ˜ใ‚‡ใ†", + "ใฒใใ‹", + "ใฒใใ‚€", + "ใฒใŸใ‚€ใ", + "ใฒใŸใ‚‹", + "ใฒใคใŽ", + "ใฒใฃใ“ใ—", + "ใฒใฃใ—", + "ใฒใฃใ™", + "ใฒใคใœใ‚“", + "ใฒใคใ‚ˆใ†", + "ใฒใฆใ„", + "ใฒใจ", + "ใฒใจใ”ใฟ", + "ใฒใช", + "ใฒใชใ‚“", + "ใฒใญใ‚‹", + "ใฒใฏใ‚“", + "ใฒใณใ", + "ใฒใฒใ‚‡ใ†", + "ใฒใต", + "ใฒใปใ†", + "ใฒใพ", + "ใฒใพใ‚“", + "ใฒใฟใค", + "ใฒใ‚", + "ใฒใ‚ใ„", + "ใฒใ‚ใ˜ใ—", + "ใฒใ‚‚", + "ใฒใ‚„ใ‘", + "ใฒใ‚„ใ™", + "ใฒใ‚†", + "ใฒใ‚ˆใ†", + "ใณใ‚‡ใ†ใ", + "ใฒใ‚‰ใ", + "ใฒใ‚Šใค", + "ใฒใ‚Šใ‚‡ใ†", + "ใฒใ‚‹", + "ใฒใ‚Œใ„", + "ใฒใ‚ใ„", + "ใฒใ‚ใ†", + "ใฒใ‚", + "ใฒใ‚“ใ‹ใ", + "ใฒใ‚“ใ‘ใค", + "ใฒใ‚“ใ“ใ‚“", + "ใฒใ‚“ใ—", + "ใฒใ‚“ใ—ใค", + "ใฒใ‚“ใ—ใ‚…", + "ใฒใ‚“ใใ†", + "ใดใ‚“ใก", + "ใฒใ‚“ใฑใ‚“", + "ใณใ‚“ใผใ†", + "ใตใ‚ใ‚“", + "ใตใ„ใ†ใก", + "ใตใ†ใ‘ใ„", + "ใตใ†ใ›ใ‚“", + "ใตใ†ใจใ†", + "ใตใ†ใต", + "ใตใˆ", + "ใตใˆใ‚‹", + "ใตใŠใ‚“", + "ใตใ‹", + "ใตใ‹ใ„", + "ใตใใ‚“", + "ใตใ", + "ใตใใ–ใค", + "ใตใ“ใ†", + "ใตใ•ใ„", + "ใตใ–ใ„", + "ใตใ—ใŽ", + "ใตใ˜ใฟ", + "ใตใ™ใพ", + "ใตใ›ใ„", + "ใตใ›ใ", + "ใตใใ", + "ใตใŸ", + "ใตใŸใ‚“", + "ใตใก", + "ใตใกใ‚‡ใ†", + "ใตใคใ†", + "ใตใฃใ‹ใค", + "ใตใฃใ", + "ใตใฃใใ‚“", + "ใตใฃใ“ใ", + "ใตใจใ‚‹", + "ใตใจใ‚“", + "ใตใญ", + "ใตใฎใ†", + "ใตใฏใ„", + "ใตใฒใ‚‡ใ†", + "ใตใธใ‚“", + "ใตใพใ‚“", + "ใตใฟใ‚“", + "ใตใ‚€", + "ใตใ‚ใค", + "ใตใ‚ใ‚“", + "ใตใ‚†", + "ใตใ‚ˆใ†", + "ใตใ‚Šใ“", + "ใตใ‚Šใ‚‹", + "ใตใ‚‹", + "ใตใ‚‹ใ„", + "ใตใ‚", + "ใตใ‚“ใ„ใ", + "ใตใ‚“ใ‹", + "ใถใ‚“ใ‹", + "ใถใ‚“ใ", + "ใตใ‚“ใ—ใค", + "ใถใ‚“ใ›ใ", + "ใตใ‚“ใใ†", + "ใธใ„", + "ใธใ„ใ", + "ใธใ„ใ•", + "ใธใ„ใ‚", + "ใธใใŒ", + "ใธใ“ใ‚€", + "ใธใ", + "ใธใŸ", + "ในใค", + "ในใฃใฉ", + "ใบใฃใจ", + "ใธใณ", + "ใธใ‚„", + "ใธใ‚‹", + "ใธใ‚“ใ‹", + "ใธใ‚“ใ‹ใ‚“", + "ใธใ‚“ใใ‚ƒใ", + "ใธใ‚“ใใ‚“", + "ใธใ‚“ใ•ใ„", + "ใธใ‚“ใŸใ„", + "ใปใ‚ใ‚“", + "ใปใ„ใ", + "ใปใ†ใปใ†", + "ใปใˆใ‚‹", + "ใปใŠใ‚“", + "ใปใ‹ใ‚“", + "ใปใใ‚‡ใ†", + "ใผใใ‚“", + "ใปใใ‚", + "ใปใ‘ใค", + "ใปใ‘ใ‚“", + "ใปใ“ใ†", + "ใปใ“ใ‚‹", + "ใปใ•", + "ใปใ—", + "ใปใ—ใค", + "ใปใ—ใ‚…", + "ใปใ—ใ‚‡ใ†", + "ใปใ™", + "ใปใ›ใ„", + "ใผใ›ใ„", + "ใปใใ„", + "ใปใใ", + "ใปใŸใฆ", + "ใปใŸใ‚‹", + "ใผใก", + "ใปใฃใใ‚‡ใ", + "ใปใฃใ•", + "ใปใฃใŸใ‚“", + "ใปใจใ‚“ใฉ", + "ใปใ‚ใ‚‹", + "ใปใ‚‹", + "ใปใ‚“ใ„", + "ใปใ‚“ใ", + "ใปใ‚“ใ‘", + "ใปใ‚“ใ—ใค", + "ใพใ„ใซใก", + "ใพใ†", + "ใพใ‹ใ„", + "ใพใ‹ใ›ใ‚‹", + "ใพใ", + "ใพใ‘ใ‚‹", + "ใพใ“ใจ", + "ใพใ•ใค", + "ใพใ™ใ", + "ใพใœใ‚‹", + "ใพใก", + "ใพใค", + "ใพใคใ‚Š", + "ใพใจใ‚", + "ใพใชใถ", + "ใพใฌใ‘", + "ใพใญ", + "ใพใญใ", + "ใพใฒ", + "ใพใปใ†", + "ใพใ‚", + "ใพใ‚‚ใ‚‹", + "ใพใ‚†ใ’", + "ใพใ‚ˆใ†", + "ใพใ‚‹", + "ใพใ‚ใ‚„ใ‹", + "ใพใ‚ใ™", + "ใพใ‚ใ‚Š", + "ใพใ‚“ใŒ", + "ใพใ‚“ใ‹ใ„", + "ใพใ‚“ใใค", + "ใพใ‚“ใžใ", + "ใฟใ„ใ‚‰", + "ใฟใ†ใก", + "ใฟใ‹ใŸ", + "ใฟใ‹ใ‚“", + "ใฟใŽ", + "ใฟใ‘ใ‚“", + "ใฟใ“ใ‚“", + "ใฟใ™ใ„", + "ใฟใ™ใˆใ‚‹", + "ใฟใ›", + "ใฟใ", + "ใฟใก", + "ใฟใฆใ„", + "ใฟใจใ‚ใ‚‹", + "ใฟใชใฟใ‹ใ•ใ„", + "ใฟใญใ‚‰ใ‚‹", + "ใฟใฎใ†", + "ใฟใปใ‚“", + "ใฟใฟ", + "ใฟใ‚‚ใจ", + "ใฟใ‚„ใ’", + "ใฟใ‚‰ใ„", + "ใฟใ‚Šใ‚‡ใ", + "ใฟใ‚‹", + "ใฟใ‚ใ", + "ใ‚€ใˆใ", + "ใ‚€ใˆใ‚“", + "ใ‚€ใ‹ใ—", + "ใ‚€ใ", + "ใ‚€ใ“", + "ใ‚€ใ•ใผใ‚‹", + "ใ‚€ใ—", + "ใ‚€ใ™ใ“", + "ใ‚€ใ™ใ‚", + "ใ‚€ใ›ใ‚‹", + "ใ‚€ใ›ใ‚“", + "ใ‚€ใ ", + "ใ‚€ใก", + "ใ‚€ใชใ—ใ„", + "ใ‚€ใญ", + "ใ‚€ใฎใ†", + "ใ‚€ใ‚„ใฟ", + "ใ‚€ใ‚ˆใ†", + "ใ‚€ใ‚‰", + "ใ‚€ใ‚Š", + "ใ‚€ใ‚Šใ‚‡ใ†", + "ใ‚€ใ‚Œ", + "ใ‚€ใ‚ใ‚“", + "ใ‚‚ใ†ใฉใ†ใ‘ใ‚“", + "ใ‚‚ใˆใ‚‹", + "ใ‚‚ใŽ", + "ใ‚‚ใใ—", + "ใ‚‚ใใฆใ", + "ใ‚‚ใ—", + "ใ‚‚ใ‚“ใ", + "ใ‚‚ใ‚“ใ ใ„", + "ใ‚„ใ™ใ„", + "ใ‚„ใ™ใฟ", + "ใ‚„ใใ†", + "ใ‚„ใŸใ„", + "ใ‚„ใกใ‚“", + "ใ‚„ใญ", + "ใ‚„ใถใ‚‹", + "ใ‚„ใพ", + "ใ‚„ใฟ", + "ใ‚„ใ‚ใ‚‹", + "ใ‚„ใ‚„ใ“ใ—ใ„", + "ใ‚„ใ‚ˆใ„", + "ใ‚„ใ‚Š", + "ใ‚„ใ‚ใ‚‰ใ‹ใ„", + "ใ‚†ใ‘ใค", + "ใ‚†ใ—ใ‚…ใค", + "ใ‚†ใ›ใ‚“", + "ใ‚†ใใ†", + "ใ‚†ใŸใ‹", + "ใ‚†ใกใ‚ƒใ", + "ใ‚†ใงใ‚‹", + "ใ‚†ใณ", + "ใ‚†ใณใ‚", + "ใ‚†ใ‚", + "ใ‚†ใ‚Œใ‚‹", + "ใ‚ˆใ†", + "ใ‚ˆใ‹ใœ", + "ใ‚ˆใ‹ใ‚“", + "ใ‚ˆใใ‚“", + "ใ‚ˆใใ›ใ„", + "ใ‚ˆใใผใ†", + "ใ‚ˆใ‘ใ„", + "ใ‚ˆใ•ใ‚“", + "ใ‚ˆใใ†", + "ใ‚ˆใใ", + "ใ‚ˆใก", + "ใ‚ˆใฆใ„", + "ใ‚ˆใฉใŒใ‚ใ", + "ใ‚ˆใญใค", + "ใ‚ˆใ‚€", + "ใ‚ˆใ‚", + "ใ‚ˆใ‚„ใ", + "ใ‚ˆใ‚†ใ†", + "ใ‚ˆใ‚‹", + "ใ‚ˆใ‚ใ“ใถ", + "ใ‚‰ใ„ใ†", + "ใ‚‰ใใŒใ", + "ใ‚‰ใใ”", + "ใ‚‰ใใ•ใค", + "ใ‚‰ใใ ", + "ใ‚‰ใใŸใ‚“", + "ใ‚‰ใ—ใ‚“ใฐใ‚“", + "ใ‚‰ใ›ใ‚“", + "ใ‚‰ใžใ", + "ใ‚‰ใŸใ„", + "ใ‚‰ใก", + "ใ‚‰ใฃใ‹", + "ใ‚‰ใฃใ‹ใ›ใ„", + "ใ‚‰ใ‚Œใค", + "ใ‚Šใˆใ", + "ใ‚Šใ‹", + "ใ‚Šใ‹ใ„", + "ใ‚Šใใ•ใ", + "ใ‚Šใใ›ใค", + "ใ‚Šใ", + "ใ‚Šใใใ‚“", + "ใ‚Šใใค", + "ใ‚Šใ‘ใ‚“", + "ใ‚Šใ“ใ†", + "ใ‚Šใ—", + "ใ‚Šใ™", + "ใ‚Šใ›ใ„", + "ใ‚Šใใ†", + "ใ‚Šใใ", + "ใ‚Šใฆใ‚“", + "ใ‚Šใญใ‚“", + "ใ‚Šใ‚…ใ†", + "ใ‚Šใ‚†ใ†", + "ใ‚Šใ‚…ใ†ใŒใ", + "ใ‚Šใ‚…ใ†ใ“ใ†", + "ใ‚Šใ‚…ใ†ใ—", + "ใ‚Šใ‚…ใ†ใญใ‚“", + "ใ‚Šใ‚ˆใ†", + "ใ‚Šใ‚‡ใ†ใ‹ใ„", + "ใ‚Šใ‚‡ใ†ใใ‚“", + "ใ‚Šใ‚‡ใ†ใ—ใ‚“", + "ใ‚Šใ‚‡ใ†ใฆ", + "ใ‚Šใ‚‡ใ†ใฉ", + "ใ‚Šใ‚‡ใ†ใปใ†", + "ใ‚Šใ‚‡ใ†ใ‚Š", + "ใ‚Šใ‚Šใ", + "ใ‚Šใ‚Œใ", + "ใ‚Šใ‚ใ‚“", + "ใ‚Šใ‚“ใ”", + "ใ‚‹ใ„ใ˜", + "ใ‚‹ใ™", + "ใ‚Œใ„ใ‹ใ‚“", + "ใ‚Œใ„ใŽ", + "ใ‚Œใ„ใ›ใ„", + "ใ‚Œใ„ใžใ†ใ“", + "ใ‚Œใ„ใจใ†", + "ใ‚Œใใ—", + "ใ‚Œใใ ใ„", + "ใ‚Œใ‚“ใ‚ใ„", + "ใ‚Œใ‚“ใ‘ใ„", + "ใ‚Œใ‚“ใ‘ใค", + "ใ‚Œใ‚“ใ“ใ†", + "ใ‚Œใ‚“ใ“ใ‚“", + "ใ‚Œใ‚“ใ•", + "ใ‚Œใ‚“ใ•ใ„", + "ใ‚Œใ‚“ใ•ใ", + "ใ‚Œใ‚“ใ—ใ‚ƒ", + "ใ‚Œใ‚“ใ—ใ‚…ใ†", + "ใ‚Œใ‚“ใžใ", + "ใ‚ใ†ใ‹", + "ใ‚ใ†ใ”", + "ใ‚ใ†ใ˜ใ‚“", + "ใ‚ใ†ใใ", + "ใ‚ใ‹", + "ใ‚ใใŒ", + "ใ‚ใ“ใค", + "ใ‚ใ—ใ‚…ใค", + "ใ‚ใ›ใ‚“", + "ใ‚ใฆใ‚“", + "ใ‚ใ‚ใ‚“", + "ใ‚ใ‚Œใค", + "ใ‚ใ‚“ใŽ", + "ใ‚ใ‚“ใฑ", + "ใ‚ใ‚“ใถใ‚“", + "ใ‚ใ‚“ใ‚Š", + "ใ‚ใ˜ใพใ—" + ); + return word_list; +} + +std::unordered_map& word_map_japanese() +{ + static std::unordered_map word_map; + if (word_map.size() > 0) + { + return word_map; + } + std::vector word_list = word_list_japanese(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + word_map[*it] = ii; + } + return word_map; +} + +std::unordered_map& trimmed_word_map_japanese() +{ + static std::unordered_map trimmed_word_map; + if (trimmed_word_map.size() > 0) + { + return trimmed_word_map; + } + std::vector word_list = word_list_japanese(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + if (it->length() > 4) + { + trimmed_word_map[it->substr(0, 4)] = ii; + } + else + { + trimmed_word_map[*it] = ii; + } + } + return trimmed_word_map; +} diff --git a/src/mnemonics/old_english.h b/src/mnemonics/old_english.h new file mode 100644 index 000000000..3a315f6ef --- /dev/null +++ b/src/mnemonics/old_english.h @@ -0,0 +1,1676 @@ +#include +#include + +std::vector& word_list_old_english() +{ + static std::vector word_list( + "like", + "just", + "love", + "know", + "never", + "want", + "time", + "out", + "there", + "make", + "look", + "eye", + "down", + "only", + "think", + "heart", + "back", + "then", + "into", + "about", + "more", + "away", + "still", + "them", + "take", + "thing", + "even", + "through", + "long", + "always", + "world", + "too", + "friend", + "tell", + "try", + "hand", + "thought", + "over", + "here", + "other", + "need", + "smile", + "again", + "much", + "cry", + "been", + "night", + "ever", + "little", + "said", + "end", + "some", + "those", + "around", + "mind", + "people", + "girl", + "leave", + "dream", + "left", + "turn", + "myself", + "give", + "nothing", + "really", + "off", + "before", + "something", + "find", + "walk", + "wish", + "good", + "once", + "place", + "ask", + "stop", + "keep", + "watch", + "seem", + "everything", + "wait", + "got", + "yet", + "made", + "remember", + "start", + "alone", + "run", + "hope", + "maybe", + "believe", + "body", + "hate", + "after", + "close", + "talk", + "stand", + "own", + "each", + "hurt", + "help", + "home", + "god", + "soul", + "new", + "many", + "two", + "inside", + "should", + "true", + "first", + "fear", + "mean", + "better", + "play", + "another", + "gone", + "change", + "use", + "wonder", + "someone", + "hair", + "cold", + "open", + "best", + "any", + "behind", + "happen", + "water", + "dark", + "laugh", + "stay", + "forever", + "name", + "work", + "show", + "sky", + "break", + "came", + "deep", + "door", + "put", + "black", + "together", + "upon", + "happy", + "such", + "great", + "white", + "matter", + "fill", + "past", + "please", + "burn", + "cause", + "enough", + "touch", + "moment", + "soon", + "voice", + "scream", + "anything", + "stare", + "sound", + "red", + "everyone", + "hide", + "kiss", + "truth", + "death", + "beautiful", + "mine", + "blood", + "broken", + "very", + "pass", + "next", + "forget", + "tree", + "wrong", + "air", + "mother", + "understand", + "lip", + "hit", + "wall", + "memory", + "sleep", + "free", + "high", + "realize", + "school", + "might", + "skin", + "sweet", + "perfect", + "blue", + "kill", + "breath", + "dance", + "against", + "fly", + "between", + "grow", + "strong", + "under", + "listen", + "bring", + "sometimes", + "speak", + "pull", + "person", + "become", + "family", + "begin", + "ground", + "real", + "small", + "father", + "sure", + "feet", + "rest", + "young", + "finally", + "land", + "across", + "today", + "different", + "guy", + "line", + "fire", + "reason", + "reach", + "second", + "slowly", + "write", + "eat", + "smell", + "mouth", + "step", + "learn", + "three", + "floor", + "promise", + "breathe", + "darkness", + "push", + "earth", + "guess", + "save", + "song", + "above", + "along", + "both", + "color", + "house", + "almost", + "sorry", + "anymore", + "brother", + "okay", + "dear", + "game", + "fade", + "already", + "apart", + "warm", + "beauty", + "heard", + "notice", + "question", + "shine", + "began", + "piece", + "whole", + "shadow", + "secret", + "street", + "within", + "finger", + "point", + "morning", + "whisper", + "child", + "moon", + "green", + "story", + "glass", + "kid", + "silence", + "since", + "soft", + "yourself", + "empty", + "shall", + "angel", + "answer", + "baby", + "bright", + "dad", + "path", + "worry", + "hour", + "drop", + "follow", + "power", + "war", + "half", + "flow", + "heaven", + "act", + "chance", + "fact", + "least", + "tired", + "children", + "near", + "quite", + "afraid", + "rise", + "sea", + "taste", + "window", + "cover", + "nice", + "trust", + "lot", + "sad", + "cool", + "force", + "peace", + "return", + "blind", + "easy", + "ready", + "roll", + "rose", + "drive", + "held", + "music", + "beneath", + "hang", + "mom", + "paint", + "emotion", + "quiet", + "clear", + "cloud", + "few", + "pretty", + "bird", + "outside", + "paper", + "picture", + "front", + "rock", + "simple", + "anyone", + "meant", + "reality", + "road", + "sense", + "waste", + "bit", + "leaf", + "thank", + "happiness", + "meet", + "men", + "smoke", + "truly", + "decide", + "self", + "age", + "book", + "form", + "alive", + "carry", + "escape", + "damn", + "instead", + "able", + "ice", + "minute", + "throw", + "catch", + "leg", + "ring", + "course", + "goodbye", + "lead", + "poem", + "sick", + "corner", + "desire", + "known", + "problem", + "remind", + "shoulder", + "suppose", + "toward", + "wave", + "drink", + "jump", + "woman", + "pretend", + "sister", + "week", + "human", + "joy", + "crack", + "grey", + "pray", + "surprise", + "dry", + "knee", + "less", + "search", + "bleed", + "caught", + "clean", + "embrace", + "future", + "king", + "son", + "sorrow", + "chest", + "hug", + "remain", + "sat", + "worth", + "blow", + "daddy", + "final", + "parent", + "tight", + "also", + "create", + "lonely", + "safe", + "cross", + "dress", + "evil", + "silent", + "bone", + "fate", + "perhaps", + "anger", + "class", + "scar", + "snow", + "tiny", + "tonight", + "continue", + "control", + "dog", + "edge", + "mirror", + "month", + "suddenly", + "comfort", + "given", + "loud", + "quickly", + "gaze", + "plan", + "rush", + "stone", + "town", + "battle", + "ignore", + "spirit", + "stood", + "stupid", + "yours", + "brown", + "build", + "dust", + "hey", + "kept", + "pay", + "phone", + "twist", + "although", + "ball", + "beyond", + "hidden", + "nose", + "taken", + "fail", + "float", + "pure", + "somehow", + "wash", + "wrap", + "angry", + "cheek", + "creature", + "forgotten", + "heat", + "rip", + "single", + "space", + "special", + "weak", + "whatever", + "yell", + "anyway", + "blame", + "job", + "choose", + "country", + "curse", + "drift", + "echo", + "figure", + "grew", + "laughter", + "neck", + "suffer", + "worse", + "yeah", + "disappear", + "foot", + "forward", + "knife", + "mess", + "somewhere", + "stomach", + "storm", + "beg", + "idea", + "lift", + "offer", + "breeze", + "field", + "five", + "often", + "simply", + "stuck", + "win", + "allow", + "confuse", + "enjoy", + "except", + "flower", + "seek", + "strength", + "calm", + "grin", + "gun", + "heavy", + "hill", + "large", + "ocean", + "shoe", + "sigh", + "straight", + "summer", + "tongue", + "accept", + "crazy", + "everyday", + "exist", + "grass", + "mistake", + "sent", + "shut", + "surround", + "table", + "ache", + "brain", + "destroy", + "heal", + "nature", + "shout", + "sign", + "stain", + "choice", + "doubt", + "glance", + "glow", + "mountain", + "queen", + "stranger", + "throat", + "tomorrow", + "city", + "either", + "fish", + "flame", + "rather", + "shape", + "spin", + "spread", + "ash", + "distance", + "finish", + "image", + "imagine", + "important", + "nobody", + "shatter", + "warmth", + "became", + "feed", + "flesh", + "funny", + "lust", + "shirt", + "trouble", + "yellow", + "attention", + "bare", + "bite", + "money", + "protect", + "amaze", + "appear", + "born", + "choke", + "completely", + "daughter", + "fresh", + "friendship", + "gentle", + "probably", + "six", + "deserve", + "expect", + "grab", + "middle", + "nightmare", + "river", + "thousand", + "weight", + "worst", + "wound", + "barely", + "bottle", + "cream", + "regret", + "relationship", + "stick", + "test", + "crush", + "endless", + "fault", + "itself", + "rule", + "spill", + "art", + "circle", + "join", + "kick", + "mask", + "master", + "passion", + "quick", + "raise", + "smooth", + "unless", + "wander", + "actually", + "broke", + "chair", + "deal", + "favorite", + "gift", + "note", + "number", + "sweat", + "box", + "chill", + "clothes", + "lady", + "mark", + "park", + "poor", + "sadness", + "tie", + "animal", + "belong", + "brush", + "consume", + "dawn", + "forest", + "innocent", + "pen", + "pride", + "stream", + "thick", + "clay", + "complete", + "count", + "draw", + "faith", + "press", + "silver", + "struggle", + "surface", + "taught", + "teach", + "wet", + "bless", + "chase", + "climb", + "enter", + "letter", + "melt", + "metal", + "movie", + "stretch", + "swing", + "vision", + "wife", + "beside", + "crash", + "forgot", + "guide", + "haunt", + "joke", + "knock", + "plant", + "pour", + "prove", + "reveal", + "steal", + "stuff", + "trip", + "wood", + "wrist", + "bother", + "bottom", + "crawl", + "crowd", + "fix", + "forgive", + "frown", + "grace", + "loose", + "lucky", + "party", + "release", + "surely", + "survive", + "teacher", + "gently", + "grip", + "speed", + "suicide", + "travel", + "treat", + "vein", + "written", + "cage", + "chain", + "conversation", + "date", + "enemy", + "however", + "interest", + "million", + "page", + "pink", + "proud", + "sway", + "themselves", + "winter", + "church", + "cruel", + "cup", + "demon", + "experience", + "freedom", + "pair", + "pop", + "purpose", + "respect", + "shoot", + "softly", + "state", + "strange", + "bar", + "birth", + "curl", + "dirt", + "excuse", + "lord", + "lovely", + "monster", + "order", + "pack", + "pants", + "pool", + "scene", + "seven", + "shame", + "slide", + "ugly", + "among", + "blade", + "blonde", + "closet", + "creek", + "deny", + "drug", + "eternity", + "gain", + "grade", + "handle", + "key", + "linger", + "pale", + "prepare", + "swallow", + "swim", + "tremble", + "wheel", + "won", + "cast", + "cigarette", + "claim", + "college", + "direction", + "dirty", + "gather", + "ghost", + "hundred", + "loss", + "lung", + "orange", + "present", + "swear", + "swirl", + "twice", + "wild", + "bitter", + "blanket", + "doctor", + "everywhere", + "flash", + "grown", + "knowledge", + "numb", + "pressure", + "radio", + "repeat", + "ruin", + "spend", + "unknown", + "buy", + "clock", + "devil", + "early", + "false", + "fantasy", + "pound", + "precious", + "refuse", + "sheet", + "teeth", + "welcome", + "add", + "ahead", + "block", + "bury", + "caress", + "content", + "depth", + "despite", + "distant", + "marry", + "purple", + "threw", + "whenever", + "bomb", + "dull", + "easily", + "grasp", + "hospital", + "innocence", + "normal", + "receive", + "reply", + "rhyme", + "shade", + "someday", + "sword", + "toe", + "visit", + "asleep", + "bought", + "center", + "consider", + "flat", + "hero", + "history", + "ink", + "insane", + "muscle", + "mystery", + "pocket", + "reflection", + "shove", + "silently", + "smart", + "soldier", + "spot", + "stress", + "train", + "type", + "view", + "whether", + "bus", + "energy", + "explain", + "holy", + "hunger", + "inch", + "magic", + "mix", + "noise", + "nowhere", + "prayer", + "presence", + "shock", + "snap", + "spider", + "study", + "thunder", + "trail", + "admit", + "agree", + "bag", + "bang", + "bound", + "butterfly", + "cute", + "exactly", + "explode", + "familiar", + "fold", + "further", + "pierce", + "reflect", + "scent", + "selfish", + "sharp", + "sink", + "spring", + "stumble", + "universe", + "weep", + "women", + "wonderful", + "action", + "ancient", + "attempt", + "avoid", + "birthday", + "branch", + "chocolate", + "core", + "depress", + "drunk", + "especially", + "focus", + "fruit", + "honest", + "match", + "palm", + "perfectly", + "pillow", + "pity", + "poison", + "roar", + "shift", + "slightly", + "thump", + "truck", + "tune", + "twenty", + "unable", + "wipe", + "wrote", + "coat", + "constant", + "dinner", + "drove", + "egg", + "eternal", + "flight", + "flood", + "frame", + "freak", + "gasp", + "glad", + "hollow", + "motion", + "peer", + "plastic", + "root", + "screen", + "season", + "sting", + "strike", + "team", + "unlike", + "victim", + "volume", + "warn", + "weird", + "attack", + "await", + "awake", + "built", + "charm", + "crave", + "despair", + "fought", + "grant", + "grief", + "horse", + "limit", + "message", + "ripple", + "sanity", + "scatter", + "serve", + "split", + "string", + "trick", + "annoy", + "blur", + "boat", + "brave", + "clearly", + "cling", + "connect", + "fist", + "forth", + "imagination", + "iron", + "jock", + "judge", + "lesson", + "milk", + "misery", + "nail", + "naked", + "ourselves", + "poet", + "possible", + "princess", + "sail", + "size", + "snake", + "society", + "stroke", + "torture", + "toss", + "trace", + "wise", + "bloom", + "bullet", + "cell", + "check", + "cost", + "darling", + "during", + "footstep", + "fragile", + "hallway", + "hardly", + "horizon", + "invisible", + "journey", + "midnight", + "mud", + "nod", + "pause", + "relax", + "shiver", + "sudden", + "value", + "youth", + "abuse", + "admire", + "blink", + "breast", + "bruise", + "constantly", + "couple", + "creep", + "curve", + "difference", + "dumb", + "emptiness", + "gotta", + "honor", + "plain", + "planet", + "recall", + "rub", + "ship", + "slam", + "soar", + "somebody", + "tightly", + "weather", + "adore", + "approach", + "bond", + "bread", + "burst", + "candle", + "coffee", + "cousin", + "crime", + "desert", + "flutter", + "frozen", + "grand", + "heel", + "hello", + "language", + "level", + "movement", + "pleasure", + "powerful", + "random", + "rhythm", + "settle", + "silly", + "slap", + "sort", + "spoken", + "steel", + "threaten", + "tumble", + "upset", + "aside", + "awkward", + "bee", + "blank", + "board", + "button", + "card", + "carefully", + "complain", + "crap", + "deeply", + "discover", + "drag", + "dread", + "effort", + "entire", + "fairy", + "giant", + "gotten", + "greet", + "illusion", + "jeans", + "leap", + "liquid", + "march", + "mend", + "nervous", + "nine", + "replace", + "rope", + "spine", + "stole", + "terror", + "accident", + "apple", + "balance", + "boom", + "childhood", + "collect", + "demand", + "depression", + "eventually", + "faint", + "glare", + "goal", + "group", + "honey", + "kitchen", + "laid", + "limb", + "machine", + "mere", + "mold", + "murder", + "nerve", + "painful", + "poetry", + "prince", + "rabbit", + "shelter", + "shore", + "shower", + "soothe", + "stair", + "steady", + "sunlight", + "tangle", + "tease", + "treasure", + "uncle", + "begun", + "bliss", + "canvas", + "cheer", + "claw", + "clutch", + "commit", + "crimson", + "crystal", + "delight", + "doll", + "existence", + "express", + "fog", + "football", + "gay", + "goose", + "guard", + "hatred", + "illuminate", + "mass", + "math", + "mourn", + "rich", + "rough", + "skip", + "stir", + "student", + "style", + "support", + "thorn", + "tough", + "yard", + "yearn", + "yesterday", + "advice", + "appreciate", + "autumn", + "bank", + "beam", + "bowl", + "capture", + "carve", + "collapse", + "confusion", + "creation", + "dove", + "feather", + "girlfriend", + "glory", + "government", + "harsh", + "hop", + "inner", + "loser", + "moonlight", + "neighbor", + "neither", + "peach", + "pig", + "praise", + "screw", + "shield", + "shimmer", + "sneak", + "stab", + "subject", + "throughout", + "thrown", + "tower", + "twirl", + "wow", + "army", + "arrive", + "bathroom", + "bump", + "cease", + "cookie", + "couch", + "courage", + "dim", + "guilt", + "howl", + "hum", + "husband", + "insult", + "led", + "lunch", + "mock", + "mostly", + "natural", + "nearly", + "needle", + "nerd", + "peaceful", + "perfection", + "pile", + "price", + "remove", + "roam", + "sanctuary", + "serious", + "shiny", + "shook", + "sob", + "stolen", + "tap", + "vain", + "void", + "warrior", + "wrinkle", + "affection", + "apologize", + "blossom", + "bounce", + "bridge", + "cheap", + "crumble", + "decision", + "descend", + "desperately", + "dig", + "dot", + "flip", + "frighten", + "heartbeat", + "huge", + "lazy", + "lick", + "odd", + "opinion", + "process", + "puzzle", + "quietly", + "retreat", + "score", + "sentence", + "separate", + "situation", + "skill", + "soak", + "square", + "stray", + "taint", + "task", + "tide", + "underneath", + "veil", + "whistle", + "anywhere", + "bedroom", + "bid", + "bloody", + "burden", + "careful", + "compare", + "concern", + "curtain", + "decay", + "defeat", + "describe", + "double", + "dreamer", + "driver", + "dwell", + "evening", + "flare", + "flicker", + "grandma", + "guitar", + "harm", + "horrible", + "hungry", + "indeed", + "lace", + "melody", + "monkey", + "nation", + "object", + "obviously", + "rainbow", + "salt", + "scratch", + "shown", + "shy", + "stage", + "stun", + "third", + "tickle", + "useless", + "weakness", + "worship", + "worthless", + "afternoon", + "beard", + "boyfriend", + "bubble", + "busy", + "certain", + "chin", + "concrete", + "desk", + "diamond", + "doom", + "drawn", + "due", + "felicity", + "freeze", + "frost", + "garden", + "glide", + "harmony", + "hopefully", + "hunt", + "jealous", + "lightning", + "mama", + "mercy", + "peel", + "physical", + "position", + "pulse", + "punch", + "quit", + "rant", + "respond", + "salty", + "sane", + "satisfy", + "savior", + "sheep", + "slept", + "social", + "sport", + "tuck", + "utter", + "valley", + "wolf", + "aim", + "alas", + "alter", + "arrow", + "awaken", + "beaten", + "belief", + "brand", + "ceiling", + "cheese", + "clue", + "confidence", + "connection", + "daily", + "disguise", + "eager", + "erase", + "essence", + "everytime", + "expression", + "fan", + "flag", + "flirt", + "foul", + "fur", + "giggle", + "glorious", + "ignorance", + "law", + "lifeless", + "measure", + "mighty", + "muse", + "north", + "opposite", + "paradise", + "patience", + "patient", + "pencil", + "petal", + "plate", + "ponder", + "possibly", + "practice", + "slice", + "spell", + "stock", + "strife", + "strip", + "suffocate", + "suit", + "tender", + "tool", + "trade", + "velvet", + "verse", + "waist", + "witch", + "aunt", + "bench", + "bold", + "cap", + "certainly", + "click", + "companion", + "creator", + "dart", + "delicate", + "determine", + "dish", + "dragon", + "drama", + "drum", + "dude", + "everybody", + "feast", + "forehead", + "former", + "fright", + "fully", + "gas", + "hook", + "hurl", + "invite", + "juice", + "manage", + "moral", + "possess", + "raw", + "rebel", + "royal", + "scale", + "scary", + "several", + "slight", + "stubborn", + "swell", + "talent", + "tea", + "terrible", + "thread", + "torment", + "trickle", + "usually", + "vast", + "violence", + "weave", + "acid", + "agony", + "ashamed", + "awe", + "belly", + "blend", + "blush", + "character", + "cheat", + "common", + "company", + "coward", + "creak", + "danger", + "deadly", + "defense", + "define", + "depend", + "desperate", + "destination", + "dew", + "duck", + "dusty", + "embarrass", + "engine", + "example", + "explore", + "foe", + "freely", + "frustrate", + "generation", + "glove", + "guilty", + "health", + "hurry", + "idiot", + "impossible", + "inhale", + "jaw", + "kingdom", + "mention", + "mist", + "moan", + "mumble", + "mutter", + "observe", + "ode", + "pathetic", + "pattern", + "pie", + "prefer", + "puff", + "rape", + "rare", + "revenge", + "rude", + "scrape", + "spiral", + "squeeze", + "strain", + "sunset", + "suspend", + "sympathy", + "thigh", + "throne", + "total", + "unseen", + "weapon", + "weary" + ); + return word_list; +} + +std::unordered_map& word_map_old_english() +{ + static std::unordered_map word_map; + if (word_map.size() > 0) + { + return word_map; + } + std::vector word_list = word_list_old_english(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + word_map[*it] = ii; + } + return word_map; +} + +std::unordered_map& trimmed_word_map_old_english() +{ + static std::unordered_map trimmed_word_map; + if (trimmed_word_map.size() > 0) + { + return trimmed_word_map; + } + std::vector word_list = word_list_old_english(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + if (it->length() > 4) + { + trimmed_word_map[it->substr(0, 4)] = ii; + } + else + { + trimmed_word_map[*it] = ii; + } + } + return trimmed_word_map; +} diff --git a/src/mnemonics/portuguese.h b/src/mnemonics/portuguese.h new file mode 100644 index 000000000..e83e297e1 --- /dev/null +++ b/src/mnemonics/portuguese.h @@ -0,0 +1,1677 @@ +#include +#include + +std::vector& word_list_portuguese() +{ + static std::vector word_list( + "abaular", + "abdominal", + "abeto", + "abissinio", + "abjeto", + "ablucao", + "abnegar", + "abotoar", + "abrutalhar", + "absurdo", + "abutre", + "acautelar", + "accessorios", + "acetona", + "achocolatado", + "acirrar", + "acne", + "acovardar", + "acrostico", + "actinomicete", + "acustico", + "adaptavel", + "adeus", + "adivinho", + "adjunto", + "admoestar", + "adnominal", + "adotivo", + "adquirir", + "adriatico", + "adsorcao", + "adutora", + "advogar", + "aerossol", + "afazeres", + "afetuoso", + "afixo", + "afluir", + "afortunar", + "afrouxar", + "aftosa", + "afunilar", + "agentes", + "agito", + "aglutinar", + "aiatola", + "aimore", + "aino", + "aipo", + "airoso", + "ajeitar", + "ajoelhar", + "ajudante", + "ajuste", + "alazao", + "albumina", + "alcunha", + "alegria", + "alexandre", + "alforriar", + "alguns", + "alhures", + "alivio", + "almoxarife", + "alotropico", + "alpiste", + "alquimista", + "alsaciano", + "altura", + "aluviao", + "alvura", + "amazonico", + "ambulatorio", + "ametodico", + "amizades", + "amniotico", + "amovivel", + "amurada", + "anatomico", + "ancorar", + "anexo", + "anfora", + "aniversario", + "anjo", + "anotar", + "ansioso", + "anturio", + "anuviar", + "anverso", + "anzol", + "aonde", + "apaziguar", + "apito", + "aplicavel", + "apoteotico", + "aprimorar", + "aprumo", + "apto", + "apuros", + "aquoso", + "arauto", + "arbusto", + "arduo", + "aresta", + "arfar", + "arguto", + "aritmetico", + "arlequim", + "armisticio", + "aromatizar", + "arpoar", + "arquivo", + "arrumar", + "arsenio", + "arturiano", + "aruaque", + "arvores", + "asbesto", + "ascorbico", + "aspirina", + "asqueroso", + "assustar", + "astuto", + "atazanar", + "ativo", + "atletismo", + "atmosferico", + "atormentar", + "atroz", + "aturdir", + "audivel", + "auferir", + "augusto", + "aula", + "aumento", + "aurora", + "autuar", + "avatar", + "avexar", + "avizinhar", + "avolumar", + "avulso", + "axiomatico", + "azerbaijano", + "azimute", + "azoto", + "azulejo", + "bacteriologista", + "badulaque", + "baforada", + "baixote", + "bajular", + "balzaquiana", + "bambuzal", + "banzo", + "baoba", + "baqueta", + "barulho", + "bastonete", + "batuta", + "bauxita", + "bavaro", + "bazuca", + "bcrepuscular", + "beato", + "beduino", + "begonia", + "behaviorista", + "beisebol", + "belzebu", + "bemol", + "benzido", + "beocio", + "bequer", + "berro", + "besuntar", + "betume", + "bexiga", + "bezerro", + "biatlon", + "biboca", + "bicuspide", + "bidirecional", + "bienio", + "bifurcar", + "bigorna", + "bijuteria", + "bimotor", + "binormal", + "bioxido", + "bipolarizacao", + "biquini", + "birutice", + "bisturi", + "bituca", + "biunivoco", + "bivalve", + "bizarro", + "blasfemo", + "blenorreia", + "blindar", + "bloqueio", + "blusao", + "boazuda", + "bofete", + "bojudo", + "bolso", + "bombordo", + "bonzo", + "botina", + "boquiaberto", + "bostoniano", + "botulismo", + "bourbon", + "bovino", + "boximane", + "bravura", + "brevidade", + "britar", + "broxar", + "bruno", + "bruxuleio", + "bubonico", + "bucolico", + "buda", + "budista", + "bueiro", + "buffer", + "bugre", + "bujao", + "bumerangue", + "burundines", + "busto", + "butique", + "buzios", + "caatinga", + "cabuqui", + "cacunda", + "cafuzo", + "cajueiro", + "camurca", + "canudo", + "caquizeiro", + "carvoeiro", + "casulo", + "catuaba", + "cauterizar", + "cebolinha", + "cedula", + "ceifeiro", + "celulose", + "cerzir", + "cesto", + "cetro", + "ceus", + "cevar", + "chavena", + "cheroqui", + "chita", + "chovido", + "chuvoso", + "ciatico", + "cibernetico", + "cicuta", + "cidreira", + "cientistas", + "cifrar", + "cigarro", + "cilio", + "cimo", + "cinzento", + "cioso", + "cipriota", + "cirurgico", + "cisto", + "citrico", + "ciumento", + "civismo", + "clavicula", + "clero", + "clitoris", + "cluster", + "coaxial", + "cobrir", + "cocota", + "codorniz", + "coexistir", + "cogumelo", + "coito", + "colusao", + "compaixao", + "comutativo", + "contentamento", + "convulsivo", + "coordenativa", + "coquetel", + "correto", + "corvo", + "costureiro", + "cotovia", + "covil", + "cozinheiro", + "cretino", + "cristo", + "crivo", + "crotalo", + "cruzes", + "cubo", + "cucuia", + "cueiro", + "cuidar", + "cujo", + "cultural", + "cunilingua", + "cupula", + "curvo", + "custoso", + "cutucar", + "czarismo", + "dablio", + "dacota", + "dados", + "daguerreotipo", + "daiquiri", + "daltonismo", + "damista", + "dantesco", + "daquilo", + "darwinista", + "dasein", + "dativo", + "deao", + "debutantes", + "decurso", + "deduzir", + "defunto", + "degustar", + "dejeto", + "deltoide", + "demover", + "denunciar", + "deputado", + "deque", + "dervixe", + "desvirtuar", + "deturpar", + "deuteronomio", + "devoto", + "dextrose", + "dezoito", + "diatribe", + "dicotomico", + "didatico", + "dietista", + "difuso", + "digressao", + "diluvio", + "diminuto", + "dinheiro", + "dinossauro", + "dioxido", + "diplomatico", + "dique", + "dirimivel", + "disturbio", + "diurno", + "divulgar", + "dizivel", + "doar", + "dobro", + "docura", + "dodoi", + "doer", + "dogue", + "doloso", + "domo", + "donzela", + "doping", + "dorsal", + "dossie", + "dote", + "doutro", + "doze", + "dravidico", + "dreno", + "driver", + "dropes", + "druso", + "dubnio", + "ducto", + "dueto", + "dulija", + "dundum", + "duodeno", + "duquesa", + "durou", + "duvidoso", + "duzia", + "ebano", + "ebrio", + "eburneo", + "echarpe", + "eclusa", + "ecossistema", + "ectoplasma", + "ecumenismo", + "eczema", + "eden", + "editorial", + "edredom", + "edulcorar", + "efetuar", + "efigie", + "efluvio", + "egiptologo", + "egresso", + "egua", + "einsteiniano", + "eira", + "eivar", + "eixos", + "ejetar", + "elastomero", + "eldorado", + "elixir", + "elmo", + "eloquente", + "elucidativo", + "emaranhar", + "embutir", + "emerito", + "emfa", + "emitir", + "emotivo", + "empuxo", + "emulsao", + "enamorar", + "encurvar", + "enduro", + "enevoar", + "enfurnar", + "enguico", + "enho", + "enigmista", + "enlutar", + "enormidade", + "enpreendimento", + "enquanto", + "enriquecer", + "enrugar", + "entusiastico", + "enunciar", + "envolvimento", + "enxuto", + "enzimatico", + "eolico", + "epiteto", + "epoxi", + "epura", + "equivoco", + "erario", + "erbio", + "ereto", + "erguido", + "erisipela", + "ermo", + "erotizar", + "erros", + "erupcao", + "ervilha", + "esburacar", + "escutar", + "esfuziante", + "esguio", + "esloveno", + "esmurrar", + "esoterismo", + "esperanca", + "espirito", + "espurio", + "essencialmente", + "esturricar", + "esvoacar", + "etario", + "eterno", + "etiquetar", + "etnologo", + "etos", + "etrusco", + "euclidiano", + "euforico", + "eugenico", + "eunuco", + "europio", + "eustaquio", + "eutanasia", + "evasivo", + "eventualidade", + "evitavel", + "evoluir", + "exaustor", + "excursionista", + "exercito", + "exfoliado", + "exito", + "exotico", + "expurgo", + "exsudar", + "extrusora", + "exumar", + "fabuloso", + "facultativo", + "fado", + "fagulha", + "faixas", + "fajuto", + "faltoso", + "famoso", + "fanzine", + "fapesp", + "faquir", + "fartura", + "fastio", + "faturista", + "fausto", + "favorito", + "faxineira", + "fazer", + "fealdade", + "febril", + "fecundo", + "fedorento", + "feerico", + "feixe", + "felicidade", + "felipe", + "feltro", + "femur", + "fenotipo", + "fervura", + "festivo", + "feto", + "feudo", + "fevereiro", + "fezinha", + "fiasco", + "fibra", + "ficticio", + "fiduciario", + "fiesp", + "fifa", + "figurino", + "fijiano", + "filtro", + "finura", + "fiorde", + "fiquei", + "firula", + "fissurar", + "fitoteca", + "fivela", + "fixo", + "flavio", + "flexor", + "flibusteiro", + "flotilha", + "fluxograma", + "fobos", + "foco", + "fofura", + "foguista", + "foie", + "foliculo", + "fominha", + "fonte", + "forum", + "fosso", + "fotossintese", + "foxtrote", + "fraudulento", + "frevo", + "frivolo", + "frouxo", + "frutose", + "fuba", + "fucsia", + "fugitivo", + "fuinha", + "fujao", + "fulustreco", + "fumo", + "funileiro", + "furunculo", + "fustigar", + "futurologo", + "fuxico", + "fuzue", + "gabriel", + "gado", + "gaelico", + "gafieira", + "gaguejo", + "gaivota", + "gajo", + "galvanoplastico", + "gamo", + "ganso", + "garrucha", + "gastronomo", + "gatuno", + "gaussiano", + "gaviao", + "gaxeta", + "gazeteiro", + "gear", + "geiser", + "geminiano", + "generoso", + "genuino", + "geossinclinal", + "gerundio", + "gestual", + "getulista", + "gibi", + "gigolo", + "gilete", + "ginseng", + "giroscopio", + "glaucio", + "glacial", + "gleba", + "glifo", + "glote", + "glutonia", + "gnostico", + "goela", + "gogo", + "goitaca", + "golpista", + "gomo", + "gonzo", + "gorro", + "gostou", + "goticula", + "gourmet", + "governo", + "gozo", + "graxo", + "grevista", + "grito", + "grotesco", + "gruta", + "guaxinim", + "gude", + "gueto", + "guizo", + "guloso", + "gume", + "guru", + "gustativo", + "gustavo", + "gutural", + "habitue", + "haitiano", + "halterofilista", + "hamburguer", + "hanseniase", + "happening", + "harpista", + "hastear", + "haveres", + "hebreu", + "hectometro", + "hedonista", + "hegira", + "helena", + "helminto", + "hemorroidas", + "henrique", + "heptassilabo", + "hertziano", + "hesitar", + "heterossexual", + "heuristico", + "hexagono", + "hiato", + "hibrido", + "hidrostatico", + "hieroglifo", + "hifenizar", + "higienizar", + "hilario", + "himen", + "hino", + "hippie", + "hirsuto", + "historiografia", + "hitlerista", + "hodometro", + "hoje", + "holograma", + "homus", + "honroso", + "hoquei", + "horto", + "hostilizar", + "hotentote", + "huguenote", + "humilde", + "huno", + "hurra", + "hutu", + "iaia", + "ialorixa", + "iambico", + "iansa", + "iaque", + "iara", + "iatista", + "iberico", + "ibis", + "icar", + "iceberg", + "icosagono", + "idade", + "ideologo", + "idiotice", + "idoso", + "iemenita", + "iene", + "igarape", + "iglu", + "ignorar", + "igreja", + "iguaria", + "iidiche", + "ilativo", + "iletrado", + "ilharga", + "ilimitado", + "ilogismo", + "ilustrissimo", + "imaturo", + "imbuzeiro", + "imerso", + "imitavel", + "imovel", + "imputar", + "imutavel", + "inaveriguavel", + "incutir", + "induzir", + "inextricavel", + "infusao", + "ingua", + "inhame", + "iniquo", + "injusto", + "inning", + "inoxidavel", + "inquisitorial", + "insustentavel", + "intumescimento", + "inutilizavel", + "invulneravel", + "inzoneiro", + "iodo", + "iogurte", + "ioio", + "ionosfera", + "ioruba", + "iota", + "ipsilon", + "irascivel", + "iris", + "irlandes", + "irmaos", + "iroques", + "irrupcao", + "isca", + "isento", + "islandes", + "isotopo", + "isqueiro", + "israelita", + "isso", + "isto", + "iterbio", + "itinerario", + "itrio", + "iuane", + "iugoslavo", + "jabuticabeira", + "jacutinga", + "jade", + "jagunco", + "jainista", + "jaleco", + "jambo", + "jantarada", + "japones", + "jaqueta", + "jarro", + "jasmim", + "jato", + "jaula", + "javel", + "jazz", + "jegue", + "jeitoso", + "jejum", + "jenipapo", + "jeova", + "jequitiba", + "jersei", + "jesus", + "jetom", + "jiboia", + "jihad", + "jilo", + "jingle", + "jipe", + "jocoso", + "joelho", + "joguete", + "joio", + "jojoba", + "jorro", + "jota", + "joule", + "joviano", + "jubiloso", + "judoca", + "jugular", + "juizo", + "jujuba", + "juliano", + "jumento", + "junto", + "jururu", + "justo", + "juta", + "juventude", + "labutar", + "laguna", + "laico", + "lajota", + "lanterninha", + "lapso", + "laquear", + "lastro", + "lauto", + "lavrar", + "laxativo", + "lazer", + "leasing", + "lebre", + "lecionar", + "ledo", + "leguminoso", + "leitura", + "lele", + "lemure", + "lento", + "leonardo", + "leopardo", + "lepton", + "leque", + "leste", + "letreiro", + "leucocito", + "levitico", + "lexicologo", + "lhama", + "lhufas", + "liame", + "licoroso", + "lidocaina", + "liliputiano", + "limusine", + "linotipo", + "lipoproteina", + "liquidos", + "lirismo", + "lisura", + "liturgico", + "livros", + "lixo", + "lobulo", + "locutor", + "lodo", + "logro", + "lojista", + "lombriga", + "lontra", + "loop", + "loquaz", + "lorota", + "losango", + "lotus", + "louvor", + "luar", + "lubrificavel", + "lucros", + "lugubre", + "luis", + "luminoso", + "luneta", + "lustroso", + "luto", + "luvas", + "luxuriante", + "luzeiro", + "maduro", + "maestro", + "mafioso", + "magro", + "maiuscula", + "majoritario", + "malvisto", + "mamute", + "manutencao", + "mapoteca", + "maquinista", + "marzipa", + "masturbar", + "matuto", + "mausoleu", + "mavioso", + "maxixe", + "mazurca", + "meandro", + "mecha", + "medusa", + "mefistofelico", + "megera", + "meirinho", + "melro", + "memorizar", + "menu", + "mequetrefe", + "mertiolate", + "mestria", + "metroviario", + "mexilhao", + "mezanino", + "miau", + "microssegundo", + "midia", + "migratorio", + "mimosa", + "minuto", + "miosotis", + "mirtilo", + "misturar", + "mitzvah", + "miudos", + "mixuruca", + "mnemonico", + "moagem", + "mobilizar", + "modulo", + "moer", + "mofo", + "mogno", + "moita", + "molusco", + "monumento", + "moqueca", + "morubixaba", + "mostruario", + "motriz", + "mouse", + "movivel", + "mozarela", + "muarra", + "muculmano", + "mudo", + "mugir", + "muitos", + "mumunha", + "munir", + "muon", + "muquira", + "murros", + "musselina", + "nacoes", + "nado", + "naftalina", + "nago", + "naipe", + "naja", + "nalgum", + "namoro", + "nanquim", + "napolitano", + "naquilo", + "nascimento", + "nautilo", + "navios", + "nazista", + "nebuloso", + "nectarina", + "nefrologo", + "negus", + "nelore", + "nenufar", + "nepotismo", + "nervura", + "neste", + "netuno", + "neutron", + "nevoeiro", + "newtoniano", + "nexo", + "nhenhenhem", + "nhoque", + "nigeriano", + "niilista", + "ninho", + "niobio", + "niponico", + "niquelar", + "nirvana", + "nisto", + "nitroglicerina", + "nivoso", + "nobreza", + "nocivo", + "noel", + "nogueira", + "noivo", + "nojo", + "nominativo", + "nonuplo", + "noruegues", + "nostalgico", + "noturno", + "nouveau", + "nuanca", + "nublar", + "nucleotideo", + "nudista", + "nulo", + "numismatico", + "nunquinha", + "nupcias", + "nutritivo", + "nuvens", + "oasis", + "obcecar", + "obeso", + "obituario", + "objetos", + "oblongo", + "obnoxio", + "obrigatorio", + "obstruir", + "obtuso", + "obus", + "obvio", + "ocaso", + "occipital", + "oceanografo", + "ocioso", + "oclusivo", + "ocorrer", + "ocre", + "octogono", + "odalisca", + "odisseia", + "odorifico", + "oersted", + "oeste", + "ofertar", + "ofidio", + "oftalmologo", + "ogiva", + "ogum", + "oigale", + "oitavo", + "oitocentos", + "ojeriza", + "olaria", + "oleoso", + "olfato", + "olhos", + "oliveira", + "olmo", + "olor", + "olvidavel", + "ombudsman", + "omeleteira", + "omitir", + "omoplata", + "onanismo", + "ondular", + "oneroso", + "onomatopeico", + "ontologico", + "onus", + "onze", + "opalescente", + "opcional", + "operistico", + "opio", + "oposto", + "oprobrio", + "optometrista", + "opusculo", + "oratorio", + "orbital", + "orcar", + "orfao", + "orixa", + "orla", + "ornitologo", + "orquidea", + "ortorrombico", + "orvalho", + "osculo", + "osmotico", + "ossudo", + "ostrogodo", + "otario", + "otite", + "ouro", + "ousar", + "outubro", + "ouvir", + "ovario", + "overnight", + "oviparo", + "ovni", + "ovoviviparo", + "ovulo", + "oxala", + "oxente", + "oxiuro", + "oxossi", + "ozonizar", + "paciente", + "pactuar", + "padronizar", + "paete", + "pagodeiro", + "paixao", + "pajem", + "paludismo", + "pampas", + "panturrilha", + "papudo", + "paquistanes", + "pastoso", + "patua", + "paulo", + "pauzinhos", + "pavoroso", + "paxa", + "pazes", + "peao", + "pecuniario", + "pedunculo", + "pegaso", + "peixinho", + "pejorativo", + "pelvis", + "penuria", + "pequno", + "petunia", + "pezada", + "piauiense", + "pictorico", + "pierro", + "pigmeu", + "pijama", + "pilulas", + "pimpolho", + "pintura", + "piorar", + "pipocar", + "piqueteiro", + "pirulito", + "pistoleiro", + "pituitaria", + "pivotar", + "pixote", + "pizzaria", + "plistoceno", + "plotar", + "pluviometrico", + "pneumonico", + "poco", + "podridao", + "poetisa", + "pogrom", + "pois", + "polvorosa", + "pomposo", + "ponderado", + "pontudo", + "populoso", + "poquer", + "porvir", + "posudo", + "potro", + "pouso", + "povoar", + "prazo", + "prezar", + "privilegios", + "proximo", + "prussiano", + "pseudopode", + "psoriase", + "pterossauros", + "ptialina", + "ptolemaico", + "pudor", + "pueril", + "pufe", + "pugilista", + "puir", + "pujante", + "pulverizar", + "pumba", + "punk", + "purulento", + "pustula", + "putsch", + "puxe", + "quatrocentos", + "quetzal", + "quixotesco", + "quotizavel", + "rabujice", + "racista", + "radonio", + "rafia", + "ragu", + "rajado", + "ralo", + "rampeiro", + "ranzinza", + "raptor", + "raquitismo", + "raro", + "rasurar", + "ratoeira", + "ravioli", + "razoavel", + "reavivar", + "rebuscar", + "recusavel", + "reduzivel", + "reexposicao", + "refutavel", + "regurgitar", + "reivindicavel", + "rejuvenescimento", + "relva", + "remuneravel", + "renunciar", + "reorientar", + "repuxo", + "requisito", + "resumo", + "returno", + "reutilizar", + "revolvido", + "rezonear", + "riacho", + "ribossomo", + "ricota", + "ridiculo", + "rifle", + "rigoroso", + "rijo", + "rimel", + "rins", + "rios", + "riqueza", + "riquixa", + "rissole", + "ritualistico", + "rivalizar", + "rixa", + "robusto", + "rococo", + "rodoviario", + "roer", + "rogo", + "rojao", + "rolo", + "rompimento", + "ronronar", + "roqueiro", + "rorqual", + "rosto", + "rotundo", + "rouxinol", + "roxo", + "royal", + "ruas", + "rucula", + "rudimentos", + "ruela", + "rufo", + "rugoso", + "ruivo", + "rule", + "rumoroso", + "runico", + "ruptura", + "rural", + "rustico", + "rutilar", + "saariano", + "sabujo", + "sacudir", + "sadomasoquista", + "safra", + "sagui", + "sais", + "samurai", + "santuario", + "sapo", + "saquear", + "sartriano", + "saturno", + "saude", + "sauva", + "saveiro", + "saxofonista", + "sazonal", + "scherzo", + "script", + "seara", + "seborreia", + "secura", + "seduzir", + "sefardim", + "seguro", + "seja", + "selvas", + "sempre", + "senzala", + "sepultura", + "sequoia", + "sestercio", + "setuplo", + "seus", + "seviciar", + "sezonismo", + "shalom", + "siames", + "sibilante", + "sicrano", + "sidra", + "sifilitico", + "signos", + "silvo", + "simultaneo", + "sinusite", + "sionista", + "sirio", + "sisudo", + "situar", + "sivan", + "slide", + "slogan", + "soar", + "sobrio", + "socratico", + "sodomizar", + "soerguer", + "software", + "sogro", + "soja", + "solver", + "somente", + "sonso", + "sopro", + "soquete", + "sorveteiro", + "sossego", + "soturno", + "sousafone", + "sovinice", + "sozinho", + "suavizar", + "subverter", + "sucursal", + "sudoriparo", + "sufragio", + "sugestoes", + "suite", + "sujo", + "sultao", + "sumula", + "suntuoso", + "suor", + "supurar", + "suruba", + "susto", + "suturar", + "suvenir", + "tabuleta", + "taco", + "tadjique", + "tafeta", + "tagarelice", + "taitiano", + "talvez", + "tampouco", + "tanzaniano", + "taoista", + "tapume", + "taquion", + "tarugo", + "tascar", + "tatuar", + "tautologico", + "tavola", + "taxionomista", + "tchecoslovaco", + "teatrologo", + "tectonismo", + "tedioso", + "teflon", + "tegumento", + "teixo", + "telurio", + "temporas", + "tenue", + "teosofico", + "tepido", + "tequila", + "terrorista", + "testosterona", + "tetrico", + "teutonico", + "teve", + "texugo", + "tiara", + "tibia", + "tiete", + "tifoide", + "tigresa", + "tijolo", + "tilintar", + "timpano", + "tintureiro", + "tiquete", + "tiroteio", + "tisico", + "titulos", + "tive", + "toar", + "toboga", + "tofu", + "togoles", + "toicinho", + "tolueno", + "tomografo", + "tontura", + "toponimo", + "toquio", + "torvelinho", + "tostar", + "toto", + "touro", + "toxina", + "trazer", + "trezentos", + "trivialidade", + "trovoar", + "truta", + "tuaregue", + "tubular", + "tucano", + "tudo", + "tufo", + "tuiste", + "tulipa", + "tumultuoso", + "tunisino", + "tupiniquim", + "turvo", + "tutu", + "ucraniano", + "udenista", + "ufanista", + "ufologo", + "ugaritico", + "uiste", + "uivo", + "ulceroso", + "ulema", + "ultravioleta", + "umbilical", + "umero", + "umido", + "umlaut", + "unanimidade", + "unesco", + "ungulado", + "unheiro", + "univoco", + "untuoso", + "urano", + "urbano", + "urdir", + "uretra", + "urgente", + "urinol", + "urna", + "urologo", + "urro", + "ursulina", + "urtiga", + "urupe", + "usavel", + "usbeque", + "usei", + "usineiro", + "usurpar", + "utero", + "utilizar", + "utopico", + "uvular", + "uxoricidio", + "vacuo", + "vadio", + "vaguear", + "vaivem", + "valvula", + "vampiro", + "vantajoso", + "vaporoso", + "vaquinha", + "varziano", + "vasto", + "vaticinio", + "vaudeville", + "vazio", + "veado", + "vedico", + "veemente", + "vegetativo", + "veio", + "veja", + "veludo", + "venusiano", + "verdade", + "verve", + "vestuario", + "vetusto", + "vexatorio", + "vezes", + "viavel", + "vibratorio", + "victor", + "vicunha", + "vidros", + "vietnamita", + "vigoroso", + "vilipendiar", + "vime", + "vintem", + "violoncelo", + "viquingue", + "virus", + "visualizar", + "vituperio", + "viuvo", + "vivo", + "vizir", + "voar", + "vociferar", + "vodu", + "vogar", + "voile", + "volver", + "vomito", + "vontade", + "vortice", + "vosso", + "voto", + "vovozinha", + "voyeuse", + "vozes", + "vulva", + "vupt", + "western", + "xadrez", + "xale", + "xampu", + "xango", + "xarope", + "xaual", + "xavante", + "xaxim", + "xenonio", + "xepa", + "xerox", + "xicara", + "xifopago", + "xiita", + "xilogravura", + "xinxim", + "xistoso", + "xixi", + "xodo", + "xogum", + "xucro", + "zabumba", + "zagueiro", + "zambiano", + "zanzar", + "zarpar", + "zebu", + "zefiro", + "zeloso", + "zenite", + "zumbi" + + ); + return word_list; +} + +std::unordered_map& word_map_portuguese() +{ + static std::unordered_map word_map; + if (word_map.size() > 0) + { + return word_map; + } + std::vector word_list = word_list_portuguese(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + word_map[*it] = ii; + } + return word_map; +} + +std::unordered_map& trimmed_word_map_portuguese() +{ + static std::unordered_map trimmed_word_map; + if (trimmed_word_map.size() > 0) + { + return trimmed_word_map; + } + std::vector word_list = word_list_portuguese(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + if (it->length() > 4) + { + trimmed_word_map[it->substr(0, 4)] = ii; + } + else + { + trimmed_word_map[*it] = ii; + } + } + return trimmed_word_map; +} diff --git a/src/mnemonics/spanish.h b/src/mnemonics/spanish.h new file mode 100644 index 000000000..d8778955b --- /dev/null +++ b/src/mnemonics/spanish.h @@ -0,0 +1,2098 @@ +#include +#include + +std::vector& word_list_spanish() +{ + static std::vector word_list( + "รกbaco", + "abdomen", + "abeja", + "abierto", + "abogado", + "abono", + "aborto", + "abrazo", + "abrir", + "abuelo", + "abuso", + "acabar", + "academia", + "acceso", + "acciรณn", + "aceite", + "acelga", + "acento", + "aceptar", + "รกcido", + "aclarar", + "acnรฉ", + "acoger", + "acoso", + "activo", + "acto", + "actriz", + "actuar", + "acudir", + "acuerdo", + "acusar", + "adicto", + "admitir", + "adoptar", + "adorno", + "aduana", + "adulto", + "aรฉreo", + "afectar", + "aficiรณn", + "afinar", + "afirmar", + "รกgil", + "agitar", + "agonรญa", + "agosto", + "agotar", + "agregar", + "agrio", + "agua", + "agudo", + "รกguila", + "aguja", + "ahogo", + "ahorro", + "aire", + "aislar", + "ajedrez", + "ajeno", + "ajuste", + "alacrรกn", + "alambre", + "alarma", + "alba", + "รกlbum", + "alcalde", + "aldea", + "alegre", + "alejar", + "alerta", + "aleta", + "alfiler", + "alga", + "algodรณn", + "aliado", + "aliento", + "alivio", + "alma", + "almeja", + "almรญbar", + "altar", + "alteza", + "altivo", + "alto", + "altura", + "alumno", + "alzar", + "amable", + "amante", + "amapola", + "amargo", + "amasar", + "รกmbar", + "รกmbito", + "ameno", + "amigo", + "amistad", + "amor", + "amparo", + "amplio", + "ancho", + "anciano", + "ancla", + "andar", + "andรฉn", + "anemia", + "รกngulo", + "anillo", + "รกnimo", + "anรญs", + "anotar", + "antena", + "antiguo", + "antojo", + "anual", + "anular", + "anuncio", + "aรฑadir", + "aรฑejo", + "aรฑo", + "apagar", + "aparato", + "apetito", + "apio", + "aplicar", + "apodo", + "aporte", + "apoyo", + "aprender", + "aprobar", + "apuesta", + "apuro", + "arado", + "araรฑa", + "arar", + "รกrbitro", + "รกrbol", + "arbusto", + "archivo", + "arco", + "arder", + "ardilla", + "arduo", + "รกrea", + "รกrido", + "aries", + "armonรญa", + "arnรฉs", + "aroma", + "arpa", + "arpรณn", + "arreglo", + "arroz", + "arruga", + "arte", + "artista", + "asa", + "asado", + "asalto", + "ascenso", + "asegurar", + "aseo", + "asesor", + "asiento", + "asilo", + "asistir", + "asno", + "asombro", + "รกspero", + "astilla", + "astro", + "astuto", + "asumir", + "asunto", + "atajo", + "ataque", + "atar", + "atento", + "ateo", + "รกtico", + "atleta", + "รกtomo", + "atraer", + "atroz", + "atรบn", + "audaz", + "audio", + "auge", + "aula", + "aumento", + "ausente", + "autor", + "aval", + "avance", + "avaro", + "ave", + "avellana", + "avena", + "avestruz", + "aviรณn", + "aviso", + "ayer", + "ayuda", + "ayuno", + "azafrรกn", + "azar", + "azote", + "azรบcar", + "azufre", + "azul", + "baba", + "babor", + "bache", + "bahรญa", + "baile", + "bajar", + "balanza", + "balcรณn", + "balde", + "bambรบ", + "banco", + "banda", + "baรฑo", + "barba", + "barco", + "barniz", + "barro", + "bรกscula", + "bastรณn", + "basura", + "batalla", + "baterรญa", + "batir", + "batuta", + "baรบl", + "bazar", + "bebรฉ", + "bebida", + "bello", + "besar", + "beso", + "bestia", + "bicho", + "bien", + "bingo", + "blanco", + "bloque", + "blusa", + "boa", + "bobina", + "bobo", + "boca", + "bocina", + "boda", + "bodega", + "boina", + "bola", + "bolero", + "bolsa", + "bomba", + "bondad", + "bonito", + "bono", + "bonsรกi", + "borde", + "borrar", + "bosque", + "bote", + "botรญn", + "bรณveda", + "bozal", + "bravo", + "brazo", + "brecha", + "breve", + "brillo", + "brinco", + "brisa", + "broca", + "broma", + "bronce", + "brote", + "bruja", + "brusco", + "bruto", + "buceo", + "bucle", + "bueno", + "buey", + "bufanda", + "bufรณn", + "bรบho", + "buitre", + "bulto", + "burbuja", + "burla", + "burro", + "buscar", + "butaca", + "buzรณn", + "caballo", + "cabeza", + "cabina", + "cabra", + "cacao", + "cadรกver", + "cadena", + "caer", + "cafรฉ", + "caรญda", + "caimรกn", + "caja", + "cajรณn", + "cal", + "calamar", + "calcio", + "caldo", + "calidad", + "calle", + "calma", + "calor", + "calvo", + "cama", + "cambio", + "camello", + "camino", + "campo", + "cรกncer", + "candil", + "canela", + "canguro", + "canica", + "canto", + "caรฑa", + "caรฑรณn", + "caoba", + "caos", + "capaz", + "capitรกn", + "capote", + "captar", + "capucha", + "cara", + "carbรณn", + "cรกrcel", + "careta", + "carga", + "cariรฑo", + "carne", + "carpeta", + "carro", + "carta", + "casa", + "casco", + "casero", + "caspa", + "castor", + "catorce", + "catre", + "caudal", + "causa", + "cazo", + "cebolla", + "ceder", + "cedro", + "celda", + "cรฉlebre", + "celoso", + "cรฉlula", + "cemento", + "ceniza", + "centro", + "cerca", + "cerdo", + "cereza", + "cero", + "cerrar", + "certeza", + "cรฉsped", + "cetro", + "chacal", + "chaleco", + "champรบ", + "chancla", + "chapa", + "charla", + "chico", + "chiste", + "chivo", + "choque", + "choza", + "chuleta", + "chupar", + "ciclรณn", + "ciego", + "cielo", + "cien", + "cierto", + "cifra", + "cigarro", + "cima", + "cinco", + "cine", + "cinta", + "ciprรฉs", + "circo", + "ciruela", + "cisne", + "cita", + "ciudad", + "clamor", + "clan", + "claro", + "clase", + "clave", + "cliente", + "clima", + "clรญnica", + "cobre", + "cocciรณn", + "cochino", + "cocina", + "coco", + "cรณdigo", + "codo", + "cofre", + "coger", + "cohete", + "cojรญn", + "cojo", + "cola", + "colcha", + "colegio", + "colgar", + "colina", + "collar", + "colmo", + "columna", + "combate", + "comer", + "comida", + "cรณmodo", + "compra", + "conde", + "conejo", + "conga", + "conocer", + "consejo", + "contar", + "copa", + "copia", + "corazรณn", + "corbata", + "corcho", + "cordรณn", + "corona", + "correr", + "coser", + "cosmos", + "costa", + "crรกneo", + "crรกter", + "crear", + "crecer", + "creรญdo", + "crema", + "crรญa", + "crimen", + "cripta", + "crisis", + "cromo", + "crรณnica", + "croqueta", + "crudo", + "cruz", + "cuadro", + "cuarto", + "cuatro", + "cubo", + "cubrir", + "cuchara", + "cuello", + "cuento", + "cuerda", + "cuesta", + "cueva", + "cuidar", + "culebra", + "culpa", + "culto", + "cumbre", + "cumplir", + "cuna", + "cuneta", + "cuota", + "cupรณn", + "cรบpula", + "curar", + "curioso", + "curso", + "curva", + "cutis", + "dama", + "danza", + "dar", + "dardo", + "dรกtil", + "deber", + "dรฉbil", + "dรฉcada", + "decir", + "dedo", + "defensa", + "definir", + "dejar", + "delfรญn", + "delgado", + "delito", + "demora", + "denso", + "dental", + "deporte", + "derecho", + "derrota", + "desayuno", + "deseo", + "desfile", + "desnudo", + "destino", + "desvรญo", + "detalle", + "detener", + "deuda", + "dรญa", + "diablo", + "diadema", + "diamante", + "diana", + "diario", + "dibujo", + "dictar", + "diente", + "dieta", + "diez", + "difรญcil", + "digno", + "dilema", + "diluir", + "dinero", + "directo", + "dirigir", + "disco", + "diseรฑo", + "disfraz", + "diva", + "divino", + "doble", + "doce", + "dolor", + "domingo", + "don", + "donar", + "dorado", + "dormir", + "dorso", + "dos", + "dosis", + "dragรณn", + "droga", + "ducha", + "duda", + "duelo", + "dueรฑo", + "dulce", + "dรบo", + "duque", + "durar", + "dureza", + "duro", + "รฉbano", + "ebrio", + "echar", + "eco", + "ecuador", + "edad", + "ediciรณn", + "edificio", + "editor", + "educar", + "efecto", + "eficaz", + "eje", + "ejemplo", + "elefante", + "elegir", + "elemento", + "elevar", + "elipse", + "รฉlite", + "elixir", + "elogio", + "eludir", + "embudo", + "emitir", + "emociรณn", + "empate", + "empeรฑo", + "empleo", + "empresa", + "enano", + "encargo", + "enchufe", + "encรญa", + "enemigo", + "enero", + "enfado", + "enfermo", + "engaรฑo", + "enigma", + "enlace", + "enorme", + "enredo", + "ensayo", + "enseรฑar", + "entero", + "entrar", + "envase", + "envรญo", + "รฉpoca", + "equipo", + "erizo", + "escala", + "escena", + "escolar", + "escribir", + "escudo", + "esencia", + "esfera", + "esfuerzo", + "espada", + "espejo", + "espรญa", + "esposa", + "espuma", + "esquรญ", + "estar", + "este", + "estilo", + "estufa", + "etapa", + "eterno", + "รฉtica", + "etnia", + "evadir", + "evaluar", + "evento", + "evitar", + "exacto", + "examen", + "exceso", + "excusa", + "exento", + "exigir", + "exilio", + "existir", + "รฉxito", + "experto", + "explicar", + "exponer", + "extremo", + "fรกbrica", + "fรกbula", + "fachada", + "fรกcil", + "factor", + "faena", + "faja", + "falda", + "fallo", + "falso", + "faltar", + "fama", + "familia", + "famoso", + "faraรณn", + "farmacia", + "farol", + "farsa", + "fase", + "fatiga", + "fauna", + "favor", + "fax", + "febrero", + "fecha", + "feliz", + "feo", + "feria", + "feroz", + "fรฉrtil", + "fervor", + "festรญn", + "fiable", + "fianza", + "fiar", + "fibra", + "ficciรณn", + "ficha", + "fideo", + "fiebre", + "fiel", + "fiera", + "fiesta", + "figura", + "fijar", + "fijo", + "fila", + "filete", + "filial", + "filtro", + "fin", + "finca", + "fingir", + "finito", + "firma", + "flaco", + "flauta", + "flecha", + "flor", + "flota", + "fluir", + "flujo", + "flรบor", + "fobia", + "foca", + "fogata", + "fogรณn", + "folio", + "folleto", + "fondo", + "forma", + "forro", + "fortuna", + "forzar", + "fosa", + "foto", + "fracaso", + "frรกgil", + "franja", + "frase", + "fraude", + "freรญr", + "freno", + "fresa", + "frรญo", + "frito", + "fruta", + "fuego", + "fuente", + "fuerza", + "fuga", + "fumar", + "funciรณn", + "funda", + "furgรณn", + "furia", + "fusil", + "fรบtbol", + "futuro", + "gacela", + "gafas", + "gaita", + "gajo", + "gala", + "galerรญa", + "gallo", + "gamba", + "ganar", + "gancho", + "ganga", + "ganso", + "garaje", + "garza", + "gasolina", + "gastar", + "gato", + "gavilรกn", + "gemelo", + "gemir", + "gen", + "gรฉnero", + "genio", + "gente", + "geranio", + "gerente", + "germen", + "gesto", + "gigante", + "gimnasio", + "girar", + "giro", + "glaciar", + "globo", + "gloria", + "gol", + "golfo", + "goloso", + "golpe", + "goma", + "gordo", + "gorila", + "gorra", + "gota", + "goteo", + "gozar", + "grada", + "grรกfico", + "grano", + "grasa", + "gratis", + "grave", + "grieta", + "grillo", + "gripe", + "gris", + "grito", + "grosor", + "grรบa", + "grueso", + "grumo", + "grupo", + "guante", + "guapo", + "guardia", + "guerra", + "guรญa", + "guiรฑo", + "guion", + "guiso", + "guitarra", + "gusano", + "gustar", + "haber", + "hรกbil", + "hablar", + "hacer", + "hacha", + "hada", + "hallar", + "hamaca", + "harina", + "haz", + "hazaรฑa", + "hebilla", + "hebra", + "hecho", + "helado", + "helio", + "hembra", + "herir", + "hermano", + "hรฉroe", + "hervir", + "hielo", + "hierro", + "hรญgado", + "higiene", + "hijo", + "himno", + "historia", + "hocico", + "hogar", + "hoguera", + "hoja", + "hombre", + "hongo", + "honor", + "honra", + "hora", + "hormiga", + "horno", + "hostil", + "hoyo", + "hueco", + "huelga", + "huerta", + "hueso", + "huevo", + "huida", + "huir", + "humano", + "hรบmedo", + "humilde", + "humo", + "hundir", + "huracรกn", + "hurto", + "icono", + "ideal", + "idioma", + "รญdolo", + "iglesia", + "iglรบ", + "igual", + "ilegal", + "ilusiรณn", + "imagen", + "imรกn", + "imitar", + "impar", + "imperio", + "imponer", + "impulso", + "incapaz", + "รญndice", + "inerte", + "infiel", + "informe", + "ingenio", + "inicio", + "inmenso", + "inmune", + "innato", + "insecto", + "instante", + "interรฉs", + "รญntimo", + "intuir", + "inรบtil", + "invierno", + "ira", + "iris", + "ironรญa", + "isla", + "islote", + "jabalรญ", + "jabรณn", + "jamรณn", + "jarabe", + "jardรญn", + "jarra", + "jaula", + "jazmรญn", + "jefe", + "jeringa", + "jinete", + "jornada", + "joroba", + "joven", + "joya", + "juerga", + "jueves", + "juez", + "jugador", + "jugo", + "juguete", + "juicio", + "junco", + "jungla", + "junio", + "juntar", + "jรบpiter", + "jurar", + "justo", + "juvenil", + "juzgar", + "kilo", + "koala", + "labio", + "lacio", + "lacra", + "lado", + "ladrรณn", + "lagarto", + "lรกgrima", + "laguna", + "laico", + "lamer", + "lรกmina", + "lรกmpara", + "lana", + "lancha", + "langosta", + "lanza", + "lรกpiz", + "largo", + "larva", + "lรกstima", + "lata", + "lรกtex", + "latir", + "laurel", + "lavar", + "lazo", + "leal", + "lecciรณn", + "leche", + "lector", + "leer", + "legiรณn", + "legumbre", + "lejano", + "lengua", + "lento", + "leรฑa", + "leรณn", + "leopardo", + "lesiรณn", + "letal", + "letra", + "leve", + "leyenda", + "libertad", + "libro", + "licor", + "lรญder", + "lidiar", + "lienzo", + "liga", + "ligero", + "lima", + "lรญmite", + "limรณn", + "limpio", + "lince", + "lindo", + "lรญnea", + "lingote", + "lino", + "linterna", + "lรญquido", + "liso", + "lista", + "litera", + "litio", + "litro", + "llaga", + "llama", + "llanto", + "llave", + "llegar", + "llenar", + "llevar", + "llorar", + "llover", + "lluvia", + "lobo", + "lociรณn", + "loco", + "locura", + "lรณgica", + "logro", + "lombriz", + "lomo", + "lonja", + "lote", + "lucha", + "lucir", + "lugar", + "lujo", + "luna", + "lunes", + "lupa", + "lustro", + "luto", + "luz", + "maceta", + "macho", + "madera", + "madre", + "maduro", + "maestro", + "mafia", + "magia", + "mago", + "maรญz", + "maldad", + "maleta", + "malla", + "malo", + "mamรก", + "mambo", + "mamut", + "manco", + "mando", + "manejar", + "manga", + "maniquรญ", + "manjar", + "mano", + "manso", + "manta", + "maรฑana", + "mapa", + "mรกquina", + "mar", + "marco", + "marea", + "marfil", + "margen", + "marido", + "mรกrmol", + "marrรณn", + "martes", + "marzo", + "masa", + "mรกscara", + "masivo", + "matar", + "materia", + "matiz", + "matriz", + "mรกximo", + "mayor", + "mazorca", + "mecha", + "medalla", + "medio", + "mรฉdula", + "mejilla", + "mejor", + "melena", + "melรณn", + "memoria", + "menor", + "mensaje", + "mente", + "menรบ", + "mercado", + "merengue", + "mรฉrito", + "mes", + "mesรณn", + "meta", + "meter", + "mรฉtodo", + "metro", + "mezcla", + "miedo", + "miel", + "miembro", + "miga", + "mil", + "milagro", + "militar", + "millรณn", + "mimo", + "mina", + "minero", + "mรญnimo", + "minuto", + "miope", + "mirar", + "misa", + "miseria", + "misil", + "mismo", + "mitad", + "mito", + "mochila", + "mociรณn", + "moda", + "modelo", + "moho", + "mojar", + "molde", + "moler", + "molino", + "momento", + "momia", + "monarca", + "moneda", + "monja", + "monto", + "moรฑo", + "morada", + "morder", + "moreno", + "morir", + "morro", + "morsa", + "mortal", + "mosca", + "mostrar", + "motivo", + "mover", + "mรณvil", + "mozo", + "mucho", + "mudar", + "mueble", + "muela", + "muerte", + "muestra", + "mugre", + "mujer", + "mula", + "muleta", + "multa", + "mundo", + "muรฑeca", + "mural", + "muro", + "mรบsculo", + "museo", + "musgo", + "mรบsica", + "muslo", + "nรกcar", + "naciรณn", + "nadar", + "naipe", + "naranja", + "nariz", + "narrar", + "nasal", + "natal", + "nativo", + "natural", + "nรกusea", + "naval", + "nave", + "navidad", + "necio", + "nรฉctar", + "negar", + "negocio", + "negro", + "neรณn", + "nervio", + "neto", + "neutro", + "nevar", + "nevera", + "nicho", + "nido", + "niebla", + "nieto", + "niรฑez", + "niรฑo", + "nรญtido", + "nivel", + "nobleza", + "noche", + "nรณmina", + "noria", + "norma", + "norte", + "nota", + "noticia", + "novato", + "novela", + "novio", + "nube", + "nuca", + "nรบcleo", + "nudillo", + "nudo", + "nuera", + "nueve", + "nuez", + "nulo", + "nรบmero", + "nutria", + "oasis", + "obeso", + "obispo", + "objeto", + "obra", + "obrero", + "observar", + "obtener", + "obvio", + "oca", + "ocaso", + "ocรฉano", + "ochenta", + "ocho", + "ocio", + "ocre", + "octavo", + "octubre", + "oculto", + "ocupar", + "ocurrir", + "odiar", + "odio", + "odisea", + "oeste", + "ofensa", + "oferta", + "oficio", + "ofrecer", + "ogro", + "oรญdo", + "oรญr", + "ojo", + "ola", + "oleada", + "olfato", + "olivo", + "olla", + "olmo", + "olor", + "olvido", + "ombligo", + "onda", + "onza", + "opaco", + "opciรณn", + "รณpera", + "opinar", + "oponer", + "optar", + "รณptica", + "opuesto", + "oraciรณn", + "orador", + "oral", + "รณrbita", + "orca", + "orden", + "oreja", + "รณrgano", + "orgรญa", + "orgullo", + "oriente", + "origen", + "orilla", + "oro", + "orquesta", + "oruga", + "osadรญa", + "oscuro", + "osezno", + "oso", + "ostra", + "otoรฑo", + "otro", + "oveja", + "รณvulo", + "รณxido", + "oxรญgeno", + "oyente", + "ozono", + "pacto", + "padre", + "paella", + "pรกgina", + "pago", + "paรญs", + "pรกjaro", + "palabra", + "palco", + "paleta", + "pรกlido", + "palma", + "paloma", + "palpar", + "pan", + "panal", + "pรกnico", + "pantera", + "paรฑuelo", + "papรก", + "papel", + "papilla", + "paquete", + "parar", + "parcela", + "pared", + "parir", + "paro", + "pรกrpado", + "parque", + "pรกrrafo", + "parte", + "pasar", + "paseo", + "pasiรณn", + "paso", + "pasta", + "pata", + "patio", + "patria", + "pausa", + "pauta", + "pavo", + "payaso", + "peatรณn", + "pecado", + "pecera", + "pecho", + "pedal", + "pedir", + "pegar", + "peine", + "pelar", + "peldaรฑo", + "pelea", + "peligro", + "pellejo", + "pelo", + "peluca", + "pena", + "pensar", + "peรฑรณn", + "peรณn", + "peor", + "pepino", + "pequeรฑo", + "pera", + "percha", + "perder", + "pereza", + "perfil", + "perico", + "perla", + "permiso", + "perro", + "persona", + "pesa", + "pesca", + "pรฉsimo", + "pestaรฑa", + "pรฉtalo", + "petrรณleo", + "pez", + "pezuรฑa", + "picar", + "pichรณn", + "pie", + "piedra", + "pierna", + "pieza", + "pijama", + "pilar", + "piloto", + "pimienta", + "pino", + "pintor", + "pinza", + "piรฑa", + "piojo", + "pipa", + "pirata", + "pisar", + "piscina", + "piso", + "pista", + "pitรณn", + "pizca", + "placa", + "plan", + "plata", + "playa", + "plaza", + "pleito", + "pleno", + "plomo", + "pluma", + "plural", + "pobre", + "poco", + "poder", + "podio", + "poema", + "poesรญa", + "poeta", + "polen", + "policรญa", + "pollo", + "polvo", + "pomada", + "pomelo", + "pomo", + "pompa", + "poner", + "porciรณn", + "portal", + "posada", + "poseer", + "posible", + "poste", + "potencia", + "potro", + "pozo", + "prado", + "precoz", + "pregunta", + "premio", + "prensa", + "preso", + "previo", + "primo", + "prรญncipe", + "prisiรณn", + "privar", + "proa", + "probar", + "proceso", + "producto", + "proeza", + "profesor", + "programa", + "prole", + "promesa", + "pronto", + "propio", + "prรณximo", + "prueba", + "pรบblico", + "puchero", + "pudor", + "pueblo", + "puerta", + "puesto", + "pulga", + "pulir", + "pulmรณn", + "pulpo", + "pulso", + "puma", + "punto", + "puรฑal", + "puรฑo", + "pupa", + "pupila", + "purรฉ", + "quedar", + "queja", + "quemar", + "querer", + "queso", + "quieto", + "quรญmica", + "quince", + "quitar", + "rรกbano", + "rabia", + "rabo", + "raciรณn", + "radical", + "raรญz", + "rama", + "rampa", + "rancho", + "rango", + "rapaz", + "rรกpido", + "rapto", + "rasgo", + "raspa", + "rato", + "rayo", + "raza", + "razรณn", + "reacciรณn", + "realidad", + "rebaรฑo", + "rebote", + "recaer", + "receta", + "rechazo", + "recoger", + "recreo", + "recto", + "recurso", + "red", + "redondo", + "reducir", + "reflejo", + "reforma", + "refrรกn", + "refugio", + "regalo", + "regir", + "regla", + "regreso", + "rehรฉn", + "reino", + "reรญr", + "reja", + "relato", + "relevo", + "relieve", + "relleno", + "reloj", + "remar", + "remedio", + "remo", + "rencor", + "rendir", + "renta", + "reparto", + "repetir", + "reposo", + "reptil", + "res", + "rescate", + "resina", + "respeto", + "resto", + "resumen", + "retiro", + "retorno", + "retrato", + "reunir", + "revรฉs", + "revista", + "rey", + "rezar", + "rico", + "riego", + "rienda", + "riesgo", + "rifa", + "rรญgido", + "rigor", + "rincรณn", + "riรฑรณn", + "rรญo", + "riqueza", + "risa", + "ritmo", + "rito", + "rizo", + "roble", + "roce", + "rociar", + "rodar", + "rodeo", + "rodilla", + "roer", + "rojizo", + "rojo", + "romero", + "romper", + "ron", + "ronco", + "ronda", + "ropa", + "ropero", + "rosa", + "rosca", + "rostro", + "rotar", + "rubรญ", + "rubor", + "rudo", + "rueda", + "rugir", + "ruido", + "ruina", + "ruleta", + "rulo", + "rumbo", + "rumor", + "ruptura", + "ruta", + "rutina", + "sรกbado", + "saber", + "sabio", + "sable", + "sacar", + "sagaz", + "sagrado", + "sala", + "saldo", + "salero", + "salir", + "salmรณn", + "salรณn", + "salsa", + "salto", + "salud", + "salvar", + "samba", + "sanciรณn", + "sandรญa", + "sanear", + "sangre", + "sanidad", + "sano", + "santo", + "sapo", + "saque", + "sardina", + "sartรฉn", + "sastre", + "satรกn", + "sauna", + "saxofรณn", + "secciรณn", + "seco", + "secreto", + "secta", + "sed", + "seguir", + "seis", + "sello", + "selva", + "semana", + "semilla", + "senda", + "sensor", + "seรฑal", + "seรฑor", + "separar", + "sepia", + "sequรญa", + "ser", + "serie", + "sermรณn", + "servir", + "sesenta", + "sesiรณn", + "seta", + "setenta", + "severo", + "sexo", + "sexto", + "sidra", + "siesta", + "siete", + "siglo", + "signo", + "sรญlaba", + "silbar", + "silencio", + "silla", + "sรญmbolo", + "simio", + "sirena", + "sistema", + "sitio", + "situar", + "sobre", + "socio", + "sodio", + "sol", + "solapa", + "soldado", + "soledad", + "sรณlido", + "soltar", + "soluciรณn", + "sombra", + "sondeo", + "sonido", + "sonoro", + "sonrisa", + "sopa", + "soplar", + "soporte", + "sordo", + "sorpresa", + "sorteo", + "sostรฉn", + "sรณtano", + "suave", + "subir", + "suceso", + "sudor", + "suegra", + "suelo", + "sueรฑo", + "suerte", + "sufrir", + "sujeto", + "sultรกn", + "sumar", + "superar", + "suplir", + "suponer", + "supremo", + "sur", + "surco", + "sureรฑo", + "surgir", + "susto", + "sutil", + "tabaco", + "tabique", + "tabla", + "tabรบ", + "taco", + "tacto", + "tajo", + "talar", + "talco", + "talento", + "talla", + "talรณn", + "tamaรฑo", + "tambor", + "tango", + "tanque", + "tapa", + "tapete", + "tapia", + "tapรณn", + "taquilla", + "tarde", + "tarea", + "tarifa", + "tarjeta", + "tarot", + "tarro", + "tarta", + "tatuaje", + "tauro", + "taza", + "tazรณn", + "teatro", + "techo", + "tecla", + "tรฉcnica", + "tejado", + "tejer", + "tejido", + "tela", + "telรฉfono", + "tema", + "temor", + "templo", + "tenaz", + "tender", + "tener", + "tenis", + "tenso", + "teorรญa", + "terapia", + "terco", + "tรฉrmino", + "ternura", + "terror", + "tesis", + "tesoro", + "testigo", + "tetera", + "texto", + "tez", + "tibio", + "tiburรณn", + "tiempo", + "tienda", + "tierra", + "tieso", + "tigre", + "tijera", + "tilde", + "timbre", + "tรญmido", + "timo", + "tinta", + "tรญo", + "tรญpico", + "tipo", + "tira", + "tirรณn", + "titรกn", + "tรญtere", + "tรญtulo", + "tiza", + "toalla", + "tobillo", + "tocar", + "tocino", + "todo", + "toga", + "toldo", + "tomar", + "tono", + "tonto", + "topar", + "tope", + "toque", + "tรณrax", + "torero", + "tormenta", + "torneo", + "toro", + "torpedo", + "torre", + "torso", + "tortuga", + "tos", + "tosco", + "toser", + "tรณxico", + "trabajo", + "tractor", + "traer", + "trรกfico", + "trago", + "traje", + "tramo", + "trance", + "trato", + "trauma", + "trazar", + "trรฉbol", + "tregua", + "treinta", + "tren", + "trepar", + "tres", + "tribu", + "trigo", + "tripa", + "triste", + "triunfo", + "trofeo", + "trompa", + "tronco", + "tropa", + "trote", + "trozo", + "truco", + "trueno", + "trufa", + "tuberรญa", + "tubo", + "tuerto", + "tumba", + "tumor", + "tรบnel", + "tรบnica", + "turbina", + "turismo", + "turno", + "tutor", + "ubicar", + "รบlcera", + "umbral", + "unidad", + "unir", + "universo", + "uno", + "untar", + "uรฑa", + "urbano", + "urbe", + "urgente", + "urna", + "usar", + "usuario", + "รบtil", + "utopรญa", + "uva", + "vaca", + "vacรญo", + "vacuna", + "vagar", + "vago", + "vaina", + "vajilla", + "vale", + "vรกlido", + "valle", + "valor", + "vรกlvula", + "vampiro", + "vara", + "variar", + "varรณn", + "vaso", + "vecino", + "vector", + "vehรญculo", + "veinte", + "vejez", + "vela", + "velero", + "veloz", + "vena", + "vencer", + "venda", + "veneno", + "vengar", + "venir", + "venta", + "venus", + "ver", + "verano", + "verbo", + "verde", + "vereda", + "verja", + "verso", + "verter", + "vรญa", + "viaje", + "vibrar", + "vicio", + "vรญctima", + "vida", + "vรญdeo", + "vidrio", + "viejo", + "viernes", + "vigor", + "vil", + "villa", + "vinagre", + "vino", + "viรฑedo", + "violรญn", + "viral", + "virgo", + "virtud", + "visor", + "vรญspera", + "vista", + "vitamina", + "viudo", + "vivaz", + "vivero", + "vivir", + "vivo", + "volcรกn", + "volumen", + "volver", + "voraz", + "votar", + "voto", + "voz", + "vuelo", + "vulgar", + "yacer", + "yate", + "yegua", + "yema", + "yerno", + "yeso", + "yodo", + "yoga", + "yogur", + "zafiro", + "zanja", + "zapato", + "zarza", + "zona", + "zorro", + "zumo", + "zurdo" + ); + return word_list; +} + +std::unordered_map& word_map_spanish() +{ + static std::unordered_map word_map; + if (word_map.size() > 0) + { + return word_map; + } + std::vector word_list = word_list_spanish(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + word_map[*it] = ii; + } + return word_map; +} + +std::unordered_map& trimmed_word_map_spanish() +{ + static std::unordered_map trimmed_word_map; + if (trimmed_word_map.size() > 0) + { + return trimmed_word_map; + } + std::vector word_list = word_list_spanish(); + int ii; + std::vector::iterator it; + for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + { + if (it->length() > 4) + { + trimmed_word_map[it->substr(0, 4)] = ii; + } + else + { + trimmed_word_map[*it] = ii; + } + } + return trimmed_word_map; +} -- cgit v1.2.3 From 4517bac7f3493bd369a05d5a1587765ef72a73da Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Thu, 2 Oct 2014 18:15:18 +0530 Subject: Restructured language sources to be singletons --- src/mnemonics/electrum-words.cpp | 382 ++-- src/mnemonics/electrum-words.h | 40 +- src/mnemonics/english.h | 4156 +++++++++++++++++++------------------- src/mnemonics/japanese.h | 4156 +++++++++++++++++++------------------- src/mnemonics/language_base.h | 61 + src/mnemonics/old_english.h | 3312 +++++++++++++++--------------- src/mnemonics/portuguese.h | 3313 +++++++++++++++--------------- src/mnemonics/singleton.h | 16 + src/mnemonics/spanish.h | 4156 +++++++++++++++++++------------------- 9 files changed, 9762 insertions(+), 9830 deletions(-) create mode 100644 src/mnemonics/language_base.h create mode 100644 src/mnemonics/singleton.h (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 334bc578f..7caa3f72b 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -41,6 +41,7 @@ #include #include #include +#include #include #include "crypto/crypto.h" // for declaration of crypto::secret_key #include @@ -55,97 +56,93 @@ #include "portuguese.h" #include "japanese.h" #include "old_english.h" +#include "language_base.h" +#include "singleton.h" namespace { - int num_words = 0; const int seed_length = 24; - std::map words_map; - std::vector words_array; - - bool is_old_style_word_list = false; - - const std::string WORD_LISTS_DIRECTORY = "wordlists"; - const std::string LANGUAGES_DIRECTORY = "languages"; - const std::string OLD_WORD_FILE = "old-word-list"; - - const int unique_prefix_length = 4; /*! - * \brief Tells if the module hasn't been initialized with a word list file. - * \return true if the module hasn't been initialized with a word list file false otherwise. + * \brief Finds the word list that contains the seed words and puts the indices + * where matches occured in matched_indices. + * \param seed List of words to match. + * \param has_checksum If word list passed checksum test, we need to only do a prefix check. + * \param matched_indices The indices where the seed words were found are added to this. + * \return true if all the words were present in some language false if not. */ - bool is_uninitialized() + bool find_seed_language(const std::vector &seed, + bool has_checksum, std::vector &matched_indices, uint32_t &word_list_length, + std::string &language_name) { - return num_words == 0 ? true : false; - } - - /*! - * \brief Create word list map and array data structres for use during inter-conversion between - * words and secret key. - * \param word_file Path to the word list file from pwd. - * \param has_checksum True if checksum was supplied false if not. - */ - void create_data_structures(const std::string &word_file, bool has_checksum) - { - words_array.clear(); - words_map.clear(); - num_words = 0; - std::ifstream input_stream; - input_stream.open(word_file.c_str(), std::ifstream::in); - - if (!input_stream) - throw std::runtime_error("Word list file couldn't be opened."); - - std::string word; - while (input_stream >> word) + // If there's a new language added, add an instance of it here. + std::vector language_instances({ + Language::Singleton::instance(), + Language::Singleton::instance(), + Language::Singleton::instance(), + Language::Singleton::instance(), + Language::Singleton::instance() + }); + // To hold trimmed seed words in case of a checksum being present. + std::vector trimmed_seed; + if (has_checksum) { - if (word.length() == 0 || word[0] == '#') - { - // Skip empty and comment lines - continue; - } - words_array.push_back(word); - if (has_checksum) + // If it had a checksum, we'll just compare the unique prefix + // So we create a list of trimmed seed words + for (std::vector::const_iterator it = seed.begin(); it != seed.end(); it++) { - // Only if checksum was passed should we stick to just 4 char checks to be lenient about typos. - words_map[word.substr(0, unique_prefix_length)] = num_words; + trimmed_seed.push_back(it->length() > Language::unique_prefix_length ? + it->substr(0, Language::unique_prefix_length) : *it); } - else - { - words_map[word] = num_words; - } - num_words++; } - input_stream.close(); - } - - /*! - * \brief Tells if all the words passed in wlist was present in current word list file. - * \param wlist List of words to match. - * \param has_checksum If word list passed checksum test, we need to only do a 4 char check. - * \return true if all the words were present false if not. - */ - bool word_list_file_match(const std::vector &wlist, bool has_checksum) - { - for (std::vector::const_iterator it = wlist.begin(); it != wlist.end(); it++) + std::unordered_map word_map; + std::unordered_map trimmed_word_map; + // Iterate through all the languages and find a match + for (std::vector::iterator it1 = language_instances.begin(); + it1 != language_instances.end(); it1++) { - if (has_checksum) + word_map = (*it1)->get_word_map(); + trimmed_word_map = (*it1)->get_trimmed_word_map(); + // To iterate through seed words + std::vector::const_iterator it2; + // To iterate through trimmed seed words + std::vector::iterator it3; + bool full_match = true; + + // Iterate through all the words and see if they're all present + for (it2 = seed.begin(), it3 = trimmed_seed.begin(); + it2 != seed.end() && it3 != trimmed_seed.end(); it2++, it3++) { - if (words_map.count(it->substr(0, unique_prefix_length)) == 0) + if (has_checksum) { - return false; + // Use the trimmed words and map + if (trimmed_word_map.count(*it3) == 0) + { + full_match = false; + break; + } + matched_indices.push_back(trimmed_word_map[*it3]); } - } - else - { - if (words_map.count(*it) == 0) + else { - return false; + if (word_map.count(*it2) == 0) + { + full_match = false; + break; + } + matched_indices.push_back(word_map[*it2]); } } + if (full_match) + { + word_list_length = (*it1)->get_word_list().size(); + language_name = (*it1)->get_language_name(); + return true; + } + // Some didn't match. Clear the index array. + matched_indices.clear(); } - return true; + return false; } /*! @@ -155,16 +152,43 @@ namespace */ uint32_t create_checksum_index(const std::vector &word_list) { - std::string four_char_words = ""; + std::string trimmed_words = ""; for (std::vector::const_iterator it = word_list.begin(); it != word_list.end(); it++) { - four_char_words += it->substr(0, unique_prefix_length); + if (it->length() > 4) + { + trimmed_words += it->substr(0, Language::unique_prefix_length); + } + else + { + trimmed_words += *it; + } } boost::crc_32_type result; - result.process_bytes(four_char_words.data(), four_char_words.length()); + result.process_bytes(trimmed_words.data(), trimmed_words.length()); return result.checksum() % seed_length; } + + /*! + * \brief Does the checksum test on the seed passed. + * \param seed Vector of seed words + * \return True if the test passed false if not. + */ + bool checksum_test(std::vector seed) + { + // The last word is the checksum. + std::string last_word = seed.back(); + seed.pop_back(); + + std::string checksum = seed[create_checksum_index(seed)]; + + std::string trimmed_checksum = checksum.length() > 4 ? checksum.substr(0, Language::unique_prefix_length) : + checksum; + std::string trimmed_last_word = checksum.length() > 4 ? last_word.substr(0, Language::unique_prefix_length) : + last_word; + return trimmed_checksum == trimmed_last_word; + } } /*! @@ -181,115 +205,63 @@ namespace crypto */ namespace ElectrumWords { - /*! - * \brief Called to initialize it to work with a word list file. - * \param language Language of the word list file. - * \param has_checksum True if the checksum was passed false if not. - * \param old_word_list true it is to use the old style word list file false if not. - */ - void init(const std::string &language, bool has_checksum, bool old_word_list) - { - if (old_word_list) - { - // Use the old word list file if told to. - create_data_structures(WORD_LISTS_DIRECTORY + '/' + OLD_WORD_FILE, has_checksum); - is_old_style_word_list = true; - } - else - { - create_data_structures(WORD_LISTS_DIRECTORY + '/' + LANGUAGES_DIRECTORY + '/' + language, has_checksum); - is_old_style_word_list = false; - } - if (num_words == 0) - { - throw std::runtime_error(std::string("Word list file is empty: ") + - (old_word_list ? OLD_WORD_FILE : (LANGUAGES_DIRECTORY + '/' + language))); - } - } - /*! * \brief Converts seed words to bytes (secret key). - * \param words String containing the words separated by spaces. - * \param dst To put the secret key restored from the words. - * \return false if not a multiple of 3 words, or if word is not in the words list + * \param words String containing the words separated by spaces. + * \param dst To put the secret key restored from the words. + * \param language_name Language of the seed as found gets written here. + * \return false if not a multiple of 3 words, or if word is not in the words list */ - bool words_to_bytes(const std::string& words, crypto::secret_key& dst) + bool words_to_bytes(const std::string& words, crypto::secret_key& dst, + std::string &language_name) { - std::vector wlist; + std::vector seed; - boost::split(wlist, words, boost::is_any_of(" ")); + boost::split(seed, words, boost::is_any_of(" ")); - // If it is seed with a checksum. - bool has_checksum = (wlist.size() == seed_length + 1); + // error on non-compliant word list + if (seed.size() != seed_length/2 && seed.size() != seed_length && + seed.size() != seed_length + 1) + { + return false; + } + // If it is seed with a checksum. + bool has_checksum = seed.size() == (seed_length + 1); if (has_checksum) { - // The last word is the checksum. - std::string last_word = wlist.back(); - wlist.pop_back(); - - std::string checksum = wlist[create_checksum_index(wlist)]; - - if (checksum.substr(0, unique_prefix_length) != last_word.substr(0, unique_prefix_length)) + if (!checksum_test(seed)) { // Checksum fail return false; } } - // Try to find a word list file that contains all the words in the word list. - std::vector languages; - get_language_list(languages); - - std::vector::iterator it; - for (it = languages.begin(); it != languages.end(); it++) - { - init(*it, has_checksum); - if (word_list_file_match(wlist, has_checksum)) - { - break; - } - } - // If no such file was found, see if the old style word list file has them all. - if (it == languages.end()) + + std::vector matched_indices; + uint32_t word_list_length; + if (!find_seed_language(seed, has_checksum, matched_indices, word_list_length, language_name)) { - init("", has_checksum, true); - if (!word_list_file_match(wlist, has_checksum)) - { - return false; - } + return false; } - int n = num_words; - - // error on non-compliant word list - if (wlist.size() != 12 && wlist.size() != 24) return false; - for (unsigned int i=0; i < wlist.size() / 3; i++) + for (unsigned int i=0; i < seed.size() / 3; i++) { uint32_t val; uint32_t w1, w2, w3; + w1 = matched_indices[i*3]; + w2 = matched_indices[i*3 + 1]; + w3 = matched_indices[i*3 + 2]; - if (has_checksum) - { - w1 = words_map.at(wlist[i*3].substr(0, unique_prefix_length)); - w2 = words_map.at(wlist[i*3 + 1].substr(0, unique_prefix_length)); - w3 = words_map.at(wlist[i*3 + 2].substr(0, unique_prefix_length)); - } - else - { - w1 = words_map.at(wlist[i*3]); - w2 = words_map.at(wlist[i*3 + 1]); - w3 = words_map.at(wlist[i*3 + 2]); - } + val = w1 + word_list_length * (((word_list_length - w1) + w2) % word_list_length) + + word_list_length * word_list_length * (((word_list_length - w2) + w3) % word_list_length); - val = w1 + n * (((n - w1) + w2) % n) + n * n * (((n - w2) + w3) % n); - - if (!(val % n == w1)) return false; + if (!(val % word_list_length == w1)) return false; memcpy(dst.data + i * 4, &val, 4); // copy 4 bytes to position } std::string wlist_copy = words; - if (wlist.size() == 12) + if (seed.size() == seed_length/2) { memcpy(dst.data, dst.data + 16, 16); // if electrum 12-word seed, duplicate wlist_copy += ' '; @@ -301,23 +273,44 @@ namespace crypto /*! * \brief Converts bytes (secret key) to seed words. - * \param src Secret key - * \param words Space delimited concatenated words get written here. - * \return true if successful false if not. Unsuccessful if wrong key size. + * \param src Secret key + * \param words Space delimited concatenated words get written here. + * \param language_name Seed language name + * \return true if successful false if not. Unsuccessful if wrong key size. */ - bool bytes_to_words(const crypto::secret_key& src, std::string& words) + bool bytes_to_words(const crypto::secret_key& src, std::string& words, + const std::string &language_name) { - if (is_uninitialized()) + + if (sizeof(src.data) % 4 != 0 || sizeof(src.data) == 0) return false; + + std::vector word_list; + Language::Base *language; + if (language_name == "English") { - init("english", true); + language = Language::Singleton::instance(); } - + else if (language_name == "Spanish") + { + language = Language::Singleton::instance(); + } + else if (language_name == "Portuguese") + { + language = Language::Singleton::instance(); + } + else if (language_name == "Japanese") + { + language = Language::Singleton::instance(); + } + else + { + return false; + } + word_list = language->get_word_list(); // To store the words for random access to add the checksum word later. std::vector words_store; - int n = num_words; - - if (sizeof(src.data) % 4 != 0 || sizeof(src.data) == 0) return false; + uint32_t word_list_length = word_list.size(); // 8 bytes -> 3 words. 8 digits base 16 -> 3 digits base 1626 for (unsigned int i=0; i < sizeof(src.data)/4; i++, words += ' ') { @@ -327,19 +320,19 @@ namespace crypto memcpy(&val, (src.data) + (i * 4), 4); - w1 = val % n; - w2 = ((val / n) + w1) % n; - w3 = (((val / n) / n) + w2) % n; + w1 = val % word_list_length; + w2 = ((val / word_list_length) + w1) % word_list_length; + w3 = (((val / word_list_length) / word_list_length) + w2) % word_list_length; - words += words_array[w1]; + words += word_list[w1]; words += ' '; - words += words_array[w2]; + words += word_list[w2]; words += ' '; - words += words_array[w3]; + words += word_list[w3]; - words_store.push_back(words_array[w1]); - words_store.push_back(words_array[w2]); - words_store.push_back(words_array[w3]); + words_store.push_back(word_list[w1]); + words_store.push_back(word_list[w2]); + words_store.push_back(word_list[w3]); } words.pop_back(); @@ -353,31 +346,18 @@ namespace crypto */ void get_language_list(std::vector &languages) { - languages.clear(); - boost::filesystem::path languages_directory("wordlists/languages"); - if (!boost::filesystem::exists(languages_directory) || - !boost::filesystem::is_directory(languages_directory)) - { - throw std::runtime_error("Word list languages directory is missing."); - } - boost::filesystem::directory_iterator end; - for (boost::filesystem::directory_iterator it(languages_directory); it != end; it++) - { - languages.push_back(it->path().filename().string()); - } - } - - /*! - * \brief Tells if the module is currenly using an old style word list. - * \return true if it is currenly using an old style word list false if not. - */ - bool get_is_old_style_word_list() - { - if (is_uninitialized()) + std::vector language_instances({ + Language::Singleton::instance(), + Language::Singleton::instance(), + Language::Singleton::instance(), + Language::Singleton::instance(), + Language::Singleton::instance() + }); + for (std::vector::iterator it = language_instances.begin(); + it != language_instances.end(); it++) { - throw std::runtime_error("ElectrumWords hasn't been initialized with a word list yet."); + languages.push_back((*it)->get_language_name()); } - return is_old_style_word_list; } /*! @@ -387,9 +367,9 @@ namespace crypto */ bool get_is_old_style_seed(const std::string &seed) { - std::vector wlist; - boost::split(wlist, seed, boost::is_any_of(" ")); - return wlist.size() != (seed_length + 1); + std::vector word_list; + boost::split(word_list, seed, boost::is_any_of(" ")); + return word_list.size() != (seed_length + 1); } } diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index 95c420562..1535fff1b 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -36,6 +36,9 @@ * that method of "backing up" one's wallet keys. */ +#ifndef ELECTRUM_WORDS_H +#define ELECTRUM_WORDS_H + #include #include #include @@ -55,29 +58,26 @@ namespace crypto */ namespace ElectrumWords { - /*! - * \brief Called to initialize it to work with a word list file. - * \param language Language of the word list file. - * \param has_checksum True if the checksum was passed false if not. - * \param old_word_list true it is to use the old style word list file false if not. - */ - void init(const std::string &language, bool has_checksum=true, bool old_word_list=false); - + /*! * \brief Converts seed words to bytes (secret key). - * \param words String containing the words separated by spaces. - * \param dst To put the secret key restored from the words. - * \return false if not a multiple of 3 words, or if word is not in the words list + * \param words String containing the words separated by spaces. + * \param dst To put the secret key restored from the words. + * \param language_name Language of the seed as found gets written here. + * \return false if not a multiple of 3 words, or if word is not in the words list */ - bool words_to_bytes(const std::string& words, crypto::secret_key& dst); + bool words_to_bytes(const std::string& words, crypto::secret_key& dst, + std::string &language_name); /*! * \brief Converts bytes (secret key) to seed words. - * \param src Secret key - * \param words Space delimited concatenated words get written here. - * \return true if successful false if not. Unsuccessful if wrong key size. + * \param src Secret key + * \param words Space delimited concatenated words get written here. + * \param language_name Seed language name + * \return true if successful false if not. Unsuccessful if wrong key size. */ - bool bytes_to_words(const crypto::secret_key& src, std::string& words); + bool bytes_to_words(const crypto::secret_key& src, std::string& words, + const std::string &language_name); /*! * \brief Gets a list of seed languages that are supported. @@ -85,12 +85,6 @@ namespace crypto */ void get_language_list(std::vector &languages); - /*! - * \brief If the module is currenly using an old style word list. - * \return true if it is currenly using an old style word list false if not. - */ - bool get_is_old_style_word_list(); - /*! * \brief Tells if the seed passed is an old style seed or not. * \param seed The seed to check (a space delimited concatenated word list) @@ -99,3 +93,5 @@ namespace crypto bool get_is_old_style_seed(const std::string &seed); } } + +#endif diff --git a/src/mnemonics/english.h b/src/mnemonics/english.h index f1bd3fb64..9c6dc281b 100644 --- a/src/mnemonics/english.h +++ b/src/mnemonics/english.h @@ -1,2098 +1,2074 @@ +#ifndef ENGLISH_H +#define ENGLISH_H + #include #include +#include "language_base.h" +#include -std::vector& word_list_english() -{ - static std::vector word_list( - "abandon", - "ability", - "able", - "about", - "above", - "absent", - "absorb", - "abstract", - "absurd", - "abuse", - "access", - "accident", - "account", - "accuse", - "achieve", - "acid", - "acoustic", - "acquire", - "across", - "act", - "action", - "actor", - "actress", - "actual", - "adapt", - "add", - "addict", - "address", - "adjust", - "admit", - "adult", - "advance", - "advice", - "aerobic", - "affair", - "afford", - "afraid", - "again", - "age", - "agent", - "agree", - "ahead", - "aim", - "air", - "airport", - "aisle", - "alarm", - "album", - "alcohol", - "alert", - "alien", - "all", - "alley", - "allow", - "almost", - "alone", - "alpha", - "already", - "also", - "alter", - "always", - "amateur", - "amazing", - "among", - "amount", - "amused", - "analyst", - "anchor", - "ancient", - "anger", - "angle", - "angry", - "animal", - "ankle", - "announce", - "annual", - "another", - "answer", - "antenna", - "antique", - "anxiety", - "any", - "apart", - "apology", - "appear", - "apple", - "approve", - "april", - "arch", - "arctic", - "area", - "arena", - "argue", - "arm", - "armed", - "armor", - "army", - "around", - "arrange", - "arrest", - "arrive", - "arrow", - "art", - "artefact", - "artist", - "artwork", - "ask", - "aspect", - "assault", - "asset", - "assist", - "assume", - "asthma", - "athlete", - "atom", - "attack", - "attend", - "attitude", - "attract", - "auction", - "audit", - "august", - "aunt", - "author", - "auto", - "autumn", - "average", - "avocado", - "avoid", - "awake", - "aware", - "away", - "awesome", - "awful", - "awkward", - "axis", - "baby", - "bachelor", - "bacon", - "badge", - "bag", - "balance", - "balcony", - "ball", - "bamboo", - "banana", - "banner", - "bar", - "barely", - "bargain", - "barrel", - "base", - "basic", - "basket", - "battle", - "beach", - "bean", - "beauty", - "because", - "become", - "beef", - "before", - "begin", - "behave", - "behind", - "believe", - "below", - "belt", - "bench", - "benefit", - "best", - "betray", - "better", - "between", - "beyond", - "bicycle", - "bid", - "bike", - "bind", - "biology", - "bird", - "birth", - "bitter", - "black", - "blade", - "blame", - "blanket", - "blast", - "bleak", - "bless", - "blind", - "blood", - "blossom", - "blouse", - "blue", - "blur", - "blush", - "board", - "boat", - "body", - "boil", - "bomb", - "bone", - "bonus", - "book", - "boost", - "border", - "boring", - "borrow", - "boss", - "bottom", - "bounce", - "box", - "boy", - "bracket", - "brain", - "brand", - "brass", - "brave", - "bread", - "breeze", - "brick", - "bridge", - "brief", - "bright", - "bring", - "brisk", - "broccoli", - "broken", - "bronze", - "broom", - "brother", - "brown", - "brush", - "bubble", - "buddy", - "budget", - "buffalo", - "build", - "bulb", - "bulk", - "bullet", - "bundle", - "bunker", - "burden", - "burger", - "burst", - "bus", - "business", - "busy", - "butter", - "buyer", - "buzz", - "cabbage", - "cabin", - "cable", - "cactus", - "cage", - "cake", - "call", - "calm", - "camera", - "camp", - "can", - "canal", - "cancel", - "candy", - "cannon", - "canoe", - "canvas", - "canyon", - "capable", - "capital", - "captain", - "car", - "carbon", - "card", - "cargo", - "carpet", - "carry", - "cart", - "case", - "cash", - "casino", - "castle", - "casual", - "cat", - "catalog", - "catch", - "category", - "cattle", - "caught", - "cause", - "caution", - "cave", - "ceiling", - "celery", - "cement", - "census", - "century", - "cereal", - "certain", - "chair", - "chalk", - "champion", - "change", - "chaos", - "chapter", - "charge", - "chase", - "chat", - "cheap", - "check", - "cheese", - "chef", - "cherry", - "chest", - "chicken", - "chief", - "child", - "chimney", - "choice", - "choose", - "chronic", - "chuckle", - "chunk", - "churn", - "cigar", - "cinnamon", - "circle", - "citizen", - "city", - "civil", - "claim", - "clap", - "clarify", - "claw", - "clay", - "clean", - "clerk", - "clever", - "click", - "client", - "cliff", - "climb", - "clinic", - "clip", - "clock", - "clog", - "close", - "cloth", - "cloud", - "clown", - "club", - "clump", - "cluster", - "clutch", - "coach", - "coast", - "coconut", - "code", - "coffee", - "coil", - "coin", - "collect", - "color", - "column", - "combine", - "come", - "comfort", - "comic", - "common", - "company", - "concert", - "conduct", - "confirm", - "congress", - "connect", - "consider", - "control", - "convince", - "cook", - "cool", - "copper", - "copy", - "coral", - "core", - "corn", - "correct", - "cost", - "cotton", - "couch", - "country", - "couple", - "course", - "cousin", - "cover", - "coyote", - "crack", - "cradle", - "craft", - "cram", - "crane", - "crash", - "crater", - "crawl", - "crazy", - "cream", - "credit", - "creek", - "crew", - "cricket", - "crime", - "crisp", - "critic", - "crop", - "cross", - "crouch", - "crowd", - "crucial", - "cruel", - "cruise", - "crumble", - "crunch", - "crush", - "cry", - "crystal", - "cube", - "culture", - "cup", - "cupboard", - "curious", - "current", - "curtain", - "curve", - "cushion", - "custom", - "cute", - "cycle", - "dad", - "damage", - "damp", - "dance", - "danger", - "daring", - "dash", - "daughter", - "dawn", - "day", - "deal", - "debate", - "debris", - "decade", - "december", - "decide", - "decline", - "decorate", - "decrease", - "deer", - "defense", - "define", - "defy", - "degree", - "delay", - "deliver", - "demand", - "demise", - "denial", - "dentist", - "deny", - "depart", - "depend", - "deposit", - "depth", - "deputy", - "derive", - "describe", - "desert", - "design", - "desk", - "despair", - "destroy", - "detail", - "detect", - "develop", - "device", - "devote", - "diagram", - "dial", - "diamond", - "diary", - "dice", - "diesel", - "diet", - "differ", - "digital", - "dignity", - "dilemma", - "dinner", - "dinosaur", - "direct", - "dirt", - "disagree", - "discover", - "disease", - "dish", - "dismiss", - "disorder", - "display", - "distance", - "divert", - "divide", - "divorce", - "dizzy", - "doctor", - "document", - "dog", - "doll", - "dolphin", - "domain", - "donate", - "donkey", - "donor", - "door", - "dose", - "double", - "dove", - "draft", - "dragon", - "drama", - "drastic", - "draw", - "dream", - "dress", - "drift", - "drill", - "drink", - "drip", - "drive", - "drop", - "drum", - "dry", - "duck", - "dumb", - "dune", - "during", - "dust", - "dutch", - "duty", - "dwarf", - "dynamic", - "eager", - "eagle", - "early", - "earn", - "earth", - "easily", - "east", - "easy", - "echo", - "ecology", - "economy", - "edge", - "edit", - "educate", - "effort", - "egg", - "eight", - "either", - "elbow", - "elder", - "electric", - "elegant", - "element", - "elephant", - "elevator", - "elite", - "else", - "embark", - "embody", - "embrace", - "emerge", - "emotion", - "employ", - "empower", - "empty", - "enable", - "enact", - "end", - "endless", - "endorse", - "enemy", - "energy", - "enforce", - "engage", - "engine", - "enhance", - "enjoy", - "enlist", - "enough", - "enrich", - "enroll", - "ensure", - "enter", - "entire", - "entry", - "envelope", - "episode", - "equal", - "equip", - "era", - "erase", - "erode", - "erosion", - "error", - "erupt", - "escape", - "essay", - "essence", - "estate", - "eternal", - "ethics", - "evidence", - "evil", - "evoke", - "evolve", - "exact", - "example", - "excess", - "exchange", - "excite", - "exclude", - "excuse", - "execute", - "exercise", - "exhaust", - "exhibit", - "exile", - "exist", - "exit", - "exotic", - "expand", - "expect", - "expire", - "explain", - "expose", - "express", - "extend", - "extra", - "eye", - "eyebrow", - "fabric", - "face", - "faculty", - "fade", - "faint", - "faith", - "fall", - "false", - "fame", - "family", - "famous", - "fan", - "fancy", - "fantasy", - "farm", - "fashion", - "fat", - "fatal", - "father", - "fatigue", - "fault", - "favorite", - "feature", - "february", - "federal", - "fee", - "feed", - "feel", - "female", - "fence", - "festival", - "fetch", - "fever", - "few", - "fiber", - "fiction", - "field", - "figure", - "file", - "film", - "filter", - "final", - "find", - "fine", - "finger", - "finish", - "fire", - "firm", - "first", - "fiscal", - "fish", - "fit", - "fitness", - "fix", - "flag", - "flame", - "flash", - "flat", - "flavor", - "flee", - "flight", - "flip", - "float", - "flock", - "floor", - "flower", - "fluid", - "flush", - "fly", - "foam", - "focus", - "fog", - "foil", - "fold", - "follow", - "food", - "foot", - "force", - "forest", - "forget", - "fork", - "fortune", - "forum", - "forward", - "fossil", - "foster", - "found", - "fox", - "fragile", - "frame", - "frequent", - "fresh", - "friend", - "fringe", - "frog", - "front", - "frost", - "frown", - "frozen", - "fruit", - "fuel", - "fun", - "funny", - "furnace", - "fury", - "future", - "gadget", - "gain", - "galaxy", - "gallery", - "game", - "gap", - "garage", - "garbage", - "garden", - "garlic", - "garment", - "gas", - "gasp", - "gate", - "gather", - "gauge", - "gaze", - "general", - "genius", - "genre", - "gentle", - "genuine", - "gesture", - "ghost", - "giant", - "gift", - "giggle", - "ginger", - "giraffe", - "girl", - "give", - "glad", - "glance", - "glare", - "glass", - "glide", - "glimpse", - "globe", - "gloom", - "glory", - "glove", - "glow", - "glue", - "goat", - "goddess", - "gold", - "good", - "goose", - "gorilla", - "gospel", - "gossip", - "govern", - "gown", - "grab", - "grace", - "grain", - "grant", - "grape", - "grass", - "gravity", - "great", - "green", - "grid", - "grief", - "grit", - "grocery", - "group", - "grow", - "grunt", - "guard", - "guess", - "guide", - "guilt", - "guitar", - "gun", - "gym", - "habit", - "hair", - "half", - "hammer", - "hamster", - "hand", - "happy", - "harbor", - "hard", - "harsh", - "harvest", - "hat", - "have", - "hawk", - "hazard", - "head", - "health", - "heart", - "heavy", - "hedgehog", - "height", - "hello", - "helmet", - "help", - "hen", - "hero", - "hidden", - "high", - "hill", - "hint", - "hip", - "hire", - "history", - "hobby", - "hockey", - "hold", - "hole", - "holiday", - "hollow", - "home", - "honey", - "hood", - "hope", - "horn", - "horror", - "horse", - "hospital", - "host", - "hotel", - "hour", - "hover", - "hub", - "huge", - "human", - "humble", - "humor", - "hundred", - "hungry", - "hunt", - "hurdle", - "hurry", - "hurt", - "husband", - "hybrid", - "ice", - "icon", - "idea", - "identify", - "idle", - "ignore", - "ill", - "illegal", - "illness", - "image", - "imitate", - "immense", - "immune", - "impact", - "impose", - "improve", - "impulse", - "inch", - "include", - "income", - "increase", - "index", - "indicate", - "indoor", - "industry", - "infant", - "inflict", - "inform", - "inhale", - "inherit", - "initial", - "inject", - "injury", - "inmate", - "inner", - "innocent", - "input", - "inquiry", - "insane", - "insect", - "inside", - "inspire", - "install", - "intact", - "interest", - "into", - "invest", - "invite", - "involve", - "iron", - "island", - "isolate", - "issue", - "item", - "ivory", - "jacket", - "jaguar", - "jar", - "jazz", - "jealous", - "jeans", - "jelly", - "jewel", - "job", - "join", - "joke", - "journey", - "joy", - "judge", - "juice", - "jump", - "jungle", - "junior", - "junk", - "just", - "kangaroo", - "keen", - "keep", - "ketchup", - "key", - "kick", - "kid", - "kidney", - "kind", - "kingdom", - "kiss", - "kit", - "kitchen", - "kite", - "kitten", - "kiwi", - "knee", - "knife", - "knock", - "know", - "lab", - "label", - "labor", - "ladder", - "lady", - "lake", - "lamp", - "language", - "laptop", - "large", - "later", - "latin", - "laugh", - "laundry", - "lava", - "law", - "lawn", - "lawsuit", - "layer", - "lazy", - "leader", - "leaf", - "learn", - "leave", - "lecture", - "left", - "leg", - "legal", - "legend", - "leisure", - "lemon", - "lend", - "length", - "lens", - "leopard", - "lesson", - "letter", - "level", - "liar", - "liberty", - "library", - "license", - "life", - "lift", - "light", - "like", - "limb", - "limit", - "link", - "lion", - "liquid", - "list", - "little", - "live", - "lizard", - "load", - "loan", - "lobster", - "local", - "lock", - "logic", - "lonely", - "long", - "loop", - "lottery", - "loud", - "lounge", - "love", - "loyal", - "lucky", - "luggage", - "lumber", - "lunar", - "lunch", - "luxury", - "lyrics", - "machine", - "mad", - "magic", - "magnet", - "maid", - "mail", - "main", - "major", - "make", - "mammal", - "man", - "manage", - "mandate", - "mango", - "mansion", - "manual", - "maple", - "marble", - "march", - "margin", - "marine", - "market", - "marriage", - "mask", - "mass", - "master", - "match", - "material", - "math", - "matrix", - "matter", - "maximum", - "maze", - "meadow", - "mean", - "measure", - "meat", - "mechanic", - "medal", - "media", - "melody", - "melt", - "member", - "memory", - "mention", - "menu", - "mercy", - "merge", - "merit", - "merry", - "mesh", - "message", - "metal", - "method", - "middle", - "midnight", - "milk", - "million", - "mimic", - "mind", - "minimum", - "minor", - "minute", - "miracle", - "mirror", - "misery", - "miss", - "mistake", - "mix", - "mixed", - "mixture", - "mobile", - "model", - "modify", - "mom", - "moment", - "monitor", - "monkey", - "monster", - "month", - "moon", - "moral", - "more", - "morning", - "mosquito", - "mother", - "motion", - "motor", - "mountain", - "mouse", - "move", - "movie", - "much", - "muffin", - "mule", - "multiply", - "muscle", - "museum", - "mushroom", - "music", - "must", - "mutual", - "myself", - "mystery", - "myth", - "naive", - "name", - "napkin", - "narrow", - "nasty", - "nation", - "nature", - "near", - "neck", - "need", - "negative", - "neglect", - "neither", - "nephew", - "nerve", - "nest", - "net", - "network", - "neutral", - "never", - "news", - "next", - "nice", - "night", - "noble", - "noise", - "nominee", - "noodle", - "normal", - "north", - "nose", - "notable", - "note", - "nothing", - "notice", - "novel", - "now", - "nuclear", - "number", - "nurse", - "nut", - "oak", - "obey", - "object", - "oblige", - "obscure", - "observe", - "obtain", - "obvious", - "occur", - "ocean", - "october", - "odor", - "off", - "offer", - "office", - "often", - "oil", - "okay", - "old", - "olive", - "olympic", - "omit", - "once", - "one", - "onion", - "online", - "only", - "open", - "opera", - "opinion", - "oppose", - "option", - "orange", - "orbit", - "orchard", - "order", - "ordinary", - "organ", - "orient", - "original", - "orphan", - "ostrich", - "other", - "outdoor", - "outer", - "output", - "outside", - "oval", - "oven", - "over", - "own", - "owner", - "oxygen", - "oyster", - "ozone", - "pact", - "paddle", - "page", - "pair", - "palace", - "palm", - "panda", - "panel", - "panic", - "panther", - "paper", - "parade", - "parent", - "park", - "parrot", - "party", - "pass", - "patch", - "path", - "patient", - "patrol", - "pattern", - "pause", - "pave", - "payment", - "peace", - "peanut", - "pear", - "peasant", - "pelican", - "pen", - "penalty", - "pencil", - "people", - "pepper", - "perfect", - "permit", - "person", - "pet", - "phone", - "photo", - "phrase", - "physical", - "piano", - "picnic", - "picture", - "piece", - "pig", - "pigeon", - "pill", - "pilot", - "pink", - "pioneer", - "pipe", - "pistol", - "pitch", - "pizza", - "place", - "planet", - "plastic", - "plate", - "play", - "please", - "pledge", - "pluck", - "plug", - "plunge", - "poem", - "poet", - "point", - "polar", - "pole", - "police", - "pond", - "pony", - "pool", - "popular", - "portion", - "position", - "possible", - "post", - "potato", - "pottery", - "poverty", - "powder", - "power", - "practice", - "praise", - "predict", - "prefer", - "prepare", - "present", - "pretty", - "prevent", - "price", - "pride", - "primary", - "print", - "priority", - "prison", - "private", - "prize", - "problem", - "process", - "produce", - "profit", - "program", - "project", - "promote", - "proof", - "property", - "prosper", - "protect", - "proud", - "provide", - "public", - "pudding", - "pull", - "pulp", - "pulse", - "pumpkin", - "punch", - "pupil", - "puppy", - "purchase", - "purity", - "purpose", - "purse", - "push", - "put", - "puzzle", - "pyramid", - "quality", - "quantum", - "quarter", - "question", - "quick", - "quit", - "quiz", - "quote", - "rabbit", - "raccoon", - "race", - "rack", - "radar", - "radio", - "rail", - "rain", - "raise", - "rally", - "ramp", - "ranch", - "random", - "range", - "rapid", - "rare", - "rate", - "rather", - "raven", - "raw", - "razor", - "ready", - "real", - "reason", - "rebel", - "rebuild", - "recall", - "receive", - "recipe", - "record", - "recycle", - "reduce", - "reflect", - "reform", - "refuse", - "region", - "regret", - "regular", - "reject", - "relax", - "release", - "relief", - "rely", - "remain", - "remember", - "remind", - "remove", - "render", - "renew", - "rent", - "reopen", - "repair", - "repeat", - "replace", - "report", - "require", - "rescue", - "resemble", - "resist", - "resource", - "response", - "result", - "retire", - "retreat", - "return", - "reunion", - "reveal", - "review", - "reward", - "rhythm", - "rib", - "ribbon", - "rice", - "rich", - "ride", - "ridge", - "rifle", - "right", - "rigid", - "ring", - "riot", - "ripple", - "risk", - "ritual", - "rival", - "river", - "road", - "roast", - "robot", - "robust", - "rocket", - "romance", - "roof", - "rookie", - "room", - "rose", - "rotate", - "rough", - "round", - "route", - "royal", - "rubber", - "rude", - "rug", - "rule", - "run", - "runway", - "rural", - "sad", - "saddle", - "sadness", - "safe", - "sail", - "salad", - "salmon", - "salon", - "salt", - "salute", - "same", - "sample", - "sand", - "satisfy", - "satoshi", - "sauce", - "sausage", - "save", - "say", - "scale", - "scan", - "scare", - "scatter", - "scene", - "scheme", - "school", - "science", - "scissors", - "scorpion", - "scout", - "scrap", - "screen", - "script", - "scrub", - "sea", - "search", - "season", - "seat", - "second", - "secret", - "section", - "security", - "seed", - "seek", - "segment", - "select", - "sell", - "seminar", - "senior", - "sense", - "sentence", - "series", - "service", - "session", - "settle", - "setup", - "seven", - "shadow", - "shaft", - "shallow", - "share", - "shed", - "shell", - "sheriff", - "shield", - "shift", - "shine", - "ship", - "shiver", - "shock", - "shoe", - "shoot", - "shop", - "short", - "shoulder", - "shove", - "shrimp", - "shrug", - "shuffle", - "shy", - "sibling", - "sick", - "side", - "siege", - "sight", - "sign", - "silent", - "silk", - "silly", - "silver", - "similar", - "simple", - "since", - "sing", - "siren", - "sister", - "situate", - "six", - "size", - "skate", - "sketch", - "ski", - "skill", - "skin", - "skirt", - "skull", - "slab", - "slam", - "sleep", - "slender", - "slice", - "slide", - "slight", - "slim", - "slogan", - "slot", - "slow", - "slush", - "small", - "smart", - "smile", - "smoke", - "smooth", - "snack", - "snake", - "snap", - "sniff", - "snow", - "soap", - "soccer", - "social", - "sock", - "soda", - "soft", - "solar", - "soldier", - "solid", - "solution", - "solve", - "someone", - "song", - "soon", - "sorry", - "sort", - "soul", - "sound", - "soup", - "source", - "south", - "space", - "spare", - "spatial", - "spawn", - "speak", - "special", - "speed", - "spell", - "spend", - "sphere", - "spice", - "spider", - "spike", - "spin", - "spirit", - "split", - "spoil", - "sponsor", - "spoon", - "sport", - "spot", - "spray", - "spread", - "spring", - "spy", - "square", - "squeeze", - "squirrel", - "stable", - "stadium", - "staff", - "stage", - "stairs", - "stamp", - "stand", - "start", - "state", - "stay", - "steak", - "steel", - "stem", - "step", - "stereo", - "stick", - "still", - "sting", - "stock", - "stomach", - "stone", - "stool", - "story", - "stove", - "strategy", - "street", - "strike", - "strong", - "struggle", - "student", - "stuff", - "stumble", - "style", - "subject", - "submit", - "subway", - "success", - "such", - "sudden", - "suffer", - "sugar", - "suggest", - "suit", - "summer", - "sun", - "sunny", - "sunset", - "super", - "supply", - "supreme", - "sure", - "surface", - "surge", - "surprise", - "surround", - "survey", - "suspect", - "sustain", - "swallow", - "swamp", - "swap", - "swarm", - "swear", - "sweet", - "swift", - "swim", - "swing", - "switch", - "sword", - "symbol", - "symptom", - "syrup", - "system", - "table", - "tackle", - "tag", - "tail", - "talent", - "talk", - "tank", - "tape", - "target", - "task", - "taste", - "tattoo", - "taxi", - "teach", - "team", - "tell", - "ten", - "tenant", - "tennis", - "tent", - "term", - "test", - "text", - "thank", - "that", - "theme", - "then", - "theory", - "there", - "they", - "thing", - "this", - "thought", - "three", - "thrive", - "throw", - "thumb", - "thunder", - "ticket", - "tide", - "tiger", - "tilt", - "timber", - "time", - "tiny", - "tip", - "tired", - "tissue", - "title", - "toast", - "tobacco", - "today", - "toddler", - "toe", - "together", - "toilet", - "token", - "tomato", - "tomorrow", - "tone", - "tongue", - "tonight", - "tool", - "tooth", - "top", - "topic", - "topple", - "torch", - "tornado", - "tortoise", - "toss", - "total", - "tourist", - "toward", - "tower", - "town", - "toy", - "track", - "trade", - "traffic", - "tragic", - "train", - "transfer", - "trap", - "trash", - "travel", - "tray", - "treat", - "tree", - "trend", - "trial", - "tribe", - "trick", - "trigger", - "trim", - "trip", - "trophy", - "trouble", - "truck", - "true", - "truly", - "trumpet", - "trust", - "truth", - "try", - "tube", - "tuition", - "tumble", - "tuna", - "tunnel", - "turkey", - "turn", - "turtle", - "twelve", - "twenty", - "twice", - "twin", - "twist", - "two", - "type", - "typical", - "ugly", - "umbrella", - "unable", - "unaware", - "uncle", - "uncover", - "under", - "undo", - "unfair", - "unfold", - "unhappy", - "uniform", - "unique", - "unit", - "universe", - "unknown", - "unlock", - "until", - "unusual", - "unveil", - "update", - "upgrade", - "uphold", - "upon", - "upper", - "upset", - "urban", - "urge", - "usage", - "use", - "used", - "useful", - "useless", - "usual", - "utility", - "vacant", - "vacuum", - "vague", - "valid", - "valley", - "valve", - "van", - "vanish", - "vapor", - "various", - "vast", - "vault", - "vehicle", - "velvet", - "vendor", - "venture", - "venue", - "verb", - "verify", - "version", - "very", - "vessel", - "veteran", - "viable", - "vibrant", - "vicious", - "victory", - "video", - "view", - "village", - "vintage", - "violin", - "virtual", - "virus", - "visa", - "visit", - "visual", - "vital", - "vivid", - "vocal", - "voice", - "void", - "volcano", - "volume", - "vote", - "voyage", - "wage", - "wagon", - "wait", - "walk", - "wall", - "walnut", - "want", - "warfare", - "warm", - "warrior", - "wash", - "wasp", - "waste", - "water", - "wave", - "way", - "wealth", - "weapon", - "wear", - "weasel", - "weather", - "web", - "wedding", - "weekend", - "weird", - "welcome", - "west", - "wet", - "whale", - "what", - "wheat", - "wheel", - "when", - "where", - "whip", - "whisper", - "wide", - "width", - "wife", - "wild", - "will", - "win", - "window", - "wine", - "wing", - "wink", - "winner", - "winter", - "wire", - "wisdom", - "wise", - "wish", - "witness", - "wolf", - "woman", - "wonder", - "wood", - "wool", - "word", - "work", - "world", - "worry", - "worth", - "wrap", - "wreck", - "wrestle", - "wrist", - "write", - "wrong", - "yard", - "year", - "yellow", - "you", - "young", - "youth", - "zebra", - "zero", - "zone", - "zoo" - ); - return word_list; -} - -std::unordered_map& word_map_english() +namespace Language { - static std::unordered_map word_map; - if (word_map.size() > 0) + class English: public Base { - return word_map; - } - std::vector word_list = word_list_english(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - word_map[*it] = ii; - } - return word_map; -} - -std::unordered_map& trimmed_word_map_english() -{ - static std::unordered_map trimmed_word_map; - if (trimmed_word_map.size() > 0) - { - return trimmed_word_map; - } - std::vector word_list = word_list_english(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - if (it->length() > 4) + public: + English() { - trimmed_word_map[it->substr(0, 4)] = ii; + word_list = new std::vector({ + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep", + "slender", + "slice", + "slide", + "slight", + "slim", + "slogan", + "slot", + "slow", + "slush", + "small", + "smart", + "smile", + "smoke", + "smooth", + "snack", + "snake", + "snap", + "sniff", + "snow", + "soap", + "soccer", + "social", + "sock", + "soda", + "soft", + "solar", + "soldier", + "solid", + "solution", + "solve", + "someone", + "song", + "soon", + "sorry", + "sort", + "soul", + "sound", + "soup", + "source", + "south", + "space", + "spare", + "spatial", + "spawn", + "speak", + "special", + "speed", + "spell", + "spend", + "sphere", + "spice", + "spider", + "spike", + "spin", + "spirit", + "split", + "spoil", + "sponsor", + "spoon", + "sport", + "spot", + "spray", + "spread", + "spring", + "spy", + "square", + "squeeze", + "squirrel", + "stable", + "stadium", + "staff", + "stage", + "stairs", + "stamp", + "stand", + "start", + "state", + "stay", + "steak", + "steel", + "stem", + "step", + "stereo", + "stick", + "still", + "sting", + "stock", + "stomach", + "stone", + "stool", + "story", + "stove", + "strategy", + "street", + "strike", + "strong", + "struggle", + "student", + "stuff", + "stumble", + "style", + "subject", + "submit", + "subway", + "success", + "such", + "sudden", + "suffer", + "sugar", + "suggest", + "suit", + "summer", + "sun", + "sunny", + "sunset", + "super", + "supply", + "supreme", + "sure", + "surface", + "surge", + "surprise", + "surround", + "survey", + "suspect", + "sustain", + "swallow", + "swamp", + "swap", + "swarm", + "swear", + "sweet", + "swift", + "swim", + "swing", + "switch", + "sword", + "symbol", + "symptom", + "syrup", + "system", + "table", + "tackle", + "tag", + "tail", + "talent", + "talk", + "tank", + "tape", + "target", + "task", + "taste", + "tattoo", + "taxi", + "teach", + "team", + "tell", + "ten", + "tenant", + "tennis", + "tent", + "term", + "test", + "text", + "thank", + "that", + "theme", + "then", + "theory", + "there", + "they", + "thing", + "this", + "thought", + "three", + "thrive", + "throw", + "thumb", + "thunder", + "ticket", + "tide", + "tiger", + "tilt", + "timber", + "time", + "tiny", + "tip", + "tired", + "tissue", + "title", + "toast", + "tobacco", + "today", + "toddler", + "toe", + "together", + "toilet", + "token", + "tomato", + "tomorrow", + "tone", + "tongue", + "tonight", + "tool", + "tooth", + "top", + "topic", + "topple", + "torch", + "tornado", + "tortoise", + "toss", + "total", + "tourist", + "toward", + "tower", + "town", + "toy", + "track", + "trade", + "traffic", + "tragic", + "train", + "transfer", + "trap", + "trash", + "travel", + "tray", + "treat", + "tree", + "trend", + "trial", + "tribe", + "trick", + "trigger", + "trim", + "trip", + "trophy", + "trouble", + "truck", + "true", + "truly", + "trumpet", + "trust", + "truth", + "try", + "tube", + "tuition", + "tumble", + "tuna", + "tunnel", + "turkey", + "turn", + "turtle", + "twelve", + "twenty", + "twice", + "twin", + "twist", + "two", + "type", + "typical", + "ugly", + "umbrella", + "unable", + "unaware", + "uncle", + "uncover", + "under", + "undo", + "unfair", + "unfold", + "unhappy", + "uniform", + "unique", + "unit", + "universe", + "unknown", + "unlock", + "until", + "unusual", + "unveil", + "update", + "upgrade", + "uphold", + "upon", + "upper", + "upset", + "urban", + "urge", + "usage", + "use", + "used", + "useful", + "useless", + "usual", + "utility", + "vacant", + "vacuum", + "vague", + "valid", + "valley", + "valve", + "van", + "vanish", + "vapor", + "various", + "vast", + "vault", + "vehicle", + "velvet", + "vendor", + "venture", + "venue", + "verb", + "verify", + "version", + "very", + "vessel", + "veteran", + "viable", + "vibrant", + "vicious", + "victory", + "video", + "view", + "village", + "vintage", + "violin", + "virtual", + "virus", + "visa", + "visit", + "visual", + "vital", + "vivid", + "vocal", + "voice", + "void", + "volcano", + "volume", + "vote", + "voyage", + "wage", + "wagon", + "wait", + "walk", + "wall", + "walnut", + "want", + "warfare", + "warm", + "warrior", + "wash", + "wasp", + "waste", + "water", + "wave", + "way", + "wealth", + "weapon", + "wear", + "weasel", + "weather", + "web", + "wedding", + "weekend", + "weird", + "welcome", + "west", + "wet", + "whale", + "what", + "wheat", + "wheel", + "when", + "where", + "whip", + "whisper", + "wide", + "width", + "wife", + "wild", + "will", + "win", + "window", + "wine", + "wing", + "wink", + "winner", + "winter", + "wire", + "wisdom", + "wise", + "wish", + "witness", + "wolf", + "woman", + "wonder", + "wood", + "wool", + "word", + "work", + "world", + "worry", + "worth", + "wrap", + "wreck", + "wrestle", + "wrist", + "write", + "wrong", + "yard", + "year", + "yellow", + "you", + "young", + "youth", + "zebra", + "zero", + "zone", + "zoo" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "English"; + populate_maps(); } - else - { - trimmed_word_map[*it] = ii; - } - } - return trimmed_word_map; + }; } + +#endif diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h index 47476e849..cfbbce787 100644 --- a/src/mnemonics/japanese.h +++ b/src/mnemonics/japanese.h @@ -1,2098 +1,2074 @@ +#ifndef JAPANESE_H +#define JAPANESE_H + #include #include +#include "language_base.h" +#include -std::vector& word_list_japanese() -{ - static std::vector word_list( - "ใ‚ใ„", - "ใ‚ใ„ใ“ใใ—ใ‚“", - "ใ‚ใ†", - "ใ‚ใŠ", - "ใ‚ใŠใžใ‚‰", - "ใ‚ใ‹", - "ใ‚ใ‹ใกใ‚ƒใ‚“", - "ใ‚ใ", - "ใ‚ใใ‚‹", - "ใ‚ใ", - "ใ‚ใ•", - "ใ‚ใ•ใฒ", - "ใ‚ใ—", - "ใ‚ใšใ", - "ใ‚ใ›", - "ใ‚ใใถ", - "ใ‚ใŸใ‚‹", - "ใ‚ใคใ„", - "ใ‚ใช", - "ใ‚ใซ", - "ใ‚ใญ", - "ใ‚ใฒใ‚‹", - "ใ‚ใพใ„", - "ใ‚ใฟ", - "ใ‚ใ‚", - "ใ‚ใ‚ใ‚Šใ‹", - "ใ‚ใ‚„ใพใ‚‹", - "ใ‚ใ‚†ใ‚€", - "ใ‚ใ‚‰ใ„ใใพ", - "ใ‚ใ‚‰ใ—", - "ใ‚ใ‚Š", - "ใ‚ใ‚‹", - "ใ‚ใ‚Œ", - "ใ‚ใ‚", - "ใ‚ใ‚“ใ“", - "ใ„ใ†", - "ใ„ใˆ", - "ใ„ใŠใ‚“", - "ใ„ใ‹", - "ใ„ใŒใ„", - "ใ„ใ‹ใ„ใ‚ˆใ†", - "ใ„ใ‘", - "ใ„ใ‘ใ‚“", - "ใ„ใ“ใ", - "ใ„ใ“ใค", - "ใ„ใ•ใ‚“", - "ใ„ใ—", - "ใ„ใ˜ใ‚…ใ†", - "ใ„ใ™", - "ใ„ใ›ใ„", - "ใ„ใ›ใˆใณ", - "ใ„ใ›ใ‹ใ„", - "ใ„ใ›ใ", - "ใ„ใใ†ใ‚ใ†", - "ใ„ใใŒใ—ใ„", - "ใ„ใŸใ‚Šใ‚", - "ใ„ใฆใ–", - "ใ„ใฆใ‚“", - "ใ„ใจ", - "ใ„ใชใ„", - "ใ„ใชใ‹", - "ใ„ใฌ", - "ใ„ใญ", - "ใ„ใฎใก", - "ใ„ใฎใ‚‹", - "ใ„ใฏใค", - "ใ„ใฏใ‚“", - "ใ„ใณใ", - "ใ„ใฒใ‚“", - "ใ„ใตใ", - "ใ„ใธใ‚“", - "ใ„ใปใ†", - "ใ„ใพ", - "ใ„ใฟ", - "ใ„ใฟใ‚“", - "ใ„ใ‚‚", - "ใ„ใ‚‚ใ†ใจ", - "ใ„ใ‚‚ใŸใ‚Œ", - "ใ„ใ‚‚ใ‚Š", - "ใ„ใ‚„", - "ใ„ใ‚„ใ™", - "ใ„ใ‚ˆใ‹ใ‚“", - "ใ„ใ‚ˆใ", - "ใ„ใ‚‰ใ„", - "ใ„ใ‚‰ใ™ใจ", - "ใ„ใ‚Šใใก", - "ใ„ใ‚Šใ‚‡ใ†", - "ใ„ใ‚Šใ‚‡ใ†ใฒ", - "ใ„ใ‚‹", - "ใ„ใ‚Œใ„", - "ใ„ใ‚Œใ‚‚ใฎ", - "ใ„ใ‚Œใ‚‹", - "ใ„ใ‚", - "ใ„ใ‚ใˆใ‚“ใดใค", - "ใ„ใ‚", - "ใ„ใ‚ใ†", - "ใ„ใ‚ใ‹ใ‚“", - "ใ„ใ‚“ใ’ใ‚“ใพใ‚", - "ใ†ใˆ", - "ใ†ใŠใ–", - "ใ†ใ‹ใถ", - "ใ†ใใ‚", - "ใ†ใ", - "ใ†ใใ‚‰ใ„ใช", - "ใ†ใใ‚Œใ‚Œ", - "ใ†ใ‘ใคใ", - "ใ†ใ‘ใคใ‘", - "ใ†ใ‘ใ‚‹", - "ใ†ใ”ใ", - "ใ†ใ“ใ‚“", - "ใ†ใ•ใŽ", - "ใ†ใ—", - "ใ†ใ—ใชใ†", - "ใ†ใ—ใ‚", - "ใ†ใ—ใ‚ใŒใฟ", - "ใ†ใ™ใ„", - "ใ†ใ™ใŽ", - "ใ†ใ›ใค", - "ใ†ใ", - "ใ†ใŸ", - "ใ†ใกใ‚ใ‚ใ›", - "ใ†ใกใŒใ‚", - "ใ†ใกใ", - "ใ†ใค", - "ใ†ใชใŽ", - "ใ†ใชใ˜", - "ใ†ใซ", - "ใ†ใญใ‚‹", - "ใ†ใฎใ†", - "ใ†ใถใ’", - "ใ†ใถใ”ใˆ", - "ใ†ใพ", - "ใ†ใพใ‚Œใ‚‹", - "ใ†ใฟ", - "ใ†ใ‚€", - "ใ†ใ‚", - "ใ†ใ‚ใ‚‹", - "ใ†ใ‚‚ใ†", - "ใ†ใ‚„ใพใ†", - "ใ†ใ‚ˆใ", - "ใ†ใ‚‰", - "ใ†ใ‚‰ใชใ„", - "ใ†ใ‚‹", - "ใ†ใ‚‹ใ•ใ„", - "ใ†ใ‚Œใ—ใ„", - "ใ†ใ‚ใ“", - "ใ†ใ‚ใ", - "ใ†ใ‚ใ•", - "ใˆใ„", - "ใˆใ„ใˆใ‚“", - "ใˆใ„ใŒ", - "ใˆใ„ใŽใ‚‡ใ†", - "ใˆใ„ใ”", - "ใˆใŠใ‚Š", - "ใˆใ", - "ใˆใใŸใ„", - "ใˆใใ›ใ‚‹", - "ใˆใ•", - "ใˆใ—ใ‚ƒใ", - "ใˆใ™ใฆ", - "ใˆใคใ‚‰ใ‚“", - "ใˆใจ", - "ใˆใฎใ", - "ใˆใณ", - "ใˆใปใ†ใพใ", - "ใˆใปใ‚“", - "ใˆใพ", - "ใˆใพใ", - "ใˆใ‚‚ใ˜", - "ใˆใ‚‚ใฎ", - "ใˆใ‚‰ใ„", - "ใˆใ‚‰ใถ", - "ใˆใ‚Š", - "ใˆใ‚Šใ‚", - "ใˆใ‚‹", - "ใˆใ‚“", - "ใˆใ‚“ใˆใ‚“", - "ใŠใใ‚‹", - "ใŠใ", - "ใŠใ‘", - "ใŠใ“ใ‚‹", - "ใŠใ—ใˆใ‚‹", - "ใŠใ‚„ใ‚†ใณ", - "ใŠใ‚‰ใ‚“ใ ", - "ใ‹ใ‚ใค", - "ใ‹ใ„", - "ใ‹ใ†", - "ใ‹ใŠ", - "ใ‹ใŒใ—", - "ใ‹ใ", - "ใ‹ใ", - "ใ‹ใ“", - "ใ‹ใ•", - "ใ‹ใ™", - "ใ‹ใก", - "ใ‹ใค", - "ใ‹ใชใ–ใ‚ใ—", - "ใ‹ใซ", - "ใ‹ใญ", - "ใ‹ใฎใ†", - "ใ‹ใปใ†", - "ใ‹ใปใ”", - "ใ‹ใพใผใ“", - "ใ‹ใฟ", - "ใ‹ใ‚€", - "ใ‹ใ‚ใ‚ŒใŠใ‚“", - "ใ‹ใ‚‚", - "ใ‹ใ‚†ใ„", - "ใ‹ใ‚‰ใ„", - "ใ‹ใ‚‹ใ„", - "ใ‹ใ‚ใ†", - "ใ‹ใ‚", - "ใ‹ใ‚ใ‚‰", - "ใใ‚ใ„", - "ใใ‚ใค", - "ใใ„ใ‚", - "ใŽใ„ใ‚“", - "ใใ†ใ„", - "ใใ†ใ‚“", - "ใใˆใ‚‹", - "ใใŠใ†", - "ใใŠใ", - "ใใŠใก", - "ใใŠใ‚“", - "ใใ‹", - "ใใ‹ใ„", - "ใใ‹ใ", - "ใใ‹ใ‚“", - "ใใ‹ใ‚“ใ—ใ‚ƒ", - "ใใŽ", - "ใใใฆ", - "ใใ", - "ใใใฐใ‚Š", - "ใใใ‚‰ใ’", - "ใใ‘ใ‚“", - "ใใ‘ใ‚“ใ›ใ„", - "ใใ“ใ†", - "ใใ“ใˆใ‚‹", - "ใใ“ใ", - "ใใ•ใ„", - "ใใ•ใ", - "ใใ•ใพ", - "ใใ•ใ‚‰ใŽ", - "ใใ—", - "ใใ—ใ‚…", - "ใใ™", - "ใใ™ใ†", - "ใใ›ใ„", - "ใใ›ใ", - "ใใ›ใค", - "ใใ", - "ใใใ†", - "ใใใ", - "ใใžใ", - "ใŽใใ", - "ใใžใ‚“", - "ใใŸ", - "ใใŸใˆใ‚‹", - "ใใก", - "ใใกใ‚‡ใ†", - "ใใคใˆใ‚“", - "ใใคใคใ", - "ใใคใญ", - "ใใฆใ„", - "ใใฉใ†", - "ใใฉใ", - "ใใชใ„", - "ใใชใŒ", - "ใใฌ", - "ใใฌใ”ใ—", - "ใใญใ‚“", - "ใใฎใ†", - "ใใฏใ", - "ใใณใ—ใ„", - "ใใฒใ‚“", - "ใใต", - "ใŽใต", - "ใใตใ", - "ใŽใผ", - "ใใปใ†", - "ใใผใ†", - "ใใปใ‚“", - "ใใพใ‚‹", - "ใใฟ", - "ใใฟใค", - "ใŽใ‚€", - "ใใ‚€ใšใ‹ใ—ใ„", - "ใใ‚", - "ใใ‚ใ‚‹", - "ใใ‚‚ใ ใ‚ใ—", - "ใใ‚‚ใก", - "ใใ‚„ใ", - "ใใ‚ˆใ†", - "ใใ‚‰ใ„", - "ใใ‚‰ใ", - "ใใ‚Š", - "ใใ‚‹", - "ใใ‚Œใ„", - "ใใ‚Œใค", - "ใใ‚ใ", - "ใŽใ‚ใ‚“", - "ใใ‚ใ‚ใ‚‹", - "ใใ‚ใ„", - "ใใ„", - "ใใ„ใš", - "ใใ†ใ‹ใ‚“", - "ใใ†ใ", - "ใใ†ใใ‚“", - "ใใ†ใ“ใ†", - "ใใ†ใใ†", - "ใใ†ใตใ", - "ใใ†ใผ", - "ใใ‹ใ‚“", - "ใใ", - "ใใใ‚‡ใ†", - "ใใ’ใ‚“", - "ใใ“ใ†", - "ใใ•", - "ใใ•ใ„", - "ใใ•ใ", - "ใใ•ใฐใช", - "ใใ•ใ‚‹", - "ใใ—", - "ใใ—ใ‚ƒใฟ", - "ใใ—ใ‚‡ใ†", - "ใใ™ใฎใ", - "ใใ™ใ‚Š", - "ใใ™ใ‚Šใ‚†ใณ", - "ใใ›", - "ใใ›ใ’", - "ใใ›ใ‚“", - "ใใŸใณใ‚Œใ‚‹", - "ใใก", - "ใใกใ“ใฟ", - "ใใกใ•ใ", - "ใใค", - "ใใคใ—ใŸ", - "ใใคใ‚ใ", - "ใใจใ†ใฆใ‚“", - "ใใฉใ", - "ใใชใ‚“", - "ใใซ", - "ใใญใใญ", - "ใใฎใ†", - "ใใตใ†", - "ใใพ", - "ใใฟใ‚ใ‚ใ›", - "ใใฟใŸใฆใ‚‹", - "ใใ‚€", - "ใใ‚ใ‚‹", - "ใใ‚„ใใ—ใ‚‡", - "ใใ‚‰ใ™", - "ใใ‚Š", - "ใใ‚Œใ‚‹", - "ใใ‚", - "ใใ‚ใ†", - "ใใ‚ใ—ใ„", - "ใใ‚“ใ˜ใ‚‡", - "ใ‘ใ‚ใช", - "ใ‘ใ„ใ‘ใ‚“", - "ใ‘ใ„ใ“", - "ใ‘ใ„ใ•ใ„", - "ใ‘ใ„ใ•ใค", - "ใ’ใ„ใฎใ†ใ˜ใ‚“", - "ใ‘ใ„ใ‚Œใ", - "ใ‘ใ„ใ‚Œใค", - "ใ‘ใ„ใ‚Œใ‚“", - "ใ‘ใ„ใ‚", - "ใ‘ใŠใจใ™", - "ใ‘ใŠใ‚Šใ‚‚ใฎ", - "ใ‘ใŒ", - "ใ’ใ", - "ใ’ใใ‹", - "ใ’ใใ’ใ‚“", - "ใ’ใใ ใ‚“", - "ใ’ใใกใ‚“", - "ใ’ใใฉ", - "ใ’ใใฏ", - "ใ’ใใ‚„ใ", - "ใ’ใ“ใ†", - "ใ’ใ“ใใ˜ใ‚‡ใ†", - "ใ‘ใ•", - "ใ’ใ–ใ„", - "ใ‘ใ•ใ", - "ใ’ใ–ใ‚“", - "ใ‘ใ—ใ", - "ใ‘ใ—ใ”ใ‚€", - "ใ‘ใ—ใ‚‡ใ†", - "ใ‘ใ™", - "ใ’ใ™ใจ", - "ใ‘ใŸ", - "ใ’ใŸ", - "ใ‘ใŸใฐ", - "ใ‘ใก", - "ใ‘ใกใ‚ƒใฃใท", - "ใ‘ใกใ‚‰ใ™", - "ใ‘ใค", - "ใ‘ใคใ‚ใค", - "ใ‘ใคใ„", - "ใ‘ใคใˆใ", - "ใ‘ใฃใ“ใ‚“", - "ใ‘ใคใ˜ใ‚‡", - "ใ‘ใฃใฆใ„", - "ใ‘ใคใพใค", - "ใ’ใคใ‚ˆใ†ใณ", - "ใ’ใคใ‚Œใ„", - "ใ‘ใคใ‚ใ‚“", - "ใ’ใฉใ", - "ใ‘ใจใฐใ™", - "ใ‘ใจใ‚‹", - "ใ‘ใชใ’", - "ใ‘ใชใ™", - "ใ‘ใชใฟ", - "ใ‘ใฌใ", - "ใ’ใญใค", - "ใ‘ใญใ‚“", - "ใ‘ใฏใ„", - "ใ’ใฒใ‚“", - "ใ‘ใถใ‹ใ„", - "ใ’ใผใ", - "ใ‘ใพใ‚Š", - "ใ‘ใฟใ‹ใ‚‹", - "ใ‘ใ‚€ใ—", - "ใ‘ใ‚€ใ‚Š", - "ใ‘ใ‚‚ใฎ", - "ใ‘ใ‚‰ใ„", - "ใ‘ใ‚‹", - "ใ’ใ‚", - "ใ‘ใ‚ใ‘ใ‚", - "ใ‘ใ‚ใ—ใ„", - "ใ‘ใ‚“ใ„", - "ใ‘ใ‚“ใˆใค", - "ใ‘ใ‚“ใŠ", - "ใ‘ใ‚“ใ‹", - "ใ’ใ‚“ใ", - "ใ‘ใ‚“ใใ‚…ใ†", - "ใ‘ใ‚“ใใ‚‡", - "ใ‘ใ‚“ใ‘ใ„", - "ใ‘ใ‚“ใ‘ใค", - "ใ‘ใ‚“ใ’ใ‚“", - "ใ‘ใ‚“ใ“ใ†", - "ใ‘ใ‚“ใ•", - "ใ‘ใ‚“ใ•ใ", - "ใ‘ใ‚“ใ—ใ‚…ใ†", - "ใ‘ใ‚“ใ—ใ‚…ใค", - "ใ‘ใ‚“ใ—ใ‚“", - "ใ‘ใ‚“ใ™ใ†", - "ใ‘ใ‚“ใใ†", - "ใ’ใ‚“ใใ†", - "ใ‘ใ‚“ใใ‚“", - "ใ’ใ‚“ใก", - "ใ‘ใ‚“ใกใ", - "ใ‘ใ‚“ใฆใ„", - "ใ’ใ‚“ใฆใ„", - "ใ‘ใ‚“ใจใ†", - "ใ‘ใ‚“ใชใ„", - "ใ‘ใ‚“ใซใ‚“", - "ใ’ใ‚“ใถใค", - "ใ‘ใ‚“ใพ", - "ใ‘ใ‚“ใฟใ‚“", - "ใ‘ใ‚“ใ‚ใ„", - "ใ‘ใ‚“ใ‚‰ใ‚“", - "ใ‘ใ‚“ใ‚Š", - "ใ‘ใ‚“ใ‚Šใค", - "ใ“ใ‚ใใพ", - "ใ“ใ„", - "ใ”ใ„", - "ใ“ใ„ใณใจ", - "ใ“ใ†ใ„", - "ใ“ใ†ใˆใ‚“", - "ใ“ใ†ใ‹", - "ใ“ใ†ใ‹ใ„", - "ใ“ใ†ใ‹ใ‚“", - "ใ“ใ†ใ•ใ„", - "ใ“ใ†ใ•ใ‚“", - "ใ“ใ†ใ—ใ‚“", - "ใ“ใ†ใš", - "ใ“ใ†ใ™ใ„", - "ใ“ใ†ใ›ใ‚“", - "ใ“ใ†ใใ†", - "ใ“ใ†ใใ", - "ใ“ใ†ใŸใ„", - "ใ“ใ†ใกใ‚ƒ", - "ใ“ใ†ใคใ†", - "ใ“ใ†ใฆใ„", - "ใ“ใ†ใจใ†ใถ", - "ใ“ใ†ใชใ„", - "ใ“ใ†ใฏใ„", - "ใ“ใ†ใฏใ‚“", - "ใ“ใ†ใ‚‚ใ", - "ใ“ใˆ", - "ใ“ใˆใ‚‹", - "ใ“ใŠใ‚Š", - "ใ”ใŒใค", - "ใ“ใ‹ใ‚“", - "ใ“ใ", - "ใ“ใใ”", - "ใ“ใใชใ„", - "ใ“ใใฏใ", - "ใ“ใ‘ใ„", - "ใ“ใ‘ใ‚‹", - "ใ“ใ“", - "ใ“ใ“ใ‚", - "ใ”ใ•", - "ใ“ใ•ใ‚", - "ใ“ใ—", - "ใ“ใ—ใค", - "ใ“ใ™", - "ใ“ใ™ใ†", - "ใ“ใ›ใ„", - "ใ“ใ›ใ", - "ใ“ใœใ‚“", - "ใ“ใใ ใฆ", - "ใ“ใŸใ„", - "ใ“ใŸใˆใ‚‹", - "ใ“ใŸใค", - "ใ“ใกใ‚‡ใ†", - "ใ“ใฃใ‹", - "ใ“ใคใ“ใค", - "ใ“ใคใฐใ‚“", - "ใ“ใคใถ", - "ใ“ใฆใ„", - "ใ“ใฆใ‚“", - "ใ“ใจ", - "ใ“ใจใŒใ‚‰", - "ใ“ใจใ—", - "ใ“ใชใ”ใช", - "ใ“ใญใ“ใญ", - "ใ“ใฎใพใพ", - "ใ“ใฎใฟ", - "ใ“ใฎใ‚ˆ", - "ใ“ใฏใ‚“", - "ใ”ใฏใ‚“", - "ใ”ใณ", - "ใ“ใฒใคใ˜", - "ใ“ใตใ†", - "ใ“ใตใ‚“", - "ใ“ใผใ‚Œใ‚‹", - "ใ”ใพ", - "ใ“ใพใ‹ใ„", - "ใ“ใพใคใ—", - "ใ“ใพใคใช", - "ใ“ใพใ‚‹", - "ใ“ใ‚€", - "ใ“ใ‚€ใŽใ“", - "ใ“ใ‚", - "ใ“ใ‚‚ใ˜", - "ใ“ใ‚‚ใก", - "ใ“ใ‚‚ใฎ", - "ใ“ใ‚‚ใ‚“", - "ใ“ใ‚„", - "ใ“ใ‚„ใ", - "ใ“ใ‚„ใพ", - "ใ“ใ‚†ใ†", - "ใ“ใ‚†ใณ", - "ใ“ใ‚ˆใ„", - "ใ“ใ‚ˆใ†", - "ใ“ใ‚Šใ‚‹", - "ใ“ใ‚‹", - "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", - "ใ“ใ‚ใฃใ‘", - "ใ“ใ‚ใ‚‚ใฆ", - "ใ“ใ‚ใ‚Œใ‚‹", - "ใ“ใ‚“", - "ใ“ใ‚“ใ„ใ‚“", - "ใ“ใ‚“ใ‹ใ„", - "ใ“ใ‚“ใ", - "ใ“ใ‚“ใ—ใ‚…ใ†", - "ใ“ใ‚“ใ—ใ‚…ใ‚“", - "ใ“ใ‚“ใ™ใ„", - "ใ“ใ‚“ใ ใฆ", - "ใ“ใ‚“ใ ใ‚“", - "ใ“ใ‚“ใจใ‚“", - "ใ“ใ‚“ใชใ‚“", - "ใ“ใ‚“ใณใซ", - "ใ“ใ‚“ใฝใ†", - "ใ“ใ‚“ใฝใ‚“", - "ใ“ใ‚“ใพใ‘", - "ใ“ใ‚“ใ‚„", - "ใ“ใ‚“ใ‚„ใ", - "ใ“ใ‚“ใ‚Œใ„", - "ใ“ใ‚“ใ‚ใ", - "ใ•ใ„ใ‹ใ„", - "ใ•ใ„ใŒใ„", - "ใ•ใ„ใใ‚“", - "ใ•ใ„ใ”", - "ใ•ใ„ใ“ใ‚“", - "ใ•ใ„ใ—ใ‚‡", - "ใ•ใ†ใช", - "ใ•ใŠ", - "ใ•ใ‹ใ„ใ—", - "ใ•ใ‹ใช", - "ใ•ใ‹ใฟใก", - "ใ•ใ", - "ใ•ใ", - "ใ•ใใ—", - "ใ•ใใ˜ใ‚‡", - "ใ•ใใฒใ‚“", - "ใ•ใใ‚‰", - "ใ•ใ‘", - "ใ•ใ“ใ", - "ใ•ใ“ใค", - "ใ•ใŸใ‚“", - "ใ•ใคใˆใ„", - "ใ•ใฃใ‹", - "ใ•ใฃใใ‚‡ใ", - "ใ•ใคใ˜ใ‚“", - "ใ•ใคใŸใฐ", - "ใ•ใคใพใ„ใ‚‚", - "ใ•ใฆใ„", - "ใ•ใจใ„ใ‚‚", - "ใ•ใจใ†", - "ใ•ใจใŠใ‚„", - "ใ•ใจใ‚‹", - "ใ•ใฎใ†", - "ใ•ใฐ", - "ใ•ใฐใ", - "ใ•ในใค", - "ใ•ใปใ†", - "ใ•ใปใฉ", - "ใ•ใพใ™", - "ใ•ใฟใ—ใ„", - "ใ•ใฟใ ใ‚Œ", - "ใ•ใ‚€ใ‘", - "ใ•ใ‚", - "ใ•ใ‚ใ‚‹", - "ใ•ใ‚„ใˆใ‚“ใฉใ†", - "ใ•ใ‚†ใ†", - "ใ•ใ‚ˆใ†", - "ใ•ใ‚ˆใ", - "ใ•ใ‚‰", - "ใ•ใ‚‰ใ ", - "ใ•ใ‚‹", - "ใ•ใ‚ใ‚„ใ‹", - "ใ•ใ‚ใ‚‹", - "ใ•ใ‚“ใ„ใ‚“", - "ใ•ใ‚“ใ‹", - "ใ•ใ‚“ใใ‚ƒใ", - "ใ•ใ‚“ใ“ใ†", - "ใ•ใ‚“ใ•ใ„", - "ใ•ใ‚“ใ–ใ‚“", - "ใ•ใ‚“ใ™ใ†", - "ใ•ใ‚“ใ›ใ„", - "ใ•ใ‚“ใ", - "ใ•ใ‚“ใใ‚“", - "ใ•ใ‚“ใก", - "ใ•ใ‚“ใกใ‚‡ใ†", - "ใ•ใ‚“ใพ", - "ใ•ใ‚“ใฟ", - "ใ•ใ‚“ใ‚‰ใ‚“", - "ใ—ใ‚ใ„", - "ใ—ใ‚ใ’", - "ใ—ใ‚ใ•ใฃใฆ", - "ใ—ใ‚ใ‚ใ›", - "ใ—ใ„ใ", - "ใ—ใ„ใ‚“", - "ใ—ใ†ใก", - "ใ—ใˆใ„", - "ใ—ใŠ", - "ใ—ใŠใ‘", - "ใ—ใ‹", - "ใ—ใ‹ใ„", - "ใ—ใ‹ใ", - "ใ˜ใ‹ใ‚“", - "ใ—ใŸ", - "ใ—ใŸใŽ", - "ใ—ใŸใฆ", - "ใ—ใŸใฟ", - "ใ—ใกใ‚‡ใ†", - "ใ—ใกใ‚‡ใ†ใใ‚“", - "ใ—ใกใ‚Šใ‚“", - "ใ˜ใคใ˜", - "ใ—ใฆใ„", - "ใ—ใฆใ", - "ใ—ใฆใค", - "ใ—ใฆใ‚“", - "ใ—ใจใ†", - "ใ˜ใฉใ†", - "ใ—ใชใŽใ‚Œ", - "ใ—ใชใ‚‚ใฎ", - "ใ—ใชใ‚“", - "ใ—ใญใพ", - "ใ—ใญใ‚“", - "ใ—ใฎใ", - "ใ—ใฎใถ", - "ใ—ใฏใ„", - "ใ—ใฐใ‹ใ‚Š", - "ใ—ใฏใค", - "ใ˜ใฏใค", - "ใ—ใฏใ‚‰ใ„", - "ใ—ใฏใ‚“", - "ใ—ใฒใ‚‡ใ†", - "ใ˜ใต", - "ใ—ใตใ", - "ใ˜ใถใ‚“", - "ใ—ใธใ„", - "ใ—ใปใ†", - "ใ—ใปใ‚“", - "ใ—ใพ", - "ใ—ใพใ†", - "ใ—ใพใ‚‹", - "ใ—ใฟ", - "ใ˜ใฟ", - "ใ—ใฟใ‚“", - "ใ˜ใ‚€", - "ใ—ใ‚€ใ‘ใ‚‹", - "ใ—ใ‚ใ„", - "ใ—ใ‚ใ‚‹", - "ใ—ใ‚‚ใ‚“", - "ใ—ใ‚ƒใ„ใ‚“", - "ใ—ใ‚ƒใ†ใ‚“", - "ใ—ใ‚ƒใŠใ‚“", - "ใ—ใ‚ƒใ‹ใ„", - "ใ˜ใ‚ƒใŒใ„ใ‚‚", - "ใ—ใ‚„ใใ—ใ‚‡", - "ใ—ใ‚ƒใใปใ†", - "ใ—ใ‚ƒใ‘ใ‚“", - "ใ—ใ‚ƒใ“", - "ใ—ใ‚ƒใ“ใ†", - "ใ—ใ‚ƒใ–ใ„", - "ใ—ใ‚ƒใ—ใ‚“", - "ใ—ใ‚ƒใ›ใ‚“", - "ใ—ใ‚ƒใใ†", - "ใ—ใ‚ƒใŸใ„", - "ใ—ใ‚ƒใŸใ", - "ใ—ใ‚ƒใกใ‚‡ใ†", - "ใ—ใ‚ƒใฃใใ‚“", - "ใ˜ใ‚ƒใพ", - "ใ˜ใ‚ƒใ‚Š", - "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", - "ใ—ใ‚ƒใ‚Šใ‚“", - "ใ—ใ‚ƒใ‚Œใ„", - "ใ—ใ‚…ใ†ใˆใ‚“", - "ใ—ใ‚…ใ†ใ‹ใ„", - "ใ—ใ‚…ใ†ใใ‚“", - "ใ—ใ‚…ใ†ใ‘ใ„", - "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", - "ใ—ใ‚…ใ‚‰ใฐ", - "ใ—ใ‚‡ใ†ใ‹", - "ใ—ใ‚‡ใ†ใ‹ใ„", - "ใ—ใ‚‡ใ†ใใ‚“", - "ใ—ใ‚‡ใ†ใ˜ใ", - "ใ—ใ‚‡ใใ–ใ„", - "ใ—ใ‚‡ใใŸใ", - "ใ—ใ‚‡ใฃใ‘ใ‚“", - "ใ—ใ‚‡ใฉใ†", - "ใ—ใ‚‡ใ‚‚ใค", - "ใ—ใ‚“", - "ใ—ใ‚“ใ‹", - "ใ—ใ‚“ใ“ใ†", - "ใ—ใ‚“ใ›ใ„ใ˜", - "ใ—ใ‚“ใกใ", - "ใ—ใ‚“ใ‚Šใ‚“", - "ใ™ใ‚ใ’", - "ใ™ใ‚ใ—", - "ใ™ใ‚ใช", - "ใšใ‚ใ‚“", - "ใ™ใ„ใ‹", - "ใ™ใ„ใจใ†", - "ใ™ใ†", - "ใ™ใ†ใŒใ", - "ใ™ใ†ใ˜ใค", - "ใ™ใ†ใ›ใ‚“", - "ใ™ใŠใฉใ‚Š", - "ใ™ใ", - "ใ™ใใพ", - "ใ™ใ", - "ใ™ใใ†", - "ใ™ใใชใ„", - "ใ™ใ‘ใ‚‹", - "ใ™ใ“ใ—", - "ใšใ•ใ‚“", - "ใ™ใ—", - "ใ™ใšใ—ใ„", - "ใ™ใ™ใ‚ใ‚‹", - "ใ™ใ", - "ใšใฃใ—ใ‚Š", - "ใšใฃใจ", - "ใ™ใง", - "ใ™ใฆใ", - "ใ™ใฆใ‚‹", - "ใ™ใช", - "ใ™ใชใฃใ", - "ใ™ใชใฃใท", - "ใ™ใญ", - "ใ™ใญใ‚‹", - "ใ™ใฎใ“", - "ใ™ใฏใ ", - "ใ™ใฐใ‚‰ใ—ใ„", - "ใšใฒใ‚‡ใ†", - "ใšใถใฌใ‚Œ", - "ใ™ใถใ‚Š", - "ใ™ใตใ‚Œ", - "ใ™ในใฆ", - "ใ™ในใ‚‹", - "ใšใปใ†", - "ใ™ใผใ‚“", - "ใ™ใพใ„", - "ใ™ใฟ", - "ใ™ใ‚€", - "ใ™ใ‚ใ—", - "ใ™ใ‚‚ใ†", - "ใ™ใ‚„ใ", - "ใ™ใ‚‰ใ„ใ™", - "ใ™ใ‚‰ใ„ใฉ", - "ใ™ใ‚‰ใ™ใ‚‰", - "ใ™ใ‚Š", - "ใ™ใ‚‹", - "ใ™ใ‚‹ใ‚", - "ใ™ใ‚ŒใกใŒใ†", - "ใ™ใ‚ใฃใจ", - "ใ™ใ‚ใ‚‹", - "ใ™ใ‚“ใœใ‚“", - "ใ™ใ‚“ใฝใ†", - "ใ›ใ‚ใถใ‚‰", - "ใ›ใ„ใ‹", - "ใ›ใ„ใ‹ใ„", - "ใ›ใ„ใ‹ใค", - "ใ›ใŠใ†", - "ใ›ใ‹ใ„", - "ใ›ใ‹ใ„ใ‹ใ‚“", - "ใ›ใ‹ใ„ใ—", - "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", - "ใ›ใ", - "ใ›ใใซใ‚“", - "ใ›ใใ‚€", - "ใ›ใใ‚†", - "ใ›ใใ‚‰ใ‚“ใ†ใ‚“", - "ใ›ใ‘ใ‚“", - "ใ›ใ“ใ†", - "ใ›ใ™ใ˜", - "ใ›ใŸใ„", - "ใ›ใŸใ‘", - "ใ›ใฃใ‹ใ„", - "ใ›ใฃใ‹ใ", - "ใ›ใฃใ", - "ใ›ใฃใใ‚ƒใ", - "ใ›ใฃใใ‚‡ใ", - "ใ›ใฃใใ‚“", - "ใœใฃใ", - "ใ›ใฃใ‘ใ‚“", - "ใ›ใฃใ“ใค", - "ใ›ใฃใ•ใŸใใพ", - "ใ›ใคใžใ", - "ใ›ใคใ ใ‚“", - "ใ›ใคใงใ‚“", - "ใ›ใฃใฑใ‚“", - "ใ›ใคใณ", - "ใ›ใคใถใ‚“", - "ใ›ใคใ‚ใ„", - "ใ›ใคใ‚Šใค", - "ใ›ใจ", - "ใ›ใชใ‹", - "ใ›ใฎใณ", - "ใ›ใฏใฐ", - "ใ›ใผใญ", - "ใ›ใพใ„", - "ใ›ใพใ‚‹", - "ใ›ใฟ", - "ใ›ใ‚ใ‚‹", - "ใ›ใ‚‚ใŸใ‚Œ", - "ใ›ใ‚Šใต", - "ใ›ใ‚", - "ใ›ใ‚“", - "ใœใ‚“ใ‚ใ", - "ใ›ใ‚“ใ„", - "ใ›ใ‚“ใˆใ„", - "ใ›ใ‚“ใ‹", - "ใ›ใ‚“ใใ‚‡", - "ใ›ใ‚“ใ", - "ใ›ใ‚“ใ‘ใค", - "ใ›ใ‚“ใ’ใ‚“", - "ใœใ‚“ใ”", - "ใ›ใ‚“ใ•ใ„", - "ใ›ใ‚“ใ—", - "ใ›ใ‚“ใ—ใ‚…", - "ใ›ใ‚“ใ™", - "ใ›ใ‚“ใ™ใ„", - "ใ›ใ‚“ใ›ใ„", - "ใ›ใ‚“ใž", - "ใ›ใ‚“ใใ†", - "ใ›ใ‚“ใŸใ", - "ใ›ใ‚“ใก", - "ใ›ใ‚“ใกใ‚ƒ", - "ใ›ใ‚“ใกใ‚ƒใ", - "ใ›ใ‚“ใกใ‚‡ใ†", - "ใ›ใ‚“ใฆใ„", - "ใ›ใ‚“ใจใ†", - "ใ›ใ‚“ใฌใ", - "ใ›ใ‚“ใญใ‚“", - "ใœใ‚“ใถ", - "ใ›ใ‚“ใทใ†ใ", - "ใ›ใ‚“ใทใ", - "ใœใ‚“ใฝใ†", - "ใ›ใ‚“ใ‚€", - "ใ›ใ‚“ใ‚ใ„", - "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", - "ใ›ใ‚“ใ‚‚ใ‚“", - "ใ›ใ‚“ใ‚„ใ", - "ใ›ใ‚“ใ‚†ใ†", - "ใ›ใ‚“ใ‚ˆใ†", - "ใœใ‚“ใ‚‰", - "ใœใ‚“ใ‚Šใ‚ƒใ", - "ใ›ใ‚“ใ‚Šใ‚‡ใ", - "ใ›ใ‚“ใ‚Œใ„", - "ใ›ใ‚“ใ‚", - "ใใ‚ใ", - "ใใ„ใจใ’ใ‚‹", - "ใใ„ใญ", - "ใใ†", - "ใžใ†", - "ใใ†ใŒใ‚“ใใ‚‡ใ†", - "ใใ†ใ", - "ใใ†ใ”", - "ใใ†ใชใ‚“", - "ใใ†ใณ", - "ใใ†ใฒใ‚‡ใ†", - "ใใ†ใ‚ใ‚“", - "ใใ†ใ‚Š", - "ใใ†ใ‚Šใ‚‡", - "ใใˆใ‚‚ใฎ", - "ใใˆใ‚“", - "ใใ‹ใ„", - "ใใŒใ„", - "ใใ", - "ใใ’ใ", - "ใใ“ใ†", - "ใใ“ใใ“", - "ใใ–ใ„", - "ใใ—", - "ใใ—ใช", - "ใใ›ใ„", - "ใใ›ใ‚“", - "ใใใ", - "ใใ ใฆใ‚‹", - "ใใคใ†", - "ใใคใˆใ‚“", - "ใใฃใ‹ใ‚“", - "ใใคใŽใ‚‡ใ†", - "ใใฃใ‘ใค", - "ใใฃใ“ใ†", - "ใใฃใ›ใ‚“", - "ใใฃใจ", - "ใใง", - "ใใจ", - "ใใจใŒใ‚", - "ใใจใฅใ‚‰", - "ใใชใˆใ‚‹", - "ใใชใŸ", - "ใใฐ", - "ใใต", - "ใใตใผ", - "ใใผ", - "ใใผใ", - "ใใผใ‚", - "ใใพใค", - "ใใพใ‚‹", - "ใใ‚€ใ", - "ใใ‚€ใ‚Šใˆ", - "ใใ‚ใ‚‹", - "ใใ‚‚ใใ‚‚", - "ใใ‚ˆใ‹ใœ", - "ใใ‚‰", - "ใใ‚‰ใพใ‚", - "ใใ‚Š", - "ใใ‚‹", - "ใใ‚ใ†", - "ใใ‚“ใ‹ใ„", - "ใใ‚“ใ‘ใ„", - "ใใ‚“ใ–ใ„", - "ใใ‚“ใ—ใค", - "ใใ‚“ใ—ใ‚‡ใ†", - "ใใ‚“ใžใ", - "ใใ‚“ใกใ‚‡ใ†", - "ใžใ‚“ใณ", - "ใžใ‚“ใถใ‚“", - "ใใ‚“ใฟใ‚“", - "ใŸใ‚ใ„", - "ใŸใ„ใ„ใ‚“", - "ใŸใ„ใ†ใ‚“", - "ใŸใ„ใˆใ", - "ใŸใ„ใŠใ†", - "ใ ใ„ใŠใ†", - "ใŸใ„ใ‹", - "ใŸใ„ใ‹ใ„", - "ใŸใ„ใ", - "ใŸใ„ใใ‘ใ‚“", - "ใŸใ„ใใ†", - "ใŸใ„ใใค", - "ใŸใ„ใ‘ใ„", - "ใŸใ„ใ‘ใค", - "ใŸใ„ใ‘ใ‚“", - "ใŸใ„ใ“", - "ใŸใ„ใ“ใ†", - "ใŸใ„ใ•", - "ใŸใ„ใ•ใ‚“", - "ใŸใ„ใ—ใ‚…ใค", - "ใ ใ„ใ˜ใ‚‡ใ†ใถ", - "ใŸใ„ใ—ใ‚‡ใ", - "ใ ใ„ใš", - "ใ ใ„ใ™ใ", - "ใŸใ„ใ›ใ„", - "ใŸใ„ใ›ใค", - "ใŸใ„ใ›ใ‚“", - "ใŸใ„ใใ†", - "ใŸใ„ใกใ‚‡ใ†", - "ใ ใ„ใกใ‚‡ใ†", - "ใŸใ„ใจใ†", - "ใŸใ„ใชใ„", - "ใŸใ„ใญใค", - "ใŸใ„ใฎใ†", - "ใŸใ„ใฏ", - "ใŸใ„ใฏใ‚“", - "ใŸใ„ใฒ", - "ใŸใ„ใตใ†", - "ใŸใ„ใธใ‚“", - "ใŸใ„ใป", - "ใŸใ„ใพใคใฐใช", - "ใŸใ„ใพใ‚“", - "ใŸใ„ใฟใ‚“ใ", - "ใŸใ„ใ‚€", - "ใŸใ„ใ‚ใ‚“", - "ใŸใ„ใ‚„ใ", - "ใŸใ„ใ‚„ใ", - "ใŸใ„ใ‚ˆใ†", - "ใŸใ„ใ‚‰", - "ใŸใ„ใ‚Šใ‚‡ใ†", - "ใŸใ„ใ‚Šใ‚‡ใ", - "ใŸใ„ใ‚‹", - "ใŸใ„ใ‚", - "ใŸใ„ใ‚ใ‚“", - "ใŸใ†ใˆ", - "ใŸใˆใ‚‹", - "ใŸใŠใ™", - "ใŸใŠใ‚‹", - "ใŸใ‹ใ„", - "ใŸใ‹ใญ", - "ใŸใ", - "ใŸใใณ", - "ใŸใใ•ใ‚“", - "ใŸใ‘", - "ใŸใ“", - "ใŸใ“ใ", - "ใŸใ“ใ‚„ใ", - "ใŸใ•ใ„", - "ใ ใ•ใ„", - "ใŸใ—ใ–ใ‚“", - "ใŸใ™", - "ใŸใ™ใ‘ใ‚‹", - "ใŸใใŒใ‚Œ", - "ใŸใŸใ‹ใ†", - "ใŸใŸใ", - "ใŸใกใฐ", - "ใŸใกใฐใช", - "ใŸใค", - "ใ ใฃใ‹ใ„", - "ใ ใฃใใ‚ƒใ", - "ใ ใฃใ“", - "ใ ใฃใ—ใ‚ใ‚“", - "ใ ใฃใ—ใ‚…ใค", - "ใ ใฃใŸใ„", - "ใŸใฆ", - "ใŸใฆใ‚‹", - "ใŸใจใˆใ‚‹", - "ใŸใช", - "ใŸใซใ‚“", - "ใŸใฌใ", - "ใŸใญ", - "ใŸใฎใ—ใฟ", - "ใŸใฏใค", - "ใŸใณ", - "ใŸใถใ‚“", - "ใŸในใ‚‹", - "ใŸใผใ†", - "ใŸใปใ†ใ‚ใ‚“", - "ใŸใพ", - "ใŸใพใ”", - "ใŸใพใ‚‹", - "ใ ใ‚€ใ‚‹", - "ใŸใ‚ใ„ใ", - "ใŸใ‚ใ™", - "ใŸใ‚ใ‚‹", - "ใŸใ‚‚ใค", - "ใŸใ‚„ใ™ใ„", - "ใŸใ‚ˆใ‚‹", - "ใŸใ‚‰", - "ใŸใ‚‰ใ™", - "ใŸใ‚Šใใปใ‚“ใŒใ‚“", - "ใŸใ‚Šใ‚‡ใ†", - "ใŸใ‚Šใ‚‹", - "ใŸใ‚‹", - "ใŸใ‚‹ใจ", - "ใŸใ‚Œใ‚‹", - "ใŸใ‚Œใ‚“ใจ", - "ใŸใ‚ใฃใจ", - "ใŸใ‚ใ‚€ใ‚Œใ‚‹", - "ใŸใ‚“", - "ใ ใ‚“ใ‚ใค", - "ใŸใ‚“ใ„", - "ใŸใ‚“ใŠใ‚“", - "ใŸใ‚“ใ‹", - "ใŸใ‚“ใ", - "ใŸใ‚“ใ‘ใ‚“", - "ใŸใ‚“ใ”", - "ใŸใ‚“ใ•ใ", - "ใŸใ‚“ใ•ใ‚“", - "ใŸใ‚“ใ—", - "ใŸใ‚“ใ—ใ‚…ใ", - "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", - "ใ ใ‚“ใ›ใ„", - "ใŸใ‚“ใใ", - "ใŸใ‚“ใŸใ„", - "ใŸใ‚“ใก", - "ใ ใ‚“ใก", - "ใŸใ‚“ใกใ‚‡ใ†", - "ใŸใ‚“ใฆใ„", - "ใŸใ‚“ใฆใ", - "ใŸใ‚“ใจใ†", - "ใ ใ‚“ใช", - "ใŸใ‚“ใซใ‚“", - "ใ ใ‚“ใญใค", - "ใŸใ‚“ใฎใ†", - "ใŸใ‚“ใดใ‚“", - "ใŸใ‚“ใพใค", - "ใŸใ‚“ใ‚ใ„", - "ใ ใ‚“ใ‚Œใค", - "ใ ใ‚“ใ‚", - "ใ ใ‚“ใ‚", - "ใกใ‚ใ„", - "ใกใ‚ใ‚“", - "ใกใ„", - "ใกใ„ใ", - "ใกใ„ใ•ใ„", - "ใกใˆ", - "ใกใˆใ‚“", - "ใกใ‹", - "ใกใ‹ใ„", - "ใกใใ‚…ใ†", - "ใกใใ‚“", - "ใกใ‘ใ„", - "ใกใ‘ใ„ใš", - "ใกใ‘ใ‚“", - "ใกใ“ใ", - "ใกใ•ใ„", - "ใกใ—ใ", - "ใกใ—ใ‚Šใ‚‡ใ†", - "ใกใš", - "ใกใ›ใ„", - "ใกใใ†", - "ใกใŸใ„", - "ใกใŸใ‚“", - "ใกใกใŠใ‚„", - "ใกใคใ˜ใ‚‡", - "ใกใฆใ", - "ใกใฆใ‚“", - "ใกใฌใ", - "ใกใฌใ‚Š", - "ใกใฎใ†", - "ใกใฒใ‚‡ใ†", - "ใกใธใ„ใ›ใ‚“", - "ใกใปใ†", - "ใกใพใŸ", - "ใกใฟใค", - "ใกใฟใฉใ‚", - "ใกใ‚ใ„ใฉ", - "ใกใ‚…ใ†ใ„", - "ใกใ‚…ใ†ใŠใ†", - "ใกใ‚…ใ†ใŠใ†ใ", - "ใกใ‚…ใ†ใŒใฃใ“ใ†", - "ใกใ‚…ใ†ใ”ใ", - "ใกใ‚†ใ‚Šใ‚‡ใ", - "ใกใ‚‡ใ†ใ•", - "ใกใ‚‡ใ†ใ—", - "ใกใ‚‰ใ—", - "ใกใ‚‰ใฟ", - "ใกใ‚Š", - "ใกใ‚ŠใŒใฟ", - "ใกใ‚‹", - "ใกใ‚‹ใฉ", - "ใกใ‚ใ‚", - "ใกใ‚“ใŸใ„", - "ใกใ‚“ใ‚‚ใ", - "ใคใ„ใ‹", - "ใคใ†ใ‹", - "ใคใ†ใ˜ใ‚‡ใ†", - "ใคใ†ใ˜ใ‚‹", - "ใคใ†ใฏใ‚“", - "ใคใ†ใ‚", - "ใคใˆ", - "ใคใ‹ใ†", - "ใคใ‹ใ‚Œใ‚‹", - "ใคใ", - "ใคใ", - "ใคใใญ", - "ใคใใ‚‹", - "ใคใ‘ใญ", - "ใคใ‘ใ‚‹", - "ใคใ”ใ†", - "ใคใŸ", - "ใคใŸใˆใ‚‹", - "ใคใก", - "ใคใคใ˜", - "ใคใจใ‚ใ‚‹", - "ใคใช", - "ใคใชใŒใ‚‹", - "ใคใชใฟ", - "ใคใญใฅใญ", - "ใคใฎ", - "ใคใฎใ‚‹", - "ใคใฐ", - "ใคใถ", - "ใคใถใ™", - "ใคใผ", - "ใคใพ", - "ใคใพใ‚‰ใชใ„", - "ใคใพใ‚‹", - "ใคใฟ", - "ใคใฟใ", - "ใคใ‚€", - "ใคใ‚ใŸใ„", - "ใคใ‚‚ใ‚‹", - "ใคใ‚„", - "ใคใ‚ˆใ„", - "ใคใ‚Š", - "ใคใ‚‹ใผ", - "ใคใ‚‹ใฟใ", - "ใคใ‚ใ‚‚ใฎ", - "ใคใ‚ใ‚Š", - "ใฆใ‚ใ—", - "ใฆใ‚ใฆ", - "ใฆใ‚ใฟ", - "ใฆใ„ใ‹", - "ใฆใ„ใ", - "ใฆใ„ใ‘ใ„", - "ใฆใ„ใ‘ใค", - "ใฆใ„ใ‘ใคใ‚ใค", - "ใฆใ„ใ“ใ", - "ใฆใ„ใ•ใค", - "ใฆใ„ใ—", - "ใฆใ„ใ—ใ‚ƒ", - "ใฆใ„ใ›ใ„", - "ใฆใ„ใŸใ„", - "ใฆใ„ใฉ", - "ใฆใ„ใญใ„", - "ใฆใ„ใฒใ‚‡ใ†", - "ใฆใ„ใธใ‚“", - "ใฆใ„ใผใ†", - "ใฆใ†ใก", - "ใฆใŠใใ‚Œ", - "ใฆใ", - "ใฆใใณ", - "ใฆใ“", - "ใฆใ•ใŽใ‚‡ใ†", - "ใฆใ•ใ’", - "ใงใ—", - "ใฆใ™ใ‚Š", - "ใฆใใ†", - "ใฆใกใŒใ„", - "ใฆใกใ‚‡ใ†", - "ใฆใคใŒใ", - "ใฆใคใฅใ", - "ใฆใคใ‚„", - "ใงใฌใ‹ใˆ", - "ใฆใฌใ", - "ใฆใฌใใ„", - "ใฆใฎใฒใ‚‰", - "ใฆใฏใ„", - "ใฆใตใ ", - "ใฆใปใฉใ", - "ใฆใปใ‚“", - "ใฆใพ", - "ใฆใพใˆ", - "ใฆใพใใšใ—", - "ใฆใฟใ˜ใ‹", - "ใฆใฟใ‚„ใ’", - "ใฆใ‚‰", - "ใฆใ‚‰ใ™", - "ใงใ‚‹", - "ใฆใ‚Œใณ", - "ใฆใ‚", - "ใฆใ‚ใ‘", - "ใฆใ‚ใŸใ—", - "ใงใ‚“ใ‚ใค", - "ใฆใ‚“ใ„", - "ใฆใ‚“ใ„ใ‚“", - "ใฆใ‚“ใ‹ใ„", - "ใฆใ‚“ใ", - "ใฆใ‚“ใ", - "ใฆใ‚“ใ‘ใ‚“", - "ใงใ‚“ใ’ใ‚“", - "ใฆใ‚“ใ”ใ", - "ใฆใ‚“ใ•ใ„", - "ใฆใ‚“ใ™ใ†", - "ใงใ‚“ใก", - "ใฆใ‚“ใฆใ", - "ใฆใ‚“ใจใ†", - "ใฆใ‚“ใชใ„", - "ใฆใ‚“ใท", - "ใฆใ‚“ใทใ‚‰", - "ใฆใ‚“ใผใ†ใ ใ„", - "ใฆใ‚“ใ‚ใค", - "ใฆใ‚“ใ‚‰ใ", - "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", - "ใงใ‚“ใ‚Šใ‚…ใ†", - "ใงใ‚“ใ‚Šใ‚‡ใ", - "ใงใ‚“ใ‚", - "ใฉใ‚", - "ใฉใ‚ใ„", - "ใจใ„ใ‚Œ", - "ใจใ†ใ‚€ใŽ", - "ใจใŠใ„", - "ใจใŠใ™", - "ใจใ‹ใ„", - "ใจใ‹ใ™", - "ใจใใŠใ‚Š", - "ใจใใฉใ", - "ใจใใ„", - "ใจใใฆใ„", - "ใจใใฆใ‚“", - "ใจใในใค", - "ใจใ‘ใ„", - "ใจใ‘ใ‚‹", - "ใจใ•ใ‹", - "ใจใ—", - "ใจใ—ใ‚‡ใ‹ใ‚“", - "ใจใใ†", - "ใจใŸใ‚“", - "ใจใก", - "ใจใกใ‚…ใ†", - "ใจใคใœใ‚“", - "ใจใคใซใ‚…ใ†", - "ใจใจใฎใˆใ‚‹", - "ใจใชใ„", - "ใจใชใˆใ‚‹", - "ใจใชใ‚Š", - "ใจใฎใ•ใพ", - "ใจใฐใ™", - "ใจใถ", - "ใจใป", - "ใจใปใ†", - "ใฉใพ", - "ใจใพใ‚‹", - "ใจใ‚‰", - "ใจใ‚Š", - "ใจใ‚‹", - "ใจใ‚“ใ‹ใค", - "ใชใ„", - "ใชใ„ใ‹", - "ใชใ„ใ‹ใ", - "ใชใ„ใ“ใ†", - "ใชใ„ใ—ใ‚‡", - "ใชใ„ใ™", - "ใชใ„ใ›ใ‚“", - "ใชใ„ใใ†", - "ใชใ„ใžใ†", - "ใชใŠใ™", - "ใชใ", - "ใชใ“ใ†ใฉ", - "ใชใ•ใ‘", - "ใชใ—", - "ใชใ™", - "ใชใœ", - "ใชใž", - "ใชใŸใงใ“ใ“", - "ใชใค", - "ใชใฃใจใ†", - "ใชใคใ‚„ใ™ใฟ", - "ใชใชใŠใ—", - "ใชใซใ”ใจ", - "ใชใซใ‚‚ใฎ", - "ใชใซใ‚", - "ใชใฏ", - "ใชใณ", - "ใชใตใ ", - "ใชใน", - "ใชใพใ„ใ", - "ใชใพใˆ", - "ใชใพใฟ", - "ใชใฟ", - "ใชใฟใ ", - "ใชใ‚ใ‚‰ใ‹", - "ใชใ‚ใ‚‹", - "ใชใ‚„ใ‚€", - "ใชใ‚‰ใถ", - "ใชใ‚‹", - "ใชใ‚Œใ‚‹", - "ใชใ‚", - "ใชใ‚ใจใณ", - "ใชใ‚ใฐใ‚Š", - "ใซใ‚ใ†", - "ใซใ„ใŒใŸ", - "ใซใ†ใ‘", - "ใซใŠใ„", - "ใซใ‹ใ„", - "ใซใŒใฆ", - "ใซใใณ", - "ใซใ", - "ใซใใ—ใฟ", - "ใซใใพใ‚“", - "ใซใ’ใ‚‹", - "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", - "ใซใ—", - "ใซใ—ใ", - "ใซใ™", - "ใซใ›ใ‚‚ใฎ", - "ใซใกใ˜", - "ใซใกใ˜ใ‚‡ใ†", - "ใซใกใ‚ˆใ†ใณ", - "ใซใฃใ‹", - "ใซใฃใ", - "ใซใฃใ‘ใ„", - "ใซใฃใ“ใ†", - "ใซใฃใ•ใ‚“", - "ใซใฃใ—ใ‚‡ใ", - "ใซใฃใ™ใ†", - "ใซใฃใ›ใ", - "ใซใฃใฆใ„", - "ใซใชใ†", - "ใซใปใ‚“", - "ใซใพใ‚", - "ใซใ‚‚ใค", - "ใซใ‚„ใ‚Š", - "ใซใ‚…ใ†ใ„ใ‚“", - "ใซใ‚…ใ†ใ‹", - "ใซใ‚…ใ†ใ—", - "ใซใ‚…ใ†ใ—ใ‚ƒ", - "ใซใ‚…ใ†ใ ใ‚“", - "ใซใ‚…ใ†ใถ", - "ใซใ‚‰", - "ใซใ‚Šใ‚“ใ—ใ‚ƒ", - "ใซใ‚‹", - "ใซใ‚", - "ใซใ‚ใจใ‚Š", - "ใซใ‚“ใ„", - "ใซใ‚“ใ‹", - "ใซใ‚“ใ", - "ใซใ‚“ใ’ใ‚“", - "ใซใ‚“ใ—ใ", - "ใซใ‚“ใ—ใ‚‡ใ†", - "ใซใ‚“ใ—ใ‚“", - "ใซใ‚“ใšใ†", - "ใซใ‚“ใใ†", - "ใซใ‚“ใŸใ„", - "ใซใ‚“ใก", - "ใซใ‚“ใฆใ„", - "ใซใ‚“ใซใ", - "ใซใ‚“ใท", - "ใซใ‚“ใพใ‚Š", - "ใซใ‚“ใ‚€", - "ใซใ‚“ใ‚ใ„", - "ใซใ‚“ใ‚ˆใ†", - "ใฌใ†", - "ใฌใ‹", - "ใฌใ", - "ใฌใใ‚‚ใ‚Š", - "ใฌใ—", - "ใฌใฎ", - "ใฌใพ", - "ใฌใ‚ใ‚Š", - "ใฌใ‚‰ใ™", - "ใฌใ‚‹", - "ใฌใ‚“ใกใ‚ƒใ", - "ใญใ‚ใ’", - "ใญใ„ใ", - "ใญใ„ใ‚‹", - "ใญใ„ใ‚", - "ใญใŽ", - "ใญใใ›", - "ใญใใŸใ„", - "ใญใใ‚‰", - "ใญใ“", - "ใญใ“ใœ", - "ใญใ“ใ‚€", - "ใญใ•ใ’", - "ใญใ™ใ”ใ™", - "ใญใในใ‚‹", - "ใญใคใ„", - "ใญใคใžใ†", - "ใญใฃใŸใ„", - "ใญใฃใŸใ„ใŽใ‚‡", - "ใญใถใใ", - "ใญใตใ ", - "ใญใผใ†", - "ใญใปใ‚Šใฏใปใ‚Š", - "ใญใพใ", - "ใญใพใ‚ใ—", - "ใญใฟใฟ", - "ใญใ‚€ใ„", - "ใญใ‚‚ใจ", - "ใญใ‚‰ใ†", - "ใญใ‚‹", - "ใญใ‚ใ–", - "ใญใ‚“ใ„ใ‚Š", - "ใญใ‚“ใŠใ—", - "ใญใ‚“ใ‹ใ‚“", - "ใญใ‚“ใ", - "ใญใ‚“ใใ‚“", - "ใญใ‚“ใ", - "ใญใ‚“ใ–", - "ใญใ‚“ใ—", - "ใญใ‚“ใกใ‚ƒใ", - "ใญใ‚“ใกใ‚‡ใ†", - "ใญใ‚“ใฉ", - "ใญใ‚“ใด", - "ใญใ‚“ใถใค", - "ใญใ‚“ใพใ", - "ใญใ‚“ใพใค", - "ใญใ‚“ใ‚Šใ", - "ใญใ‚“ใ‚Šใ‚‡ใ†", - "ใญใ‚“ใ‚Œใ„", - "ใฎใ„ใš", - "ใฎใ†", - "ใฎใŠใฅใพ", - "ใฎใŒใ™", - "ใฎใใชใฟ", - "ใฎใ“ใŽใ‚Š", - "ใฎใ“ใ™", - "ใฎใ›ใ‚‹", - "ใฎใžใ", - "ใฎใžใ‚€", - "ใฎใŸใพใ†", - "ใฎใกใปใฉ", - "ใฎใฃใ", - "ใฎใฐใ™", - "ใฎใฏใ‚‰", - "ใฎในใ‚‹", - "ใฎใผใ‚‹", - "ใฎใ‚€", - "ใฎใ‚„ใพ", - "ใฎใ‚‰ใ„ใฌ", - "ใฎใ‚‰ใญใ“", - "ใฎใ‚Š", - "ใฎใ‚‹", - "ใฎใ‚Œใ‚“", - "ใฎใ‚“ใ", - "ใฐใ‚ใ„", - "ใฏใ‚ใ", - "ใฐใ‚ใ•ใ‚“", - "ใฏใ„", - "ใฐใ„ใ‹", - "ใฐใ„ใ", - "ใฏใ„ใ‘ใ‚“", - "ใฏใ„ใ”", - "ใฏใ„ใ“ใ†", - "ใฏใ„ใ—", - "ใฏใ„ใ—ใ‚…ใค", - "ใฏใ„ใ—ใ‚“", - "ใฏใ„ใ™ใ„", - "ใฏใ„ใ›ใค", - "ใฏใ„ใ›ใ‚“", - "ใฏใ„ใใ†", - "ใฏใ„ใก", - "ใฐใ„ใฐใ„", - "ใฏใ†", - "ใฏใˆ", - "ใฏใˆใ‚‹", - "ใฏใŠใ‚‹", - "ใฏใ‹", - "ใฐใ‹", - "ใฏใ‹ใ„", - "ใฏใ‹ใ‚‹", - "ใฏใ", - "ใฏใ", - "ใฏใใ—ใ‚…", - "ใฏใ‘ใ‚“", - "ใฏใ“", - "ใฏใ“ใถ", - "ใฏใ•ใฟ", - "ใฏใ•ใ‚“", - "ใฏใ—", - "ใฏใ—ใ”", - "ใฏใ—ใ‚‹", - "ใฐใ™", - "ใฏใ›ใ‚‹", - "ใฑใใ“ใ‚“", - "ใฏใใ‚“", - "ใฏใŸใ‚“", - "ใฏใก", - "ใฏใกใฟใค", - "ใฏใฃใ‹", - "ใฏใฃใ‹ใ", - "ใฏใฃใ", - "ใฏใฃใใ‚Š", - "ใฏใฃใใค", - "ใฏใฃใ‘ใ‚“", - "ใฏใฃใ“ใ†", - "ใฏใฃใ•ใ‚“", - "ใฏใฃใ—ใ‚ƒ", - "ใฏใฃใ—ใ‚“", - "ใฏใฃใŸใค", - "ใฏใฃใกใ‚ƒใ", - "ใฏใฃใกใ‚…ใ†", - "ใฏใฃใฆใ‚“", - "ใฏใฃใดใ‚‡ใ†", - "ใฏใฃใฝใ†", - "ใฏใฆ", - "ใฏใช", - "ใฏใชใ™", - "ใฏใชใณ", - "ใฏใซใ‹ใ‚€", - "ใฏใญ", - "ใฏใฏ", - "ใฏใถใ‚‰ใ—", - "ใฏใพ", - "ใฏใฟใŒใ", - "ใฏใ‚€", - "ใฏใ‚€ใ‹ใ†", - "ใฏใ‚ใค", - "ใฏใ‚„ใ„", - "ใฏใ‚‰", - "ใฏใ‚‰ใ†", - "ใฏใ‚Š", - "ใฏใ‚‹", - "ใฏใ‚Œ", - "ใฏใ‚ใ†ใƒใ‚“", - "ใฏใ‚ใ„", - "ใฏใ‚“ใ„", - "ใฏใ‚“ใˆใ„", - "ใฏใ‚“ใˆใ‚“", - "ใฏใ‚“ใŠใ‚“", - "ใฏใ‚“ใ‹ใ", - "ใฏใ‚“ใ‹ใก", - "ใฏใ‚“ใใ‚‡ใ†", - "ใฏใ‚“ใ“", - "ใฏใ‚“ใ“ใ†", - "ใฏใ‚“ใ—ใ‚ƒ", - "ใฏใ‚“ใ—ใ‚“", - "ใฏใ‚“ใ™ใ†", - "ใฏใ‚“ใŸใ„", - "ใฏใ‚“ใ ใ‚“", - "ใฑใ‚“ใก", - "ใฑใ‚“ใค", - "ใฏใ‚“ใฆใ„", - "ใฏใ‚“ใฆใ‚“", - "ใฏใ‚“ใจใ—", - "ใฏใ‚“ใฎใ†", - "ใฏใ‚“ใฑ", - "ใฏใ‚“ใถใ‚“", - "ใฏใ‚“ใบใ‚“", - "ใฏใ‚“ใผใ†ใ", - "ใฏใ‚“ใ‚ใ„", - "ใฏใ‚“ใ‚ใ‚“", - "ใฏใ‚“ใ‚‰ใ‚“", - "ใฏใ‚“ใ‚ใ‚“", - "ใฒใ„ใ", - "ใฒใ†ใ‚“", - "ใฒใˆใ‚‹", - "ใฒใ‹ใ", - "ใฒใ‹ใ‚Š", - "ใฒใ‹ใ‚“", - "ใฒใ", - "ใฒใใ„", - "ใฒใ‘ใค", - "ใฒใ“ใ†ใ", - "ใฒใ“ใ", - "ใฒใ–", - "ใดใ–", - "ใฒใ•ใ„", - "ใฒใ•ใ—ใถใ‚Š", - "ใฒใ•ใ‚“", - "ใฒใ—", - "ใฒใ˜", - "ใฒใ—ใ‚‡", - "ใฒใ˜ใ‚‡ใ†", - "ใฒใใ‹", - "ใฒใใ‚€", - "ใฒใŸใ‚€ใ", - "ใฒใŸใ‚‹", - "ใฒใคใŽ", - "ใฒใฃใ“ใ—", - "ใฒใฃใ—", - "ใฒใฃใ™", - "ใฒใคใœใ‚“", - "ใฒใคใ‚ˆใ†", - "ใฒใฆใ„", - "ใฒใจ", - "ใฒใจใ”ใฟ", - "ใฒใช", - "ใฒใชใ‚“", - "ใฒใญใ‚‹", - "ใฒใฏใ‚“", - "ใฒใณใ", - "ใฒใฒใ‚‡ใ†", - "ใฒใต", - "ใฒใปใ†", - "ใฒใพ", - "ใฒใพใ‚“", - "ใฒใฟใค", - "ใฒใ‚", - "ใฒใ‚ใ„", - "ใฒใ‚ใ˜ใ—", - "ใฒใ‚‚", - "ใฒใ‚„ใ‘", - "ใฒใ‚„ใ™", - "ใฒใ‚†", - "ใฒใ‚ˆใ†", - "ใณใ‚‡ใ†ใ", - "ใฒใ‚‰ใ", - "ใฒใ‚Šใค", - "ใฒใ‚Šใ‚‡ใ†", - "ใฒใ‚‹", - "ใฒใ‚Œใ„", - "ใฒใ‚ใ„", - "ใฒใ‚ใ†", - "ใฒใ‚", - "ใฒใ‚“ใ‹ใ", - "ใฒใ‚“ใ‘ใค", - "ใฒใ‚“ใ“ใ‚“", - "ใฒใ‚“ใ—", - "ใฒใ‚“ใ—ใค", - "ใฒใ‚“ใ—ใ‚…", - "ใฒใ‚“ใใ†", - "ใดใ‚“ใก", - "ใฒใ‚“ใฑใ‚“", - "ใณใ‚“ใผใ†", - "ใตใ‚ใ‚“", - "ใตใ„ใ†ใก", - "ใตใ†ใ‘ใ„", - "ใตใ†ใ›ใ‚“", - "ใตใ†ใจใ†", - "ใตใ†ใต", - "ใตใˆ", - "ใตใˆใ‚‹", - "ใตใŠใ‚“", - "ใตใ‹", - "ใตใ‹ใ„", - "ใตใใ‚“", - "ใตใ", - "ใตใใ–ใค", - "ใตใ“ใ†", - "ใตใ•ใ„", - "ใตใ–ใ„", - "ใตใ—ใŽ", - "ใตใ˜ใฟ", - "ใตใ™ใพ", - "ใตใ›ใ„", - "ใตใ›ใ", - "ใตใใ", - "ใตใŸ", - "ใตใŸใ‚“", - "ใตใก", - "ใตใกใ‚‡ใ†", - "ใตใคใ†", - "ใตใฃใ‹ใค", - "ใตใฃใ", - "ใตใฃใใ‚“", - "ใตใฃใ“ใ", - "ใตใจใ‚‹", - "ใตใจใ‚“", - "ใตใญ", - "ใตใฎใ†", - "ใตใฏใ„", - "ใตใฒใ‚‡ใ†", - "ใตใธใ‚“", - "ใตใพใ‚“", - "ใตใฟใ‚“", - "ใตใ‚€", - "ใตใ‚ใค", - "ใตใ‚ใ‚“", - "ใตใ‚†", - "ใตใ‚ˆใ†", - "ใตใ‚Šใ“", - "ใตใ‚Šใ‚‹", - "ใตใ‚‹", - "ใตใ‚‹ใ„", - "ใตใ‚", - "ใตใ‚“ใ„ใ", - "ใตใ‚“ใ‹", - "ใถใ‚“ใ‹", - "ใถใ‚“ใ", - "ใตใ‚“ใ—ใค", - "ใถใ‚“ใ›ใ", - "ใตใ‚“ใใ†", - "ใธใ„", - "ใธใ„ใ", - "ใธใ„ใ•", - "ใธใ„ใ‚", - "ใธใใŒ", - "ใธใ“ใ‚€", - "ใธใ", - "ใธใŸ", - "ในใค", - "ในใฃใฉ", - "ใบใฃใจ", - "ใธใณ", - "ใธใ‚„", - "ใธใ‚‹", - "ใธใ‚“ใ‹", - "ใธใ‚“ใ‹ใ‚“", - "ใธใ‚“ใใ‚ƒใ", - "ใธใ‚“ใใ‚“", - "ใธใ‚“ใ•ใ„", - "ใธใ‚“ใŸใ„", - "ใปใ‚ใ‚“", - "ใปใ„ใ", - "ใปใ†ใปใ†", - "ใปใˆใ‚‹", - "ใปใŠใ‚“", - "ใปใ‹ใ‚“", - "ใปใใ‚‡ใ†", - "ใผใใ‚“", - "ใปใใ‚", - "ใปใ‘ใค", - "ใปใ‘ใ‚“", - "ใปใ“ใ†", - "ใปใ“ใ‚‹", - "ใปใ•", - "ใปใ—", - "ใปใ—ใค", - "ใปใ—ใ‚…", - "ใปใ—ใ‚‡ใ†", - "ใปใ™", - "ใปใ›ใ„", - "ใผใ›ใ„", - "ใปใใ„", - "ใปใใ", - "ใปใŸใฆ", - "ใปใŸใ‚‹", - "ใผใก", - "ใปใฃใใ‚‡ใ", - "ใปใฃใ•", - "ใปใฃใŸใ‚“", - "ใปใจใ‚“ใฉ", - "ใปใ‚ใ‚‹", - "ใปใ‚‹", - "ใปใ‚“ใ„", - "ใปใ‚“ใ", - "ใปใ‚“ใ‘", - "ใปใ‚“ใ—ใค", - "ใพใ„ใซใก", - "ใพใ†", - "ใพใ‹ใ„", - "ใพใ‹ใ›ใ‚‹", - "ใพใ", - "ใพใ‘ใ‚‹", - "ใพใ“ใจ", - "ใพใ•ใค", - "ใพใ™ใ", - "ใพใœใ‚‹", - "ใพใก", - "ใพใค", - "ใพใคใ‚Š", - "ใพใจใ‚", - "ใพใชใถ", - "ใพใฌใ‘", - "ใพใญ", - "ใพใญใ", - "ใพใฒ", - "ใพใปใ†", - "ใพใ‚", - "ใพใ‚‚ใ‚‹", - "ใพใ‚†ใ’", - "ใพใ‚ˆใ†", - "ใพใ‚‹", - "ใพใ‚ใ‚„ใ‹", - "ใพใ‚ใ™", - "ใพใ‚ใ‚Š", - "ใพใ‚“ใŒ", - "ใพใ‚“ใ‹ใ„", - "ใพใ‚“ใใค", - "ใพใ‚“ใžใ", - "ใฟใ„ใ‚‰", - "ใฟใ†ใก", - "ใฟใ‹ใŸ", - "ใฟใ‹ใ‚“", - "ใฟใŽ", - "ใฟใ‘ใ‚“", - "ใฟใ“ใ‚“", - "ใฟใ™ใ„", - "ใฟใ™ใˆใ‚‹", - "ใฟใ›", - "ใฟใ", - "ใฟใก", - "ใฟใฆใ„", - "ใฟใจใ‚ใ‚‹", - "ใฟใชใฟใ‹ใ•ใ„", - "ใฟใญใ‚‰ใ‚‹", - "ใฟใฎใ†", - "ใฟใปใ‚“", - "ใฟใฟ", - "ใฟใ‚‚ใจ", - "ใฟใ‚„ใ’", - "ใฟใ‚‰ใ„", - "ใฟใ‚Šใ‚‡ใ", - "ใฟใ‚‹", - "ใฟใ‚ใ", - "ใ‚€ใˆใ", - "ใ‚€ใˆใ‚“", - "ใ‚€ใ‹ใ—", - "ใ‚€ใ", - "ใ‚€ใ“", - "ใ‚€ใ•ใผใ‚‹", - "ใ‚€ใ—", - "ใ‚€ใ™ใ“", - "ใ‚€ใ™ใ‚", - "ใ‚€ใ›ใ‚‹", - "ใ‚€ใ›ใ‚“", - "ใ‚€ใ ", - "ใ‚€ใก", - "ใ‚€ใชใ—ใ„", - "ใ‚€ใญ", - "ใ‚€ใฎใ†", - "ใ‚€ใ‚„ใฟ", - "ใ‚€ใ‚ˆใ†", - "ใ‚€ใ‚‰", - "ใ‚€ใ‚Š", - "ใ‚€ใ‚Šใ‚‡ใ†", - "ใ‚€ใ‚Œ", - "ใ‚€ใ‚ใ‚“", - "ใ‚‚ใ†ใฉใ†ใ‘ใ‚“", - "ใ‚‚ใˆใ‚‹", - "ใ‚‚ใŽ", - "ใ‚‚ใใ—", - "ใ‚‚ใใฆใ", - "ใ‚‚ใ—", - "ใ‚‚ใ‚“ใ", - "ใ‚‚ใ‚“ใ ใ„", - "ใ‚„ใ™ใ„", - "ใ‚„ใ™ใฟ", - "ใ‚„ใใ†", - "ใ‚„ใŸใ„", - "ใ‚„ใกใ‚“", - "ใ‚„ใญ", - "ใ‚„ใถใ‚‹", - "ใ‚„ใพ", - "ใ‚„ใฟ", - "ใ‚„ใ‚ใ‚‹", - "ใ‚„ใ‚„ใ“ใ—ใ„", - "ใ‚„ใ‚ˆใ„", - "ใ‚„ใ‚Š", - "ใ‚„ใ‚ใ‚‰ใ‹ใ„", - "ใ‚†ใ‘ใค", - "ใ‚†ใ—ใ‚…ใค", - "ใ‚†ใ›ใ‚“", - "ใ‚†ใใ†", - "ใ‚†ใŸใ‹", - "ใ‚†ใกใ‚ƒใ", - "ใ‚†ใงใ‚‹", - "ใ‚†ใณ", - "ใ‚†ใณใ‚", - "ใ‚†ใ‚", - "ใ‚†ใ‚Œใ‚‹", - "ใ‚ˆใ†", - "ใ‚ˆใ‹ใœ", - "ใ‚ˆใ‹ใ‚“", - "ใ‚ˆใใ‚“", - "ใ‚ˆใใ›ใ„", - "ใ‚ˆใใผใ†", - "ใ‚ˆใ‘ใ„", - "ใ‚ˆใ•ใ‚“", - "ใ‚ˆใใ†", - "ใ‚ˆใใ", - "ใ‚ˆใก", - "ใ‚ˆใฆใ„", - "ใ‚ˆใฉใŒใ‚ใ", - "ใ‚ˆใญใค", - "ใ‚ˆใ‚€", - "ใ‚ˆใ‚", - "ใ‚ˆใ‚„ใ", - "ใ‚ˆใ‚†ใ†", - "ใ‚ˆใ‚‹", - "ใ‚ˆใ‚ใ“ใถ", - "ใ‚‰ใ„ใ†", - "ใ‚‰ใใŒใ", - "ใ‚‰ใใ”", - "ใ‚‰ใใ•ใค", - "ใ‚‰ใใ ", - "ใ‚‰ใใŸใ‚“", - "ใ‚‰ใ—ใ‚“ใฐใ‚“", - "ใ‚‰ใ›ใ‚“", - "ใ‚‰ใžใ", - "ใ‚‰ใŸใ„", - "ใ‚‰ใก", - "ใ‚‰ใฃใ‹", - "ใ‚‰ใฃใ‹ใ›ใ„", - "ใ‚‰ใ‚Œใค", - "ใ‚Šใˆใ", - "ใ‚Šใ‹", - "ใ‚Šใ‹ใ„", - "ใ‚Šใใ•ใ", - "ใ‚Šใใ›ใค", - "ใ‚Šใ", - "ใ‚Šใใใ‚“", - "ใ‚Šใใค", - "ใ‚Šใ‘ใ‚“", - "ใ‚Šใ“ใ†", - "ใ‚Šใ—", - "ใ‚Šใ™", - "ใ‚Šใ›ใ„", - "ใ‚Šใใ†", - "ใ‚Šใใ", - "ใ‚Šใฆใ‚“", - "ใ‚Šใญใ‚“", - "ใ‚Šใ‚…ใ†", - "ใ‚Šใ‚†ใ†", - "ใ‚Šใ‚…ใ†ใŒใ", - "ใ‚Šใ‚…ใ†ใ“ใ†", - "ใ‚Šใ‚…ใ†ใ—", - "ใ‚Šใ‚…ใ†ใญใ‚“", - "ใ‚Šใ‚ˆใ†", - "ใ‚Šใ‚‡ใ†ใ‹ใ„", - "ใ‚Šใ‚‡ใ†ใใ‚“", - "ใ‚Šใ‚‡ใ†ใ—ใ‚“", - "ใ‚Šใ‚‡ใ†ใฆ", - "ใ‚Šใ‚‡ใ†ใฉ", - "ใ‚Šใ‚‡ใ†ใปใ†", - "ใ‚Šใ‚‡ใ†ใ‚Š", - "ใ‚Šใ‚Šใ", - "ใ‚Šใ‚Œใ", - "ใ‚Šใ‚ใ‚“", - "ใ‚Šใ‚“ใ”", - "ใ‚‹ใ„ใ˜", - "ใ‚‹ใ™", - "ใ‚Œใ„ใ‹ใ‚“", - "ใ‚Œใ„ใŽ", - "ใ‚Œใ„ใ›ใ„", - "ใ‚Œใ„ใžใ†ใ“", - "ใ‚Œใ„ใจใ†", - "ใ‚Œใใ—", - "ใ‚Œใใ ใ„", - "ใ‚Œใ‚“ใ‚ใ„", - "ใ‚Œใ‚“ใ‘ใ„", - "ใ‚Œใ‚“ใ‘ใค", - "ใ‚Œใ‚“ใ“ใ†", - "ใ‚Œใ‚“ใ“ใ‚“", - "ใ‚Œใ‚“ใ•", - "ใ‚Œใ‚“ใ•ใ„", - "ใ‚Œใ‚“ใ•ใ", - "ใ‚Œใ‚“ใ—ใ‚ƒ", - "ใ‚Œใ‚“ใ—ใ‚…ใ†", - "ใ‚Œใ‚“ใžใ", - "ใ‚ใ†ใ‹", - "ใ‚ใ†ใ”", - "ใ‚ใ†ใ˜ใ‚“", - "ใ‚ใ†ใใ", - "ใ‚ใ‹", - "ใ‚ใใŒ", - "ใ‚ใ“ใค", - "ใ‚ใ—ใ‚…ใค", - "ใ‚ใ›ใ‚“", - "ใ‚ใฆใ‚“", - "ใ‚ใ‚ใ‚“", - "ใ‚ใ‚Œใค", - "ใ‚ใ‚“ใŽ", - "ใ‚ใ‚“ใฑ", - "ใ‚ใ‚“ใถใ‚“", - "ใ‚ใ‚“ใ‚Š", - "ใ‚ใ˜ใพใ—" - ); - return word_list; -} - -std::unordered_map& word_map_japanese() +namespace Language { - static std::unordered_map word_map; - if (word_map.size() > 0) + class Japanese: public Base { - return word_map; - } - std::vector word_list = word_list_japanese(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - word_map[*it] = ii; - } - return word_map; -} - -std::unordered_map& trimmed_word_map_japanese() -{ - static std::unordered_map trimmed_word_map; - if (trimmed_word_map.size() > 0) - { - return trimmed_word_map; - } - std::vector word_list = word_list_japanese(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - if (it->length() > 4) + public: + Japanese() { - trimmed_word_map[it->substr(0, 4)] = ii; + word_list = new std::vector({ + "ใ‚ใ„", + "ใ‚ใ„ใ“ใใ—ใ‚“", + "ใ‚ใ†", + "ใ‚ใŠ", + "ใ‚ใŠใžใ‚‰", + "ใ‚ใ‹", + "ใ‚ใ‹ใกใ‚ƒใ‚“", + "ใ‚ใ", + "ใ‚ใใ‚‹", + "ใ‚ใ", + "ใ‚ใ•", + "ใ‚ใ•ใฒ", + "ใ‚ใ—", + "ใ‚ใšใ", + "ใ‚ใ›", + "ใ‚ใใถ", + "ใ‚ใŸใ‚‹", + "ใ‚ใคใ„", + "ใ‚ใช", + "ใ‚ใซ", + "ใ‚ใญ", + "ใ‚ใฒใ‚‹", + "ใ‚ใพใ„", + "ใ‚ใฟ", + "ใ‚ใ‚", + "ใ‚ใ‚ใ‚Šใ‹", + "ใ‚ใ‚„ใพใ‚‹", + "ใ‚ใ‚†ใ‚€", + "ใ‚ใ‚‰ใ„ใใพ", + "ใ‚ใ‚‰ใ—", + "ใ‚ใ‚Š", + "ใ‚ใ‚‹", + "ใ‚ใ‚Œ", + "ใ‚ใ‚", + "ใ‚ใ‚“ใ“", + "ใ„ใ†", + "ใ„ใˆ", + "ใ„ใŠใ‚“", + "ใ„ใ‹", + "ใ„ใŒใ„", + "ใ„ใ‹ใ„ใ‚ˆใ†", + "ใ„ใ‘", + "ใ„ใ‘ใ‚“", + "ใ„ใ“ใ", + "ใ„ใ“ใค", + "ใ„ใ•ใ‚“", + "ใ„ใ—", + "ใ„ใ˜ใ‚…ใ†", + "ใ„ใ™", + "ใ„ใ›ใ„", + "ใ„ใ›ใˆใณ", + "ใ„ใ›ใ‹ใ„", + "ใ„ใ›ใ", + "ใ„ใใ†ใ‚ใ†", + "ใ„ใใŒใ—ใ„", + "ใ„ใŸใ‚Šใ‚", + "ใ„ใฆใ–", + "ใ„ใฆใ‚“", + "ใ„ใจ", + "ใ„ใชใ„", + "ใ„ใชใ‹", + "ใ„ใฌ", + "ใ„ใญ", + "ใ„ใฎใก", + "ใ„ใฎใ‚‹", + "ใ„ใฏใค", + "ใ„ใฏใ‚“", + "ใ„ใณใ", + "ใ„ใฒใ‚“", + "ใ„ใตใ", + "ใ„ใธใ‚“", + "ใ„ใปใ†", + "ใ„ใพ", + "ใ„ใฟ", + "ใ„ใฟใ‚“", + "ใ„ใ‚‚", + "ใ„ใ‚‚ใ†ใจ", + "ใ„ใ‚‚ใŸใ‚Œ", + "ใ„ใ‚‚ใ‚Š", + "ใ„ใ‚„", + "ใ„ใ‚„ใ™", + "ใ„ใ‚ˆใ‹ใ‚“", + "ใ„ใ‚ˆใ", + "ใ„ใ‚‰ใ„", + "ใ„ใ‚‰ใ™ใจ", + "ใ„ใ‚Šใใก", + "ใ„ใ‚Šใ‚‡ใ†", + "ใ„ใ‚Šใ‚‡ใ†ใฒ", + "ใ„ใ‚‹", + "ใ„ใ‚Œใ„", + "ใ„ใ‚Œใ‚‚ใฎ", + "ใ„ใ‚Œใ‚‹", + "ใ„ใ‚", + "ใ„ใ‚ใˆใ‚“ใดใค", + "ใ„ใ‚", + "ใ„ใ‚ใ†", + "ใ„ใ‚ใ‹ใ‚“", + "ใ„ใ‚“ใ’ใ‚“ใพใ‚", + "ใ†ใˆ", + "ใ†ใŠใ–", + "ใ†ใ‹ใถ", + "ใ†ใใ‚", + "ใ†ใ", + "ใ†ใใ‚‰ใ„ใช", + "ใ†ใใ‚Œใ‚Œ", + "ใ†ใ‘ใคใ", + "ใ†ใ‘ใคใ‘", + "ใ†ใ‘ใ‚‹", + "ใ†ใ”ใ", + "ใ†ใ“ใ‚“", + "ใ†ใ•ใŽ", + "ใ†ใ—", + "ใ†ใ—ใชใ†", + "ใ†ใ—ใ‚", + "ใ†ใ—ใ‚ใŒใฟ", + "ใ†ใ™ใ„", + "ใ†ใ™ใŽ", + "ใ†ใ›ใค", + "ใ†ใ", + "ใ†ใŸ", + "ใ†ใกใ‚ใ‚ใ›", + "ใ†ใกใŒใ‚", + "ใ†ใกใ", + "ใ†ใค", + "ใ†ใชใŽ", + "ใ†ใชใ˜", + "ใ†ใซ", + "ใ†ใญใ‚‹", + "ใ†ใฎใ†", + "ใ†ใถใ’", + "ใ†ใถใ”ใˆ", + "ใ†ใพ", + "ใ†ใพใ‚Œใ‚‹", + "ใ†ใฟ", + "ใ†ใ‚€", + "ใ†ใ‚", + "ใ†ใ‚ใ‚‹", + "ใ†ใ‚‚ใ†", + "ใ†ใ‚„ใพใ†", + "ใ†ใ‚ˆใ", + "ใ†ใ‚‰", + "ใ†ใ‚‰ใชใ„", + "ใ†ใ‚‹", + "ใ†ใ‚‹ใ•ใ„", + "ใ†ใ‚Œใ—ใ„", + "ใ†ใ‚ใ“", + "ใ†ใ‚ใ", + "ใ†ใ‚ใ•", + "ใˆใ„", + "ใˆใ„ใˆใ‚“", + "ใˆใ„ใŒ", + "ใˆใ„ใŽใ‚‡ใ†", + "ใˆใ„ใ”", + "ใˆใŠใ‚Š", + "ใˆใ", + "ใˆใใŸใ„", + "ใˆใใ›ใ‚‹", + "ใˆใ•", + "ใˆใ—ใ‚ƒใ", + "ใˆใ™ใฆ", + "ใˆใคใ‚‰ใ‚“", + "ใˆใจ", + "ใˆใฎใ", + "ใˆใณ", + "ใˆใปใ†ใพใ", + "ใˆใปใ‚“", + "ใˆใพ", + "ใˆใพใ", + "ใˆใ‚‚ใ˜", + "ใˆใ‚‚ใฎ", + "ใˆใ‚‰ใ„", + "ใˆใ‚‰ใถ", + "ใˆใ‚Š", + "ใˆใ‚Šใ‚", + "ใˆใ‚‹", + "ใˆใ‚“", + "ใˆใ‚“ใˆใ‚“", + "ใŠใใ‚‹", + "ใŠใ", + "ใŠใ‘", + "ใŠใ“ใ‚‹", + "ใŠใ—ใˆใ‚‹", + "ใŠใ‚„ใ‚†ใณ", + "ใŠใ‚‰ใ‚“ใ ", + "ใ‹ใ‚ใค", + "ใ‹ใ„", + "ใ‹ใ†", + "ใ‹ใŠ", + "ใ‹ใŒใ—", + "ใ‹ใ", + "ใ‹ใ", + "ใ‹ใ“", + "ใ‹ใ•", + "ใ‹ใ™", + "ใ‹ใก", + "ใ‹ใค", + "ใ‹ใชใ–ใ‚ใ—", + "ใ‹ใซ", + "ใ‹ใญ", + "ใ‹ใฎใ†", + "ใ‹ใปใ†", + "ใ‹ใปใ”", + "ใ‹ใพใผใ“", + "ใ‹ใฟ", + "ใ‹ใ‚€", + "ใ‹ใ‚ใ‚ŒใŠใ‚“", + "ใ‹ใ‚‚", + "ใ‹ใ‚†ใ„", + "ใ‹ใ‚‰ใ„", + "ใ‹ใ‚‹ใ„", + "ใ‹ใ‚ใ†", + "ใ‹ใ‚", + "ใ‹ใ‚ใ‚‰", + "ใใ‚ใ„", + "ใใ‚ใค", + "ใใ„ใ‚", + "ใŽใ„ใ‚“", + "ใใ†ใ„", + "ใใ†ใ‚“", + "ใใˆใ‚‹", + "ใใŠใ†", + "ใใŠใ", + "ใใŠใก", + "ใใŠใ‚“", + "ใใ‹", + "ใใ‹ใ„", + "ใใ‹ใ", + "ใใ‹ใ‚“", + "ใใ‹ใ‚“ใ—ใ‚ƒ", + "ใใŽ", + "ใใใฆ", + "ใใ", + "ใใใฐใ‚Š", + "ใใใ‚‰ใ’", + "ใใ‘ใ‚“", + "ใใ‘ใ‚“ใ›ใ„", + "ใใ“ใ†", + "ใใ“ใˆใ‚‹", + "ใใ“ใ", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใพ", + "ใใ•ใ‚‰ใŽ", + "ใใ—", + "ใใ—ใ‚…", + "ใใ™", + "ใใ™ใ†", + "ใใ›ใ„", + "ใใ›ใ", + "ใใ›ใค", + "ใใ", + "ใใใ†", + "ใใใ", + "ใใžใ", + "ใŽใใ", + "ใใžใ‚“", + "ใใŸ", + "ใใŸใˆใ‚‹", + "ใใก", + "ใใกใ‚‡ใ†", + "ใใคใˆใ‚“", + "ใใคใคใ", + "ใใคใญ", + "ใใฆใ„", + "ใใฉใ†", + "ใใฉใ", + "ใใชใ„", + "ใใชใŒ", + "ใใฌ", + "ใใฌใ”ใ—", + "ใใญใ‚“", + "ใใฎใ†", + "ใใฏใ", + "ใใณใ—ใ„", + "ใใฒใ‚“", + "ใใต", + "ใŽใต", + "ใใตใ", + "ใŽใผ", + "ใใปใ†", + "ใใผใ†", + "ใใปใ‚“", + "ใใพใ‚‹", + "ใใฟ", + "ใใฟใค", + "ใŽใ‚€", + "ใใ‚€ใšใ‹ใ—ใ„", + "ใใ‚", + "ใใ‚ใ‚‹", + "ใใ‚‚ใ ใ‚ใ—", + "ใใ‚‚ใก", + "ใใ‚„ใ", + "ใใ‚ˆใ†", + "ใใ‚‰ใ„", + "ใใ‚‰ใ", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚Œใ„", + "ใใ‚Œใค", + "ใใ‚ใ", + "ใŽใ‚ใ‚“", + "ใใ‚ใ‚ใ‚‹", + "ใใ‚ใ„", + "ใใ„", + "ใใ„ใš", + "ใใ†ใ‹ใ‚“", + "ใใ†ใ", + "ใใ†ใใ‚“", + "ใใ†ใ“ใ†", + "ใใ†ใใ†", + "ใใ†ใตใ", + "ใใ†ใผ", + "ใใ‹ใ‚“", + "ใใ", + "ใใใ‚‡ใ†", + "ใใ’ใ‚“", + "ใใ“ใ†", + "ใใ•", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใฐใช", + "ใใ•ใ‚‹", + "ใใ—", + "ใใ—ใ‚ƒใฟ", + "ใใ—ใ‚‡ใ†", + "ใใ™ใฎใ", + "ใใ™ใ‚Š", + "ใใ™ใ‚Šใ‚†ใณ", + "ใใ›", + "ใใ›ใ’", + "ใใ›ใ‚“", + "ใใŸใณใ‚Œใ‚‹", + "ใใก", + "ใใกใ“ใฟ", + "ใใกใ•ใ", + "ใใค", + "ใใคใ—ใŸ", + "ใใคใ‚ใ", + "ใใจใ†ใฆใ‚“", + "ใใฉใ", + "ใใชใ‚“", + "ใใซ", + "ใใญใใญ", + "ใใฎใ†", + "ใใตใ†", + "ใใพ", + "ใใฟใ‚ใ‚ใ›", + "ใใฟใŸใฆใ‚‹", + "ใใ‚€", + "ใใ‚ใ‚‹", + "ใใ‚„ใใ—ใ‚‡", + "ใใ‚‰ใ™", + "ใใ‚Š", + "ใใ‚Œใ‚‹", + "ใใ‚", + "ใใ‚ใ†", + "ใใ‚ใ—ใ„", + "ใใ‚“ใ˜ใ‚‡", + "ใ‘ใ‚ใช", + "ใ‘ใ„ใ‘ใ‚“", + "ใ‘ใ„ใ“", + "ใ‘ใ„ใ•ใ„", + "ใ‘ใ„ใ•ใค", + "ใ’ใ„ใฎใ†ใ˜ใ‚“", + "ใ‘ใ„ใ‚Œใ", + "ใ‘ใ„ใ‚Œใค", + "ใ‘ใ„ใ‚Œใ‚“", + "ใ‘ใ„ใ‚", + "ใ‘ใŠใจใ™", + "ใ‘ใŠใ‚Šใ‚‚ใฎ", + "ใ‘ใŒ", + "ใ’ใ", + "ใ’ใใ‹", + "ใ’ใใ’ใ‚“", + "ใ’ใใ ใ‚“", + "ใ’ใใกใ‚“", + "ใ’ใใฉ", + "ใ’ใใฏ", + "ใ’ใใ‚„ใ", + "ใ’ใ“ใ†", + "ใ’ใ“ใใ˜ใ‚‡ใ†", + "ใ‘ใ•", + "ใ’ใ–ใ„", + "ใ‘ใ•ใ", + "ใ’ใ–ใ‚“", + "ใ‘ใ—ใ", + "ใ‘ใ—ใ”ใ‚€", + "ใ‘ใ—ใ‚‡ใ†", + "ใ‘ใ™", + "ใ’ใ™ใจ", + "ใ‘ใŸ", + "ใ’ใŸ", + "ใ‘ใŸใฐ", + "ใ‘ใก", + "ใ‘ใกใ‚ƒใฃใท", + "ใ‘ใกใ‚‰ใ™", + "ใ‘ใค", + "ใ‘ใคใ‚ใค", + "ใ‘ใคใ„", + "ใ‘ใคใˆใ", + "ใ‘ใฃใ“ใ‚“", + "ใ‘ใคใ˜ใ‚‡", + "ใ‘ใฃใฆใ„", + "ใ‘ใคใพใค", + "ใ’ใคใ‚ˆใ†ใณ", + "ใ’ใคใ‚Œใ„", + "ใ‘ใคใ‚ใ‚“", + "ใ’ใฉใ", + "ใ‘ใจใฐใ™", + "ใ‘ใจใ‚‹", + "ใ‘ใชใ’", + "ใ‘ใชใ™", + "ใ‘ใชใฟ", + "ใ‘ใฌใ", + "ใ’ใญใค", + "ใ‘ใญใ‚“", + "ใ‘ใฏใ„", + "ใ’ใฒใ‚“", + "ใ‘ใถใ‹ใ„", + "ใ’ใผใ", + "ใ‘ใพใ‚Š", + "ใ‘ใฟใ‹ใ‚‹", + "ใ‘ใ‚€ใ—", + "ใ‘ใ‚€ใ‚Š", + "ใ‘ใ‚‚ใฎ", + "ใ‘ใ‚‰ใ„", + "ใ‘ใ‚‹", + "ใ’ใ‚", + "ใ‘ใ‚ใ‘ใ‚", + "ใ‘ใ‚ใ—ใ„", + "ใ‘ใ‚“ใ„", + "ใ‘ใ‚“ใˆใค", + "ใ‘ใ‚“ใŠ", + "ใ‘ใ‚“ใ‹", + "ใ’ใ‚“ใ", + "ใ‘ใ‚“ใใ‚…ใ†", + "ใ‘ใ‚“ใใ‚‡", + "ใ‘ใ‚“ใ‘ใ„", + "ใ‘ใ‚“ใ‘ใค", + "ใ‘ใ‚“ใ’ใ‚“", + "ใ‘ใ‚“ใ“ใ†", + "ใ‘ใ‚“ใ•", + "ใ‘ใ‚“ใ•ใ", + "ใ‘ใ‚“ใ—ใ‚…ใ†", + "ใ‘ใ‚“ใ—ใ‚…ใค", + "ใ‘ใ‚“ใ—ใ‚“", + "ใ‘ใ‚“ใ™ใ†", + "ใ‘ใ‚“ใใ†", + "ใ’ใ‚“ใใ†", + "ใ‘ใ‚“ใใ‚“", + "ใ’ใ‚“ใก", + "ใ‘ใ‚“ใกใ", + "ใ‘ใ‚“ใฆใ„", + "ใ’ใ‚“ใฆใ„", + "ใ‘ใ‚“ใจใ†", + "ใ‘ใ‚“ใชใ„", + "ใ‘ใ‚“ใซใ‚“", + "ใ’ใ‚“ใถใค", + "ใ‘ใ‚“ใพ", + "ใ‘ใ‚“ใฟใ‚“", + "ใ‘ใ‚“ใ‚ใ„", + "ใ‘ใ‚“ใ‚‰ใ‚“", + "ใ‘ใ‚“ใ‚Š", + "ใ‘ใ‚“ใ‚Šใค", + "ใ“ใ‚ใใพ", + "ใ“ใ„", + "ใ”ใ„", + "ใ“ใ„ใณใจ", + "ใ“ใ†ใ„", + "ใ“ใ†ใˆใ‚“", + "ใ“ใ†ใ‹", + "ใ“ใ†ใ‹ใ„", + "ใ“ใ†ใ‹ใ‚“", + "ใ“ใ†ใ•ใ„", + "ใ“ใ†ใ•ใ‚“", + "ใ“ใ†ใ—ใ‚“", + "ใ“ใ†ใš", + "ใ“ใ†ใ™ใ„", + "ใ“ใ†ใ›ใ‚“", + "ใ“ใ†ใใ†", + "ใ“ใ†ใใ", + "ใ“ใ†ใŸใ„", + "ใ“ใ†ใกใ‚ƒ", + "ใ“ใ†ใคใ†", + "ใ“ใ†ใฆใ„", + "ใ“ใ†ใจใ†ใถ", + "ใ“ใ†ใชใ„", + "ใ“ใ†ใฏใ„", + "ใ“ใ†ใฏใ‚“", + "ใ“ใ†ใ‚‚ใ", + "ใ“ใˆ", + "ใ“ใˆใ‚‹", + "ใ“ใŠใ‚Š", + "ใ”ใŒใค", + "ใ“ใ‹ใ‚“", + "ใ“ใ", + "ใ“ใใ”", + "ใ“ใใชใ„", + "ใ“ใใฏใ", + "ใ“ใ‘ใ„", + "ใ“ใ‘ใ‚‹", + "ใ“ใ“", + "ใ“ใ“ใ‚", + "ใ”ใ•", + "ใ“ใ•ใ‚", + "ใ“ใ—", + "ใ“ใ—ใค", + "ใ“ใ™", + "ใ“ใ™ใ†", + "ใ“ใ›ใ„", + "ใ“ใ›ใ", + "ใ“ใœใ‚“", + "ใ“ใใ ใฆ", + "ใ“ใŸใ„", + "ใ“ใŸใˆใ‚‹", + "ใ“ใŸใค", + "ใ“ใกใ‚‡ใ†", + "ใ“ใฃใ‹", + "ใ“ใคใ“ใค", + "ใ“ใคใฐใ‚“", + "ใ“ใคใถ", + "ใ“ใฆใ„", + "ใ“ใฆใ‚“", + "ใ“ใจ", + "ใ“ใจใŒใ‚‰", + "ใ“ใจใ—", + "ใ“ใชใ”ใช", + "ใ“ใญใ“ใญ", + "ใ“ใฎใพใพ", + "ใ“ใฎใฟ", + "ใ“ใฎใ‚ˆ", + "ใ“ใฏใ‚“", + "ใ”ใฏใ‚“", + "ใ”ใณ", + "ใ“ใฒใคใ˜", + "ใ“ใตใ†", + "ใ“ใตใ‚“", + "ใ“ใผใ‚Œใ‚‹", + "ใ”ใพ", + "ใ“ใพใ‹ใ„", + "ใ“ใพใคใ—", + "ใ“ใพใคใช", + "ใ“ใพใ‚‹", + "ใ“ใ‚€", + "ใ“ใ‚€ใŽใ“", + "ใ“ใ‚", + "ใ“ใ‚‚ใ˜", + "ใ“ใ‚‚ใก", + "ใ“ใ‚‚ใฎ", + "ใ“ใ‚‚ใ‚“", + "ใ“ใ‚„", + "ใ“ใ‚„ใ", + "ใ“ใ‚„ใพ", + "ใ“ใ‚†ใ†", + "ใ“ใ‚†ใณ", + "ใ“ใ‚ˆใ„", + "ใ“ใ‚ˆใ†", + "ใ“ใ‚Šใ‚‹", + "ใ“ใ‚‹", + "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", + "ใ“ใ‚ใฃใ‘", + "ใ“ใ‚ใ‚‚ใฆ", + "ใ“ใ‚ใ‚Œใ‚‹", + "ใ“ใ‚“", + "ใ“ใ‚“ใ„ใ‚“", + "ใ“ใ‚“ใ‹ใ„", + "ใ“ใ‚“ใ", + "ใ“ใ‚“ใ—ใ‚…ใ†", + "ใ“ใ‚“ใ—ใ‚…ใ‚“", + "ใ“ใ‚“ใ™ใ„", + "ใ“ใ‚“ใ ใฆ", + "ใ“ใ‚“ใ ใ‚“", + "ใ“ใ‚“ใจใ‚“", + "ใ“ใ‚“ใชใ‚“", + "ใ“ใ‚“ใณใซ", + "ใ“ใ‚“ใฝใ†", + "ใ“ใ‚“ใฝใ‚“", + "ใ“ใ‚“ใพใ‘", + "ใ“ใ‚“ใ‚„", + "ใ“ใ‚“ใ‚„ใ", + "ใ“ใ‚“ใ‚Œใ„", + "ใ“ใ‚“ใ‚ใ", + "ใ•ใ„ใ‹ใ„", + "ใ•ใ„ใŒใ„", + "ใ•ใ„ใใ‚“", + "ใ•ใ„ใ”", + "ใ•ใ„ใ“ใ‚“", + "ใ•ใ„ใ—ใ‚‡", + "ใ•ใ†ใช", + "ใ•ใŠ", + "ใ•ใ‹ใ„ใ—", + "ใ•ใ‹ใช", + "ใ•ใ‹ใฟใก", + "ใ•ใ", + "ใ•ใ", + "ใ•ใใ—", + "ใ•ใใ˜ใ‚‡", + "ใ•ใใฒใ‚“", + "ใ•ใใ‚‰", + "ใ•ใ‘", + "ใ•ใ“ใ", + "ใ•ใ“ใค", + "ใ•ใŸใ‚“", + "ใ•ใคใˆใ„", + "ใ•ใฃใ‹", + "ใ•ใฃใใ‚‡ใ", + "ใ•ใคใ˜ใ‚“", + "ใ•ใคใŸใฐ", + "ใ•ใคใพใ„ใ‚‚", + "ใ•ใฆใ„", + "ใ•ใจใ„ใ‚‚", + "ใ•ใจใ†", + "ใ•ใจใŠใ‚„", + "ใ•ใจใ‚‹", + "ใ•ใฎใ†", + "ใ•ใฐ", + "ใ•ใฐใ", + "ใ•ในใค", + "ใ•ใปใ†", + "ใ•ใปใฉ", + "ใ•ใพใ™", + "ใ•ใฟใ—ใ„", + "ใ•ใฟใ ใ‚Œ", + "ใ•ใ‚€ใ‘", + "ใ•ใ‚", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚„ใˆใ‚“ใฉใ†", + "ใ•ใ‚†ใ†", + "ใ•ใ‚ˆใ†", + "ใ•ใ‚ˆใ", + "ใ•ใ‚‰", + "ใ•ใ‚‰ใ ", + "ใ•ใ‚‹", + "ใ•ใ‚ใ‚„ใ‹", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚“ใ„ใ‚“", + "ใ•ใ‚“ใ‹", + "ใ•ใ‚“ใใ‚ƒใ", + "ใ•ใ‚“ใ“ใ†", + "ใ•ใ‚“ใ•ใ„", + "ใ•ใ‚“ใ–ใ‚“", + "ใ•ใ‚“ใ™ใ†", + "ใ•ใ‚“ใ›ใ„", + "ใ•ใ‚“ใ", + "ใ•ใ‚“ใใ‚“", + "ใ•ใ‚“ใก", + "ใ•ใ‚“ใกใ‚‡ใ†", + "ใ•ใ‚“ใพ", + "ใ•ใ‚“ใฟ", + "ใ•ใ‚“ใ‚‰ใ‚“", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ’", + "ใ—ใ‚ใ•ใฃใฆ", + "ใ—ใ‚ใ‚ใ›", + "ใ—ใ„ใ", + "ใ—ใ„ใ‚“", + "ใ—ใ†ใก", + "ใ—ใˆใ„", + "ใ—ใŠ", + "ใ—ใŠใ‘", + "ใ—ใ‹", + "ใ—ใ‹ใ„", + "ใ—ใ‹ใ", + "ใ˜ใ‹ใ‚“", + "ใ—ใŸ", + "ใ—ใŸใŽ", + "ใ—ใŸใฆ", + "ใ—ใŸใฟ", + "ใ—ใกใ‚‡ใ†", + "ใ—ใกใ‚‡ใ†ใใ‚“", + "ใ—ใกใ‚Šใ‚“", + "ใ˜ใคใ˜", + "ใ—ใฆใ„", + "ใ—ใฆใ", + "ใ—ใฆใค", + "ใ—ใฆใ‚“", + "ใ—ใจใ†", + "ใ˜ใฉใ†", + "ใ—ใชใŽใ‚Œ", + "ใ—ใชใ‚‚ใฎ", + "ใ—ใชใ‚“", + "ใ—ใญใพ", + "ใ—ใญใ‚“", + "ใ—ใฎใ", + "ใ—ใฎใถ", + "ใ—ใฏใ„", + "ใ—ใฐใ‹ใ‚Š", + "ใ—ใฏใค", + "ใ˜ใฏใค", + "ใ—ใฏใ‚‰ใ„", + "ใ—ใฏใ‚“", + "ใ—ใฒใ‚‡ใ†", + "ใ˜ใต", + "ใ—ใตใ", + "ใ˜ใถใ‚“", + "ใ—ใธใ„", + "ใ—ใปใ†", + "ใ—ใปใ‚“", + "ใ—ใพ", + "ใ—ใพใ†", + "ใ—ใพใ‚‹", + "ใ—ใฟ", + "ใ˜ใฟ", + "ใ—ใฟใ‚“", + "ใ˜ใ‚€", + "ใ—ใ‚€ใ‘ใ‚‹", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ‚‹", + "ใ—ใ‚‚ใ‚“", + "ใ—ใ‚ƒใ„ใ‚“", + "ใ—ใ‚ƒใ†ใ‚“", + "ใ—ใ‚ƒใŠใ‚“", + "ใ—ใ‚ƒใ‹ใ„", + "ใ˜ใ‚ƒใŒใ„ใ‚‚", + "ใ—ใ‚„ใใ—ใ‚‡", + "ใ—ใ‚ƒใใปใ†", + "ใ—ใ‚ƒใ‘ใ‚“", + "ใ—ใ‚ƒใ“", + "ใ—ใ‚ƒใ“ใ†", + "ใ—ใ‚ƒใ–ใ„", + "ใ—ใ‚ƒใ—ใ‚“", + "ใ—ใ‚ƒใ›ใ‚“", + "ใ—ใ‚ƒใใ†", + "ใ—ใ‚ƒใŸใ„", + "ใ—ใ‚ƒใŸใ", + "ใ—ใ‚ƒใกใ‚‡ใ†", + "ใ—ใ‚ƒใฃใใ‚“", + "ใ˜ใ‚ƒใพ", + "ใ˜ใ‚ƒใ‚Š", + "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", + "ใ—ใ‚ƒใ‚Šใ‚“", + "ใ—ใ‚ƒใ‚Œใ„", + "ใ—ใ‚…ใ†ใˆใ‚“", + "ใ—ใ‚…ใ†ใ‹ใ„", + "ใ—ใ‚…ใ†ใใ‚“", + "ใ—ใ‚…ใ†ใ‘ใ„", + "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", + "ใ—ใ‚…ใ‚‰ใฐ", + "ใ—ใ‚‡ใ†ใ‹", + "ใ—ใ‚‡ใ†ใ‹ใ„", + "ใ—ใ‚‡ใ†ใใ‚“", + "ใ—ใ‚‡ใ†ใ˜ใ", + "ใ—ใ‚‡ใใ–ใ„", + "ใ—ใ‚‡ใใŸใ", + "ใ—ใ‚‡ใฃใ‘ใ‚“", + "ใ—ใ‚‡ใฉใ†", + "ใ—ใ‚‡ใ‚‚ใค", + "ใ—ใ‚“", + "ใ—ใ‚“ใ‹", + "ใ—ใ‚“ใ“ใ†", + "ใ—ใ‚“ใ›ใ„ใ˜", + "ใ—ใ‚“ใกใ", + "ใ—ใ‚“ใ‚Šใ‚“", + "ใ™ใ‚ใ’", + "ใ™ใ‚ใ—", + "ใ™ใ‚ใช", + "ใšใ‚ใ‚“", + "ใ™ใ„ใ‹", + "ใ™ใ„ใจใ†", + "ใ™ใ†", + "ใ™ใ†ใŒใ", + "ใ™ใ†ใ˜ใค", + "ใ™ใ†ใ›ใ‚“", + "ใ™ใŠใฉใ‚Š", + "ใ™ใ", + "ใ™ใใพ", + "ใ™ใ", + "ใ™ใใ†", + "ใ™ใใชใ„", + "ใ™ใ‘ใ‚‹", + "ใ™ใ“ใ—", + "ใšใ•ใ‚“", + "ใ™ใ—", + "ใ™ใšใ—ใ„", + "ใ™ใ™ใ‚ใ‚‹", + "ใ™ใ", + "ใšใฃใ—ใ‚Š", + "ใšใฃใจ", + "ใ™ใง", + "ใ™ใฆใ", + "ใ™ใฆใ‚‹", + "ใ™ใช", + "ใ™ใชใฃใ", + "ใ™ใชใฃใท", + "ใ™ใญ", + "ใ™ใญใ‚‹", + "ใ™ใฎใ“", + "ใ™ใฏใ ", + "ใ™ใฐใ‚‰ใ—ใ„", + "ใšใฒใ‚‡ใ†", + "ใšใถใฌใ‚Œ", + "ใ™ใถใ‚Š", + "ใ™ใตใ‚Œ", + "ใ™ในใฆ", + "ใ™ในใ‚‹", + "ใšใปใ†", + "ใ™ใผใ‚“", + "ใ™ใพใ„", + "ใ™ใฟ", + "ใ™ใ‚€", + "ใ™ใ‚ใ—", + "ใ™ใ‚‚ใ†", + "ใ™ใ‚„ใ", + "ใ™ใ‚‰ใ„ใ™", + "ใ™ใ‚‰ใ„ใฉ", + "ใ™ใ‚‰ใ™ใ‚‰", + "ใ™ใ‚Š", + "ใ™ใ‚‹", + "ใ™ใ‚‹ใ‚", + "ใ™ใ‚ŒใกใŒใ†", + "ใ™ใ‚ใฃใจ", + "ใ™ใ‚ใ‚‹", + "ใ™ใ‚“ใœใ‚“", + "ใ™ใ‚“ใฝใ†", + "ใ›ใ‚ใถใ‚‰", + "ใ›ใ„ใ‹", + "ใ›ใ„ใ‹ใ„", + "ใ›ใ„ใ‹ใค", + "ใ›ใŠใ†", + "ใ›ใ‹ใ„", + "ใ›ใ‹ใ„ใ‹ใ‚“", + "ใ›ใ‹ใ„ใ—", + "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", + "ใ›ใ", + "ใ›ใใซใ‚“", + "ใ›ใใ‚€", + "ใ›ใใ‚†", + "ใ›ใใ‚‰ใ‚“ใ†ใ‚“", + "ใ›ใ‘ใ‚“", + "ใ›ใ“ใ†", + "ใ›ใ™ใ˜", + "ใ›ใŸใ„", + "ใ›ใŸใ‘", + "ใ›ใฃใ‹ใ„", + "ใ›ใฃใ‹ใ", + "ใ›ใฃใ", + "ใ›ใฃใใ‚ƒใ", + "ใ›ใฃใใ‚‡ใ", + "ใ›ใฃใใ‚“", + "ใœใฃใ", + "ใ›ใฃใ‘ใ‚“", + "ใ›ใฃใ“ใค", + "ใ›ใฃใ•ใŸใใพ", + "ใ›ใคใžใ", + "ใ›ใคใ ใ‚“", + "ใ›ใคใงใ‚“", + "ใ›ใฃใฑใ‚“", + "ใ›ใคใณ", + "ใ›ใคใถใ‚“", + "ใ›ใคใ‚ใ„", + "ใ›ใคใ‚Šใค", + "ใ›ใจ", + "ใ›ใชใ‹", + "ใ›ใฎใณ", + "ใ›ใฏใฐ", + "ใ›ใผใญ", + "ใ›ใพใ„", + "ใ›ใพใ‚‹", + "ใ›ใฟ", + "ใ›ใ‚ใ‚‹", + "ใ›ใ‚‚ใŸใ‚Œ", + "ใ›ใ‚Šใต", + "ใ›ใ‚", + "ใ›ใ‚“", + "ใœใ‚“ใ‚ใ", + "ใ›ใ‚“ใ„", + "ใ›ใ‚“ใˆใ„", + "ใ›ใ‚“ใ‹", + "ใ›ใ‚“ใใ‚‡", + "ใ›ใ‚“ใ", + "ใ›ใ‚“ใ‘ใค", + "ใ›ใ‚“ใ’ใ‚“", + "ใœใ‚“ใ”", + "ใ›ใ‚“ใ•ใ„", + "ใ›ใ‚“ใ—", + "ใ›ใ‚“ใ—ใ‚…", + "ใ›ใ‚“ใ™", + "ใ›ใ‚“ใ™ใ„", + "ใ›ใ‚“ใ›ใ„", + "ใ›ใ‚“ใž", + "ใ›ใ‚“ใใ†", + "ใ›ใ‚“ใŸใ", + "ใ›ใ‚“ใก", + "ใ›ใ‚“ใกใ‚ƒ", + "ใ›ใ‚“ใกใ‚ƒใ", + "ใ›ใ‚“ใกใ‚‡ใ†", + "ใ›ใ‚“ใฆใ„", + "ใ›ใ‚“ใจใ†", + "ใ›ใ‚“ใฌใ", + "ใ›ใ‚“ใญใ‚“", + "ใœใ‚“ใถ", + "ใ›ใ‚“ใทใ†ใ", + "ใ›ใ‚“ใทใ", + "ใœใ‚“ใฝใ†", + "ใ›ใ‚“ใ‚€", + "ใ›ใ‚“ใ‚ใ„", + "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", + "ใ›ใ‚“ใ‚‚ใ‚“", + "ใ›ใ‚“ใ‚„ใ", + "ใ›ใ‚“ใ‚†ใ†", + "ใ›ใ‚“ใ‚ˆใ†", + "ใœใ‚“ใ‚‰", + "ใœใ‚“ใ‚Šใ‚ƒใ", + "ใ›ใ‚“ใ‚Šใ‚‡ใ", + "ใ›ใ‚“ใ‚Œใ„", + "ใ›ใ‚“ใ‚", + "ใใ‚ใ", + "ใใ„ใจใ’ใ‚‹", + "ใใ„ใญ", + "ใใ†", + "ใžใ†", + "ใใ†ใŒใ‚“ใใ‚‡ใ†", + "ใใ†ใ", + "ใใ†ใ”", + "ใใ†ใชใ‚“", + "ใใ†ใณ", + "ใใ†ใฒใ‚‡ใ†", + "ใใ†ใ‚ใ‚“", + "ใใ†ใ‚Š", + "ใใ†ใ‚Šใ‚‡", + "ใใˆใ‚‚ใฎ", + "ใใˆใ‚“", + "ใใ‹ใ„", + "ใใŒใ„", + "ใใ", + "ใใ’ใ", + "ใใ“ใ†", + "ใใ“ใใ“", + "ใใ–ใ„", + "ใใ—", + "ใใ—ใช", + "ใใ›ใ„", + "ใใ›ใ‚“", + "ใใใ", + "ใใ ใฆใ‚‹", + "ใใคใ†", + "ใใคใˆใ‚“", + "ใใฃใ‹ใ‚“", + "ใใคใŽใ‚‡ใ†", + "ใใฃใ‘ใค", + "ใใฃใ“ใ†", + "ใใฃใ›ใ‚“", + "ใใฃใจ", + "ใใง", + "ใใจ", + "ใใจใŒใ‚", + "ใใจใฅใ‚‰", + "ใใชใˆใ‚‹", + "ใใชใŸ", + "ใใฐ", + "ใใต", + "ใใตใผ", + "ใใผ", + "ใใผใ", + "ใใผใ‚", + "ใใพใค", + "ใใพใ‚‹", + "ใใ‚€ใ", + "ใใ‚€ใ‚Šใˆ", + "ใใ‚ใ‚‹", + "ใใ‚‚ใใ‚‚", + "ใใ‚ˆใ‹ใœ", + "ใใ‚‰", + "ใใ‚‰ใพใ‚", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚ใ†", + "ใใ‚“ใ‹ใ„", + "ใใ‚“ใ‘ใ„", + "ใใ‚“ใ–ใ„", + "ใใ‚“ใ—ใค", + "ใใ‚“ใ—ใ‚‡ใ†", + "ใใ‚“ใžใ", + "ใใ‚“ใกใ‚‡ใ†", + "ใžใ‚“ใณ", + "ใžใ‚“ใถใ‚“", + "ใใ‚“ใฟใ‚“", + "ใŸใ‚ใ„", + "ใŸใ„ใ„ใ‚“", + "ใŸใ„ใ†ใ‚“", + "ใŸใ„ใˆใ", + "ใŸใ„ใŠใ†", + "ใ ใ„ใŠใ†", + "ใŸใ„ใ‹", + "ใŸใ„ใ‹ใ„", + "ใŸใ„ใ", + "ใŸใ„ใใ‘ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใใค", + "ใŸใ„ใ‘ใ„", + "ใŸใ„ใ‘ใค", + "ใŸใ„ใ‘ใ‚“", + "ใŸใ„ใ“", + "ใŸใ„ใ“ใ†", + "ใŸใ„ใ•", + "ใŸใ„ใ•ใ‚“", + "ใŸใ„ใ—ใ‚…ใค", + "ใ ใ„ใ˜ใ‚‡ใ†ใถ", + "ใŸใ„ใ—ใ‚‡ใ", + "ใ ใ„ใš", + "ใ ใ„ใ™ใ", + "ใŸใ„ใ›ใ„", + "ใŸใ„ใ›ใค", + "ใŸใ„ใ›ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใกใ‚‡ใ†", + "ใ ใ„ใกใ‚‡ใ†", + "ใŸใ„ใจใ†", + "ใŸใ„ใชใ„", + "ใŸใ„ใญใค", + "ใŸใ„ใฎใ†", + "ใŸใ„ใฏ", + "ใŸใ„ใฏใ‚“", + "ใŸใ„ใฒ", + "ใŸใ„ใตใ†", + "ใŸใ„ใธใ‚“", + "ใŸใ„ใป", + "ใŸใ„ใพใคใฐใช", + "ใŸใ„ใพใ‚“", + "ใŸใ„ใฟใ‚“ใ", + "ใŸใ„ใ‚€", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚ˆใ†", + "ใŸใ„ใ‚‰", + "ใŸใ„ใ‚Šใ‚‡ใ†", + "ใŸใ„ใ‚Šใ‚‡ใ", + "ใŸใ„ใ‚‹", + "ใŸใ„ใ‚", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ†ใˆ", + "ใŸใˆใ‚‹", + "ใŸใŠใ™", + "ใŸใŠใ‚‹", + "ใŸใ‹ใ„", + "ใŸใ‹ใญ", + "ใŸใ", + "ใŸใใณ", + "ใŸใใ•ใ‚“", + "ใŸใ‘", + "ใŸใ“", + "ใŸใ“ใ", + "ใŸใ“ใ‚„ใ", + "ใŸใ•ใ„", + "ใ ใ•ใ„", + "ใŸใ—ใ–ใ‚“", + "ใŸใ™", + "ใŸใ™ใ‘ใ‚‹", + "ใŸใใŒใ‚Œ", + "ใŸใŸใ‹ใ†", + "ใŸใŸใ", + "ใŸใกใฐ", + "ใŸใกใฐใช", + "ใŸใค", + "ใ ใฃใ‹ใ„", + "ใ ใฃใใ‚ƒใ", + "ใ ใฃใ“", + "ใ ใฃใ—ใ‚ใ‚“", + "ใ ใฃใ—ใ‚…ใค", + "ใ ใฃใŸใ„", + "ใŸใฆ", + "ใŸใฆใ‚‹", + "ใŸใจใˆใ‚‹", + "ใŸใช", + "ใŸใซใ‚“", + "ใŸใฌใ", + "ใŸใญ", + "ใŸใฎใ—ใฟ", + "ใŸใฏใค", + "ใŸใณ", + "ใŸใถใ‚“", + "ใŸในใ‚‹", + "ใŸใผใ†", + "ใŸใปใ†ใ‚ใ‚“", + "ใŸใพ", + "ใŸใพใ”", + "ใŸใพใ‚‹", + "ใ ใ‚€ใ‚‹", + "ใŸใ‚ใ„ใ", + "ใŸใ‚ใ™", + "ใŸใ‚ใ‚‹", + "ใŸใ‚‚ใค", + "ใŸใ‚„ใ™ใ„", + "ใŸใ‚ˆใ‚‹", + "ใŸใ‚‰", + "ใŸใ‚‰ใ™", + "ใŸใ‚Šใใปใ‚“ใŒใ‚“", + "ใŸใ‚Šใ‚‡ใ†", + "ใŸใ‚Šใ‚‹", + "ใŸใ‚‹", + "ใŸใ‚‹ใจ", + "ใŸใ‚Œใ‚‹", + "ใŸใ‚Œใ‚“ใจ", + "ใŸใ‚ใฃใจ", + "ใŸใ‚ใ‚€ใ‚Œใ‚‹", + "ใŸใ‚“", + "ใ ใ‚“ใ‚ใค", + "ใŸใ‚“ใ„", + "ใŸใ‚“ใŠใ‚“", + "ใŸใ‚“ใ‹", + "ใŸใ‚“ใ", + "ใŸใ‚“ใ‘ใ‚“", + "ใŸใ‚“ใ”", + "ใŸใ‚“ใ•ใ", + "ใŸใ‚“ใ•ใ‚“", + "ใŸใ‚“ใ—", + "ใŸใ‚“ใ—ใ‚…ใ", + "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", + "ใ ใ‚“ใ›ใ„", + "ใŸใ‚“ใใ", + "ใŸใ‚“ใŸใ„", + "ใŸใ‚“ใก", + "ใ ใ‚“ใก", + "ใŸใ‚“ใกใ‚‡ใ†", + "ใŸใ‚“ใฆใ„", + "ใŸใ‚“ใฆใ", + "ใŸใ‚“ใจใ†", + "ใ ใ‚“ใช", + "ใŸใ‚“ใซใ‚“", + "ใ ใ‚“ใญใค", + "ใŸใ‚“ใฎใ†", + "ใŸใ‚“ใดใ‚“", + "ใŸใ‚“ใพใค", + "ใŸใ‚“ใ‚ใ„", + "ใ ใ‚“ใ‚Œใค", + "ใ ใ‚“ใ‚", + "ใ ใ‚“ใ‚", + "ใกใ‚ใ„", + "ใกใ‚ใ‚“", + "ใกใ„", + "ใกใ„ใ", + "ใกใ„ใ•ใ„", + "ใกใˆ", + "ใกใˆใ‚“", + "ใกใ‹", + "ใกใ‹ใ„", + "ใกใใ‚…ใ†", + "ใกใใ‚“", + "ใกใ‘ใ„", + "ใกใ‘ใ„ใš", + "ใกใ‘ใ‚“", + "ใกใ“ใ", + "ใกใ•ใ„", + "ใกใ—ใ", + "ใกใ—ใ‚Šใ‚‡ใ†", + "ใกใš", + "ใกใ›ใ„", + "ใกใใ†", + "ใกใŸใ„", + "ใกใŸใ‚“", + "ใกใกใŠใ‚„", + "ใกใคใ˜ใ‚‡", + "ใกใฆใ", + "ใกใฆใ‚“", + "ใกใฌใ", + "ใกใฌใ‚Š", + "ใกใฎใ†", + "ใกใฒใ‚‡ใ†", + "ใกใธใ„ใ›ใ‚“", + "ใกใปใ†", + "ใกใพใŸ", + "ใกใฟใค", + "ใกใฟใฉใ‚", + "ใกใ‚ใ„ใฉ", + "ใกใ‚…ใ†ใ„", + "ใกใ‚…ใ†ใŠใ†", + "ใกใ‚…ใ†ใŠใ†ใ", + "ใกใ‚…ใ†ใŒใฃใ“ใ†", + "ใกใ‚…ใ†ใ”ใ", + "ใกใ‚†ใ‚Šใ‚‡ใ", + "ใกใ‚‡ใ†ใ•", + "ใกใ‚‡ใ†ใ—", + "ใกใ‚‰ใ—", + "ใกใ‚‰ใฟ", + "ใกใ‚Š", + "ใกใ‚ŠใŒใฟ", + "ใกใ‚‹", + "ใกใ‚‹ใฉ", + "ใกใ‚ใ‚", + "ใกใ‚“ใŸใ„", + "ใกใ‚“ใ‚‚ใ", + "ใคใ„ใ‹", + "ใคใ†ใ‹", + "ใคใ†ใ˜ใ‚‡ใ†", + "ใคใ†ใ˜ใ‚‹", + "ใคใ†ใฏใ‚“", + "ใคใ†ใ‚", + "ใคใˆ", + "ใคใ‹ใ†", + "ใคใ‹ใ‚Œใ‚‹", + "ใคใ", + "ใคใ", + "ใคใใญ", + "ใคใใ‚‹", + "ใคใ‘ใญ", + "ใคใ‘ใ‚‹", + "ใคใ”ใ†", + "ใคใŸ", + "ใคใŸใˆใ‚‹", + "ใคใก", + "ใคใคใ˜", + "ใคใจใ‚ใ‚‹", + "ใคใช", + "ใคใชใŒใ‚‹", + "ใคใชใฟ", + "ใคใญใฅใญ", + "ใคใฎ", + "ใคใฎใ‚‹", + "ใคใฐ", + "ใคใถ", + "ใคใถใ™", + "ใคใผ", + "ใคใพ", + "ใคใพใ‚‰ใชใ„", + "ใคใพใ‚‹", + "ใคใฟ", + "ใคใฟใ", + "ใคใ‚€", + "ใคใ‚ใŸใ„", + "ใคใ‚‚ใ‚‹", + "ใคใ‚„", + "ใคใ‚ˆใ„", + "ใคใ‚Š", + "ใคใ‚‹ใผ", + "ใคใ‚‹ใฟใ", + "ใคใ‚ใ‚‚ใฎ", + "ใคใ‚ใ‚Š", + "ใฆใ‚ใ—", + "ใฆใ‚ใฆ", + "ใฆใ‚ใฟ", + "ใฆใ„ใ‹", + "ใฆใ„ใ", + "ใฆใ„ใ‘ใ„", + "ใฆใ„ใ‘ใค", + "ใฆใ„ใ‘ใคใ‚ใค", + "ใฆใ„ใ“ใ", + "ใฆใ„ใ•ใค", + "ใฆใ„ใ—", + "ใฆใ„ใ—ใ‚ƒ", + "ใฆใ„ใ›ใ„", + "ใฆใ„ใŸใ„", + "ใฆใ„ใฉ", + "ใฆใ„ใญใ„", + "ใฆใ„ใฒใ‚‡ใ†", + "ใฆใ„ใธใ‚“", + "ใฆใ„ใผใ†", + "ใฆใ†ใก", + "ใฆใŠใใ‚Œ", + "ใฆใ", + "ใฆใใณ", + "ใฆใ“", + "ใฆใ•ใŽใ‚‡ใ†", + "ใฆใ•ใ’", + "ใงใ—", + "ใฆใ™ใ‚Š", + "ใฆใใ†", + "ใฆใกใŒใ„", + "ใฆใกใ‚‡ใ†", + "ใฆใคใŒใ", + "ใฆใคใฅใ", + "ใฆใคใ‚„", + "ใงใฌใ‹ใˆ", + "ใฆใฌใ", + "ใฆใฌใใ„", + "ใฆใฎใฒใ‚‰", + "ใฆใฏใ„", + "ใฆใตใ ", + "ใฆใปใฉใ", + "ใฆใปใ‚“", + "ใฆใพ", + "ใฆใพใˆ", + "ใฆใพใใšใ—", + "ใฆใฟใ˜ใ‹", + "ใฆใฟใ‚„ใ’", + "ใฆใ‚‰", + "ใฆใ‚‰ใ™", + "ใงใ‚‹", + "ใฆใ‚Œใณ", + "ใฆใ‚", + "ใฆใ‚ใ‘", + "ใฆใ‚ใŸใ—", + "ใงใ‚“ใ‚ใค", + "ใฆใ‚“ใ„", + "ใฆใ‚“ใ„ใ‚“", + "ใฆใ‚“ใ‹ใ„", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ‘ใ‚“", + "ใงใ‚“ใ’ใ‚“", + "ใฆใ‚“ใ”ใ", + "ใฆใ‚“ใ•ใ„", + "ใฆใ‚“ใ™ใ†", + "ใงใ‚“ใก", + "ใฆใ‚“ใฆใ", + "ใฆใ‚“ใจใ†", + "ใฆใ‚“ใชใ„", + "ใฆใ‚“ใท", + "ใฆใ‚“ใทใ‚‰", + "ใฆใ‚“ใผใ†ใ ใ„", + "ใฆใ‚“ใ‚ใค", + "ใฆใ‚“ใ‚‰ใ", + "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", + "ใงใ‚“ใ‚Šใ‚…ใ†", + "ใงใ‚“ใ‚Šใ‚‡ใ", + "ใงใ‚“ใ‚", + "ใฉใ‚", + "ใฉใ‚ใ„", + "ใจใ„ใ‚Œ", + "ใจใ†ใ‚€ใŽ", + "ใจใŠใ„", + "ใจใŠใ™", + "ใจใ‹ใ„", + "ใจใ‹ใ™", + "ใจใใŠใ‚Š", + "ใจใใฉใ", + "ใจใใ„", + "ใจใใฆใ„", + "ใจใใฆใ‚“", + "ใจใในใค", + "ใจใ‘ใ„", + "ใจใ‘ใ‚‹", + "ใจใ•ใ‹", + "ใจใ—", + "ใจใ—ใ‚‡ใ‹ใ‚“", + "ใจใใ†", + "ใจใŸใ‚“", + "ใจใก", + "ใจใกใ‚…ใ†", + "ใจใคใœใ‚“", + "ใจใคใซใ‚…ใ†", + "ใจใจใฎใˆใ‚‹", + "ใจใชใ„", + "ใจใชใˆใ‚‹", + "ใจใชใ‚Š", + "ใจใฎใ•ใพ", + "ใจใฐใ™", + "ใจใถ", + "ใจใป", + "ใจใปใ†", + "ใฉใพ", + "ใจใพใ‚‹", + "ใจใ‚‰", + "ใจใ‚Š", + "ใจใ‚‹", + "ใจใ‚“ใ‹ใค", + "ใชใ„", + "ใชใ„ใ‹", + "ใชใ„ใ‹ใ", + "ใชใ„ใ“ใ†", + "ใชใ„ใ—ใ‚‡", + "ใชใ„ใ™", + "ใชใ„ใ›ใ‚“", + "ใชใ„ใใ†", + "ใชใ„ใžใ†", + "ใชใŠใ™", + "ใชใ", + "ใชใ“ใ†ใฉ", + "ใชใ•ใ‘", + "ใชใ—", + "ใชใ™", + "ใชใœ", + "ใชใž", + "ใชใŸใงใ“ใ“", + "ใชใค", + "ใชใฃใจใ†", + "ใชใคใ‚„ใ™ใฟ", + "ใชใชใŠใ—", + "ใชใซใ”ใจ", + "ใชใซใ‚‚ใฎ", + "ใชใซใ‚", + "ใชใฏ", + "ใชใณ", + "ใชใตใ ", + "ใชใน", + "ใชใพใ„ใ", + "ใชใพใˆ", + "ใชใพใฟ", + "ใชใฟ", + "ใชใฟใ ", + "ใชใ‚ใ‚‰ใ‹", + "ใชใ‚ใ‚‹", + "ใชใ‚„ใ‚€", + "ใชใ‚‰ใถ", + "ใชใ‚‹", + "ใชใ‚Œใ‚‹", + "ใชใ‚", + "ใชใ‚ใจใณ", + "ใชใ‚ใฐใ‚Š", + "ใซใ‚ใ†", + "ใซใ„ใŒใŸ", + "ใซใ†ใ‘", + "ใซใŠใ„", + "ใซใ‹ใ„", + "ใซใŒใฆ", + "ใซใใณ", + "ใซใ", + "ใซใใ—ใฟ", + "ใซใใพใ‚“", + "ใซใ’ใ‚‹", + "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", + "ใซใ—", + "ใซใ—ใ", + "ใซใ™", + "ใซใ›ใ‚‚ใฎ", + "ใซใกใ˜", + "ใซใกใ˜ใ‚‡ใ†", + "ใซใกใ‚ˆใ†ใณ", + "ใซใฃใ‹", + "ใซใฃใ", + "ใซใฃใ‘ใ„", + "ใซใฃใ“ใ†", + "ใซใฃใ•ใ‚“", + "ใซใฃใ—ใ‚‡ใ", + "ใซใฃใ™ใ†", + "ใซใฃใ›ใ", + "ใซใฃใฆใ„", + "ใซใชใ†", + "ใซใปใ‚“", + "ใซใพใ‚", + "ใซใ‚‚ใค", + "ใซใ‚„ใ‚Š", + "ใซใ‚…ใ†ใ„ใ‚“", + "ใซใ‚…ใ†ใ‹", + "ใซใ‚…ใ†ใ—", + "ใซใ‚…ใ†ใ—ใ‚ƒ", + "ใซใ‚…ใ†ใ ใ‚“", + "ใซใ‚…ใ†ใถ", + "ใซใ‚‰", + "ใซใ‚Šใ‚“ใ—ใ‚ƒ", + "ใซใ‚‹", + "ใซใ‚", + "ใซใ‚ใจใ‚Š", + "ใซใ‚“ใ„", + "ใซใ‚“ใ‹", + "ใซใ‚“ใ", + "ใซใ‚“ใ’ใ‚“", + "ใซใ‚“ใ—ใ", + "ใซใ‚“ใ—ใ‚‡ใ†", + "ใซใ‚“ใ—ใ‚“", + "ใซใ‚“ใšใ†", + "ใซใ‚“ใใ†", + "ใซใ‚“ใŸใ„", + "ใซใ‚“ใก", + "ใซใ‚“ใฆใ„", + "ใซใ‚“ใซใ", + "ใซใ‚“ใท", + "ใซใ‚“ใพใ‚Š", + "ใซใ‚“ใ‚€", + "ใซใ‚“ใ‚ใ„", + "ใซใ‚“ใ‚ˆใ†", + "ใฌใ†", + "ใฌใ‹", + "ใฌใ", + "ใฌใใ‚‚ใ‚Š", + "ใฌใ—", + "ใฌใฎ", + "ใฌใพ", + "ใฌใ‚ใ‚Š", + "ใฌใ‚‰ใ™", + "ใฌใ‚‹", + "ใฌใ‚“ใกใ‚ƒใ", + "ใญใ‚ใ’", + "ใญใ„ใ", + "ใญใ„ใ‚‹", + "ใญใ„ใ‚", + "ใญใŽ", + "ใญใใ›", + "ใญใใŸใ„", + "ใญใใ‚‰", + "ใญใ“", + "ใญใ“ใœ", + "ใญใ“ใ‚€", + "ใญใ•ใ’", + "ใญใ™ใ”ใ™", + "ใญใในใ‚‹", + "ใญใคใ„", + "ใญใคใžใ†", + "ใญใฃใŸใ„", + "ใญใฃใŸใ„ใŽใ‚‡", + "ใญใถใใ", + "ใญใตใ ", + "ใญใผใ†", + "ใญใปใ‚Šใฏใปใ‚Š", + "ใญใพใ", + "ใญใพใ‚ใ—", + "ใญใฟใฟ", + "ใญใ‚€ใ„", + "ใญใ‚‚ใจ", + "ใญใ‚‰ใ†", + "ใญใ‚‹", + "ใญใ‚ใ–", + "ใญใ‚“ใ„ใ‚Š", + "ใญใ‚“ใŠใ—", + "ใญใ‚“ใ‹ใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใ–", + "ใญใ‚“ใ—", + "ใญใ‚“ใกใ‚ƒใ", + "ใญใ‚“ใกใ‚‡ใ†", + "ใญใ‚“ใฉ", + "ใญใ‚“ใด", + "ใญใ‚“ใถใค", + "ใญใ‚“ใพใ", + "ใญใ‚“ใพใค", + "ใญใ‚“ใ‚Šใ", + "ใญใ‚“ใ‚Šใ‚‡ใ†", + "ใญใ‚“ใ‚Œใ„", + "ใฎใ„ใš", + "ใฎใ†", + "ใฎใŠใฅใพ", + "ใฎใŒใ™", + "ใฎใใชใฟ", + "ใฎใ“ใŽใ‚Š", + "ใฎใ“ใ™", + "ใฎใ›ใ‚‹", + "ใฎใžใ", + "ใฎใžใ‚€", + "ใฎใŸใพใ†", + "ใฎใกใปใฉ", + "ใฎใฃใ", + "ใฎใฐใ™", + "ใฎใฏใ‚‰", + "ใฎในใ‚‹", + "ใฎใผใ‚‹", + "ใฎใ‚€", + "ใฎใ‚„ใพ", + "ใฎใ‚‰ใ„ใฌ", + "ใฎใ‚‰ใญใ“", + "ใฎใ‚Š", + "ใฎใ‚‹", + "ใฎใ‚Œใ‚“", + "ใฎใ‚“ใ", + "ใฐใ‚ใ„", + "ใฏใ‚ใ", + "ใฐใ‚ใ•ใ‚“", + "ใฏใ„", + "ใฐใ„ใ‹", + "ใฐใ„ใ", + "ใฏใ„ใ‘ใ‚“", + "ใฏใ„ใ”", + "ใฏใ„ใ“ใ†", + "ใฏใ„ใ—", + "ใฏใ„ใ—ใ‚…ใค", + "ใฏใ„ใ—ใ‚“", + "ใฏใ„ใ™ใ„", + "ใฏใ„ใ›ใค", + "ใฏใ„ใ›ใ‚“", + "ใฏใ„ใใ†", + "ใฏใ„ใก", + "ใฐใ„ใฐใ„", + "ใฏใ†", + "ใฏใˆ", + "ใฏใˆใ‚‹", + "ใฏใŠใ‚‹", + "ใฏใ‹", + "ใฐใ‹", + "ใฏใ‹ใ„", + "ใฏใ‹ใ‚‹", + "ใฏใ", + "ใฏใ", + "ใฏใใ—ใ‚…", + "ใฏใ‘ใ‚“", + "ใฏใ“", + "ใฏใ“ใถ", + "ใฏใ•ใฟ", + "ใฏใ•ใ‚“", + "ใฏใ—", + "ใฏใ—ใ”", + "ใฏใ—ใ‚‹", + "ใฐใ™", + "ใฏใ›ใ‚‹", + "ใฑใใ“ใ‚“", + "ใฏใใ‚“", + "ใฏใŸใ‚“", + "ใฏใก", + "ใฏใกใฟใค", + "ใฏใฃใ‹", + "ใฏใฃใ‹ใ", + "ใฏใฃใ", + "ใฏใฃใใ‚Š", + "ใฏใฃใใค", + "ใฏใฃใ‘ใ‚“", + "ใฏใฃใ“ใ†", + "ใฏใฃใ•ใ‚“", + "ใฏใฃใ—ใ‚ƒ", + "ใฏใฃใ—ใ‚“", + "ใฏใฃใŸใค", + "ใฏใฃใกใ‚ƒใ", + "ใฏใฃใกใ‚…ใ†", + "ใฏใฃใฆใ‚“", + "ใฏใฃใดใ‚‡ใ†", + "ใฏใฃใฝใ†", + "ใฏใฆ", + "ใฏใช", + "ใฏใชใ™", + "ใฏใชใณ", + "ใฏใซใ‹ใ‚€", + "ใฏใญ", + "ใฏใฏ", + "ใฏใถใ‚‰ใ—", + "ใฏใพ", + "ใฏใฟใŒใ", + "ใฏใ‚€", + "ใฏใ‚€ใ‹ใ†", + "ใฏใ‚ใค", + "ใฏใ‚„ใ„", + "ใฏใ‚‰", + "ใฏใ‚‰ใ†", + "ใฏใ‚Š", + "ใฏใ‚‹", + "ใฏใ‚Œ", + "ใฏใ‚ใ†ใƒใ‚“", + "ใฏใ‚ใ„", + "ใฏใ‚“ใ„", + "ใฏใ‚“ใˆใ„", + "ใฏใ‚“ใˆใ‚“", + "ใฏใ‚“ใŠใ‚“", + "ใฏใ‚“ใ‹ใ", + "ใฏใ‚“ใ‹ใก", + "ใฏใ‚“ใใ‚‡ใ†", + "ใฏใ‚“ใ“", + "ใฏใ‚“ใ“ใ†", + "ใฏใ‚“ใ—ใ‚ƒ", + "ใฏใ‚“ใ—ใ‚“", + "ใฏใ‚“ใ™ใ†", + "ใฏใ‚“ใŸใ„", + "ใฏใ‚“ใ ใ‚“", + "ใฑใ‚“ใก", + "ใฑใ‚“ใค", + "ใฏใ‚“ใฆใ„", + "ใฏใ‚“ใฆใ‚“", + "ใฏใ‚“ใจใ—", + "ใฏใ‚“ใฎใ†", + "ใฏใ‚“ใฑ", + "ใฏใ‚“ใถใ‚“", + "ใฏใ‚“ใบใ‚“", + "ใฏใ‚“ใผใ†ใ", + "ใฏใ‚“ใ‚ใ„", + "ใฏใ‚“ใ‚ใ‚“", + "ใฏใ‚“ใ‚‰ใ‚“", + "ใฏใ‚“ใ‚ใ‚“", + "ใฒใ„ใ", + "ใฒใ†ใ‚“", + "ใฒใˆใ‚‹", + "ใฒใ‹ใ", + "ใฒใ‹ใ‚Š", + "ใฒใ‹ใ‚“", + "ใฒใ", + "ใฒใใ„", + "ใฒใ‘ใค", + "ใฒใ“ใ†ใ", + "ใฒใ“ใ", + "ใฒใ–", + "ใดใ–", + "ใฒใ•ใ„", + "ใฒใ•ใ—ใถใ‚Š", + "ใฒใ•ใ‚“", + "ใฒใ—", + "ใฒใ˜", + "ใฒใ—ใ‚‡", + "ใฒใ˜ใ‚‡ใ†", + "ใฒใใ‹", + "ใฒใใ‚€", + "ใฒใŸใ‚€ใ", + "ใฒใŸใ‚‹", + "ใฒใคใŽ", + "ใฒใฃใ“ใ—", + "ใฒใฃใ—", + "ใฒใฃใ™", + "ใฒใคใœใ‚“", + "ใฒใคใ‚ˆใ†", + "ใฒใฆใ„", + "ใฒใจ", + "ใฒใจใ”ใฟ", + "ใฒใช", + "ใฒใชใ‚“", + "ใฒใญใ‚‹", + "ใฒใฏใ‚“", + "ใฒใณใ", + "ใฒใฒใ‚‡ใ†", + "ใฒใต", + "ใฒใปใ†", + "ใฒใพ", + "ใฒใพใ‚“", + "ใฒใฟใค", + "ใฒใ‚", + "ใฒใ‚ใ„", + "ใฒใ‚ใ˜ใ—", + "ใฒใ‚‚", + "ใฒใ‚„ใ‘", + "ใฒใ‚„ใ™", + "ใฒใ‚†", + "ใฒใ‚ˆใ†", + "ใณใ‚‡ใ†ใ", + "ใฒใ‚‰ใ", + "ใฒใ‚Šใค", + "ใฒใ‚Šใ‚‡ใ†", + "ใฒใ‚‹", + "ใฒใ‚Œใ„", + "ใฒใ‚ใ„", + "ใฒใ‚ใ†", + "ใฒใ‚", + "ใฒใ‚“ใ‹ใ", + "ใฒใ‚“ใ‘ใค", + "ใฒใ‚“ใ“ใ‚“", + "ใฒใ‚“ใ—", + "ใฒใ‚“ใ—ใค", + "ใฒใ‚“ใ—ใ‚…", + "ใฒใ‚“ใใ†", + "ใดใ‚“ใก", + "ใฒใ‚“ใฑใ‚“", + "ใณใ‚“ใผใ†", + "ใตใ‚ใ‚“", + "ใตใ„ใ†ใก", + "ใตใ†ใ‘ใ„", + "ใตใ†ใ›ใ‚“", + "ใตใ†ใจใ†", + "ใตใ†ใต", + "ใตใˆ", + "ใตใˆใ‚‹", + "ใตใŠใ‚“", + "ใตใ‹", + "ใตใ‹ใ„", + "ใตใใ‚“", + "ใตใ", + "ใตใใ–ใค", + "ใตใ“ใ†", + "ใตใ•ใ„", + "ใตใ–ใ„", + "ใตใ—ใŽ", + "ใตใ˜ใฟ", + "ใตใ™ใพ", + "ใตใ›ใ„", + "ใตใ›ใ", + "ใตใใ", + "ใตใŸ", + "ใตใŸใ‚“", + "ใตใก", + "ใตใกใ‚‡ใ†", + "ใตใคใ†", + "ใตใฃใ‹ใค", + "ใตใฃใ", + "ใตใฃใใ‚“", + "ใตใฃใ“ใ", + "ใตใจใ‚‹", + "ใตใจใ‚“", + "ใตใญ", + "ใตใฎใ†", + "ใตใฏใ„", + "ใตใฒใ‚‡ใ†", + "ใตใธใ‚“", + "ใตใพใ‚“", + "ใตใฟใ‚“", + "ใตใ‚€", + "ใตใ‚ใค", + "ใตใ‚ใ‚“", + "ใตใ‚†", + "ใตใ‚ˆใ†", + "ใตใ‚Šใ“", + "ใตใ‚Šใ‚‹", + "ใตใ‚‹", + "ใตใ‚‹ใ„", + "ใตใ‚", + "ใตใ‚“ใ„ใ", + "ใตใ‚“ใ‹", + "ใถใ‚“ใ‹", + "ใถใ‚“ใ", + "ใตใ‚“ใ—ใค", + "ใถใ‚“ใ›ใ", + "ใตใ‚“ใใ†", + "ใธใ„", + "ใธใ„ใ", + "ใธใ„ใ•", + "ใธใ„ใ‚", + "ใธใใŒ", + "ใธใ“ใ‚€", + "ใธใ", + "ใธใŸ", + "ในใค", + "ในใฃใฉ", + "ใบใฃใจ", + "ใธใณ", + "ใธใ‚„", + "ใธใ‚‹", + "ใธใ‚“ใ‹", + "ใธใ‚“ใ‹ใ‚“", + "ใธใ‚“ใใ‚ƒใ", + "ใธใ‚“ใใ‚“", + "ใธใ‚“ใ•ใ„", + "ใธใ‚“ใŸใ„", + "ใปใ‚ใ‚“", + "ใปใ„ใ", + "ใปใ†ใปใ†", + "ใปใˆใ‚‹", + "ใปใŠใ‚“", + "ใปใ‹ใ‚“", + "ใปใใ‚‡ใ†", + "ใผใใ‚“", + "ใปใใ‚", + "ใปใ‘ใค", + "ใปใ‘ใ‚“", + "ใปใ“ใ†", + "ใปใ“ใ‚‹", + "ใปใ•", + "ใปใ—", + "ใปใ—ใค", + "ใปใ—ใ‚…", + "ใปใ—ใ‚‡ใ†", + "ใปใ™", + "ใปใ›ใ„", + "ใผใ›ใ„", + "ใปใใ„", + "ใปใใ", + "ใปใŸใฆ", + "ใปใŸใ‚‹", + "ใผใก", + "ใปใฃใใ‚‡ใ", + "ใปใฃใ•", + "ใปใฃใŸใ‚“", + "ใปใจใ‚“ใฉ", + "ใปใ‚ใ‚‹", + "ใปใ‚‹", + "ใปใ‚“ใ„", + "ใปใ‚“ใ", + "ใปใ‚“ใ‘", + "ใปใ‚“ใ—ใค", + "ใพใ„ใซใก", + "ใพใ†", + "ใพใ‹ใ„", + "ใพใ‹ใ›ใ‚‹", + "ใพใ", + "ใพใ‘ใ‚‹", + "ใพใ“ใจ", + "ใพใ•ใค", + "ใพใ™ใ", + "ใพใœใ‚‹", + "ใพใก", + "ใพใค", + "ใพใคใ‚Š", + "ใพใจใ‚", + "ใพใชใถ", + "ใพใฌใ‘", + "ใพใญ", + "ใพใญใ", + "ใพใฒ", + "ใพใปใ†", + "ใพใ‚", + "ใพใ‚‚ใ‚‹", + "ใพใ‚†ใ’", + "ใพใ‚ˆใ†", + "ใพใ‚‹", + "ใพใ‚ใ‚„ใ‹", + "ใพใ‚ใ™", + "ใพใ‚ใ‚Š", + "ใพใ‚“ใŒ", + "ใพใ‚“ใ‹ใ„", + "ใพใ‚“ใใค", + "ใพใ‚“ใžใ", + "ใฟใ„ใ‚‰", + "ใฟใ†ใก", + "ใฟใ‹ใŸ", + "ใฟใ‹ใ‚“", + "ใฟใŽ", + "ใฟใ‘ใ‚“", + "ใฟใ“ใ‚“", + "ใฟใ™ใ„", + "ใฟใ™ใˆใ‚‹", + "ใฟใ›", + "ใฟใ", + "ใฟใก", + "ใฟใฆใ„", + "ใฟใจใ‚ใ‚‹", + "ใฟใชใฟใ‹ใ•ใ„", + "ใฟใญใ‚‰ใ‚‹", + "ใฟใฎใ†", + "ใฟใปใ‚“", + "ใฟใฟ", + "ใฟใ‚‚ใจ", + "ใฟใ‚„ใ’", + "ใฟใ‚‰ใ„", + "ใฟใ‚Šใ‚‡ใ", + "ใฟใ‚‹", + "ใฟใ‚ใ", + "ใ‚€ใˆใ", + "ใ‚€ใˆใ‚“", + "ใ‚€ใ‹ใ—", + "ใ‚€ใ", + "ใ‚€ใ“", + "ใ‚€ใ•ใผใ‚‹", + "ใ‚€ใ—", + "ใ‚€ใ™ใ“", + "ใ‚€ใ™ใ‚", + "ใ‚€ใ›ใ‚‹", + "ใ‚€ใ›ใ‚“", + "ใ‚€ใ ", + "ใ‚€ใก", + "ใ‚€ใชใ—ใ„", + "ใ‚€ใญ", + "ใ‚€ใฎใ†", + "ใ‚€ใ‚„ใฟ", + "ใ‚€ใ‚ˆใ†", + "ใ‚€ใ‚‰", + "ใ‚€ใ‚Š", + "ใ‚€ใ‚Šใ‚‡ใ†", + "ใ‚€ใ‚Œ", + "ใ‚€ใ‚ใ‚“", + "ใ‚‚ใ†ใฉใ†ใ‘ใ‚“", + "ใ‚‚ใˆใ‚‹", + "ใ‚‚ใŽ", + "ใ‚‚ใใ—", + "ใ‚‚ใใฆใ", + "ใ‚‚ใ—", + "ใ‚‚ใ‚“ใ", + "ใ‚‚ใ‚“ใ ใ„", + "ใ‚„ใ™ใ„", + "ใ‚„ใ™ใฟ", + "ใ‚„ใใ†", + "ใ‚„ใŸใ„", + "ใ‚„ใกใ‚“", + "ใ‚„ใญ", + "ใ‚„ใถใ‚‹", + "ใ‚„ใพ", + "ใ‚„ใฟ", + "ใ‚„ใ‚ใ‚‹", + "ใ‚„ใ‚„ใ“ใ—ใ„", + "ใ‚„ใ‚ˆใ„", + "ใ‚„ใ‚Š", + "ใ‚„ใ‚ใ‚‰ใ‹ใ„", + "ใ‚†ใ‘ใค", + "ใ‚†ใ—ใ‚…ใค", + "ใ‚†ใ›ใ‚“", + "ใ‚†ใใ†", + "ใ‚†ใŸใ‹", + "ใ‚†ใกใ‚ƒใ", + "ใ‚†ใงใ‚‹", + "ใ‚†ใณ", + "ใ‚†ใณใ‚", + "ใ‚†ใ‚", + "ใ‚†ใ‚Œใ‚‹", + "ใ‚ˆใ†", + "ใ‚ˆใ‹ใœ", + "ใ‚ˆใ‹ใ‚“", + "ใ‚ˆใใ‚“", + "ใ‚ˆใใ›ใ„", + "ใ‚ˆใใผใ†", + "ใ‚ˆใ‘ใ„", + "ใ‚ˆใ•ใ‚“", + "ใ‚ˆใใ†", + "ใ‚ˆใใ", + "ใ‚ˆใก", + "ใ‚ˆใฆใ„", + "ใ‚ˆใฉใŒใ‚ใ", + "ใ‚ˆใญใค", + "ใ‚ˆใ‚€", + "ใ‚ˆใ‚", + "ใ‚ˆใ‚„ใ", + "ใ‚ˆใ‚†ใ†", + "ใ‚ˆใ‚‹", + "ใ‚ˆใ‚ใ“ใถ", + "ใ‚‰ใ„ใ†", + "ใ‚‰ใใŒใ", + "ใ‚‰ใใ”", + "ใ‚‰ใใ•ใค", + "ใ‚‰ใใ ", + "ใ‚‰ใใŸใ‚“", + "ใ‚‰ใ—ใ‚“ใฐใ‚“", + "ใ‚‰ใ›ใ‚“", + "ใ‚‰ใžใ", + "ใ‚‰ใŸใ„", + "ใ‚‰ใก", + "ใ‚‰ใฃใ‹", + "ใ‚‰ใฃใ‹ใ›ใ„", + "ใ‚‰ใ‚Œใค", + "ใ‚Šใˆใ", + "ใ‚Šใ‹", + "ใ‚Šใ‹ใ„", + "ใ‚Šใใ•ใ", + "ใ‚Šใใ›ใค", + "ใ‚Šใ", + "ใ‚Šใใใ‚“", + "ใ‚Šใใค", + "ใ‚Šใ‘ใ‚“", + "ใ‚Šใ“ใ†", + "ใ‚Šใ—", + "ใ‚Šใ™", + "ใ‚Šใ›ใ„", + "ใ‚Šใใ†", + "ใ‚Šใใ", + "ใ‚Šใฆใ‚“", + "ใ‚Šใญใ‚“", + "ใ‚Šใ‚…ใ†", + "ใ‚Šใ‚†ใ†", + "ใ‚Šใ‚…ใ†ใŒใ", + "ใ‚Šใ‚…ใ†ใ“ใ†", + "ใ‚Šใ‚…ใ†ใ—", + "ใ‚Šใ‚…ใ†ใญใ‚“", + "ใ‚Šใ‚ˆใ†", + "ใ‚Šใ‚‡ใ†ใ‹ใ„", + "ใ‚Šใ‚‡ใ†ใใ‚“", + "ใ‚Šใ‚‡ใ†ใ—ใ‚“", + "ใ‚Šใ‚‡ใ†ใฆ", + "ใ‚Šใ‚‡ใ†ใฉ", + "ใ‚Šใ‚‡ใ†ใปใ†", + "ใ‚Šใ‚‡ใ†ใ‚Š", + "ใ‚Šใ‚Šใ", + "ใ‚Šใ‚Œใ", + "ใ‚Šใ‚ใ‚“", + "ใ‚Šใ‚“ใ”", + "ใ‚‹ใ„ใ˜", + "ใ‚‹ใ™", + "ใ‚Œใ„ใ‹ใ‚“", + "ใ‚Œใ„ใŽ", + "ใ‚Œใ„ใ›ใ„", + "ใ‚Œใ„ใžใ†ใ“", + "ใ‚Œใ„ใจใ†", + "ใ‚Œใใ—", + "ใ‚Œใใ ใ„", + "ใ‚Œใ‚“ใ‚ใ„", + "ใ‚Œใ‚“ใ‘ใ„", + "ใ‚Œใ‚“ใ‘ใค", + "ใ‚Œใ‚“ใ“ใ†", + "ใ‚Œใ‚“ใ“ใ‚“", + "ใ‚Œใ‚“ใ•", + "ใ‚Œใ‚“ใ•ใ„", + "ใ‚Œใ‚“ใ•ใ", + "ใ‚Œใ‚“ใ—ใ‚ƒ", + "ใ‚Œใ‚“ใ—ใ‚…ใ†", + "ใ‚Œใ‚“ใžใ", + "ใ‚ใ†ใ‹", + "ใ‚ใ†ใ”", + "ใ‚ใ†ใ˜ใ‚“", + "ใ‚ใ†ใใ", + "ใ‚ใ‹", + "ใ‚ใใŒ", + "ใ‚ใ“ใค", + "ใ‚ใ—ใ‚…ใค", + "ใ‚ใ›ใ‚“", + "ใ‚ใฆใ‚“", + "ใ‚ใ‚ใ‚“", + "ใ‚ใ‚Œใค", + "ใ‚ใ‚“ใŽ", + "ใ‚ใ‚“ใฑ", + "ใ‚ใ‚“ใถใ‚“", + "ใ‚ใ‚“ใ‚Š", + "ใ‚ใ˜ใพใ—" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Japanese"; + populate_maps(); } - else - { - trimmed_word_map[*it] = ii; - } - } - return trimmed_word_map; + }; } + +#endif diff --git a/src/mnemonics/language_base.h b/src/mnemonics/language_base.h new file mode 100644 index 000000000..90ff9c334 --- /dev/null +++ b/src/mnemonics/language_base.h @@ -0,0 +1,61 @@ +#ifndef LANGUAGE_BASE_H +#define LANGUAGE_BASE_H + +#include +#include +#include + +namespace Language +{ + const int unique_prefix_length = 4; + class Base + { + protected: + std::vector *word_list; + std::unordered_map *word_map; + std::unordered_map *trimmed_word_map; + std::string language_name; + void populate_maps() + { + int ii; + std::vector::iterator it; + for (it = word_list->begin(), ii = 0; it != word_list->end(); it++, ii++) + { + (*word_map)[*it] = ii; + if (it->length() > 4) + { + (*trimmed_word_map)[it->substr(0, 4)] = ii; + } + else + { + (*trimmed_word_map)[*it] = ii; + } + } + } + public: + Base() + { + word_list = new std::vector; + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + } + const std::vector& get_word_list() const + { + return *word_list; + } + const std::unordered_map& get_word_map() const + { + return *word_map; + } + const std::unordered_map& get_trimmed_word_map() const + { + return *trimmed_word_map; + } + std::string get_language_name() const + { + return language_name; + } + }; +} + +#endif diff --git a/src/mnemonics/old_english.h b/src/mnemonics/old_english.h index 3a315f6ef..dc36f5119 100644 --- a/src/mnemonics/old_english.h +++ b/src/mnemonics/old_english.h @@ -1,1676 +1,1652 @@ +#ifndef OLD_ENGLISH_H +#define OLD_ENGLISH_H + #include #include +#include "language_base.h" +#include -std::vector& word_list_old_english() -{ - static std::vector word_list( - "like", - "just", - "love", - "know", - "never", - "want", - "time", - "out", - "there", - "make", - "look", - "eye", - "down", - "only", - "think", - "heart", - "back", - "then", - "into", - "about", - "more", - "away", - "still", - "them", - "take", - "thing", - "even", - "through", - "long", - "always", - "world", - "too", - "friend", - "tell", - "try", - "hand", - "thought", - "over", - "here", - "other", - "need", - "smile", - "again", - "much", - "cry", - "been", - "night", - "ever", - "little", - "said", - "end", - "some", - "those", - "around", - "mind", - "people", - "girl", - "leave", - "dream", - "left", - "turn", - "myself", - "give", - "nothing", - "really", - "off", - "before", - "something", - "find", - "walk", - "wish", - "good", - "once", - "place", - "ask", - "stop", - "keep", - "watch", - "seem", - "everything", - "wait", - "got", - "yet", - "made", - "remember", - "start", - "alone", - "run", - "hope", - "maybe", - "believe", - "body", - "hate", - "after", - "close", - "talk", - "stand", - "own", - "each", - "hurt", - "help", - "home", - "god", - "soul", - "new", - "many", - "two", - "inside", - "should", - "true", - "first", - "fear", - "mean", - "better", - "play", - "another", - "gone", - "change", - "use", - "wonder", - "someone", - "hair", - "cold", - "open", - "best", - "any", - "behind", - "happen", - "water", - "dark", - "laugh", - "stay", - "forever", - "name", - "work", - "show", - "sky", - "break", - "came", - "deep", - "door", - "put", - "black", - "together", - "upon", - "happy", - "such", - "great", - "white", - "matter", - "fill", - "past", - "please", - "burn", - "cause", - "enough", - "touch", - "moment", - "soon", - "voice", - "scream", - "anything", - "stare", - "sound", - "red", - "everyone", - "hide", - "kiss", - "truth", - "death", - "beautiful", - "mine", - "blood", - "broken", - "very", - "pass", - "next", - "forget", - "tree", - "wrong", - "air", - "mother", - "understand", - "lip", - "hit", - "wall", - "memory", - "sleep", - "free", - "high", - "realize", - "school", - "might", - "skin", - "sweet", - "perfect", - "blue", - "kill", - "breath", - "dance", - "against", - "fly", - "between", - "grow", - "strong", - "under", - "listen", - "bring", - "sometimes", - "speak", - "pull", - "person", - "become", - "family", - "begin", - "ground", - "real", - "small", - "father", - "sure", - "feet", - "rest", - "young", - "finally", - "land", - "across", - "today", - "different", - "guy", - "line", - "fire", - "reason", - "reach", - "second", - "slowly", - "write", - "eat", - "smell", - "mouth", - "step", - "learn", - "three", - "floor", - "promise", - "breathe", - "darkness", - "push", - "earth", - "guess", - "save", - "song", - "above", - "along", - "both", - "color", - "house", - "almost", - "sorry", - "anymore", - "brother", - "okay", - "dear", - "game", - "fade", - "already", - "apart", - "warm", - "beauty", - "heard", - "notice", - "question", - "shine", - "began", - "piece", - "whole", - "shadow", - "secret", - "street", - "within", - "finger", - "point", - "morning", - "whisper", - "child", - "moon", - "green", - "story", - "glass", - "kid", - "silence", - "since", - "soft", - "yourself", - "empty", - "shall", - "angel", - "answer", - "baby", - "bright", - "dad", - "path", - "worry", - "hour", - "drop", - "follow", - "power", - "war", - "half", - "flow", - "heaven", - "act", - "chance", - "fact", - "least", - "tired", - "children", - "near", - "quite", - "afraid", - "rise", - "sea", - "taste", - "window", - "cover", - "nice", - "trust", - "lot", - "sad", - "cool", - "force", - "peace", - "return", - "blind", - "easy", - "ready", - "roll", - "rose", - "drive", - "held", - "music", - "beneath", - "hang", - "mom", - "paint", - "emotion", - "quiet", - "clear", - "cloud", - "few", - "pretty", - "bird", - "outside", - "paper", - "picture", - "front", - "rock", - "simple", - "anyone", - "meant", - "reality", - "road", - "sense", - "waste", - "bit", - "leaf", - "thank", - "happiness", - "meet", - "men", - "smoke", - "truly", - "decide", - "self", - "age", - "book", - "form", - "alive", - "carry", - "escape", - "damn", - "instead", - "able", - "ice", - "minute", - "throw", - "catch", - "leg", - "ring", - "course", - "goodbye", - "lead", - "poem", - "sick", - "corner", - "desire", - "known", - "problem", - "remind", - "shoulder", - "suppose", - "toward", - "wave", - "drink", - "jump", - "woman", - "pretend", - "sister", - "week", - "human", - "joy", - "crack", - "grey", - "pray", - "surprise", - "dry", - "knee", - "less", - "search", - "bleed", - "caught", - "clean", - "embrace", - "future", - "king", - "son", - "sorrow", - "chest", - "hug", - "remain", - "sat", - "worth", - "blow", - "daddy", - "final", - "parent", - "tight", - "also", - "create", - "lonely", - "safe", - "cross", - "dress", - "evil", - "silent", - "bone", - "fate", - "perhaps", - "anger", - "class", - "scar", - "snow", - "tiny", - "tonight", - "continue", - "control", - "dog", - "edge", - "mirror", - "month", - "suddenly", - "comfort", - "given", - "loud", - "quickly", - "gaze", - "plan", - "rush", - "stone", - "town", - "battle", - "ignore", - "spirit", - "stood", - "stupid", - "yours", - "brown", - "build", - "dust", - "hey", - "kept", - "pay", - "phone", - "twist", - "although", - "ball", - "beyond", - "hidden", - "nose", - "taken", - "fail", - "float", - "pure", - "somehow", - "wash", - "wrap", - "angry", - "cheek", - "creature", - "forgotten", - "heat", - "rip", - "single", - "space", - "special", - "weak", - "whatever", - "yell", - "anyway", - "blame", - "job", - "choose", - "country", - "curse", - "drift", - "echo", - "figure", - "grew", - "laughter", - "neck", - "suffer", - "worse", - "yeah", - "disappear", - "foot", - "forward", - "knife", - "mess", - "somewhere", - "stomach", - "storm", - "beg", - "idea", - "lift", - "offer", - "breeze", - "field", - "five", - "often", - "simply", - "stuck", - "win", - "allow", - "confuse", - "enjoy", - "except", - "flower", - "seek", - "strength", - "calm", - "grin", - "gun", - "heavy", - "hill", - "large", - "ocean", - "shoe", - "sigh", - "straight", - "summer", - "tongue", - "accept", - "crazy", - "everyday", - "exist", - "grass", - "mistake", - "sent", - "shut", - "surround", - "table", - "ache", - "brain", - "destroy", - "heal", - "nature", - "shout", - "sign", - "stain", - "choice", - "doubt", - "glance", - "glow", - "mountain", - "queen", - "stranger", - "throat", - "tomorrow", - "city", - "either", - "fish", - "flame", - "rather", - "shape", - "spin", - "spread", - "ash", - "distance", - "finish", - "image", - "imagine", - "important", - "nobody", - "shatter", - "warmth", - "became", - "feed", - "flesh", - "funny", - "lust", - "shirt", - "trouble", - "yellow", - "attention", - "bare", - "bite", - "money", - "protect", - "amaze", - "appear", - "born", - "choke", - "completely", - "daughter", - "fresh", - "friendship", - "gentle", - "probably", - "six", - "deserve", - "expect", - "grab", - "middle", - "nightmare", - "river", - "thousand", - "weight", - "worst", - "wound", - "barely", - "bottle", - "cream", - "regret", - "relationship", - "stick", - "test", - "crush", - "endless", - "fault", - "itself", - "rule", - "spill", - "art", - "circle", - "join", - "kick", - "mask", - "master", - "passion", - "quick", - "raise", - "smooth", - "unless", - "wander", - "actually", - "broke", - "chair", - "deal", - "favorite", - "gift", - "note", - "number", - "sweat", - "box", - "chill", - "clothes", - "lady", - "mark", - "park", - "poor", - "sadness", - "tie", - "animal", - "belong", - "brush", - "consume", - "dawn", - "forest", - "innocent", - "pen", - "pride", - "stream", - "thick", - "clay", - "complete", - "count", - "draw", - "faith", - "press", - "silver", - "struggle", - "surface", - "taught", - "teach", - "wet", - "bless", - "chase", - "climb", - "enter", - "letter", - "melt", - "metal", - "movie", - "stretch", - "swing", - "vision", - "wife", - "beside", - "crash", - "forgot", - "guide", - "haunt", - "joke", - "knock", - "plant", - "pour", - "prove", - "reveal", - "steal", - "stuff", - "trip", - "wood", - "wrist", - "bother", - "bottom", - "crawl", - "crowd", - "fix", - "forgive", - "frown", - "grace", - "loose", - "lucky", - "party", - "release", - "surely", - "survive", - "teacher", - "gently", - "grip", - "speed", - "suicide", - "travel", - "treat", - "vein", - "written", - "cage", - "chain", - "conversation", - "date", - "enemy", - "however", - "interest", - "million", - "page", - "pink", - "proud", - "sway", - "themselves", - "winter", - "church", - "cruel", - "cup", - "demon", - "experience", - "freedom", - "pair", - "pop", - "purpose", - "respect", - "shoot", - "softly", - "state", - "strange", - "bar", - "birth", - "curl", - "dirt", - "excuse", - "lord", - "lovely", - "monster", - "order", - "pack", - "pants", - "pool", - "scene", - "seven", - "shame", - "slide", - "ugly", - "among", - "blade", - "blonde", - "closet", - "creek", - "deny", - "drug", - "eternity", - "gain", - "grade", - "handle", - "key", - "linger", - "pale", - "prepare", - "swallow", - "swim", - "tremble", - "wheel", - "won", - "cast", - "cigarette", - "claim", - "college", - "direction", - "dirty", - "gather", - "ghost", - "hundred", - "loss", - "lung", - "orange", - "present", - "swear", - "swirl", - "twice", - "wild", - "bitter", - "blanket", - "doctor", - "everywhere", - "flash", - "grown", - "knowledge", - "numb", - "pressure", - "radio", - "repeat", - "ruin", - "spend", - "unknown", - "buy", - "clock", - "devil", - "early", - "false", - "fantasy", - "pound", - "precious", - "refuse", - "sheet", - "teeth", - "welcome", - "add", - "ahead", - "block", - "bury", - "caress", - "content", - "depth", - "despite", - "distant", - "marry", - "purple", - "threw", - "whenever", - "bomb", - "dull", - "easily", - "grasp", - "hospital", - "innocence", - "normal", - "receive", - "reply", - "rhyme", - "shade", - "someday", - "sword", - "toe", - "visit", - "asleep", - "bought", - "center", - "consider", - "flat", - "hero", - "history", - "ink", - "insane", - "muscle", - "mystery", - "pocket", - "reflection", - "shove", - "silently", - "smart", - "soldier", - "spot", - "stress", - "train", - "type", - "view", - "whether", - "bus", - "energy", - "explain", - "holy", - "hunger", - "inch", - "magic", - "mix", - "noise", - "nowhere", - "prayer", - "presence", - "shock", - "snap", - "spider", - "study", - "thunder", - "trail", - "admit", - "agree", - "bag", - "bang", - "bound", - "butterfly", - "cute", - "exactly", - "explode", - "familiar", - "fold", - "further", - "pierce", - "reflect", - "scent", - "selfish", - "sharp", - "sink", - "spring", - "stumble", - "universe", - "weep", - "women", - "wonderful", - "action", - "ancient", - "attempt", - "avoid", - "birthday", - "branch", - "chocolate", - "core", - "depress", - "drunk", - "especially", - "focus", - "fruit", - "honest", - "match", - "palm", - "perfectly", - "pillow", - "pity", - "poison", - "roar", - "shift", - "slightly", - "thump", - "truck", - "tune", - "twenty", - "unable", - "wipe", - "wrote", - "coat", - "constant", - "dinner", - "drove", - "egg", - "eternal", - "flight", - "flood", - "frame", - "freak", - "gasp", - "glad", - "hollow", - "motion", - "peer", - "plastic", - "root", - "screen", - "season", - "sting", - "strike", - "team", - "unlike", - "victim", - "volume", - "warn", - "weird", - "attack", - "await", - "awake", - "built", - "charm", - "crave", - "despair", - "fought", - "grant", - "grief", - "horse", - "limit", - "message", - "ripple", - "sanity", - "scatter", - "serve", - "split", - "string", - "trick", - "annoy", - "blur", - "boat", - "brave", - "clearly", - "cling", - "connect", - "fist", - "forth", - "imagination", - "iron", - "jock", - "judge", - "lesson", - "milk", - "misery", - "nail", - "naked", - "ourselves", - "poet", - "possible", - "princess", - "sail", - "size", - "snake", - "society", - "stroke", - "torture", - "toss", - "trace", - "wise", - "bloom", - "bullet", - "cell", - "check", - "cost", - "darling", - "during", - "footstep", - "fragile", - "hallway", - "hardly", - "horizon", - "invisible", - "journey", - "midnight", - "mud", - "nod", - "pause", - "relax", - "shiver", - "sudden", - "value", - "youth", - "abuse", - "admire", - "blink", - "breast", - "bruise", - "constantly", - "couple", - "creep", - "curve", - "difference", - "dumb", - "emptiness", - "gotta", - "honor", - "plain", - "planet", - "recall", - "rub", - "ship", - "slam", - "soar", - "somebody", - "tightly", - "weather", - "adore", - "approach", - "bond", - "bread", - "burst", - "candle", - "coffee", - "cousin", - "crime", - "desert", - "flutter", - "frozen", - "grand", - "heel", - "hello", - "language", - "level", - "movement", - "pleasure", - "powerful", - "random", - "rhythm", - "settle", - "silly", - "slap", - "sort", - "spoken", - "steel", - "threaten", - "tumble", - "upset", - "aside", - "awkward", - "bee", - "blank", - "board", - "button", - "card", - "carefully", - "complain", - "crap", - "deeply", - "discover", - "drag", - "dread", - "effort", - "entire", - "fairy", - "giant", - "gotten", - "greet", - "illusion", - "jeans", - "leap", - "liquid", - "march", - "mend", - "nervous", - "nine", - "replace", - "rope", - "spine", - "stole", - "terror", - "accident", - "apple", - "balance", - "boom", - "childhood", - "collect", - "demand", - "depression", - "eventually", - "faint", - "glare", - "goal", - "group", - "honey", - "kitchen", - "laid", - "limb", - "machine", - "mere", - "mold", - "murder", - "nerve", - "painful", - "poetry", - "prince", - "rabbit", - "shelter", - "shore", - "shower", - "soothe", - "stair", - "steady", - "sunlight", - "tangle", - "tease", - "treasure", - "uncle", - "begun", - "bliss", - "canvas", - "cheer", - "claw", - "clutch", - "commit", - "crimson", - "crystal", - "delight", - "doll", - "existence", - "express", - "fog", - "football", - "gay", - "goose", - "guard", - "hatred", - "illuminate", - "mass", - "math", - "mourn", - "rich", - "rough", - "skip", - "stir", - "student", - "style", - "support", - "thorn", - "tough", - "yard", - "yearn", - "yesterday", - "advice", - "appreciate", - "autumn", - "bank", - "beam", - "bowl", - "capture", - "carve", - "collapse", - "confusion", - "creation", - "dove", - "feather", - "girlfriend", - "glory", - "government", - "harsh", - "hop", - "inner", - "loser", - "moonlight", - "neighbor", - "neither", - "peach", - "pig", - "praise", - "screw", - "shield", - "shimmer", - "sneak", - "stab", - "subject", - "throughout", - "thrown", - "tower", - "twirl", - "wow", - "army", - "arrive", - "bathroom", - "bump", - "cease", - "cookie", - "couch", - "courage", - "dim", - "guilt", - "howl", - "hum", - "husband", - "insult", - "led", - "lunch", - "mock", - "mostly", - "natural", - "nearly", - "needle", - "nerd", - "peaceful", - "perfection", - "pile", - "price", - "remove", - "roam", - "sanctuary", - "serious", - "shiny", - "shook", - "sob", - "stolen", - "tap", - "vain", - "void", - "warrior", - "wrinkle", - "affection", - "apologize", - "blossom", - "bounce", - "bridge", - "cheap", - "crumble", - "decision", - "descend", - "desperately", - "dig", - "dot", - "flip", - "frighten", - "heartbeat", - "huge", - "lazy", - "lick", - "odd", - "opinion", - "process", - "puzzle", - "quietly", - "retreat", - "score", - "sentence", - "separate", - "situation", - "skill", - "soak", - "square", - "stray", - "taint", - "task", - "tide", - "underneath", - "veil", - "whistle", - "anywhere", - "bedroom", - "bid", - "bloody", - "burden", - "careful", - "compare", - "concern", - "curtain", - "decay", - "defeat", - "describe", - "double", - "dreamer", - "driver", - "dwell", - "evening", - "flare", - "flicker", - "grandma", - "guitar", - "harm", - "horrible", - "hungry", - "indeed", - "lace", - "melody", - "monkey", - "nation", - "object", - "obviously", - "rainbow", - "salt", - "scratch", - "shown", - "shy", - "stage", - "stun", - "third", - "tickle", - "useless", - "weakness", - "worship", - "worthless", - "afternoon", - "beard", - "boyfriend", - "bubble", - "busy", - "certain", - "chin", - "concrete", - "desk", - "diamond", - "doom", - "drawn", - "due", - "felicity", - "freeze", - "frost", - "garden", - "glide", - "harmony", - "hopefully", - "hunt", - "jealous", - "lightning", - "mama", - "mercy", - "peel", - "physical", - "position", - "pulse", - "punch", - "quit", - "rant", - "respond", - "salty", - "sane", - "satisfy", - "savior", - "sheep", - "slept", - "social", - "sport", - "tuck", - "utter", - "valley", - "wolf", - "aim", - "alas", - "alter", - "arrow", - "awaken", - "beaten", - "belief", - "brand", - "ceiling", - "cheese", - "clue", - "confidence", - "connection", - "daily", - "disguise", - "eager", - "erase", - "essence", - "everytime", - "expression", - "fan", - "flag", - "flirt", - "foul", - "fur", - "giggle", - "glorious", - "ignorance", - "law", - "lifeless", - "measure", - "mighty", - "muse", - "north", - "opposite", - "paradise", - "patience", - "patient", - "pencil", - "petal", - "plate", - "ponder", - "possibly", - "practice", - "slice", - "spell", - "stock", - "strife", - "strip", - "suffocate", - "suit", - "tender", - "tool", - "trade", - "velvet", - "verse", - "waist", - "witch", - "aunt", - "bench", - "bold", - "cap", - "certainly", - "click", - "companion", - "creator", - "dart", - "delicate", - "determine", - "dish", - "dragon", - "drama", - "drum", - "dude", - "everybody", - "feast", - "forehead", - "former", - "fright", - "fully", - "gas", - "hook", - "hurl", - "invite", - "juice", - "manage", - "moral", - "possess", - "raw", - "rebel", - "royal", - "scale", - "scary", - "several", - "slight", - "stubborn", - "swell", - "talent", - "tea", - "terrible", - "thread", - "torment", - "trickle", - "usually", - "vast", - "violence", - "weave", - "acid", - "agony", - "ashamed", - "awe", - "belly", - "blend", - "blush", - "character", - "cheat", - "common", - "company", - "coward", - "creak", - "danger", - "deadly", - "defense", - "define", - "depend", - "desperate", - "destination", - "dew", - "duck", - "dusty", - "embarrass", - "engine", - "example", - "explore", - "foe", - "freely", - "frustrate", - "generation", - "glove", - "guilty", - "health", - "hurry", - "idiot", - "impossible", - "inhale", - "jaw", - "kingdom", - "mention", - "mist", - "moan", - "mumble", - "mutter", - "observe", - "ode", - "pathetic", - "pattern", - "pie", - "prefer", - "puff", - "rape", - "rare", - "revenge", - "rude", - "scrape", - "spiral", - "squeeze", - "strain", - "sunset", - "suspend", - "sympathy", - "thigh", - "throne", - "total", - "unseen", - "weapon", - "weary" - ); - return word_list; -} - -std::unordered_map& word_map_old_english() +namespace Language { - static std::unordered_map word_map; - if (word_map.size() > 0) + class OldEnglish: public Base { - return word_map; - } - std::vector word_list = word_list_old_english(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - word_map[*it] = ii; - } - return word_map; -} - -std::unordered_map& trimmed_word_map_old_english() -{ - static std::unordered_map trimmed_word_map; - if (trimmed_word_map.size() > 0) - { - return trimmed_word_map; - } - std::vector word_list = word_list_old_english(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - if (it->length() > 4) + public: + OldEnglish() { - trimmed_word_map[it->substr(0, 4)] = ii; + word_list = new std::vector({ + "like", + "just", + "love", + "know", + "never", + "want", + "time", + "out", + "there", + "make", + "look", + "eye", + "down", + "only", + "think", + "heart", + "back", + "then", + "into", + "about", + "more", + "away", + "still", + "them", + "take", + "thing", + "even", + "through", + "long", + "always", + "world", + "too", + "friend", + "tell", + "try", + "hand", + "thought", + "over", + "here", + "other", + "need", + "smile", + "again", + "much", + "cry", + "been", + "night", + "ever", + "little", + "said", + "end", + "some", + "those", + "around", + "mind", + "people", + "girl", + "leave", + "dream", + "left", + "turn", + "myself", + "give", + "nothing", + "really", + "off", + "before", + "something", + "find", + "walk", + "wish", + "good", + "once", + "place", + "ask", + "stop", + "keep", + "watch", + "seem", + "everything", + "wait", + "got", + "yet", + "made", + "remember", + "start", + "alone", + "run", + "hope", + "maybe", + "believe", + "body", + "hate", + "after", + "close", + "talk", + "stand", + "own", + "each", + "hurt", + "help", + "home", + "god", + "soul", + "new", + "many", + "two", + "inside", + "should", + "true", + "first", + "fear", + "mean", + "better", + "play", + "another", + "gone", + "change", + "use", + "wonder", + "someone", + "hair", + "cold", + "open", + "best", + "any", + "behind", + "happen", + "water", + "dark", + "laugh", + "stay", + "forever", + "name", + "work", + "show", + "sky", + "break", + "came", + "deep", + "door", + "put", + "black", + "together", + "upon", + "happy", + "such", + "great", + "white", + "matter", + "fill", + "past", + "please", + "burn", + "cause", + "enough", + "touch", + "moment", + "soon", + "voice", + "scream", + "anything", + "stare", + "sound", + "red", + "everyone", + "hide", + "kiss", + "truth", + "death", + "beautiful", + "mine", + "blood", + "broken", + "very", + "pass", + "next", + "forget", + "tree", + "wrong", + "air", + "mother", + "understand", + "lip", + "hit", + "wall", + "memory", + "sleep", + "free", + "high", + "realize", + "school", + "might", + "skin", + "sweet", + "perfect", + "blue", + "kill", + "breath", + "dance", + "against", + "fly", + "between", + "grow", + "strong", + "under", + "listen", + "bring", + "sometimes", + "speak", + "pull", + "person", + "become", + "family", + "begin", + "ground", + "real", + "small", + "father", + "sure", + "feet", + "rest", + "young", + "finally", + "land", + "across", + "today", + "different", + "guy", + "line", + "fire", + "reason", + "reach", + "second", + "slowly", + "write", + "eat", + "smell", + "mouth", + "step", + "learn", + "three", + "floor", + "promise", + "breathe", + "darkness", + "push", + "earth", + "guess", + "save", + "song", + "above", + "along", + "both", + "color", + "house", + "almost", + "sorry", + "anymore", + "brother", + "okay", + "dear", + "game", + "fade", + "already", + "apart", + "warm", + "beauty", + "heard", + "notice", + "question", + "shine", + "began", + "piece", + "whole", + "shadow", + "secret", + "street", + "within", + "finger", + "point", + "morning", + "whisper", + "child", + "moon", + "green", + "story", + "glass", + "kid", + "silence", + "since", + "soft", + "yourself", + "empty", + "shall", + "angel", + "answer", + "baby", + "bright", + "dad", + "path", + "worry", + "hour", + "drop", + "follow", + "power", + "war", + "half", + "flow", + "heaven", + "act", + "chance", + "fact", + "least", + "tired", + "children", + "near", + "quite", + "afraid", + "rise", + "sea", + "taste", + "window", + "cover", + "nice", + "trust", + "lot", + "sad", + "cool", + "force", + "peace", + "return", + "blind", + "easy", + "ready", + "roll", + "rose", + "drive", + "held", + "music", + "beneath", + "hang", + "mom", + "paint", + "emotion", + "quiet", + "clear", + "cloud", + "few", + "pretty", + "bird", + "outside", + "paper", + "picture", + "front", + "rock", + "simple", + "anyone", + "meant", + "reality", + "road", + "sense", + "waste", + "bit", + "leaf", + "thank", + "happiness", + "meet", + "men", + "smoke", + "truly", + "decide", + "self", + "age", + "book", + "form", + "alive", + "carry", + "escape", + "damn", + "instead", + "able", + "ice", + "minute", + "throw", + "catch", + "leg", + "ring", + "course", + "goodbye", + "lead", + "poem", + "sick", + "corner", + "desire", + "known", + "problem", + "remind", + "shoulder", + "suppose", + "toward", + "wave", + "drink", + "jump", + "woman", + "pretend", + "sister", + "week", + "human", + "joy", + "crack", + "grey", + "pray", + "surprise", + "dry", + "knee", + "less", + "search", + "bleed", + "caught", + "clean", + "embrace", + "future", + "king", + "son", + "sorrow", + "chest", + "hug", + "remain", + "sat", + "worth", + "blow", + "daddy", + "final", + "parent", + "tight", + "also", + "create", + "lonely", + "safe", + "cross", + "dress", + "evil", + "silent", + "bone", + "fate", + "perhaps", + "anger", + "class", + "scar", + "snow", + "tiny", + "tonight", + "continue", + "control", + "dog", + "edge", + "mirror", + "month", + "suddenly", + "comfort", + "given", + "loud", + "quickly", + "gaze", + "plan", + "rush", + "stone", + "town", + "battle", + "ignore", + "spirit", + "stood", + "stupid", + "yours", + "brown", + "build", + "dust", + "hey", + "kept", + "pay", + "phone", + "twist", + "although", + "ball", + "beyond", + "hidden", + "nose", + "taken", + "fail", + "float", + "pure", + "somehow", + "wash", + "wrap", + "angry", + "cheek", + "creature", + "forgotten", + "heat", + "rip", + "single", + "space", + "special", + "weak", + "whatever", + "yell", + "anyway", + "blame", + "job", + "choose", + "country", + "curse", + "drift", + "echo", + "figure", + "grew", + "laughter", + "neck", + "suffer", + "worse", + "yeah", + "disappear", + "foot", + "forward", + "knife", + "mess", + "somewhere", + "stomach", + "storm", + "beg", + "idea", + "lift", + "offer", + "breeze", + "field", + "five", + "often", + "simply", + "stuck", + "win", + "allow", + "confuse", + "enjoy", + "except", + "flower", + "seek", + "strength", + "calm", + "grin", + "gun", + "heavy", + "hill", + "large", + "ocean", + "shoe", + "sigh", + "straight", + "summer", + "tongue", + "accept", + "crazy", + "everyday", + "exist", + "grass", + "mistake", + "sent", + "shut", + "surround", + "table", + "ache", + "brain", + "destroy", + "heal", + "nature", + "shout", + "sign", + "stain", + "choice", + "doubt", + "glance", + "glow", + "mountain", + "queen", + "stranger", + "throat", + "tomorrow", + "city", + "either", + "fish", + "flame", + "rather", + "shape", + "spin", + "spread", + "ash", + "distance", + "finish", + "image", + "imagine", + "important", + "nobody", + "shatter", + "warmth", + "became", + "feed", + "flesh", + "funny", + "lust", + "shirt", + "trouble", + "yellow", + "attention", + "bare", + "bite", + "money", + "protect", + "amaze", + "appear", + "born", + "choke", + "completely", + "daughter", + "fresh", + "friendship", + "gentle", + "probably", + "six", + "deserve", + "expect", + "grab", + "middle", + "nightmare", + "river", + "thousand", + "weight", + "worst", + "wound", + "barely", + "bottle", + "cream", + "regret", + "relationship", + "stick", + "test", + "crush", + "endless", + "fault", + "itself", + "rule", + "spill", + "art", + "circle", + "join", + "kick", + "mask", + "master", + "passion", + "quick", + "raise", + "smooth", + "unless", + "wander", + "actually", + "broke", + "chair", + "deal", + "favorite", + "gift", + "note", + "number", + "sweat", + "box", + "chill", + "clothes", + "lady", + "mark", + "park", + "poor", + "sadness", + "tie", + "animal", + "belong", + "brush", + "consume", + "dawn", + "forest", + "innocent", + "pen", + "pride", + "stream", + "thick", + "clay", + "complete", + "count", + "draw", + "faith", + "press", + "silver", + "struggle", + "surface", + "taught", + "teach", + "wet", + "bless", + "chase", + "climb", + "enter", + "letter", + "melt", + "metal", + "movie", + "stretch", + "swing", + "vision", + "wife", + "beside", + "crash", + "forgot", + "guide", + "haunt", + "joke", + "knock", + "plant", + "pour", + "prove", + "reveal", + "steal", + "stuff", + "trip", + "wood", + "wrist", + "bother", + "bottom", + "crawl", + "crowd", + "fix", + "forgive", + "frown", + "grace", + "loose", + "lucky", + "party", + "release", + "surely", + "survive", + "teacher", + "gently", + "grip", + "speed", + "suicide", + "travel", + "treat", + "vein", + "written", + "cage", + "chain", + "conversation", + "date", + "enemy", + "however", + "interest", + "million", + "page", + "pink", + "proud", + "sway", + "themselves", + "winter", + "church", + "cruel", + "cup", + "demon", + "experience", + "freedom", + "pair", + "pop", + "purpose", + "respect", + "shoot", + "softly", + "state", + "strange", + "bar", + "birth", + "curl", + "dirt", + "excuse", + "lord", + "lovely", + "monster", + "order", + "pack", + "pants", + "pool", + "scene", + "seven", + "shame", + "slide", + "ugly", + "among", + "blade", + "blonde", + "closet", + "creek", + "deny", + "drug", + "eternity", + "gain", + "grade", + "handle", + "key", + "linger", + "pale", + "prepare", + "swallow", + "swim", + "tremble", + "wheel", + "won", + "cast", + "cigarette", + "claim", + "college", + "direction", + "dirty", + "gather", + "ghost", + "hundred", + "loss", + "lung", + "orange", + "present", + "swear", + "swirl", + "twice", + "wild", + "bitter", + "blanket", + "doctor", + "everywhere", + "flash", + "grown", + "knowledge", + "numb", + "pressure", + "radio", + "repeat", + "ruin", + "spend", + "unknown", + "buy", + "clock", + "devil", + "early", + "false", + "fantasy", + "pound", + "precious", + "refuse", + "sheet", + "teeth", + "welcome", + "add", + "ahead", + "block", + "bury", + "caress", + "content", + "depth", + "despite", + "distant", + "marry", + "purple", + "threw", + "whenever", + "bomb", + "dull", + "easily", + "grasp", + "hospital", + "innocence", + "normal", + "receive", + "reply", + "rhyme", + "shade", + "someday", + "sword", + "toe", + "visit", + "asleep", + "bought", + "center", + "consider", + "flat", + "hero", + "history", + "ink", + "insane", + "muscle", + "mystery", + "pocket", + "reflection", + "shove", + "silently", + "smart", + "soldier", + "spot", + "stress", + "train", + "type", + "view", + "whether", + "bus", + "energy", + "explain", + "holy", + "hunger", + "inch", + "magic", + "mix", + "noise", + "nowhere", + "prayer", + "presence", + "shock", + "snap", + "spider", + "study", + "thunder", + "trail", + "admit", + "agree", + "bag", + "bang", + "bound", + "butterfly", + "cute", + "exactly", + "explode", + "familiar", + "fold", + "further", + "pierce", + "reflect", + "scent", + "selfish", + "sharp", + "sink", + "spring", + "stumble", + "universe", + "weep", + "women", + "wonderful", + "action", + "ancient", + "attempt", + "avoid", + "birthday", + "branch", + "chocolate", + "core", + "depress", + "drunk", + "especially", + "focus", + "fruit", + "honest", + "match", + "palm", + "perfectly", + "pillow", + "pity", + "poison", + "roar", + "shift", + "slightly", + "thump", + "truck", + "tune", + "twenty", + "unable", + "wipe", + "wrote", + "coat", + "constant", + "dinner", + "drove", + "egg", + "eternal", + "flight", + "flood", + "frame", + "freak", + "gasp", + "glad", + "hollow", + "motion", + "peer", + "plastic", + "root", + "screen", + "season", + "sting", + "strike", + "team", + "unlike", + "victim", + "volume", + "warn", + "weird", + "attack", + "await", + "awake", + "built", + "charm", + "crave", + "despair", + "fought", + "grant", + "grief", + "horse", + "limit", + "message", + "ripple", + "sanity", + "scatter", + "serve", + "split", + "string", + "trick", + "annoy", + "blur", + "boat", + "brave", + "clearly", + "cling", + "connect", + "fist", + "forth", + "imagination", + "iron", + "jock", + "judge", + "lesson", + "milk", + "misery", + "nail", + "naked", + "ourselves", + "poet", + "possible", + "princess", + "sail", + "size", + "snake", + "society", + "stroke", + "torture", + "toss", + "trace", + "wise", + "bloom", + "bullet", + "cell", + "check", + "cost", + "darling", + "during", + "footstep", + "fragile", + "hallway", + "hardly", + "horizon", + "invisible", + "journey", + "midnight", + "mud", + "nod", + "pause", + "relax", + "shiver", + "sudden", + "value", + "youth", + "abuse", + "admire", + "blink", + "breast", + "bruise", + "constantly", + "couple", + "creep", + "curve", + "difference", + "dumb", + "emptiness", + "gotta", + "honor", + "plain", + "planet", + "recall", + "rub", + "ship", + "slam", + "soar", + "somebody", + "tightly", + "weather", + "adore", + "approach", + "bond", + "bread", + "burst", + "candle", + "coffee", + "cousin", + "crime", + "desert", + "flutter", + "frozen", + "grand", + "heel", + "hello", + "language", + "level", + "movement", + "pleasure", + "powerful", + "random", + "rhythm", + "settle", + "silly", + "slap", + "sort", + "spoken", + "steel", + "threaten", + "tumble", + "upset", + "aside", + "awkward", + "bee", + "blank", + "board", + "button", + "card", + "carefully", + "complain", + "crap", + "deeply", + "discover", + "drag", + "dread", + "effort", + "entire", + "fairy", + "giant", + "gotten", + "greet", + "illusion", + "jeans", + "leap", + "liquid", + "march", + "mend", + "nervous", + "nine", + "replace", + "rope", + "spine", + "stole", + "terror", + "accident", + "apple", + "balance", + "boom", + "childhood", + "collect", + "demand", + "depression", + "eventually", + "faint", + "glare", + "goal", + "group", + "honey", + "kitchen", + "laid", + "limb", + "machine", + "mere", + "mold", + "murder", + "nerve", + "painful", + "poetry", + "prince", + "rabbit", + "shelter", + "shore", + "shower", + "soothe", + "stair", + "steady", + "sunlight", + "tangle", + "tease", + "treasure", + "uncle", + "begun", + "bliss", + "canvas", + "cheer", + "claw", + "clutch", + "commit", + "crimson", + "crystal", + "delight", + "doll", + "existence", + "express", + "fog", + "football", + "gay", + "goose", + "guard", + "hatred", + "illuminate", + "mass", + "math", + "mourn", + "rich", + "rough", + "skip", + "stir", + "student", + "style", + "support", + "thorn", + "tough", + "yard", + "yearn", + "yesterday", + "advice", + "appreciate", + "autumn", + "bank", + "beam", + "bowl", + "capture", + "carve", + "collapse", + "confusion", + "creation", + "dove", + "feather", + "girlfriend", + "glory", + "government", + "harsh", + "hop", + "inner", + "loser", + "moonlight", + "neighbor", + "neither", + "peach", + "pig", + "praise", + "screw", + "shield", + "shimmer", + "sneak", + "stab", + "subject", + "throughout", + "thrown", + "tower", + "twirl", + "wow", + "army", + "arrive", + "bathroom", + "bump", + "cease", + "cookie", + "couch", + "courage", + "dim", + "guilt", + "howl", + "hum", + "husband", + "insult", + "led", + "lunch", + "mock", + "mostly", + "natural", + "nearly", + "needle", + "nerd", + "peaceful", + "perfection", + "pile", + "price", + "remove", + "roam", + "sanctuary", + "serious", + "shiny", + "shook", + "sob", + "stolen", + "tap", + "vain", + "void", + "warrior", + "wrinkle", + "affection", + "apologize", + "blossom", + "bounce", + "bridge", + "cheap", + "crumble", + "decision", + "descend", + "desperately", + "dig", + "dot", + "flip", + "frighten", + "heartbeat", + "huge", + "lazy", + "lick", + "odd", + "opinion", + "process", + "puzzle", + "quietly", + "retreat", + "score", + "sentence", + "separate", + "situation", + "skill", + "soak", + "square", + "stray", + "taint", + "task", + "tide", + "underneath", + "veil", + "whistle", + "anywhere", + "bedroom", + "bid", + "bloody", + "burden", + "careful", + "compare", + "concern", + "curtain", + "decay", + "defeat", + "describe", + "double", + "dreamer", + "driver", + "dwell", + "evening", + "flare", + "flicker", + "grandma", + "guitar", + "harm", + "horrible", + "hungry", + "indeed", + "lace", + "melody", + "monkey", + "nation", + "object", + "obviously", + "rainbow", + "salt", + "scratch", + "shown", + "shy", + "stage", + "stun", + "third", + "tickle", + "useless", + "weakness", + "worship", + "worthless", + "afternoon", + "beard", + "boyfriend", + "bubble", + "busy", + "certain", + "chin", + "concrete", + "desk", + "diamond", + "doom", + "drawn", + "due", + "felicity", + "freeze", + "frost", + "garden", + "glide", + "harmony", + "hopefully", + "hunt", + "jealous", + "lightning", + "mama", + "mercy", + "peel", + "physical", + "position", + "pulse", + "punch", + "quit", + "rant", + "respond", + "salty", + "sane", + "satisfy", + "savior", + "sheep", + "slept", + "social", + "sport", + "tuck", + "utter", + "valley", + "wolf", + "aim", + "alas", + "alter", + "arrow", + "awaken", + "beaten", + "belief", + "brand", + "ceiling", + "cheese", + "clue", + "confidence", + "connection", + "daily", + "disguise", + "eager", + "erase", + "essence", + "everytime", + "expression", + "fan", + "flag", + "flirt", + "foul", + "fur", + "giggle", + "glorious", + "ignorance", + "law", + "lifeless", + "measure", + "mighty", + "muse", + "north", + "opposite", + "paradise", + "patience", + "patient", + "pencil", + "petal", + "plate", + "ponder", + "possibly", + "practice", + "slice", + "spell", + "stock", + "strife", + "strip", + "suffocate", + "suit", + "tender", + "tool", + "trade", + "velvet", + "verse", + "waist", + "witch", + "aunt", + "bench", + "bold", + "cap", + "certainly", + "click", + "companion", + "creator", + "dart", + "delicate", + "determine", + "dish", + "dragon", + "drama", + "drum", + "dude", + "everybody", + "feast", + "forehead", + "former", + "fright", + "fully", + "gas", + "hook", + "hurl", + "invite", + "juice", + "manage", + "moral", + "possess", + "raw", + "rebel", + "royal", + "scale", + "scary", + "several", + "slight", + "stubborn", + "swell", + "talent", + "tea", + "terrible", + "thread", + "torment", + "trickle", + "usually", + "vast", + "violence", + "weave", + "acid", + "agony", + "ashamed", + "awe", + "belly", + "blend", + "blush", + "character", + "cheat", + "common", + "company", + "coward", + "creak", + "danger", + "deadly", + "defense", + "define", + "depend", + "desperate", + "destination", + "dew", + "duck", + "dusty", + "embarrass", + "engine", + "example", + "explore", + "foe", + "freely", + "frustrate", + "generation", + "glove", + "guilty", + "health", + "hurry", + "idiot", + "impossible", + "inhale", + "jaw", + "kingdom", + "mention", + "mist", + "moan", + "mumble", + "mutter", + "observe", + "ode", + "pathetic", + "pattern", + "pie", + "prefer", + "puff", + "rape", + "rare", + "revenge", + "rude", + "scrape", + "spiral", + "squeeze", + "strain", + "sunset", + "suspend", + "sympathy", + "thigh", + "throne", + "total", + "unseen", + "weapon", + "weary" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "OldEnglish"; + populate_maps(); } - else - { - trimmed_word_map[*it] = ii; - } - } - return trimmed_word_map; + }; } + +#endif diff --git a/src/mnemonics/portuguese.h b/src/mnemonics/portuguese.h index e83e297e1..6d0754fd3 100644 --- a/src/mnemonics/portuguese.h +++ b/src/mnemonics/portuguese.h @@ -1,1677 +1,1652 @@ +#ifndef PORTUGUESE_H +#define PORTUGUESE_H + #include #include +#include "language_base.h" +#include -std::vector& word_list_portuguese() -{ - static std::vector word_list( - "abaular", - "abdominal", - "abeto", - "abissinio", - "abjeto", - "ablucao", - "abnegar", - "abotoar", - "abrutalhar", - "absurdo", - "abutre", - "acautelar", - "accessorios", - "acetona", - "achocolatado", - "acirrar", - "acne", - "acovardar", - "acrostico", - "actinomicete", - "acustico", - "adaptavel", - "adeus", - "adivinho", - "adjunto", - "admoestar", - "adnominal", - "adotivo", - "adquirir", - "adriatico", - "adsorcao", - "adutora", - "advogar", - "aerossol", - "afazeres", - "afetuoso", - "afixo", - "afluir", - "afortunar", - "afrouxar", - "aftosa", - "afunilar", - "agentes", - "agito", - "aglutinar", - "aiatola", - "aimore", - "aino", - "aipo", - "airoso", - "ajeitar", - "ajoelhar", - "ajudante", - "ajuste", - "alazao", - "albumina", - "alcunha", - "alegria", - "alexandre", - "alforriar", - "alguns", - "alhures", - "alivio", - "almoxarife", - "alotropico", - "alpiste", - "alquimista", - "alsaciano", - "altura", - "aluviao", - "alvura", - "amazonico", - "ambulatorio", - "ametodico", - "amizades", - "amniotico", - "amovivel", - "amurada", - "anatomico", - "ancorar", - "anexo", - "anfora", - "aniversario", - "anjo", - "anotar", - "ansioso", - "anturio", - "anuviar", - "anverso", - "anzol", - "aonde", - "apaziguar", - "apito", - "aplicavel", - "apoteotico", - "aprimorar", - "aprumo", - "apto", - "apuros", - "aquoso", - "arauto", - "arbusto", - "arduo", - "aresta", - "arfar", - "arguto", - "aritmetico", - "arlequim", - "armisticio", - "aromatizar", - "arpoar", - "arquivo", - "arrumar", - "arsenio", - "arturiano", - "aruaque", - "arvores", - "asbesto", - "ascorbico", - "aspirina", - "asqueroso", - "assustar", - "astuto", - "atazanar", - "ativo", - "atletismo", - "atmosferico", - "atormentar", - "atroz", - "aturdir", - "audivel", - "auferir", - "augusto", - "aula", - "aumento", - "aurora", - "autuar", - "avatar", - "avexar", - "avizinhar", - "avolumar", - "avulso", - "axiomatico", - "azerbaijano", - "azimute", - "azoto", - "azulejo", - "bacteriologista", - "badulaque", - "baforada", - "baixote", - "bajular", - "balzaquiana", - "bambuzal", - "banzo", - "baoba", - "baqueta", - "barulho", - "bastonete", - "batuta", - "bauxita", - "bavaro", - "bazuca", - "bcrepuscular", - "beato", - "beduino", - "begonia", - "behaviorista", - "beisebol", - "belzebu", - "bemol", - "benzido", - "beocio", - "bequer", - "berro", - "besuntar", - "betume", - "bexiga", - "bezerro", - "biatlon", - "biboca", - "bicuspide", - "bidirecional", - "bienio", - "bifurcar", - "bigorna", - "bijuteria", - "bimotor", - "binormal", - "bioxido", - "bipolarizacao", - "biquini", - "birutice", - "bisturi", - "bituca", - "biunivoco", - "bivalve", - "bizarro", - "blasfemo", - "blenorreia", - "blindar", - "bloqueio", - "blusao", - "boazuda", - "bofete", - "bojudo", - "bolso", - "bombordo", - "bonzo", - "botina", - "boquiaberto", - "bostoniano", - "botulismo", - "bourbon", - "bovino", - "boximane", - "bravura", - "brevidade", - "britar", - "broxar", - "bruno", - "bruxuleio", - "bubonico", - "bucolico", - "buda", - "budista", - "bueiro", - "buffer", - "bugre", - "bujao", - "bumerangue", - "burundines", - "busto", - "butique", - "buzios", - "caatinga", - "cabuqui", - "cacunda", - "cafuzo", - "cajueiro", - "camurca", - "canudo", - "caquizeiro", - "carvoeiro", - "casulo", - "catuaba", - "cauterizar", - "cebolinha", - "cedula", - "ceifeiro", - "celulose", - "cerzir", - "cesto", - "cetro", - "ceus", - "cevar", - "chavena", - "cheroqui", - "chita", - "chovido", - "chuvoso", - "ciatico", - "cibernetico", - "cicuta", - "cidreira", - "cientistas", - "cifrar", - "cigarro", - "cilio", - "cimo", - "cinzento", - "cioso", - "cipriota", - "cirurgico", - "cisto", - "citrico", - "ciumento", - "civismo", - "clavicula", - "clero", - "clitoris", - "cluster", - "coaxial", - "cobrir", - "cocota", - "codorniz", - "coexistir", - "cogumelo", - "coito", - "colusao", - "compaixao", - "comutativo", - "contentamento", - "convulsivo", - "coordenativa", - "coquetel", - "correto", - "corvo", - "costureiro", - "cotovia", - "covil", - "cozinheiro", - "cretino", - "cristo", - "crivo", - "crotalo", - "cruzes", - "cubo", - "cucuia", - "cueiro", - "cuidar", - "cujo", - "cultural", - "cunilingua", - "cupula", - "curvo", - "custoso", - "cutucar", - "czarismo", - "dablio", - "dacota", - "dados", - "daguerreotipo", - "daiquiri", - "daltonismo", - "damista", - "dantesco", - "daquilo", - "darwinista", - "dasein", - "dativo", - "deao", - "debutantes", - "decurso", - "deduzir", - "defunto", - "degustar", - "dejeto", - "deltoide", - "demover", - "denunciar", - "deputado", - "deque", - "dervixe", - "desvirtuar", - "deturpar", - "deuteronomio", - "devoto", - "dextrose", - "dezoito", - "diatribe", - "dicotomico", - "didatico", - "dietista", - "difuso", - "digressao", - "diluvio", - "diminuto", - "dinheiro", - "dinossauro", - "dioxido", - "diplomatico", - "dique", - "dirimivel", - "disturbio", - "diurno", - "divulgar", - "dizivel", - "doar", - "dobro", - "docura", - "dodoi", - "doer", - "dogue", - "doloso", - "domo", - "donzela", - "doping", - "dorsal", - "dossie", - "dote", - "doutro", - "doze", - "dravidico", - "dreno", - "driver", - "dropes", - "druso", - "dubnio", - "ducto", - "dueto", - "dulija", - "dundum", - "duodeno", - "duquesa", - "durou", - "duvidoso", - "duzia", - "ebano", - "ebrio", - "eburneo", - "echarpe", - "eclusa", - "ecossistema", - "ectoplasma", - "ecumenismo", - "eczema", - "eden", - "editorial", - "edredom", - "edulcorar", - "efetuar", - "efigie", - "efluvio", - "egiptologo", - "egresso", - "egua", - "einsteiniano", - "eira", - "eivar", - "eixos", - "ejetar", - "elastomero", - "eldorado", - "elixir", - "elmo", - "eloquente", - "elucidativo", - "emaranhar", - "embutir", - "emerito", - "emfa", - "emitir", - "emotivo", - "empuxo", - "emulsao", - "enamorar", - "encurvar", - "enduro", - "enevoar", - "enfurnar", - "enguico", - "enho", - "enigmista", - "enlutar", - "enormidade", - "enpreendimento", - "enquanto", - "enriquecer", - "enrugar", - "entusiastico", - "enunciar", - "envolvimento", - "enxuto", - "enzimatico", - "eolico", - "epiteto", - "epoxi", - "epura", - "equivoco", - "erario", - "erbio", - "ereto", - "erguido", - "erisipela", - "ermo", - "erotizar", - "erros", - "erupcao", - "ervilha", - "esburacar", - "escutar", - "esfuziante", - "esguio", - "esloveno", - "esmurrar", - "esoterismo", - "esperanca", - "espirito", - "espurio", - "essencialmente", - "esturricar", - "esvoacar", - "etario", - "eterno", - "etiquetar", - "etnologo", - "etos", - "etrusco", - "euclidiano", - "euforico", - "eugenico", - "eunuco", - "europio", - "eustaquio", - "eutanasia", - "evasivo", - "eventualidade", - "evitavel", - "evoluir", - "exaustor", - "excursionista", - "exercito", - "exfoliado", - "exito", - "exotico", - "expurgo", - "exsudar", - "extrusora", - "exumar", - "fabuloso", - "facultativo", - "fado", - "fagulha", - "faixas", - "fajuto", - "faltoso", - "famoso", - "fanzine", - "fapesp", - "faquir", - "fartura", - "fastio", - "faturista", - "fausto", - "favorito", - "faxineira", - "fazer", - "fealdade", - "febril", - "fecundo", - "fedorento", - "feerico", - "feixe", - "felicidade", - "felipe", - "feltro", - "femur", - "fenotipo", - "fervura", - "festivo", - "feto", - "feudo", - "fevereiro", - "fezinha", - "fiasco", - "fibra", - "ficticio", - "fiduciario", - "fiesp", - "fifa", - "figurino", - "fijiano", - "filtro", - "finura", - "fiorde", - "fiquei", - "firula", - "fissurar", - "fitoteca", - "fivela", - "fixo", - "flavio", - "flexor", - "flibusteiro", - "flotilha", - "fluxograma", - "fobos", - "foco", - "fofura", - "foguista", - "foie", - "foliculo", - "fominha", - "fonte", - "forum", - "fosso", - "fotossintese", - "foxtrote", - "fraudulento", - "frevo", - "frivolo", - "frouxo", - "frutose", - "fuba", - "fucsia", - "fugitivo", - "fuinha", - "fujao", - "fulustreco", - "fumo", - "funileiro", - "furunculo", - "fustigar", - "futurologo", - "fuxico", - "fuzue", - "gabriel", - "gado", - "gaelico", - "gafieira", - "gaguejo", - "gaivota", - "gajo", - "galvanoplastico", - "gamo", - "ganso", - "garrucha", - "gastronomo", - "gatuno", - "gaussiano", - "gaviao", - "gaxeta", - "gazeteiro", - "gear", - "geiser", - "geminiano", - "generoso", - "genuino", - "geossinclinal", - "gerundio", - "gestual", - "getulista", - "gibi", - "gigolo", - "gilete", - "ginseng", - "giroscopio", - "glaucio", - "glacial", - "gleba", - "glifo", - "glote", - "glutonia", - "gnostico", - "goela", - "gogo", - "goitaca", - "golpista", - "gomo", - "gonzo", - "gorro", - "gostou", - "goticula", - "gourmet", - "governo", - "gozo", - "graxo", - "grevista", - "grito", - "grotesco", - "gruta", - "guaxinim", - "gude", - "gueto", - "guizo", - "guloso", - "gume", - "guru", - "gustativo", - "gustavo", - "gutural", - "habitue", - "haitiano", - "halterofilista", - "hamburguer", - "hanseniase", - "happening", - "harpista", - "hastear", - "haveres", - "hebreu", - "hectometro", - "hedonista", - "hegira", - "helena", - "helminto", - "hemorroidas", - "henrique", - "heptassilabo", - "hertziano", - "hesitar", - "heterossexual", - "heuristico", - "hexagono", - "hiato", - "hibrido", - "hidrostatico", - "hieroglifo", - "hifenizar", - "higienizar", - "hilario", - "himen", - "hino", - "hippie", - "hirsuto", - "historiografia", - "hitlerista", - "hodometro", - "hoje", - "holograma", - "homus", - "honroso", - "hoquei", - "horto", - "hostilizar", - "hotentote", - "huguenote", - "humilde", - "huno", - "hurra", - "hutu", - "iaia", - "ialorixa", - "iambico", - "iansa", - "iaque", - "iara", - "iatista", - "iberico", - "ibis", - "icar", - "iceberg", - "icosagono", - "idade", - "ideologo", - "idiotice", - "idoso", - "iemenita", - "iene", - "igarape", - "iglu", - "ignorar", - "igreja", - "iguaria", - "iidiche", - "ilativo", - "iletrado", - "ilharga", - "ilimitado", - "ilogismo", - "ilustrissimo", - "imaturo", - "imbuzeiro", - "imerso", - "imitavel", - "imovel", - "imputar", - "imutavel", - "inaveriguavel", - "incutir", - "induzir", - "inextricavel", - "infusao", - "ingua", - "inhame", - "iniquo", - "injusto", - "inning", - "inoxidavel", - "inquisitorial", - "insustentavel", - "intumescimento", - "inutilizavel", - "invulneravel", - "inzoneiro", - "iodo", - "iogurte", - "ioio", - "ionosfera", - "ioruba", - "iota", - "ipsilon", - "irascivel", - "iris", - "irlandes", - "irmaos", - "iroques", - "irrupcao", - "isca", - "isento", - "islandes", - "isotopo", - "isqueiro", - "israelita", - "isso", - "isto", - "iterbio", - "itinerario", - "itrio", - "iuane", - "iugoslavo", - "jabuticabeira", - "jacutinga", - "jade", - "jagunco", - "jainista", - "jaleco", - "jambo", - "jantarada", - "japones", - "jaqueta", - "jarro", - "jasmim", - "jato", - "jaula", - "javel", - "jazz", - "jegue", - "jeitoso", - "jejum", - "jenipapo", - "jeova", - "jequitiba", - "jersei", - "jesus", - "jetom", - "jiboia", - "jihad", - "jilo", - "jingle", - "jipe", - "jocoso", - "joelho", - "joguete", - "joio", - "jojoba", - "jorro", - "jota", - "joule", - "joviano", - "jubiloso", - "judoca", - "jugular", - "juizo", - "jujuba", - "juliano", - "jumento", - "junto", - "jururu", - "justo", - "juta", - "juventude", - "labutar", - "laguna", - "laico", - "lajota", - "lanterninha", - "lapso", - "laquear", - "lastro", - "lauto", - "lavrar", - "laxativo", - "lazer", - "leasing", - "lebre", - "lecionar", - "ledo", - "leguminoso", - "leitura", - "lele", - "lemure", - "lento", - "leonardo", - "leopardo", - "lepton", - "leque", - "leste", - "letreiro", - "leucocito", - "levitico", - "lexicologo", - "lhama", - "lhufas", - "liame", - "licoroso", - "lidocaina", - "liliputiano", - "limusine", - "linotipo", - "lipoproteina", - "liquidos", - "lirismo", - "lisura", - "liturgico", - "livros", - "lixo", - "lobulo", - "locutor", - "lodo", - "logro", - "lojista", - "lombriga", - "lontra", - "loop", - "loquaz", - "lorota", - "losango", - "lotus", - "louvor", - "luar", - "lubrificavel", - "lucros", - "lugubre", - "luis", - "luminoso", - "luneta", - "lustroso", - "luto", - "luvas", - "luxuriante", - "luzeiro", - "maduro", - "maestro", - "mafioso", - "magro", - "maiuscula", - "majoritario", - "malvisto", - "mamute", - "manutencao", - "mapoteca", - "maquinista", - "marzipa", - "masturbar", - "matuto", - "mausoleu", - "mavioso", - "maxixe", - "mazurca", - "meandro", - "mecha", - "medusa", - "mefistofelico", - "megera", - "meirinho", - "melro", - "memorizar", - "menu", - "mequetrefe", - "mertiolate", - "mestria", - "metroviario", - "mexilhao", - "mezanino", - "miau", - "microssegundo", - "midia", - "migratorio", - "mimosa", - "minuto", - "miosotis", - "mirtilo", - "misturar", - "mitzvah", - "miudos", - "mixuruca", - "mnemonico", - "moagem", - "mobilizar", - "modulo", - "moer", - "mofo", - "mogno", - "moita", - "molusco", - "monumento", - "moqueca", - "morubixaba", - "mostruario", - "motriz", - "mouse", - "movivel", - "mozarela", - "muarra", - "muculmano", - "mudo", - "mugir", - "muitos", - "mumunha", - "munir", - "muon", - "muquira", - "murros", - "musselina", - "nacoes", - "nado", - "naftalina", - "nago", - "naipe", - "naja", - "nalgum", - "namoro", - "nanquim", - "napolitano", - "naquilo", - "nascimento", - "nautilo", - "navios", - "nazista", - "nebuloso", - "nectarina", - "nefrologo", - "negus", - "nelore", - "nenufar", - "nepotismo", - "nervura", - "neste", - "netuno", - "neutron", - "nevoeiro", - "newtoniano", - "nexo", - "nhenhenhem", - "nhoque", - "nigeriano", - "niilista", - "ninho", - "niobio", - "niponico", - "niquelar", - "nirvana", - "nisto", - "nitroglicerina", - "nivoso", - "nobreza", - "nocivo", - "noel", - "nogueira", - "noivo", - "nojo", - "nominativo", - "nonuplo", - "noruegues", - "nostalgico", - "noturno", - "nouveau", - "nuanca", - "nublar", - "nucleotideo", - "nudista", - "nulo", - "numismatico", - "nunquinha", - "nupcias", - "nutritivo", - "nuvens", - "oasis", - "obcecar", - "obeso", - "obituario", - "objetos", - "oblongo", - "obnoxio", - "obrigatorio", - "obstruir", - "obtuso", - "obus", - "obvio", - "ocaso", - "occipital", - "oceanografo", - "ocioso", - "oclusivo", - "ocorrer", - "ocre", - "octogono", - "odalisca", - "odisseia", - "odorifico", - "oersted", - "oeste", - "ofertar", - "ofidio", - "oftalmologo", - "ogiva", - "ogum", - "oigale", - "oitavo", - "oitocentos", - "ojeriza", - "olaria", - "oleoso", - "olfato", - "olhos", - "oliveira", - "olmo", - "olor", - "olvidavel", - "ombudsman", - "omeleteira", - "omitir", - "omoplata", - "onanismo", - "ondular", - "oneroso", - "onomatopeico", - "ontologico", - "onus", - "onze", - "opalescente", - "opcional", - "operistico", - "opio", - "oposto", - "oprobrio", - "optometrista", - "opusculo", - "oratorio", - "orbital", - "orcar", - "orfao", - "orixa", - "orla", - "ornitologo", - "orquidea", - "ortorrombico", - "orvalho", - "osculo", - "osmotico", - "ossudo", - "ostrogodo", - "otario", - "otite", - "ouro", - "ousar", - "outubro", - "ouvir", - "ovario", - "overnight", - "oviparo", - "ovni", - "ovoviviparo", - "ovulo", - "oxala", - "oxente", - "oxiuro", - "oxossi", - "ozonizar", - "paciente", - "pactuar", - "padronizar", - "paete", - "pagodeiro", - "paixao", - "pajem", - "paludismo", - "pampas", - "panturrilha", - "papudo", - "paquistanes", - "pastoso", - "patua", - "paulo", - "pauzinhos", - "pavoroso", - "paxa", - "pazes", - "peao", - "pecuniario", - "pedunculo", - "pegaso", - "peixinho", - "pejorativo", - "pelvis", - "penuria", - "pequno", - "petunia", - "pezada", - "piauiense", - "pictorico", - "pierro", - "pigmeu", - "pijama", - "pilulas", - "pimpolho", - "pintura", - "piorar", - "pipocar", - "piqueteiro", - "pirulito", - "pistoleiro", - "pituitaria", - "pivotar", - "pixote", - "pizzaria", - "plistoceno", - "plotar", - "pluviometrico", - "pneumonico", - "poco", - "podridao", - "poetisa", - "pogrom", - "pois", - "polvorosa", - "pomposo", - "ponderado", - "pontudo", - "populoso", - "poquer", - "porvir", - "posudo", - "potro", - "pouso", - "povoar", - "prazo", - "prezar", - "privilegios", - "proximo", - "prussiano", - "pseudopode", - "psoriase", - "pterossauros", - "ptialina", - "ptolemaico", - "pudor", - "pueril", - "pufe", - "pugilista", - "puir", - "pujante", - "pulverizar", - "pumba", - "punk", - "purulento", - "pustula", - "putsch", - "puxe", - "quatrocentos", - "quetzal", - "quixotesco", - "quotizavel", - "rabujice", - "racista", - "radonio", - "rafia", - "ragu", - "rajado", - "ralo", - "rampeiro", - "ranzinza", - "raptor", - "raquitismo", - "raro", - "rasurar", - "ratoeira", - "ravioli", - "razoavel", - "reavivar", - "rebuscar", - "recusavel", - "reduzivel", - "reexposicao", - "refutavel", - "regurgitar", - "reivindicavel", - "rejuvenescimento", - "relva", - "remuneravel", - "renunciar", - "reorientar", - "repuxo", - "requisito", - "resumo", - "returno", - "reutilizar", - "revolvido", - "rezonear", - "riacho", - "ribossomo", - "ricota", - "ridiculo", - "rifle", - "rigoroso", - "rijo", - "rimel", - "rins", - "rios", - "riqueza", - "riquixa", - "rissole", - "ritualistico", - "rivalizar", - "rixa", - "robusto", - "rococo", - "rodoviario", - "roer", - "rogo", - "rojao", - "rolo", - "rompimento", - "ronronar", - "roqueiro", - "rorqual", - "rosto", - "rotundo", - "rouxinol", - "roxo", - "royal", - "ruas", - "rucula", - "rudimentos", - "ruela", - "rufo", - "rugoso", - "ruivo", - "rule", - "rumoroso", - "runico", - "ruptura", - "rural", - "rustico", - "rutilar", - "saariano", - "sabujo", - "sacudir", - "sadomasoquista", - "safra", - "sagui", - "sais", - "samurai", - "santuario", - "sapo", - "saquear", - "sartriano", - "saturno", - "saude", - "sauva", - "saveiro", - "saxofonista", - "sazonal", - "scherzo", - "script", - "seara", - "seborreia", - "secura", - "seduzir", - "sefardim", - "seguro", - "seja", - "selvas", - "sempre", - "senzala", - "sepultura", - "sequoia", - "sestercio", - "setuplo", - "seus", - "seviciar", - "sezonismo", - "shalom", - "siames", - "sibilante", - "sicrano", - "sidra", - "sifilitico", - "signos", - "silvo", - "simultaneo", - "sinusite", - "sionista", - "sirio", - "sisudo", - "situar", - "sivan", - "slide", - "slogan", - "soar", - "sobrio", - "socratico", - "sodomizar", - "soerguer", - "software", - "sogro", - "soja", - "solver", - "somente", - "sonso", - "sopro", - "soquete", - "sorveteiro", - "sossego", - "soturno", - "sousafone", - "sovinice", - "sozinho", - "suavizar", - "subverter", - "sucursal", - "sudoriparo", - "sufragio", - "sugestoes", - "suite", - "sujo", - "sultao", - "sumula", - "suntuoso", - "suor", - "supurar", - "suruba", - "susto", - "suturar", - "suvenir", - "tabuleta", - "taco", - "tadjique", - "tafeta", - "tagarelice", - "taitiano", - "talvez", - "tampouco", - "tanzaniano", - "taoista", - "tapume", - "taquion", - "tarugo", - "tascar", - "tatuar", - "tautologico", - "tavola", - "taxionomista", - "tchecoslovaco", - "teatrologo", - "tectonismo", - "tedioso", - "teflon", - "tegumento", - "teixo", - "telurio", - "temporas", - "tenue", - "teosofico", - "tepido", - "tequila", - "terrorista", - "testosterona", - "tetrico", - "teutonico", - "teve", - "texugo", - "tiara", - "tibia", - "tiete", - "tifoide", - "tigresa", - "tijolo", - "tilintar", - "timpano", - "tintureiro", - "tiquete", - "tiroteio", - "tisico", - "titulos", - "tive", - "toar", - "toboga", - "tofu", - "togoles", - "toicinho", - "tolueno", - "tomografo", - "tontura", - "toponimo", - "toquio", - "torvelinho", - "tostar", - "toto", - "touro", - "toxina", - "trazer", - "trezentos", - "trivialidade", - "trovoar", - "truta", - "tuaregue", - "tubular", - "tucano", - "tudo", - "tufo", - "tuiste", - "tulipa", - "tumultuoso", - "tunisino", - "tupiniquim", - "turvo", - "tutu", - "ucraniano", - "udenista", - "ufanista", - "ufologo", - "ugaritico", - "uiste", - "uivo", - "ulceroso", - "ulema", - "ultravioleta", - "umbilical", - "umero", - "umido", - "umlaut", - "unanimidade", - "unesco", - "ungulado", - "unheiro", - "univoco", - "untuoso", - "urano", - "urbano", - "urdir", - "uretra", - "urgente", - "urinol", - "urna", - "urologo", - "urro", - "ursulina", - "urtiga", - "urupe", - "usavel", - "usbeque", - "usei", - "usineiro", - "usurpar", - "utero", - "utilizar", - "utopico", - "uvular", - "uxoricidio", - "vacuo", - "vadio", - "vaguear", - "vaivem", - "valvula", - "vampiro", - "vantajoso", - "vaporoso", - "vaquinha", - "varziano", - "vasto", - "vaticinio", - "vaudeville", - "vazio", - "veado", - "vedico", - "veemente", - "vegetativo", - "veio", - "veja", - "veludo", - "venusiano", - "verdade", - "verve", - "vestuario", - "vetusto", - "vexatorio", - "vezes", - "viavel", - "vibratorio", - "victor", - "vicunha", - "vidros", - "vietnamita", - "vigoroso", - "vilipendiar", - "vime", - "vintem", - "violoncelo", - "viquingue", - "virus", - "visualizar", - "vituperio", - "viuvo", - "vivo", - "vizir", - "voar", - "vociferar", - "vodu", - "vogar", - "voile", - "volver", - "vomito", - "vontade", - "vortice", - "vosso", - "voto", - "vovozinha", - "voyeuse", - "vozes", - "vulva", - "vupt", - "western", - "xadrez", - "xale", - "xampu", - "xango", - "xarope", - "xaual", - "xavante", - "xaxim", - "xenonio", - "xepa", - "xerox", - "xicara", - "xifopago", - "xiita", - "xilogravura", - "xinxim", - "xistoso", - "xixi", - "xodo", - "xogum", - "xucro", - "zabumba", - "zagueiro", - "zambiano", - "zanzar", - "zarpar", - "zebu", - "zefiro", - "zeloso", - "zenite", - "zumbi" - - ); - return word_list; -} - -std::unordered_map& word_map_portuguese() -{ - static std::unordered_map word_map; - if (word_map.size() > 0) - { - return word_map; - } - std::vector word_list = word_list_portuguese(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - word_map[*it] = ii; - } - return word_map; -} - -std::unordered_map& trimmed_word_map_portuguese() +namespace Language { - static std::unordered_map trimmed_word_map; - if (trimmed_word_map.size() > 0) - { - return trimmed_word_map; - } - std::vector word_list = word_list_portuguese(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) + class Portuguese: public Base { - if (it->length() > 4) + public: + Portuguese() { - trimmed_word_map[it->substr(0, 4)] = ii; + word_list = new std::vector({ + "abaular", + "abdominal", + "abeto", + "abissinio", + "abjeto", + "ablucao", + "abnegar", + "abotoar", + "abrutalhar", + "absurdo", + "abutre", + "acautelar", + "accessorios", + "acetona", + "achocolatado", + "acirrar", + "acne", + "acovardar", + "acrostico", + "actinomicete", + "acustico", + "adaptavel", + "adeus", + "adivinho", + "adjunto", + "admoestar", + "adnominal", + "adotivo", + "adquirir", + "adriatico", + "adsorcao", + "adutora", + "advogar", + "aerossol", + "afazeres", + "afetuoso", + "afixo", + "afluir", + "afortunar", + "afrouxar", + "aftosa", + "afunilar", + "agentes", + "agito", + "aglutinar", + "aiatola", + "aimore", + "aino", + "aipo", + "airoso", + "ajeitar", + "ajoelhar", + "ajudante", + "ajuste", + "alazao", + "albumina", + "alcunha", + "alegria", + "alexandre", + "alforriar", + "alguns", + "alhures", + "alivio", + "almoxarife", + "alotropico", + "alpiste", + "alquimista", + "alsaciano", + "altura", + "aluviao", + "alvura", + "amazonico", + "ambulatorio", + "ametodico", + "amizades", + "amniotico", + "amovivel", + "amurada", + "anatomico", + "ancorar", + "anexo", + "anfora", + "aniversario", + "anjo", + "anotar", + "ansioso", + "anturio", + "anuviar", + "anverso", + "anzol", + "aonde", + "apaziguar", + "apito", + "aplicavel", + "apoteotico", + "aprimorar", + "aprumo", + "apto", + "apuros", + "aquoso", + "arauto", + "arbusto", + "arduo", + "aresta", + "arfar", + "arguto", + "aritmetico", + "arlequim", + "armisticio", + "aromatizar", + "arpoar", + "arquivo", + "arrumar", + "arsenio", + "arturiano", + "aruaque", + "arvores", + "asbesto", + "ascorbico", + "aspirina", + "asqueroso", + "assustar", + "astuto", + "atazanar", + "ativo", + "atletismo", + "atmosferico", + "atormentar", + "atroz", + "aturdir", + "audivel", + "auferir", + "augusto", + "aula", + "aumento", + "aurora", + "autuar", + "avatar", + "avexar", + "avizinhar", + "avolumar", + "avulso", + "axiomatico", + "azerbaijano", + "azimute", + "azoto", + "azulejo", + "bacteriologista", + "badulaque", + "baforada", + "baixote", + "bajular", + "balzaquiana", + "bambuzal", + "banzo", + "baoba", + "baqueta", + "barulho", + "bastonete", + "batuta", + "bauxita", + "bavaro", + "bazuca", + "bcrepuscular", + "beato", + "beduino", + "begonia", + "behaviorista", + "beisebol", + "belzebu", + "bemol", + "benzido", + "beocio", + "bequer", + "berro", + "besuntar", + "betume", + "bexiga", + "bezerro", + "biatlon", + "biboca", + "bicuspide", + "bidirecional", + "bienio", + "bifurcar", + "bigorna", + "bijuteria", + "bimotor", + "binormal", + "bioxido", + "bipolarizacao", + "biquini", + "birutice", + "bisturi", + "bituca", + "biunivoco", + "bivalve", + "bizarro", + "blasfemo", + "blenorreia", + "blindar", + "bloqueio", + "blusao", + "boazuda", + "bofete", + "bojudo", + "bolso", + "bombordo", + "bonzo", + "botina", + "boquiaberto", + "bostoniano", + "botulismo", + "bourbon", + "bovino", + "boximane", + "bravura", + "brevidade", + "britar", + "broxar", + "bruno", + "bruxuleio", + "bubonico", + "bucolico", + "buda", + "budista", + "bueiro", + "buffer", + "bugre", + "bujao", + "bumerangue", + "burundines", + "busto", + "butique", + "buzios", + "caatinga", + "cabuqui", + "cacunda", + "cafuzo", + "cajueiro", + "camurca", + "canudo", + "caquizeiro", + "carvoeiro", + "casulo", + "catuaba", + "cauterizar", + "cebolinha", + "cedula", + "ceifeiro", + "celulose", + "cerzir", + "cesto", + "cetro", + "ceus", + "cevar", + "chavena", + "cheroqui", + "chita", + "chovido", + "chuvoso", + "ciatico", + "cibernetico", + "cicuta", + "cidreira", + "cientistas", + "cifrar", + "cigarro", + "cilio", + "cimo", + "cinzento", + "cioso", + "cipriota", + "cirurgico", + "cisto", + "citrico", + "ciumento", + "civismo", + "clavicula", + "clero", + "clitoris", + "cluster", + "coaxial", + "cobrir", + "cocota", + "codorniz", + "coexistir", + "cogumelo", + "coito", + "colusao", + "compaixao", + "comutativo", + "contentamento", + "convulsivo", + "coordenativa", + "coquetel", + "correto", + "corvo", + "costureiro", + "cotovia", + "covil", + "cozinheiro", + "cretino", + "cristo", + "crivo", + "crotalo", + "cruzes", + "cubo", + "cucuia", + "cueiro", + "cuidar", + "cujo", + "cultural", + "cunilingua", + "cupula", + "curvo", + "custoso", + "cutucar", + "czarismo", + "dablio", + "dacota", + "dados", + "daguerreotipo", + "daiquiri", + "daltonismo", + "damista", + "dantesco", + "daquilo", + "darwinista", + "dasein", + "dativo", + "deao", + "debutantes", + "decurso", + "deduzir", + "defunto", + "degustar", + "dejeto", + "deltoide", + "demover", + "denunciar", + "deputado", + "deque", + "dervixe", + "desvirtuar", + "deturpar", + "deuteronomio", + "devoto", + "dextrose", + "dezoito", + "diatribe", + "dicotomico", + "didatico", + "dietista", + "difuso", + "digressao", + "diluvio", + "diminuto", + "dinheiro", + "dinossauro", + "dioxido", + "diplomatico", + "dique", + "dirimivel", + "disturbio", + "diurno", + "divulgar", + "dizivel", + "doar", + "dobro", + "docura", + "dodoi", + "doer", + "dogue", + "doloso", + "domo", + "donzela", + "doping", + "dorsal", + "dossie", + "dote", + "doutro", + "doze", + "dravidico", + "dreno", + "driver", + "dropes", + "druso", + "dubnio", + "ducto", + "dueto", + "dulija", + "dundum", + "duodeno", + "duquesa", + "durou", + "duvidoso", + "duzia", + "ebano", + "ebrio", + "eburneo", + "echarpe", + "eclusa", + "ecossistema", + "ectoplasma", + "ecumenismo", + "eczema", + "eden", + "editorial", + "edredom", + "edulcorar", + "efetuar", + "efigie", + "efluvio", + "egiptologo", + "egresso", + "egua", + "einsteiniano", + "eira", + "eivar", + "eixos", + "ejetar", + "elastomero", + "eldorado", + "elixir", + "elmo", + "eloquente", + "elucidativo", + "emaranhar", + "embutir", + "emerito", + "emfa", + "emitir", + "emotivo", + "empuxo", + "emulsao", + "enamorar", + "encurvar", + "enduro", + "enevoar", + "enfurnar", + "enguico", + "enho", + "enigmista", + "enlutar", + "enormidade", + "enpreendimento", + "enquanto", + "enriquecer", + "enrugar", + "entusiastico", + "enunciar", + "envolvimento", + "enxuto", + "enzimatico", + "eolico", + "epiteto", + "epoxi", + "epura", + "equivoco", + "erario", + "erbio", + "ereto", + "erguido", + "erisipela", + "ermo", + "erotizar", + "erros", + "erupcao", + "ervilha", + "esburacar", + "escutar", + "esfuziante", + "esguio", + "esloveno", + "esmurrar", + "esoterismo", + "esperanca", + "espirito", + "espurio", + "essencialmente", + "esturricar", + "esvoacar", + "etario", + "eterno", + "etiquetar", + "etnologo", + "etos", + "etrusco", + "euclidiano", + "euforico", + "eugenico", + "eunuco", + "europio", + "eustaquio", + "eutanasia", + "evasivo", + "eventualidade", + "evitavel", + "evoluir", + "exaustor", + "excursionista", + "exercito", + "exfoliado", + "exito", + "exotico", + "expurgo", + "exsudar", + "extrusora", + "exumar", + "fabuloso", + "facultativo", + "fado", + "fagulha", + "faixas", + "fajuto", + "faltoso", + "famoso", + "fanzine", + "fapesp", + "faquir", + "fartura", + "fastio", + "faturista", + "fausto", + "favorito", + "faxineira", + "fazer", + "fealdade", + "febril", + "fecundo", + "fedorento", + "feerico", + "feixe", + "felicidade", + "felipe", + "feltro", + "femur", + "fenotipo", + "fervura", + "festivo", + "feto", + "feudo", + "fevereiro", + "fezinha", + "fiasco", + "fibra", + "ficticio", + "fiduciario", + "fiesp", + "fifa", + "figurino", + "fijiano", + "filtro", + "finura", + "fiorde", + "fiquei", + "firula", + "fissurar", + "fitoteca", + "fivela", + "fixo", + "flavio", + "flexor", + "flibusteiro", + "flotilha", + "fluxograma", + "fobos", + "foco", + "fofura", + "foguista", + "foie", + "foliculo", + "fominha", + "fonte", + "forum", + "fosso", + "fotossintese", + "foxtrote", + "fraudulento", + "frevo", + "frivolo", + "frouxo", + "frutose", + "fuba", + "fucsia", + "fugitivo", + "fuinha", + "fujao", + "fulustreco", + "fumo", + "funileiro", + "furunculo", + "fustigar", + "futurologo", + "fuxico", + "fuzue", + "gabriel", + "gado", + "gaelico", + "gafieira", + "gaguejo", + "gaivota", + "gajo", + "galvanoplastico", + "gamo", + "ganso", + "garrucha", + "gastronomo", + "gatuno", + "gaussiano", + "gaviao", + "gaxeta", + "gazeteiro", + "gear", + "geiser", + "geminiano", + "generoso", + "genuino", + "geossinclinal", + "gerundio", + "gestual", + "getulista", + "gibi", + "gigolo", + "gilete", + "ginseng", + "giroscopio", + "glaucio", + "glacial", + "gleba", + "glifo", + "glote", + "glutonia", + "gnostico", + "goela", + "gogo", + "goitaca", + "golpista", + "gomo", + "gonzo", + "gorro", + "gostou", + "goticula", + "gourmet", + "governo", + "gozo", + "graxo", + "grevista", + "grito", + "grotesco", + "gruta", + "guaxinim", + "gude", + "gueto", + "guizo", + "guloso", + "gume", + "guru", + "gustativo", + "gustavo", + "gutural", + "habitue", + "haitiano", + "halterofilista", + "hamburguer", + "hanseniase", + "happening", + "harpista", + "hastear", + "haveres", + "hebreu", + "hectometro", + "hedonista", + "hegira", + "helena", + "helminto", + "hemorroidas", + "henrique", + "heptassilabo", + "hertziano", + "hesitar", + "heterossexual", + "heuristico", + "hexagono", + "hiato", + "hibrido", + "hidrostatico", + "hieroglifo", + "hifenizar", + "higienizar", + "hilario", + "himen", + "hino", + "hippie", + "hirsuto", + "historiografia", + "hitlerista", + "hodometro", + "hoje", + "holograma", + "homus", + "honroso", + "hoquei", + "horto", + "hostilizar", + "hotentote", + "huguenote", + "humilde", + "huno", + "hurra", + "hutu", + "iaia", + "ialorixa", + "iambico", + "iansa", + "iaque", + "iara", + "iatista", + "iberico", + "ibis", + "icar", + "iceberg", + "icosagono", + "idade", + "ideologo", + "idiotice", + "idoso", + "iemenita", + "iene", + "igarape", + "iglu", + "ignorar", + "igreja", + "iguaria", + "iidiche", + "ilativo", + "iletrado", + "ilharga", + "ilimitado", + "ilogismo", + "ilustrissimo", + "imaturo", + "imbuzeiro", + "imerso", + "imitavel", + "imovel", + "imputar", + "imutavel", + "inaveriguavel", + "incutir", + "induzir", + "inextricavel", + "infusao", + "ingua", + "inhame", + "iniquo", + "injusto", + "inning", + "inoxidavel", + "inquisitorial", + "insustentavel", + "intumescimento", + "inutilizavel", + "invulneravel", + "inzoneiro", + "iodo", + "iogurte", + "ioio", + "ionosfera", + "ioruba", + "iota", + "ipsilon", + "irascivel", + "iris", + "irlandes", + "irmaos", + "iroques", + "irrupcao", + "isca", + "isento", + "islandes", + "isotopo", + "isqueiro", + "israelita", + "isso", + "isto", + "iterbio", + "itinerario", + "itrio", + "iuane", + "iugoslavo", + "jabuticabeira", + "jacutinga", + "jade", + "jagunco", + "jainista", + "jaleco", + "jambo", + "jantarada", + "japones", + "jaqueta", + "jarro", + "jasmim", + "jato", + "jaula", + "javel", + "jazz", + "jegue", + "jeitoso", + "jejum", + "jenipapo", + "jeova", + "jequitiba", + "jersei", + "jesus", + "jetom", + "jiboia", + "jihad", + "jilo", + "jingle", + "jipe", + "jocoso", + "joelho", + "joguete", + "joio", + "jojoba", + "jorro", + "jota", + "joule", + "joviano", + "jubiloso", + "judoca", + "jugular", + "juizo", + "jujuba", + "juliano", + "jumento", + "junto", + "jururu", + "justo", + "juta", + "juventude", + "labutar", + "laguna", + "laico", + "lajota", + "lanterninha", + "lapso", + "laquear", + "lastro", + "lauto", + "lavrar", + "laxativo", + "lazer", + "leasing", + "lebre", + "lecionar", + "ledo", + "leguminoso", + "leitura", + "lele", + "lemure", + "lento", + "leonardo", + "leopardo", + "lepton", + "leque", + "leste", + "letreiro", + "leucocito", + "levitico", + "lexicologo", + "lhama", + "lhufas", + "liame", + "licoroso", + "lidocaina", + "liliputiano", + "limusine", + "linotipo", + "lipoproteina", + "liquidos", + "lirismo", + "lisura", + "liturgico", + "livros", + "lixo", + "lobulo", + "locutor", + "lodo", + "logro", + "lojista", + "lombriga", + "lontra", + "loop", + "loquaz", + "lorota", + "losango", + "lotus", + "louvor", + "luar", + "lubrificavel", + "lucros", + "lugubre", + "luis", + "luminoso", + "luneta", + "lustroso", + "luto", + "luvas", + "luxuriante", + "luzeiro", + "maduro", + "maestro", + "mafioso", + "magro", + "maiuscula", + "majoritario", + "malvisto", + "mamute", + "manutencao", + "mapoteca", + "maquinista", + "marzipa", + "masturbar", + "matuto", + "mausoleu", + "mavioso", + "maxixe", + "mazurca", + "meandro", + "mecha", + "medusa", + "mefistofelico", + "megera", + "meirinho", + "melro", + "memorizar", + "menu", + "mequetrefe", + "mertiolate", + "mestria", + "metroviario", + "mexilhao", + "mezanino", + "miau", + "microssegundo", + "midia", + "migratorio", + "mimosa", + "minuto", + "miosotis", + "mirtilo", + "misturar", + "mitzvah", + "miudos", + "mixuruca", + "mnemonico", + "moagem", + "mobilizar", + "modulo", + "moer", + "mofo", + "mogno", + "moita", + "molusco", + "monumento", + "moqueca", + "morubixaba", + "mostruario", + "motriz", + "mouse", + "movivel", + "mozarela", + "muarra", + "muculmano", + "mudo", + "mugir", + "muitos", + "mumunha", + "munir", + "muon", + "muquira", + "murros", + "musselina", + "nacoes", + "nado", + "naftalina", + "nago", + "naipe", + "naja", + "nalgum", + "namoro", + "nanquim", + "napolitano", + "naquilo", + "nascimento", + "nautilo", + "navios", + "nazista", + "nebuloso", + "nectarina", + "nefrologo", + "negus", + "nelore", + "nenufar", + "nepotismo", + "nervura", + "neste", + "netuno", + "neutron", + "nevoeiro", + "newtoniano", + "nexo", + "nhenhenhem", + "nhoque", + "nigeriano", + "niilista", + "ninho", + "niobio", + "niponico", + "niquelar", + "nirvana", + "nisto", + "nitroglicerina", + "nivoso", + "nobreza", + "nocivo", + "noel", + "nogueira", + "noivo", + "nojo", + "nominativo", + "nonuplo", + "noruegues", + "nostalgico", + "noturno", + "nouveau", + "nuanca", + "nublar", + "nucleotideo", + "nudista", + "nulo", + "numismatico", + "nunquinha", + "nupcias", + "nutritivo", + "nuvens", + "oasis", + "obcecar", + "obeso", + "obituario", + "objetos", + "oblongo", + "obnoxio", + "obrigatorio", + "obstruir", + "obtuso", + "obus", + "obvio", + "ocaso", + "occipital", + "oceanografo", + "ocioso", + "oclusivo", + "ocorrer", + "ocre", + "octogono", + "odalisca", + "odisseia", + "odorifico", + "oersted", + "oeste", + "ofertar", + "ofidio", + "oftalmologo", + "ogiva", + "ogum", + "oigale", + "oitavo", + "oitocentos", + "ojeriza", + "olaria", + "oleoso", + "olfato", + "olhos", + "oliveira", + "olmo", + "olor", + "olvidavel", + "ombudsman", + "omeleteira", + "omitir", + "omoplata", + "onanismo", + "ondular", + "oneroso", + "onomatopeico", + "ontologico", + "onus", + "onze", + "opalescente", + "opcional", + "operistico", + "opio", + "oposto", + "oprobrio", + "optometrista", + "opusculo", + "oratorio", + "orbital", + "orcar", + "orfao", + "orixa", + "orla", + "ornitologo", + "orquidea", + "ortorrombico", + "orvalho", + "osculo", + "osmotico", + "ossudo", + "ostrogodo", + "otario", + "otite", + "ouro", + "ousar", + "outubro", + "ouvir", + "ovario", + "overnight", + "oviparo", + "ovni", + "ovoviviparo", + "ovulo", + "oxala", + "oxente", + "oxiuro", + "oxossi", + "ozonizar", + "paciente", + "pactuar", + "padronizar", + "paete", + "pagodeiro", + "paixao", + "pajem", + "paludismo", + "pampas", + "panturrilha", + "papudo", + "paquistanes", + "pastoso", + "patua", + "paulo", + "pauzinhos", + "pavoroso", + "paxa", + "pazes", + "peao", + "pecuniario", + "pedunculo", + "pegaso", + "peixinho", + "pejorativo", + "pelvis", + "penuria", + "pequno", + "petunia", + "pezada", + "piauiense", + "pictorico", + "pierro", + "pigmeu", + "pijama", + "pilulas", + "pimpolho", + "pintura", + "piorar", + "pipocar", + "piqueteiro", + "pirulito", + "pistoleiro", + "pituitaria", + "pivotar", + "pixote", + "pizzaria", + "plistoceno", + "plotar", + "pluviometrico", + "pneumonico", + "poco", + "podridao", + "poetisa", + "pogrom", + "pois", + "polvorosa", + "pomposo", + "ponderado", + "pontudo", + "populoso", + "poquer", + "porvir", + "posudo", + "potro", + "pouso", + "povoar", + "prazo", + "prezar", + "privilegios", + "proximo", + "prussiano", + "pseudopode", + "psoriase", + "pterossauros", + "ptialina", + "ptolemaico", + "pudor", + "pueril", + "pufe", + "pugilista", + "puir", + "pujante", + "pulverizar", + "pumba", + "punk", + "purulento", + "pustula", + "putsch", + "puxe", + "quatrocentos", + "quetzal", + "quixotesco", + "quotizavel", + "rabujice", + "racista", + "radonio", + "rafia", + "ragu", + "rajado", + "ralo", + "rampeiro", + "ranzinza", + "raptor", + "raquitismo", + "raro", + "rasurar", + "ratoeira", + "ravioli", + "razoavel", + "reavivar", + "rebuscar", + "recusavel", + "reduzivel", + "reexposicao", + "refutavel", + "regurgitar", + "reivindicavel", + "rejuvenescimento", + "relva", + "remuneravel", + "renunciar", + "reorientar", + "repuxo", + "requisito", + "resumo", + "returno", + "reutilizar", + "revolvido", + "rezonear", + "riacho", + "ribossomo", + "ricota", + "ridiculo", + "rifle", + "rigoroso", + "rijo", + "rimel", + "rins", + "rios", + "riqueza", + "riquixa", + "rissole", + "ritualistico", + "rivalizar", + "rixa", + "robusto", + "rococo", + "rodoviario", + "roer", + "rogo", + "rojao", + "rolo", + "rompimento", + "ronronar", + "roqueiro", + "rorqual", + "rosto", + "rotundo", + "rouxinol", + "roxo", + "royal", + "ruas", + "rucula", + "rudimentos", + "ruela", + "rufo", + "rugoso", + "ruivo", + "rule", + "rumoroso", + "runico", + "ruptura", + "rural", + "rustico", + "rutilar", + "saariano", + "sabujo", + "sacudir", + "sadomasoquista", + "safra", + "sagui", + "sais", + "samurai", + "santuario", + "sapo", + "saquear", + "sartriano", + "saturno", + "saude", + "sauva", + "saveiro", + "saxofonista", + "sazonal", + "scherzo", + "script", + "seara", + "seborreia", + "secura", + "seduzir", + "sefardim", + "seguro", + "seja", + "selvas", + "sempre", + "senzala", + "sepultura", + "sequoia", + "sestercio", + "setuplo", + "seus", + "seviciar", + "sezonismo", + "shalom", + "siames", + "sibilante", + "sicrano", + "sidra", + "sifilitico", + "signos", + "silvo", + "simultaneo", + "sinusite", + "sionista", + "sirio", + "sisudo", + "situar", + "sivan", + "slide", + "slogan", + "soar", + "sobrio", + "socratico", + "sodomizar", + "soerguer", + "software", + "sogro", + "soja", + "solver", + "somente", + "sonso", + "sopro", + "soquete", + "sorveteiro", + "sossego", + "soturno", + "sousafone", + "sovinice", + "sozinho", + "suavizar", + "subverter", + "sucursal", + "sudoriparo", + "sufragio", + "sugestoes", + "suite", + "sujo", + "sultao", + "sumula", + "suntuoso", + "suor", + "supurar", + "suruba", + "susto", + "suturar", + "suvenir", + "tabuleta", + "taco", + "tadjique", + "tafeta", + "tagarelice", + "taitiano", + "talvez", + "tampouco", + "tanzaniano", + "taoista", + "tapume", + "taquion", + "tarugo", + "tascar", + "tatuar", + "tautologico", + "tavola", + "taxionomista", + "tchecoslovaco", + "teatrologo", + "tectonismo", + "tedioso", + "teflon", + "tegumento", + "teixo", + "telurio", + "temporas", + "tenue", + "teosofico", + "tepido", + "tequila", + "terrorista", + "testosterona", + "tetrico", + "teutonico", + "teve", + "texugo", + "tiara", + "tibia", + "tiete", + "tifoide", + "tigresa", + "tijolo", + "tilintar", + "timpano", + "tintureiro", + "tiquete", + "tiroteio", + "tisico", + "titulos", + "tive", + "toar", + "toboga", + "tofu", + "togoles", + "toicinho", + "tolueno", + "tomografo", + "tontura", + "toponimo", + "toquio", + "torvelinho", + "tostar", + "toto", + "touro", + "toxina", + "trazer", + "trezentos", + "trivialidade", + "trovoar", + "truta", + "tuaregue", + "tubular", + "tucano", + "tudo", + "tufo", + "tuiste", + "tulipa", + "tumultuoso", + "tunisino", + "tupiniquim", + "turvo", + "tutu", + "ucraniano", + "udenista", + "ufanista", + "ufologo", + "ugaritico", + "uiste", + "uivo", + "ulceroso", + "ulema", + "ultravioleta", + "umbilical", + "umero", + "umido", + "umlaut", + "unanimidade", + "unesco", + "ungulado", + "unheiro", + "univoco", + "untuoso", + "urano", + "urbano", + "urdir", + "uretra", + "urgente", + "urinol", + "urna", + "urologo", + "urro", + "ursulina", + "urtiga", + "urupe", + "usavel", + "usbeque", + "usei", + "usineiro", + "usurpar", + "utero", + "utilizar", + "utopico", + "uvular", + "uxoricidio", + "vacuo", + "vadio", + "vaguear", + "vaivem", + "valvula", + "vampiro", + "vantajoso", + "vaporoso", + "vaquinha", + "varziano", + "vasto", + "vaticinio", + "vaudeville", + "vazio", + "veado", + "vedico", + "veemente", + "vegetativo", + "veio", + "veja", + "veludo", + "venusiano", + "verdade", + "verve", + "vestuario", + "vetusto", + "vexatorio", + "vezes", + "viavel", + "vibratorio", + "victor", + "vicunha", + "vidros", + "vietnamita", + "vigoroso", + "vilipendiar", + "vime", + "vintem", + "violoncelo", + "viquingue", + "virus", + "visualizar", + "vituperio", + "viuvo", + "vivo", + "vizir", + "voar", + "vociferar", + "vodu", + "vogar", + "voile", + "volver", + "vomito", + "vontade", + "vortice", + "vosso", + "voto", + "vovozinha", + "voyeuse", + "vozes", + "vulva", + "vupt", + "western", + "xadrez", + "xale", + "xampu", + "xango", + "xarope", + "xaual", + "xavante", + "xaxim", + "xenonio", + "xepa", + "xerox", + "xicara", + "xifopago", + "xiita", + "xilogravura", + "xinxim", + "xistoso", + "xixi", + "xodo", + "xogum", + "xucro", + "zabumba", + "zagueiro", + "zambiano", + "zanzar", + "zarpar", + "zebu", + "zefiro", + "zeloso", + "zenite", + "zumbi" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Portuguese"; + populate_maps(); } - else - { - trimmed_word_map[*it] = ii; - } - } - return trimmed_word_map; + }; } + +#endif diff --git a/src/mnemonics/singleton.h b/src/mnemonics/singleton.h new file mode 100644 index 000000000..0cefba923 --- /dev/null +++ b/src/mnemonics/singleton.h @@ -0,0 +1,16 @@ +namespace Language +{ + template + class Singleton + { + Singleton() {} + Singleton(Singleton &s) {} + Singleton& operator=(const Singleton&) {} + public: + static T* instance() + { + static T* obj = new T; + return obj; + } + }; +} diff --git a/src/mnemonics/spanish.h b/src/mnemonics/spanish.h index d8778955b..a735fc858 100644 --- a/src/mnemonics/spanish.h +++ b/src/mnemonics/spanish.h @@ -1,2098 +1,2074 @@ +#ifndef SPANISH_H +#define SPANISH_H + #include #include +#include "language_base.h" +#include -std::vector& word_list_spanish() -{ - static std::vector word_list( - "รกbaco", - "abdomen", - "abeja", - "abierto", - "abogado", - "abono", - "aborto", - "abrazo", - "abrir", - "abuelo", - "abuso", - "acabar", - "academia", - "acceso", - "acciรณn", - "aceite", - "acelga", - "acento", - "aceptar", - "รกcido", - "aclarar", - "acnรฉ", - "acoger", - "acoso", - "activo", - "acto", - "actriz", - "actuar", - "acudir", - "acuerdo", - "acusar", - "adicto", - "admitir", - "adoptar", - "adorno", - "aduana", - "adulto", - "aรฉreo", - "afectar", - "aficiรณn", - "afinar", - "afirmar", - "รกgil", - "agitar", - "agonรญa", - "agosto", - "agotar", - "agregar", - "agrio", - "agua", - "agudo", - "รกguila", - "aguja", - "ahogo", - "ahorro", - "aire", - "aislar", - "ajedrez", - "ajeno", - "ajuste", - "alacrรกn", - "alambre", - "alarma", - "alba", - "รกlbum", - "alcalde", - "aldea", - "alegre", - "alejar", - "alerta", - "aleta", - "alfiler", - "alga", - "algodรณn", - "aliado", - "aliento", - "alivio", - "alma", - "almeja", - "almรญbar", - "altar", - "alteza", - "altivo", - "alto", - "altura", - "alumno", - "alzar", - "amable", - "amante", - "amapola", - "amargo", - "amasar", - "รกmbar", - "รกmbito", - "ameno", - "amigo", - "amistad", - "amor", - "amparo", - "amplio", - "ancho", - "anciano", - "ancla", - "andar", - "andรฉn", - "anemia", - "รกngulo", - "anillo", - "รกnimo", - "anรญs", - "anotar", - "antena", - "antiguo", - "antojo", - "anual", - "anular", - "anuncio", - "aรฑadir", - "aรฑejo", - "aรฑo", - "apagar", - "aparato", - "apetito", - "apio", - "aplicar", - "apodo", - "aporte", - "apoyo", - "aprender", - "aprobar", - "apuesta", - "apuro", - "arado", - "araรฑa", - "arar", - "รกrbitro", - "รกrbol", - "arbusto", - "archivo", - "arco", - "arder", - "ardilla", - "arduo", - "รกrea", - "รกrido", - "aries", - "armonรญa", - "arnรฉs", - "aroma", - "arpa", - "arpรณn", - "arreglo", - "arroz", - "arruga", - "arte", - "artista", - "asa", - "asado", - "asalto", - "ascenso", - "asegurar", - "aseo", - "asesor", - "asiento", - "asilo", - "asistir", - "asno", - "asombro", - "รกspero", - "astilla", - "astro", - "astuto", - "asumir", - "asunto", - "atajo", - "ataque", - "atar", - "atento", - "ateo", - "รกtico", - "atleta", - "รกtomo", - "atraer", - "atroz", - "atรบn", - "audaz", - "audio", - "auge", - "aula", - "aumento", - "ausente", - "autor", - "aval", - "avance", - "avaro", - "ave", - "avellana", - "avena", - "avestruz", - "aviรณn", - "aviso", - "ayer", - "ayuda", - "ayuno", - "azafrรกn", - "azar", - "azote", - "azรบcar", - "azufre", - "azul", - "baba", - "babor", - "bache", - "bahรญa", - "baile", - "bajar", - "balanza", - "balcรณn", - "balde", - "bambรบ", - "banco", - "banda", - "baรฑo", - "barba", - "barco", - "barniz", - "barro", - "bรกscula", - "bastรณn", - "basura", - "batalla", - "baterรญa", - "batir", - "batuta", - "baรบl", - "bazar", - "bebรฉ", - "bebida", - "bello", - "besar", - "beso", - "bestia", - "bicho", - "bien", - "bingo", - "blanco", - "bloque", - "blusa", - "boa", - "bobina", - "bobo", - "boca", - "bocina", - "boda", - "bodega", - "boina", - "bola", - "bolero", - "bolsa", - "bomba", - "bondad", - "bonito", - "bono", - "bonsรกi", - "borde", - "borrar", - "bosque", - "bote", - "botรญn", - "bรณveda", - "bozal", - "bravo", - "brazo", - "brecha", - "breve", - "brillo", - "brinco", - "brisa", - "broca", - "broma", - "bronce", - "brote", - "bruja", - "brusco", - "bruto", - "buceo", - "bucle", - "bueno", - "buey", - "bufanda", - "bufรณn", - "bรบho", - "buitre", - "bulto", - "burbuja", - "burla", - "burro", - "buscar", - "butaca", - "buzรณn", - "caballo", - "cabeza", - "cabina", - "cabra", - "cacao", - "cadรกver", - "cadena", - "caer", - "cafรฉ", - "caรญda", - "caimรกn", - "caja", - "cajรณn", - "cal", - "calamar", - "calcio", - "caldo", - "calidad", - "calle", - "calma", - "calor", - "calvo", - "cama", - "cambio", - "camello", - "camino", - "campo", - "cรกncer", - "candil", - "canela", - "canguro", - "canica", - "canto", - "caรฑa", - "caรฑรณn", - "caoba", - "caos", - "capaz", - "capitรกn", - "capote", - "captar", - "capucha", - "cara", - "carbรณn", - "cรกrcel", - "careta", - "carga", - "cariรฑo", - "carne", - "carpeta", - "carro", - "carta", - "casa", - "casco", - "casero", - "caspa", - "castor", - "catorce", - "catre", - "caudal", - "causa", - "cazo", - "cebolla", - "ceder", - "cedro", - "celda", - "cรฉlebre", - "celoso", - "cรฉlula", - "cemento", - "ceniza", - "centro", - "cerca", - "cerdo", - "cereza", - "cero", - "cerrar", - "certeza", - "cรฉsped", - "cetro", - "chacal", - "chaleco", - "champรบ", - "chancla", - "chapa", - "charla", - "chico", - "chiste", - "chivo", - "choque", - "choza", - "chuleta", - "chupar", - "ciclรณn", - "ciego", - "cielo", - "cien", - "cierto", - "cifra", - "cigarro", - "cima", - "cinco", - "cine", - "cinta", - "ciprรฉs", - "circo", - "ciruela", - "cisne", - "cita", - "ciudad", - "clamor", - "clan", - "claro", - "clase", - "clave", - "cliente", - "clima", - "clรญnica", - "cobre", - "cocciรณn", - "cochino", - "cocina", - "coco", - "cรณdigo", - "codo", - "cofre", - "coger", - "cohete", - "cojรญn", - "cojo", - "cola", - "colcha", - "colegio", - "colgar", - "colina", - "collar", - "colmo", - "columna", - "combate", - "comer", - "comida", - "cรณmodo", - "compra", - "conde", - "conejo", - "conga", - "conocer", - "consejo", - "contar", - "copa", - "copia", - "corazรณn", - "corbata", - "corcho", - "cordรณn", - "corona", - "correr", - "coser", - "cosmos", - "costa", - "crรกneo", - "crรกter", - "crear", - "crecer", - "creรญdo", - "crema", - "crรญa", - "crimen", - "cripta", - "crisis", - "cromo", - "crรณnica", - "croqueta", - "crudo", - "cruz", - "cuadro", - "cuarto", - "cuatro", - "cubo", - "cubrir", - "cuchara", - "cuello", - "cuento", - "cuerda", - "cuesta", - "cueva", - "cuidar", - "culebra", - "culpa", - "culto", - "cumbre", - "cumplir", - "cuna", - "cuneta", - "cuota", - "cupรณn", - "cรบpula", - "curar", - "curioso", - "curso", - "curva", - "cutis", - "dama", - "danza", - "dar", - "dardo", - "dรกtil", - "deber", - "dรฉbil", - "dรฉcada", - "decir", - "dedo", - "defensa", - "definir", - "dejar", - "delfรญn", - "delgado", - "delito", - "demora", - "denso", - "dental", - "deporte", - "derecho", - "derrota", - "desayuno", - "deseo", - "desfile", - "desnudo", - "destino", - "desvรญo", - "detalle", - "detener", - "deuda", - "dรญa", - "diablo", - "diadema", - "diamante", - "diana", - "diario", - "dibujo", - "dictar", - "diente", - "dieta", - "diez", - "difรญcil", - "digno", - "dilema", - "diluir", - "dinero", - "directo", - "dirigir", - "disco", - "diseรฑo", - "disfraz", - "diva", - "divino", - "doble", - "doce", - "dolor", - "domingo", - "don", - "donar", - "dorado", - "dormir", - "dorso", - "dos", - "dosis", - "dragรณn", - "droga", - "ducha", - "duda", - "duelo", - "dueรฑo", - "dulce", - "dรบo", - "duque", - "durar", - "dureza", - "duro", - "รฉbano", - "ebrio", - "echar", - "eco", - "ecuador", - "edad", - "ediciรณn", - "edificio", - "editor", - "educar", - "efecto", - "eficaz", - "eje", - "ejemplo", - "elefante", - "elegir", - "elemento", - "elevar", - "elipse", - "รฉlite", - "elixir", - "elogio", - "eludir", - "embudo", - "emitir", - "emociรณn", - "empate", - "empeรฑo", - "empleo", - "empresa", - "enano", - "encargo", - "enchufe", - "encรญa", - "enemigo", - "enero", - "enfado", - "enfermo", - "engaรฑo", - "enigma", - "enlace", - "enorme", - "enredo", - "ensayo", - "enseรฑar", - "entero", - "entrar", - "envase", - "envรญo", - "รฉpoca", - "equipo", - "erizo", - "escala", - "escena", - "escolar", - "escribir", - "escudo", - "esencia", - "esfera", - "esfuerzo", - "espada", - "espejo", - "espรญa", - "esposa", - "espuma", - "esquรญ", - "estar", - "este", - "estilo", - "estufa", - "etapa", - "eterno", - "รฉtica", - "etnia", - "evadir", - "evaluar", - "evento", - "evitar", - "exacto", - "examen", - "exceso", - "excusa", - "exento", - "exigir", - "exilio", - "existir", - "รฉxito", - "experto", - "explicar", - "exponer", - "extremo", - "fรกbrica", - "fรกbula", - "fachada", - "fรกcil", - "factor", - "faena", - "faja", - "falda", - "fallo", - "falso", - "faltar", - "fama", - "familia", - "famoso", - "faraรณn", - "farmacia", - "farol", - "farsa", - "fase", - "fatiga", - "fauna", - "favor", - "fax", - "febrero", - "fecha", - "feliz", - "feo", - "feria", - "feroz", - "fรฉrtil", - "fervor", - "festรญn", - "fiable", - "fianza", - "fiar", - "fibra", - "ficciรณn", - "ficha", - "fideo", - "fiebre", - "fiel", - "fiera", - "fiesta", - "figura", - "fijar", - "fijo", - "fila", - "filete", - "filial", - "filtro", - "fin", - "finca", - "fingir", - "finito", - "firma", - "flaco", - "flauta", - "flecha", - "flor", - "flota", - "fluir", - "flujo", - "flรบor", - "fobia", - "foca", - "fogata", - "fogรณn", - "folio", - "folleto", - "fondo", - "forma", - "forro", - "fortuna", - "forzar", - "fosa", - "foto", - "fracaso", - "frรกgil", - "franja", - "frase", - "fraude", - "freรญr", - "freno", - "fresa", - "frรญo", - "frito", - "fruta", - "fuego", - "fuente", - "fuerza", - "fuga", - "fumar", - "funciรณn", - "funda", - "furgรณn", - "furia", - "fusil", - "fรบtbol", - "futuro", - "gacela", - "gafas", - "gaita", - "gajo", - "gala", - "galerรญa", - "gallo", - "gamba", - "ganar", - "gancho", - "ganga", - "ganso", - "garaje", - "garza", - "gasolina", - "gastar", - "gato", - "gavilรกn", - "gemelo", - "gemir", - "gen", - "gรฉnero", - "genio", - "gente", - "geranio", - "gerente", - "germen", - "gesto", - "gigante", - "gimnasio", - "girar", - "giro", - "glaciar", - "globo", - "gloria", - "gol", - "golfo", - "goloso", - "golpe", - "goma", - "gordo", - "gorila", - "gorra", - "gota", - "goteo", - "gozar", - "grada", - "grรกfico", - "grano", - "grasa", - "gratis", - "grave", - "grieta", - "grillo", - "gripe", - "gris", - "grito", - "grosor", - "grรบa", - "grueso", - "grumo", - "grupo", - "guante", - "guapo", - "guardia", - "guerra", - "guรญa", - "guiรฑo", - "guion", - "guiso", - "guitarra", - "gusano", - "gustar", - "haber", - "hรกbil", - "hablar", - "hacer", - "hacha", - "hada", - "hallar", - "hamaca", - "harina", - "haz", - "hazaรฑa", - "hebilla", - "hebra", - "hecho", - "helado", - "helio", - "hembra", - "herir", - "hermano", - "hรฉroe", - "hervir", - "hielo", - "hierro", - "hรญgado", - "higiene", - "hijo", - "himno", - "historia", - "hocico", - "hogar", - "hoguera", - "hoja", - "hombre", - "hongo", - "honor", - "honra", - "hora", - "hormiga", - "horno", - "hostil", - "hoyo", - "hueco", - "huelga", - "huerta", - "hueso", - "huevo", - "huida", - "huir", - "humano", - "hรบmedo", - "humilde", - "humo", - "hundir", - "huracรกn", - "hurto", - "icono", - "ideal", - "idioma", - "รญdolo", - "iglesia", - "iglรบ", - "igual", - "ilegal", - "ilusiรณn", - "imagen", - "imรกn", - "imitar", - "impar", - "imperio", - "imponer", - "impulso", - "incapaz", - "รญndice", - "inerte", - "infiel", - "informe", - "ingenio", - "inicio", - "inmenso", - "inmune", - "innato", - "insecto", - "instante", - "interรฉs", - "รญntimo", - "intuir", - "inรบtil", - "invierno", - "ira", - "iris", - "ironรญa", - "isla", - "islote", - "jabalรญ", - "jabรณn", - "jamรณn", - "jarabe", - "jardรญn", - "jarra", - "jaula", - "jazmรญn", - "jefe", - "jeringa", - "jinete", - "jornada", - "joroba", - "joven", - "joya", - "juerga", - "jueves", - "juez", - "jugador", - "jugo", - "juguete", - "juicio", - "junco", - "jungla", - "junio", - "juntar", - "jรบpiter", - "jurar", - "justo", - "juvenil", - "juzgar", - "kilo", - "koala", - "labio", - "lacio", - "lacra", - "lado", - "ladrรณn", - "lagarto", - "lรกgrima", - "laguna", - "laico", - "lamer", - "lรกmina", - "lรกmpara", - "lana", - "lancha", - "langosta", - "lanza", - "lรกpiz", - "largo", - "larva", - "lรกstima", - "lata", - "lรกtex", - "latir", - "laurel", - "lavar", - "lazo", - "leal", - "lecciรณn", - "leche", - "lector", - "leer", - "legiรณn", - "legumbre", - "lejano", - "lengua", - "lento", - "leรฑa", - "leรณn", - "leopardo", - "lesiรณn", - "letal", - "letra", - "leve", - "leyenda", - "libertad", - "libro", - "licor", - "lรญder", - "lidiar", - "lienzo", - "liga", - "ligero", - "lima", - "lรญmite", - "limรณn", - "limpio", - "lince", - "lindo", - "lรญnea", - "lingote", - "lino", - "linterna", - "lรญquido", - "liso", - "lista", - "litera", - "litio", - "litro", - "llaga", - "llama", - "llanto", - "llave", - "llegar", - "llenar", - "llevar", - "llorar", - "llover", - "lluvia", - "lobo", - "lociรณn", - "loco", - "locura", - "lรณgica", - "logro", - "lombriz", - "lomo", - "lonja", - "lote", - "lucha", - "lucir", - "lugar", - "lujo", - "luna", - "lunes", - "lupa", - "lustro", - "luto", - "luz", - "maceta", - "macho", - "madera", - "madre", - "maduro", - "maestro", - "mafia", - "magia", - "mago", - "maรญz", - "maldad", - "maleta", - "malla", - "malo", - "mamรก", - "mambo", - "mamut", - "manco", - "mando", - "manejar", - "manga", - "maniquรญ", - "manjar", - "mano", - "manso", - "manta", - "maรฑana", - "mapa", - "mรกquina", - "mar", - "marco", - "marea", - "marfil", - "margen", - "marido", - "mรกrmol", - "marrรณn", - "martes", - "marzo", - "masa", - "mรกscara", - "masivo", - "matar", - "materia", - "matiz", - "matriz", - "mรกximo", - "mayor", - "mazorca", - "mecha", - "medalla", - "medio", - "mรฉdula", - "mejilla", - "mejor", - "melena", - "melรณn", - "memoria", - "menor", - "mensaje", - "mente", - "menรบ", - "mercado", - "merengue", - "mรฉrito", - "mes", - "mesรณn", - "meta", - "meter", - "mรฉtodo", - "metro", - "mezcla", - "miedo", - "miel", - "miembro", - "miga", - "mil", - "milagro", - "militar", - "millรณn", - "mimo", - "mina", - "minero", - "mรญnimo", - "minuto", - "miope", - "mirar", - "misa", - "miseria", - "misil", - "mismo", - "mitad", - "mito", - "mochila", - "mociรณn", - "moda", - "modelo", - "moho", - "mojar", - "molde", - "moler", - "molino", - "momento", - "momia", - "monarca", - "moneda", - "monja", - "monto", - "moรฑo", - "morada", - "morder", - "moreno", - "morir", - "morro", - "morsa", - "mortal", - "mosca", - "mostrar", - "motivo", - "mover", - "mรณvil", - "mozo", - "mucho", - "mudar", - "mueble", - "muela", - "muerte", - "muestra", - "mugre", - "mujer", - "mula", - "muleta", - "multa", - "mundo", - "muรฑeca", - "mural", - "muro", - "mรบsculo", - "museo", - "musgo", - "mรบsica", - "muslo", - "nรกcar", - "naciรณn", - "nadar", - "naipe", - "naranja", - "nariz", - "narrar", - "nasal", - "natal", - "nativo", - "natural", - "nรกusea", - "naval", - "nave", - "navidad", - "necio", - "nรฉctar", - "negar", - "negocio", - "negro", - "neรณn", - "nervio", - "neto", - "neutro", - "nevar", - "nevera", - "nicho", - "nido", - "niebla", - "nieto", - "niรฑez", - "niรฑo", - "nรญtido", - "nivel", - "nobleza", - "noche", - "nรณmina", - "noria", - "norma", - "norte", - "nota", - "noticia", - "novato", - "novela", - "novio", - "nube", - "nuca", - "nรบcleo", - "nudillo", - "nudo", - "nuera", - "nueve", - "nuez", - "nulo", - "nรบmero", - "nutria", - "oasis", - "obeso", - "obispo", - "objeto", - "obra", - "obrero", - "observar", - "obtener", - "obvio", - "oca", - "ocaso", - "ocรฉano", - "ochenta", - "ocho", - "ocio", - "ocre", - "octavo", - "octubre", - "oculto", - "ocupar", - "ocurrir", - "odiar", - "odio", - "odisea", - "oeste", - "ofensa", - "oferta", - "oficio", - "ofrecer", - "ogro", - "oรญdo", - "oรญr", - "ojo", - "ola", - "oleada", - "olfato", - "olivo", - "olla", - "olmo", - "olor", - "olvido", - "ombligo", - "onda", - "onza", - "opaco", - "opciรณn", - "รณpera", - "opinar", - "oponer", - "optar", - "รณptica", - "opuesto", - "oraciรณn", - "orador", - "oral", - "รณrbita", - "orca", - "orden", - "oreja", - "รณrgano", - "orgรญa", - "orgullo", - "oriente", - "origen", - "orilla", - "oro", - "orquesta", - "oruga", - "osadรญa", - "oscuro", - "osezno", - "oso", - "ostra", - "otoรฑo", - "otro", - "oveja", - "รณvulo", - "รณxido", - "oxรญgeno", - "oyente", - "ozono", - "pacto", - "padre", - "paella", - "pรกgina", - "pago", - "paรญs", - "pรกjaro", - "palabra", - "palco", - "paleta", - "pรกlido", - "palma", - "paloma", - "palpar", - "pan", - "panal", - "pรกnico", - "pantera", - "paรฑuelo", - "papรก", - "papel", - "papilla", - "paquete", - "parar", - "parcela", - "pared", - "parir", - "paro", - "pรกrpado", - "parque", - "pรกrrafo", - "parte", - "pasar", - "paseo", - "pasiรณn", - "paso", - "pasta", - "pata", - "patio", - "patria", - "pausa", - "pauta", - "pavo", - "payaso", - "peatรณn", - "pecado", - "pecera", - "pecho", - "pedal", - "pedir", - "pegar", - "peine", - "pelar", - "peldaรฑo", - "pelea", - "peligro", - "pellejo", - "pelo", - "peluca", - "pena", - "pensar", - "peรฑรณn", - "peรณn", - "peor", - "pepino", - "pequeรฑo", - "pera", - "percha", - "perder", - "pereza", - "perfil", - "perico", - "perla", - "permiso", - "perro", - "persona", - "pesa", - "pesca", - "pรฉsimo", - "pestaรฑa", - "pรฉtalo", - "petrรณleo", - "pez", - "pezuรฑa", - "picar", - "pichรณn", - "pie", - "piedra", - "pierna", - "pieza", - "pijama", - "pilar", - "piloto", - "pimienta", - "pino", - "pintor", - "pinza", - "piรฑa", - "piojo", - "pipa", - "pirata", - "pisar", - "piscina", - "piso", - "pista", - "pitรณn", - "pizca", - "placa", - "plan", - "plata", - "playa", - "plaza", - "pleito", - "pleno", - "plomo", - "pluma", - "plural", - "pobre", - "poco", - "poder", - "podio", - "poema", - "poesรญa", - "poeta", - "polen", - "policรญa", - "pollo", - "polvo", - "pomada", - "pomelo", - "pomo", - "pompa", - "poner", - "porciรณn", - "portal", - "posada", - "poseer", - "posible", - "poste", - "potencia", - "potro", - "pozo", - "prado", - "precoz", - "pregunta", - "premio", - "prensa", - "preso", - "previo", - "primo", - "prรญncipe", - "prisiรณn", - "privar", - "proa", - "probar", - "proceso", - "producto", - "proeza", - "profesor", - "programa", - "prole", - "promesa", - "pronto", - "propio", - "prรณximo", - "prueba", - "pรบblico", - "puchero", - "pudor", - "pueblo", - "puerta", - "puesto", - "pulga", - "pulir", - "pulmรณn", - "pulpo", - "pulso", - "puma", - "punto", - "puรฑal", - "puรฑo", - "pupa", - "pupila", - "purรฉ", - "quedar", - "queja", - "quemar", - "querer", - "queso", - "quieto", - "quรญmica", - "quince", - "quitar", - "rรกbano", - "rabia", - "rabo", - "raciรณn", - "radical", - "raรญz", - "rama", - "rampa", - "rancho", - "rango", - "rapaz", - "rรกpido", - "rapto", - "rasgo", - "raspa", - "rato", - "rayo", - "raza", - "razรณn", - "reacciรณn", - "realidad", - "rebaรฑo", - "rebote", - "recaer", - "receta", - "rechazo", - "recoger", - "recreo", - "recto", - "recurso", - "red", - "redondo", - "reducir", - "reflejo", - "reforma", - "refrรกn", - "refugio", - "regalo", - "regir", - "regla", - "regreso", - "rehรฉn", - "reino", - "reรญr", - "reja", - "relato", - "relevo", - "relieve", - "relleno", - "reloj", - "remar", - "remedio", - "remo", - "rencor", - "rendir", - "renta", - "reparto", - "repetir", - "reposo", - "reptil", - "res", - "rescate", - "resina", - "respeto", - "resto", - "resumen", - "retiro", - "retorno", - "retrato", - "reunir", - "revรฉs", - "revista", - "rey", - "rezar", - "rico", - "riego", - "rienda", - "riesgo", - "rifa", - "rรญgido", - "rigor", - "rincรณn", - "riรฑรณn", - "rรญo", - "riqueza", - "risa", - "ritmo", - "rito", - "rizo", - "roble", - "roce", - "rociar", - "rodar", - "rodeo", - "rodilla", - "roer", - "rojizo", - "rojo", - "romero", - "romper", - "ron", - "ronco", - "ronda", - "ropa", - "ropero", - "rosa", - "rosca", - "rostro", - "rotar", - "rubรญ", - "rubor", - "rudo", - "rueda", - "rugir", - "ruido", - "ruina", - "ruleta", - "rulo", - "rumbo", - "rumor", - "ruptura", - "ruta", - "rutina", - "sรกbado", - "saber", - "sabio", - "sable", - "sacar", - "sagaz", - "sagrado", - "sala", - "saldo", - "salero", - "salir", - "salmรณn", - "salรณn", - "salsa", - "salto", - "salud", - "salvar", - "samba", - "sanciรณn", - "sandรญa", - "sanear", - "sangre", - "sanidad", - "sano", - "santo", - "sapo", - "saque", - "sardina", - "sartรฉn", - "sastre", - "satรกn", - "sauna", - "saxofรณn", - "secciรณn", - "seco", - "secreto", - "secta", - "sed", - "seguir", - "seis", - "sello", - "selva", - "semana", - "semilla", - "senda", - "sensor", - "seรฑal", - "seรฑor", - "separar", - "sepia", - "sequรญa", - "ser", - "serie", - "sermรณn", - "servir", - "sesenta", - "sesiรณn", - "seta", - "setenta", - "severo", - "sexo", - "sexto", - "sidra", - "siesta", - "siete", - "siglo", - "signo", - "sรญlaba", - "silbar", - "silencio", - "silla", - "sรญmbolo", - "simio", - "sirena", - "sistema", - "sitio", - "situar", - "sobre", - "socio", - "sodio", - "sol", - "solapa", - "soldado", - "soledad", - "sรณlido", - "soltar", - "soluciรณn", - "sombra", - "sondeo", - "sonido", - "sonoro", - "sonrisa", - "sopa", - "soplar", - "soporte", - "sordo", - "sorpresa", - "sorteo", - "sostรฉn", - "sรณtano", - "suave", - "subir", - "suceso", - "sudor", - "suegra", - "suelo", - "sueรฑo", - "suerte", - "sufrir", - "sujeto", - "sultรกn", - "sumar", - "superar", - "suplir", - "suponer", - "supremo", - "sur", - "surco", - "sureรฑo", - "surgir", - "susto", - "sutil", - "tabaco", - "tabique", - "tabla", - "tabรบ", - "taco", - "tacto", - "tajo", - "talar", - "talco", - "talento", - "talla", - "talรณn", - "tamaรฑo", - "tambor", - "tango", - "tanque", - "tapa", - "tapete", - "tapia", - "tapรณn", - "taquilla", - "tarde", - "tarea", - "tarifa", - "tarjeta", - "tarot", - "tarro", - "tarta", - "tatuaje", - "tauro", - "taza", - "tazรณn", - "teatro", - "techo", - "tecla", - "tรฉcnica", - "tejado", - "tejer", - "tejido", - "tela", - "telรฉfono", - "tema", - "temor", - "templo", - "tenaz", - "tender", - "tener", - "tenis", - "tenso", - "teorรญa", - "terapia", - "terco", - "tรฉrmino", - "ternura", - "terror", - "tesis", - "tesoro", - "testigo", - "tetera", - "texto", - "tez", - "tibio", - "tiburรณn", - "tiempo", - "tienda", - "tierra", - "tieso", - "tigre", - "tijera", - "tilde", - "timbre", - "tรญmido", - "timo", - "tinta", - "tรญo", - "tรญpico", - "tipo", - "tira", - "tirรณn", - "titรกn", - "tรญtere", - "tรญtulo", - "tiza", - "toalla", - "tobillo", - "tocar", - "tocino", - "todo", - "toga", - "toldo", - "tomar", - "tono", - "tonto", - "topar", - "tope", - "toque", - "tรณrax", - "torero", - "tormenta", - "torneo", - "toro", - "torpedo", - "torre", - "torso", - "tortuga", - "tos", - "tosco", - "toser", - "tรณxico", - "trabajo", - "tractor", - "traer", - "trรกfico", - "trago", - "traje", - "tramo", - "trance", - "trato", - "trauma", - "trazar", - "trรฉbol", - "tregua", - "treinta", - "tren", - "trepar", - "tres", - "tribu", - "trigo", - "tripa", - "triste", - "triunfo", - "trofeo", - "trompa", - "tronco", - "tropa", - "trote", - "trozo", - "truco", - "trueno", - "trufa", - "tuberรญa", - "tubo", - "tuerto", - "tumba", - "tumor", - "tรบnel", - "tรบnica", - "turbina", - "turismo", - "turno", - "tutor", - "ubicar", - "รบlcera", - "umbral", - "unidad", - "unir", - "universo", - "uno", - "untar", - "uรฑa", - "urbano", - "urbe", - "urgente", - "urna", - "usar", - "usuario", - "รบtil", - "utopรญa", - "uva", - "vaca", - "vacรญo", - "vacuna", - "vagar", - "vago", - "vaina", - "vajilla", - "vale", - "vรกlido", - "valle", - "valor", - "vรกlvula", - "vampiro", - "vara", - "variar", - "varรณn", - "vaso", - "vecino", - "vector", - "vehรญculo", - "veinte", - "vejez", - "vela", - "velero", - "veloz", - "vena", - "vencer", - "venda", - "veneno", - "vengar", - "venir", - "venta", - "venus", - "ver", - "verano", - "verbo", - "verde", - "vereda", - "verja", - "verso", - "verter", - "vรญa", - "viaje", - "vibrar", - "vicio", - "vรญctima", - "vida", - "vรญdeo", - "vidrio", - "viejo", - "viernes", - "vigor", - "vil", - "villa", - "vinagre", - "vino", - "viรฑedo", - "violรญn", - "viral", - "virgo", - "virtud", - "visor", - "vรญspera", - "vista", - "vitamina", - "viudo", - "vivaz", - "vivero", - "vivir", - "vivo", - "volcรกn", - "volumen", - "volver", - "voraz", - "votar", - "voto", - "voz", - "vuelo", - "vulgar", - "yacer", - "yate", - "yegua", - "yema", - "yerno", - "yeso", - "yodo", - "yoga", - "yogur", - "zafiro", - "zanja", - "zapato", - "zarza", - "zona", - "zorro", - "zumo", - "zurdo" - ); - return word_list; -} - -std::unordered_map& word_map_spanish() +namespace Language { - static std::unordered_map word_map; - if (word_map.size() > 0) + class Spanish: public Base { - return word_map; - } - std::vector word_list = word_list_spanish(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - word_map[*it] = ii; - } - return word_map; -} - -std::unordered_map& trimmed_word_map_spanish() -{ - static std::unordered_map trimmed_word_map; - if (trimmed_word_map.size() > 0) - { - return trimmed_word_map; - } - std::vector word_list = word_list_spanish(); - int ii; - std::vector::iterator it; - for (it = word_list.begin(), ii = 0; it != word_list.end(); it++, ii++) - { - if (it->length() > 4) + public: + Spanish() { - trimmed_word_map[it->substr(0, 4)] = ii; + word_list = new std::vector({ + "รกbaco", + "abdomen", + "abeja", + "abierto", + "abogado", + "abono", + "aborto", + "abrazo", + "abrir", + "abuelo", + "abuso", + "acabar", + "academia", + "acceso", + "acciรณn", + "aceite", + "acelga", + "acento", + "aceptar", + "รกcido", + "aclarar", + "acnรฉ", + "acoger", + "acoso", + "activo", + "acto", + "actriz", + "actuar", + "acudir", + "acuerdo", + "acusar", + "adicto", + "admitir", + "adoptar", + "adorno", + "aduana", + "adulto", + "aรฉreo", + "afectar", + "aficiรณn", + "afinar", + "afirmar", + "รกgil", + "agitar", + "agonรญa", + "agosto", + "agotar", + "agregar", + "agrio", + "agua", + "agudo", + "รกguila", + "aguja", + "ahogo", + "ahorro", + "aire", + "aislar", + "ajedrez", + "ajeno", + "ajuste", + "alacrรกn", + "alambre", + "alarma", + "alba", + "รกlbum", + "alcalde", + "aldea", + "alegre", + "alejar", + "alerta", + "aleta", + "alfiler", + "alga", + "algodรณn", + "aliado", + "aliento", + "alivio", + "alma", + "almeja", + "almรญbar", + "altar", + "alteza", + "altivo", + "alto", + "altura", + "alumno", + "alzar", + "amable", + "amante", + "amapola", + "amargo", + "amasar", + "รกmbar", + "รกmbito", + "ameno", + "amigo", + "amistad", + "amor", + "amparo", + "amplio", + "ancho", + "anciano", + "ancla", + "andar", + "andรฉn", + "anemia", + "รกngulo", + "anillo", + "รกnimo", + "anรญs", + "anotar", + "antena", + "antiguo", + "antojo", + "anual", + "anular", + "anuncio", + "aรฑadir", + "aรฑejo", + "aรฑo", + "apagar", + "aparato", + "apetito", + "apio", + "aplicar", + "apodo", + "aporte", + "apoyo", + "aprender", + "aprobar", + "apuesta", + "apuro", + "arado", + "araรฑa", + "arar", + "รกrbitro", + "รกrbol", + "arbusto", + "archivo", + "arco", + "arder", + "ardilla", + "arduo", + "รกrea", + "รกrido", + "aries", + "armonรญa", + "arnรฉs", + "aroma", + "arpa", + "arpรณn", + "arreglo", + "arroz", + "arruga", + "arte", + "artista", + "asa", + "asado", + "asalto", + "ascenso", + "asegurar", + "aseo", + "asesor", + "asiento", + "asilo", + "asistir", + "asno", + "asombro", + "รกspero", + "astilla", + "astro", + "astuto", + "asumir", + "asunto", + "atajo", + "ataque", + "atar", + "atento", + "ateo", + "รกtico", + "atleta", + "รกtomo", + "atraer", + "atroz", + "atรบn", + "audaz", + "audio", + "auge", + "aula", + "aumento", + "ausente", + "autor", + "aval", + "avance", + "avaro", + "ave", + "avellana", + "avena", + "avestruz", + "aviรณn", + "aviso", + "ayer", + "ayuda", + "ayuno", + "azafrรกn", + "azar", + "azote", + "azรบcar", + "azufre", + "azul", + "baba", + "babor", + "bache", + "bahรญa", + "baile", + "bajar", + "balanza", + "balcรณn", + "balde", + "bambรบ", + "banco", + "banda", + "baรฑo", + "barba", + "barco", + "barniz", + "barro", + "bรกscula", + "bastรณn", + "basura", + "batalla", + "baterรญa", + "batir", + "batuta", + "baรบl", + "bazar", + "bebรฉ", + "bebida", + "bello", + "besar", + "beso", + "bestia", + "bicho", + "bien", + "bingo", + "blanco", + "bloque", + "blusa", + "boa", + "bobina", + "bobo", + "boca", + "bocina", + "boda", + "bodega", + "boina", + "bola", + "bolero", + "bolsa", + "bomba", + "bondad", + "bonito", + "bono", + "bonsรกi", + "borde", + "borrar", + "bosque", + "bote", + "botรญn", + "bรณveda", + "bozal", + "bravo", + "brazo", + "brecha", + "breve", + "brillo", + "brinco", + "brisa", + "broca", + "broma", + "bronce", + "brote", + "bruja", + "brusco", + "bruto", + "buceo", + "bucle", + "bueno", + "buey", + "bufanda", + "bufรณn", + "bรบho", + "buitre", + "bulto", + "burbuja", + "burla", + "burro", + "buscar", + "butaca", + "buzรณn", + "caballo", + "cabeza", + "cabina", + "cabra", + "cacao", + "cadรกver", + "cadena", + "caer", + "cafรฉ", + "caรญda", + "caimรกn", + "caja", + "cajรณn", + "cal", + "calamar", + "calcio", + "caldo", + "calidad", + "calle", + "calma", + "calor", + "calvo", + "cama", + "cambio", + "camello", + "camino", + "campo", + "cรกncer", + "candil", + "canela", + "canguro", + "canica", + "canto", + "caรฑa", + "caรฑรณn", + "caoba", + "caos", + "capaz", + "capitรกn", + "capote", + "captar", + "capucha", + "cara", + "carbรณn", + "cรกrcel", + "careta", + "carga", + "cariรฑo", + "carne", + "carpeta", + "carro", + "carta", + "casa", + "casco", + "casero", + "caspa", + "castor", + "catorce", + "catre", + "caudal", + "causa", + "cazo", + "cebolla", + "ceder", + "cedro", + "celda", + "cรฉlebre", + "celoso", + "cรฉlula", + "cemento", + "ceniza", + "centro", + "cerca", + "cerdo", + "cereza", + "cero", + "cerrar", + "certeza", + "cรฉsped", + "cetro", + "chacal", + "chaleco", + "champรบ", + "chancla", + "chapa", + "charla", + "chico", + "chiste", + "chivo", + "choque", + "choza", + "chuleta", + "chupar", + "ciclรณn", + "ciego", + "cielo", + "cien", + "cierto", + "cifra", + "cigarro", + "cima", + "cinco", + "cine", + "cinta", + "ciprรฉs", + "circo", + "ciruela", + "cisne", + "cita", + "ciudad", + "clamor", + "clan", + "claro", + "clase", + "clave", + "cliente", + "clima", + "clรญnica", + "cobre", + "cocciรณn", + "cochino", + "cocina", + "coco", + "cรณdigo", + "codo", + "cofre", + "coger", + "cohete", + "cojรญn", + "cojo", + "cola", + "colcha", + "colegio", + "colgar", + "colina", + "collar", + "colmo", + "columna", + "combate", + "comer", + "comida", + "cรณmodo", + "compra", + "conde", + "conejo", + "conga", + "conocer", + "consejo", + "contar", + "copa", + "copia", + "corazรณn", + "corbata", + "corcho", + "cordรณn", + "corona", + "correr", + "coser", + "cosmos", + "costa", + "crรกneo", + "crรกter", + "crear", + "crecer", + "creรญdo", + "crema", + "crรญa", + "crimen", + "cripta", + "crisis", + "cromo", + "crรณnica", + "croqueta", + "crudo", + "cruz", + "cuadro", + "cuarto", + "cuatro", + "cubo", + "cubrir", + "cuchara", + "cuello", + "cuento", + "cuerda", + "cuesta", + "cueva", + "cuidar", + "culebra", + "culpa", + "culto", + "cumbre", + "cumplir", + "cuna", + "cuneta", + "cuota", + "cupรณn", + "cรบpula", + "curar", + "curioso", + "curso", + "curva", + "cutis", + "dama", + "danza", + "dar", + "dardo", + "dรกtil", + "deber", + "dรฉbil", + "dรฉcada", + "decir", + "dedo", + "defensa", + "definir", + "dejar", + "delfรญn", + "delgado", + "delito", + "demora", + "denso", + "dental", + "deporte", + "derecho", + "derrota", + "desayuno", + "deseo", + "desfile", + "desnudo", + "destino", + "desvรญo", + "detalle", + "detener", + "deuda", + "dรญa", + "diablo", + "diadema", + "diamante", + "diana", + "diario", + "dibujo", + "dictar", + "diente", + "dieta", + "diez", + "difรญcil", + "digno", + "dilema", + "diluir", + "dinero", + "directo", + "dirigir", + "disco", + "diseรฑo", + "disfraz", + "diva", + "divino", + "doble", + "doce", + "dolor", + "domingo", + "don", + "donar", + "dorado", + "dormir", + "dorso", + "dos", + "dosis", + "dragรณn", + "droga", + "ducha", + "duda", + "duelo", + "dueรฑo", + "dulce", + "dรบo", + "duque", + "durar", + "dureza", + "duro", + "รฉbano", + "ebrio", + "echar", + "eco", + "ecuador", + "edad", + "ediciรณn", + "edificio", + "editor", + "educar", + "efecto", + "eficaz", + "eje", + "ejemplo", + "elefante", + "elegir", + "elemento", + "elevar", + "elipse", + "รฉlite", + "elixir", + "elogio", + "eludir", + "embudo", + "emitir", + "emociรณn", + "empate", + "empeรฑo", + "empleo", + "empresa", + "enano", + "encargo", + "enchufe", + "encรญa", + "enemigo", + "enero", + "enfado", + "enfermo", + "engaรฑo", + "enigma", + "enlace", + "enorme", + "enredo", + "ensayo", + "enseรฑar", + "entero", + "entrar", + "envase", + "envรญo", + "รฉpoca", + "equipo", + "erizo", + "escala", + "escena", + "escolar", + "escribir", + "escudo", + "esencia", + "esfera", + "esfuerzo", + "espada", + "espejo", + "espรญa", + "esposa", + "espuma", + "esquรญ", + "estar", + "este", + "estilo", + "estufa", + "etapa", + "eterno", + "รฉtica", + "etnia", + "evadir", + "evaluar", + "evento", + "evitar", + "exacto", + "examen", + "exceso", + "excusa", + "exento", + "exigir", + "exilio", + "existir", + "รฉxito", + "experto", + "explicar", + "exponer", + "extremo", + "fรกbrica", + "fรกbula", + "fachada", + "fรกcil", + "factor", + "faena", + "faja", + "falda", + "fallo", + "falso", + "faltar", + "fama", + "familia", + "famoso", + "faraรณn", + "farmacia", + "farol", + "farsa", + "fase", + "fatiga", + "fauna", + "favor", + "fax", + "febrero", + "fecha", + "feliz", + "feo", + "feria", + "feroz", + "fรฉrtil", + "fervor", + "festรญn", + "fiable", + "fianza", + "fiar", + "fibra", + "ficciรณn", + "ficha", + "fideo", + "fiebre", + "fiel", + "fiera", + "fiesta", + "figura", + "fijar", + "fijo", + "fila", + "filete", + "filial", + "filtro", + "fin", + "finca", + "fingir", + "finito", + "firma", + "flaco", + "flauta", + "flecha", + "flor", + "flota", + "fluir", + "flujo", + "flรบor", + "fobia", + "foca", + "fogata", + "fogรณn", + "folio", + "folleto", + "fondo", + "forma", + "forro", + "fortuna", + "forzar", + "fosa", + "foto", + "fracaso", + "frรกgil", + "franja", + "frase", + "fraude", + "freรญr", + "freno", + "fresa", + "frรญo", + "frito", + "fruta", + "fuego", + "fuente", + "fuerza", + "fuga", + "fumar", + "funciรณn", + "funda", + "furgรณn", + "furia", + "fusil", + "fรบtbol", + "futuro", + "gacela", + "gafas", + "gaita", + "gajo", + "gala", + "galerรญa", + "gallo", + "gamba", + "ganar", + "gancho", + "ganga", + "ganso", + "garaje", + "garza", + "gasolina", + "gastar", + "gato", + "gavilรกn", + "gemelo", + "gemir", + "gen", + "gรฉnero", + "genio", + "gente", + "geranio", + "gerente", + "germen", + "gesto", + "gigante", + "gimnasio", + "girar", + "giro", + "glaciar", + "globo", + "gloria", + "gol", + "golfo", + "goloso", + "golpe", + "goma", + "gordo", + "gorila", + "gorra", + "gota", + "goteo", + "gozar", + "grada", + "grรกfico", + "grano", + "grasa", + "gratis", + "grave", + "grieta", + "grillo", + "gripe", + "gris", + "grito", + "grosor", + "grรบa", + "grueso", + "grumo", + "grupo", + "guante", + "guapo", + "guardia", + "guerra", + "guรญa", + "guiรฑo", + "guion", + "guiso", + "guitarra", + "gusano", + "gustar", + "haber", + "hรกbil", + "hablar", + "hacer", + "hacha", + "hada", + "hallar", + "hamaca", + "harina", + "haz", + "hazaรฑa", + "hebilla", + "hebra", + "hecho", + "helado", + "helio", + "hembra", + "herir", + "hermano", + "hรฉroe", + "hervir", + "hielo", + "hierro", + "hรญgado", + "higiene", + "hijo", + "himno", + "historia", + "hocico", + "hogar", + "hoguera", + "hoja", + "hombre", + "hongo", + "honor", + "honra", + "hora", + "hormiga", + "horno", + "hostil", + "hoyo", + "hueco", + "huelga", + "huerta", + "hueso", + "huevo", + "huida", + "huir", + "humano", + "hรบmedo", + "humilde", + "humo", + "hundir", + "huracรกn", + "hurto", + "icono", + "ideal", + "idioma", + "รญdolo", + "iglesia", + "iglรบ", + "igual", + "ilegal", + "ilusiรณn", + "imagen", + "imรกn", + "imitar", + "impar", + "imperio", + "imponer", + "impulso", + "incapaz", + "รญndice", + "inerte", + "infiel", + "informe", + "ingenio", + "inicio", + "inmenso", + "inmune", + "innato", + "insecto", + "instante", + "interรฉs", + "รญntimo", + "intuir", + "inรบtil", + "invierno", + "ira", + "iris", + "ironรญa", + "isla", + "islote", + "jabalรญ", + "jabรณn", + "jamรณn", + "jarabe", + "jardรญn", + "jarra", + "jaula", + "jazmรญn", + "jefe", + "jeringa", + "jinete", + "jornada", + "joroba", + "joven", + "joya", + "juerga", + "jueves", + "juez", + "jugador", + "jugo", + "juguete", + "juicio", + "junco", + "jungla", + "junio", + "juntar", + "jรบpiter", + "jurar", + "justo", + "juvenil", + "juzgar", + "kilo", + "koala", + "labio", + "lacio", + "lacra", + "lado", + "ladrรณn", + "lagarto", + "lรกgrima", + "laguna", + "laico", + "lamer", + "lรกmina", + "lรกmpara", + "lana", + "lancha", + "langosta", + "lanza", + "lรกpiz", + "largo", + "larva", + "lรกstima", + "lata", + "lรกtex", + "latir", + "laurel", + "lavar", + "lazo", + "leal", + "lecciรณn", + "leche", + "lector", + "leer", + "legiรณn", + "legumbre", + "lejano", + "lengua", + "lento", + "leรฑa", + "leรณn", + "leopardo", + "lesiรณn", + "letal", + "letra", + "leve", + "leyenda", + "libertad", + "libro", + "licor", + "lรญder", + "lidiar", + "lienzo", + "liga", + "ligero", + "lima", + "lรญmite", + "limรณn", + "limpio", + "lince", + "lindo", + "lรญnea", + "lingote", + "lino", + "linterna", + "lรญquido", + "liso", + "lista", + "litera", + "litio", + "litro", + "llaga", + "llama", + "llanto", + "llave", + "llegar", + "llenar", + "llevar", + "llorar", + "llover", + "lluvia", + "lobo", + "lociรณn", + "loco", + "locura", + "lรณgica", + "logro", + "lombriz", + "lomo", + "lonja", + "lote", + "lucha", + "lucir", + "lugar", + "lujo", + "luna", + "lunes", + "lupa", + "lustro", + "luto", + "luz", + "maceta", + "macho", + "madera", + "madre", + "maduro", + "maestro", + "mafia", + "magia", + "mago", + "maรญz", + "maldad", + "maleta", + "malla", + "malo", + "mamรก", + "mambo", + "mamut", + "manco", + "mando", + "manejar", + "manga", + "maniquรญ", + "manjar", + "mano", + "manso", + "manta", + "maรฑana", + "mapa", + "mรกquina", + "mar", + "marco", + "marea", + "marfil", + "margen", + "marido", + "mรกrmol", + "marrรณn", + "martes", + "marzo", + "masa", + "mรกscara", + "masivo", + "matar", + "materia", + "matiz", + "matriz", + "mรกximo", + "mayor", + "mazorca", + "mecha", + "medalla", + "medio", + "mรฉdula", + "mejilla", + "mejor", + "melena", + "melรณn", + "memoria", + "menor", + "mensaje", + "mente", + "menรบ", + "mercado", + "merengue", + "mรฉrito", + "mes", + "mesรณn", + "meta", + "meter", + "mรฉtodo", + "metro", + "mezcla", + "miedo", + "miel", + "miembro", + "miga", + "mil", + "milagro", + "militar", + "millรณn", + "mimo", + "mina", + "minero", + "mรญnimo", + "minuto", + "miope", + "mirar", + "misa", + "miseria", + "misil", + "mismo", + "mitad", + "mito", + "mochila", + "mociรณn", + "moda", + "modelo", + "moho", + "mojar", + "molde", + "moler", + "molino", + "momento", + "momia", + "monarca", + "moneda", + "monja", + "monto", + "moรฑo", + "morada", + "morder", + "moreno", + "morir", + "morro", + "morsa", + "mortal", + "mosca", + "mostrar", + "motivo", + "mover", + "mรณvil", + "mozo", + "mucho", + "mudar", + "mueble", + "muela", + "muerte", + "muestra", + "mugre", + "mujer", + "mula", + "muleta", + "multa", + "mundo", + "muรฑeca", + "mural", + "muro", + "mรบsculo", + "museo", + "musgo", + "mรบsica", + "muslo", + "nรกcar", + "naciรณn", + "nadar", + "naipe", + "naranja", + "nariz", + "narrar", + "nasal", + "natal", + "nativo", + "natural", + "nรกusea", + "naval", + "nave", + "navidad", + "necio", + "nรฉctar", + "negar", + "negocio", + "negro", + "neรณn", + "nervio", + "neto", + "neutro", + "nevar", + "nevera", + "nicho", + "nido", + "niebla", + "nieto", + "niรฑez", + "niรฑo", + "nรญtido", + "nivel", + "nobleza", + "noche", + "nรณmina", + "noria", + "norma", + "norte", + "nota", + "noticia", + "novato", + "novela", + "novio", + "nube", + "nuca", + "nรบcleo", + "nudillo", + "nudo", + "nuera", + "nueve", + "nuez", + "nulo", + "nรบmero", + "nutria", + "oasis", + "obeso", + "obispo", + "objeto", + "obra", + "obrero", + "observar", + "obtener", + "obvio", + "oca", + "ocaso", + "ocรฉano", + "ochenta", + "ocho", + "ocio", + "ocre", + "octavo", + "octubre", + "oculto", + "ocupar", + "ocurrir", + "odiar", + "odio", + "odisea", + "oeste", + "ofensa", + "oferta", + "oficio", + "ofrecer", + "ogro", + "oรญdo", + "oรญr", + "ojo", + "ola", + "oleada", + "olfato", + "olivo", + "olla", + "olmo", + "olor", + "olvido", + "ombligo", + "onda", + "onza", + "opaco", + "opciรณn", + "รณpera", + "opinar", + "oponer", + "optar", + "รณptica", + "opuesto", + "oraciรณn", + "orador", + "oral", + "รณrbita", + "orca", + "orden", + "oreja", + "รณrgano", + "orgรญa", + "orgullo", + "oriente", + "origen", + "orilla", + "oro", + "orquesta", + "oruga", + "osadรญa", + "oscuro", + "osezno", + "oso", + "ostra", + "otoรฑo", + "otro", + "oveja", + "รณvulo", + "รณxido", + "oxรญgeno", + "oyente", + "ozono", + "pacto", + "padre", + "paella", + "pรกgina", + "pago", + "paรญs", + "pรกjaro", + "palabra", + "palco", + "paleta", + "pรกlido", + "palma", + "paloma", + "palpar", + "pan", + "panal", + "pรกnico", + "pantera", + "paรฑuelo", + "papรก", + "papel", + "papilla", + "paquete", + "parar", + "parcela", + "pared", + "parir", + "paro", + "pรกrpado", + "parque", + "pรกrrafo", + "parte", + "pasar", + "paseo", + "pasiรณn", + "paso", + "pasta", + "pata", + "patio", + "patria", + "pausa", + "pauta", + "pavo", + "payaso", + "peatรณn", + "pecado", + "pecera", + "pecho", + "pedal", + "pedir", + "pegar", + "peine", + "pelar", + "peldaรฑo", + "pelea", + "peligro", + "pellejo", + "pelo", + "peluca", + "pena", + "pensar", + "peรฑรณn", + "peรณn", + "peor", + "pepino", + "pequeรฑo", + "pera", + "percha", + "perder", + "pereza", + "perfil", + "perico", + "perla", + "permiso", + "perro", + "persona", + "pesa", + "pesca", + "pรฉsimo", + "pestaรฑa", + "pรฉtalo", + "petrรณleo", + "pez", + "pezuรฑa", + "picar", + "pichรณn", + "pie", + "piedra", + "pierna", + "pieza", + "pijama", + "pilar", + "piloto", + "pimienta", + "pino", + "pintor", + "pinza", + "piรฑa", + "piojo", + "pipa", + "pirata", + "pisar", + "piscina", + "piso", + "pista", + "pitรณn", + "pizca", + "placa", + "plan", + "plata", + "playa", + "plaza", + "pleito", + "pleno", + "plomo", + "pluma", + "plural", + "pobre", + "poco", + "poder", + "podio", + "poema", + "poesรญa", + "poeta", + "polen", + "policรญa", + "pollo", + "polvo", + "pomada", + "pomelo", + "pomo", + "pompa", + "poner", + "porciรณn", + "portal", + "posada", + "poseer", + "posible", + "poste", + "potencia", + "potro", + "pozo", + "prado", + "precoz", + "pregunta", + "premio", + "prensa", + "preso", + "previo", + "primo", + "prรญncipe", + "prisiรณn", + "privar", + "proa", + "probar", + "proceso", + "producto", + "proeza", + "profesor", + "programa", + "prole", + "promesa", + "pronto", + "propio", + "prรณximo", + "prueba", + "pรบblico", + "puchero", + "pudor", + "pueblo", + "puerta", + "puesto", + "pulga", + "pulir", + "pulmรณn", + "pulpo", + "pulso", + "puma", + "punto", + "puรฑal", + "puรฑo", + "pupa", + "pupila", + "purรฉ", + "quedar", + "queja", + "quemar", + "querer", + "queso", + "quieto", + "quรญmica", + "quince", + "quitar", + "rรกbano", + "rabia", + "rabo", + "raciรณn", + "radical", + "raรญz", + "rama", + "rampa", + "rancho", + "rango", + "rapaz", + "rรกpido", + "rapto", + "rasgo", + "raspa", + "rato", + "rayo", + "raza", + "razรณn", + "reacciรณn", + "realidad", + "rebaรฑo", + "rebote", + "recaer", + "receta", + "rechazo", + "recoger", + "recreo", + "recto", + "recurso", + "red", + "redondo", + "reducir", + "reflejo", + "reforma", + "refrรกn", + "refugio", + "regalo", + "regir", + "regla", + "regreso", + "rehรฉn", + "reino", + "reรญr", + "reja", + "relato", + "relevo", + "relieve", + "relleno", + "reloj", + "remar", + "remedio", + "remo", + "rencor", + "rendir", + "renta", + "reparto", + "repetir", + "reposo", + "reptil", + "res", + "rescate", + "resina", + "respeto", + "resto", + "resumen", + "retiro", + "retorno", + "retrato", + "reunir", + "revรฉs", + "revista", + "rey", + "rezar", + "rico", + "riego", + "rienda", + "riesgo", + "rifa", + "rรญgido", + "rigor", + "rincรณn", + "riรฑรณn", + "rรญo", + "riqueza", + "risa", + "ritmo", + "rito", + "rizo", + "roble", + "roce", + "rociar", + "rodar", + "rodeo", + "rodilla", + "roer", + "rojizo", + "rojo", + "romero", + "romper", + "ron", + "ronco", + "ronda", + "ropa", + "ropero", + "rosa", + "rosca", + "rostro", + "rotar", + "rubรญ", + "rubor", + "rudo", + "rueda", + "rugir", + "ruido", + "ruina", + "ruleta", + "rulo", + "rumbo", + "rumor", + "ruptura", + "ruta", + "rutina", + "sรกbado", + "saber", + "sabio", + "sable", + "sacar", + "sagaz", + "sagrado", + "sala", + "saldo", + "salero", + "salir", + "salmรณn", + "salรณn", + "salsa", + "salto", + "salud", + "salvar", + "samba", + "sanciรณn", + "sandรญa", + "sanear", + "sangre", + "sanidad", + "sano", + "santo", + "sapo", + "saque", + "sardina", + "sartรฉn", + "sastre", + "satรกn", + "sauna", + "saxofรณn", + "secciรณn", + "seco", + "secreto", + "secta", + "sed", + "seguir", + "seis", + "sello", + "selva", + "semana", + "semilla", + "senda", + "sensor", + "seรฑal", + "seรฑor", + "separar", + "sepia", + "sequรญa", + "ser", + "serie", + "sermรณn", + "servir", + "sesenta", + "sesiรณn", + "seta", + "setenta", + "severo", + "sexo", + "sexto", + "sidra", + "siesta", + "siete", + "siglo", + "signo", + "sรญlaba", + "silbar", + "silencio", + "silla", + "sรญmbolo", + "simio", + "sirena", + "sistema", + "sitio", + "situar", + "sobre", + "socio", + "sodio", + "sol", + "solapa", + "soldado", + "soledad", + "sรณlido", + "soltar", + "soluciรณn", + "sombra", + "sondeo", + "sonido", + "sonoro", + "sonrisa", + "sopa", + "soplar", + "soporte", + "sordo", + "sorpresa", + "sorteo", + "sostรฉn", + "sรณtano", + "suave", + "subir", + "suceso", + "sudor", + "suegra", + "suelo", + "sueรฑo", + "suerte", + "sufrir", + "sujeto", + "sultรกn", + "sumar", + "superar", + "suplir", + "suponer", + "supremo", + "sur", + "surco", + "sureรฑo", + "surgir", + "susto", + "sutil", + "tabaco", + "tabique", + "tabla", + "tabรบ", + "taco", + "tacto", + "tajo", + "talar", + "talco", + "talento", + "talla", + "talรณn", + "tamaรฑo", + "tambor", + "tango", + "tanque", + "tapa", + "tapete", + "tapia", + "tapรณn", + "taquilla", + "tarde", + "tarea", + "tarifa", + "tarjeta", + "tarot", + "tarro", + "tarta", + "tatuaje", + "tauro", + "taza", + "tazรณn", + "teatro", + "techo", + "tecla", + "tรฉcnica", + "tejado", + "tejer", + "tejido", + "tela", + "telรฉfono", + "tema", + "temor", + "templo", + "tenaz", + "tender", + "tener", + "tenis", + "tenso", + "teorรญa", + "terapia", + "terco", + "tรฉrmino", + "ternura", + "terror", + "tesis", + "tesoro", + "testigo", + "tetera", + "texto", + "tez", + "tibio", + "tiburรณn", + "tiempo", + "tienda", + "tierra", + "tieso", + "tigre", + "tijera", + "tilde", + "timbre", + "tรญmido", + "timo", + "tinta", + "tรญo", + "tรญpico", + "tipo", + "tira", + "tirรณn", + "titรกn", + "tรญtere", + "tรญtulo", + "tiza", + "toalla", + "tobillo", + "tocar", + "tocino", + "todo", + "toga", + "toldo", + "tomar", + "tono", + "tonto", + "topar", + "tope", + "toque", + "tรณrax", + "torero", + "tormenta", + "torneo", + "toro", + "torpedo", + "torre", + "torso", + "tortuga", + "tos", + "tosco", + "toser", + "tรณxico", + "trabajo", + "tractor", + "traer", + "trรกfico", + "trago", + "traje", + "tramo", + "trance", + "trato", + "trauma", + "trazar", + "trรฉbol", + "tregua", + "treinta", + "tren", + "trepar", + "tres", + "tribu", + "trigo", + "tripa", + "triste", + "triunfo", + "trofeo", + "trompa", + "tronco", + "tropa", + "trote", + "trozo", + "truco", + "trueno", + "trufa", + "tuberรญa", + "tubo", + "tuerto", + "tumba", + "tumor", + "tรบnel", + "tรบnica", + "turbina", + "turismo", + "turno", + "tutor", + "ubicar", + "รบlcera", + "umbral", + "unidad", + "unir", + "universo", + "uno", + "untar", + "uรฑa", + "urbano", + "urbe", + "urgente", + "urna", + "usar", + "usuario", + "รบtil", + "utopรญa", + "uva", + "vaca", + "vacรญo", + "vacuna", + "vagar", + "vago", + "vaina", + "vajilla", + "vale", + "vรกlido", + "valle", + "valor", + "vรกlvula", + "vampiro", + "vara", + "variar", + "varรณn", + "vaso", + "vecino", + "vector", + "vehรญculo", + "veinte", + "vejez", + "vela", + "velero", + "veloz", + "vena", + "vencer", + "venda", + "veneno", + "vengar", + "venir", + "venta", + "venus", + "ver", + "verano", + "verbo", + "verde", + "vereda", + "verja", + "verso", + "verter", + "vรญa", + "viaje", + "vibrar", + "vicio", + "vรญctima", + "vida", + "vรญdeo", + "vidrio", + "viejo", + "viernes", + "vigor", + "vil", + "villa", + "vinagre", + "vino", + "viรฑedo", + "violรญn", + "viral", + "virgo", + "virtud", + "visor", + "vรญspera", + "vista", + "vitamina", + "viudo", + "vivaz", + "vivero", + "vivir", + "vivo", + "volcรกn", + "volumen", + "volver", + "voraz", + "votar", + "voto", + "voz", + "vuelo", + "vulgar", + "yacer", + "yate", + "yegua", + "yema", + "yerno", + "yeso", + "yodo", + "yoga", + "yogur", + "zafiro", + "zanja", + "zapato", + "zarza", + "zona", + "zorro", + "zumo", + "zurdo" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Spanish"; + populate_maps(); } - else - { - trimmed_word_map[*it] = ii; - } - } - return trimmed_word_map; + }; } + +#endif \ No newline at end of file -- cgit v1.2.3 From fa723d8af8f624d5719dcfa5a0cf1fc1b45be01e Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Thu, 2 Oct 2014 21:14:29 +0530 Subject: Cut short word lists to 1626 words, added attribution to Electrum, some bug fixes --- src/mnemonics/electrum-words.cpp | 5 +- src/mnemonics/english.h | 3755 +++++++++++++++++--------------------- src/mnemonics/japanese.h | 3755 +++++++++++++++++--------------------- src/mnemonics/language_base.h | 122 +- src/mnemonics/old_english.h | 3333 ++++++++++++++++----------------- src/mnemonics/portuguese.h | 3332 ++++++++++++++++----------------- src/mnemonics/singleton.h | 60 +- src/mnemonics/spanish.h | 3753 +++++++++++++++++-------------------- 8 files changed, 8511 insertions(+), 9604 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 7caa3f72b..e644e0cbf 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -111,7 +111,7 @@ namespace // Iterate through all the words and see if they're all present for (it2 = seed.begin(), it3 = trimmed_seed.begin(); - it2 != seed.end() && it3 != trimmed_seed.end(); it2++, it3++) + it2 != seed.end(); it2++, it3++) { if (has_checksum) { @@ -235,10 +235,11 @@ namespace crypto // Checksum fail return false; } + seed.pop_back(); } std::vector matched_indices; - uint32_t word_list_length; + uint32_t word_list_length = 0; if (!find_seed_language(seed, has_checksum, matched_indices, word_list_length, language_name)) { return false; diff --git a/src/mnemonics/english.h b/src/mnemonics/english.h index 9c6dc281b..ee2e248d9 100644 --- a/src/mnemonics/english.h +++ b/src/mnemonics/english.h @@ -1,2074 +1,1681 @@ -#ifndef ENGLISH_H -#define ENGLISH_H - -#include -#include -#include "language_base.h" -#include - -namespace Language -{ - class English: public Base - { - public: - English() - { - word_list = new std::vector({ - "abandon", - "ability", - "able", - "about", - "above", - "absent", - "absorb", - "abstract", - "absurd", - "abuse", - "access", - "accident", - "account", - "accuse", - "achieve", - "acid", - "acoustic", - "acquire", - "across", - "act", - "action", - "actor", - "actress", - "actual", - "adapt", - "add", - "addict", - "address", - "adjust", - "admit", - "adult", - "advance", - "advice", - "aerobic", - "affair", - "afford", - "afraid", - "again", - "age", - "agent", - "agree", - "ahead", - "aim", - "air", - "airport", - "aisle", - "alarm", - "album", - "alcohol", - "alert", - "alien", - "all", - "alley", - "allow", - "almost", - "alone", - "alpha", - "already", - "also", - "alter", - "always", - "amateur", - "amazing", - "among", - "amount", - "amused", - "analyst", - "anchor", - "ancient", - "anger", - "angle", - "angry", - "animal", - "ankle", - "announce", - "annual", - "another", - "answer", - "antenna", - "antique", - "anxiety", - "any", - "apart", - "apology", - "appear", - "apple", - "approve", - "april", - "arch", - "arctic", - "area", - "arena", - "argue", - "arm", - "armed", - "armor", - "army", - "around", - "arrange", - "arrest", - "arrive", - "arrow", - "art", - "artefact", - "artist", - "artwork", - "ask", - "aspect", - "assault", - "asset", - "assist", - "assume", - "asthma", - "athlete", - "atom", - "attack", - "attend", - "attitude", - "attract", - "auction", - "audit", - "august", - "aunt", - "author", - "auto", - "autumn", - "average", - "avocado", - "avoid", - "awake", - "aware", - "away", - "awesome", - "awful", - "awkward", - "axis", - "baby", - "bachelor", - "bacon", - "badge", - "bag", - "balance", - "balcony", - "ball", - "bamboo", - "banana", - "banner", - "bar", - "barely", - "bargain", - "barrel", - "base", - "basic", - "basket", - "battle", - "beach", - "bean", - "beauty", - "because", - "become", - "beef", - "before", - "begin", - "behave", - "behind", - "believe", - "below", - "belt", - "bench", - "benefit", - "best", - "betray", - "better", - "between", - "beyond", - "bicycle", - "bid", - "bike", - "bind", - "biology", - "bird", - "birth", - "bitter", - "black", - "blade", - "blame", - "blanket", - "blast", - "bleak", - "bless", - "blind", - "blood", - "blossom", - "blouse", - "blue", - "blur", - "blush", - "board", - "boat", - "body", - "boil", - "bomb", - "bone", - "bonus", - "book", - "boost", - "border", - "boring", - "borrow", - "boss", - "bottom", - "bounce", - "box", - "boy", - "bracket", - "brain", - "brand", - "brass", - "brave", - "bread", - "breeze", - "brick", - "bridge", - "brief", - "bright", - "bring", - "brisk", - "broccoli", - "broken", - "bronze", - "broom", - "brother", - "brown", - "brush", - "bubble", - "buddy", - "budget", - "buffalo", - "build", - "bulb", - "bulk", - "bullet", - "bundle", - "bunker", - "burden", - "burger", - "burst", - "bus", - "business", - "busy", - "butter", - "buyer", - "buzz", - "cabbage", - "cabin", - "cable", - "cactus", - "cage", - "cake", - "call", - "calm", - "camera", - "camp", - "can", - "canal", - "cancel", - "candy", - "cannon", - "canoe", - "canvas", - "canyon", - "capable", - "capital", - "captain", - "car", - "carbon", - "card", - "cargo", - "carpet", - "carry", - "cart", - "case", - "cash", - "casino", - "castle", - "casual", - "cat", - "catalog", - "catch", - "category", - "cattle", - "caught", - "cause", - "caution", - "cave", - "ceiling", - "celery", - "cement", - "census", - "century", - "cereal", - "certain", - "chair", - "chalk", - "champion", - "change", - "chaos", - "chapter", - "charge", - "chase", - "chat", - "cheap", - "check", - "cheese", - "chef", - "cherry", - "chest", - "chicken", - "chief", - "child", - "chimney", - "choice", - "choose", - "chronic", - "chuckle", - "chunk", - "churn", - "cigar", - "cinnamon", - "circle", - "citizen", - "city", - "civil", - "claim", - "clap", - "clarify", - "claw", - "clay", - "clean", - "clerk", - "clever", - "click", - "client", - "cliff", - "climb", - "clinic", - "clip", - "clock", - "clog", - "close", - "cloth", - "cloud", - "clown", - "club", - "clump", - "cluster", - "clutch", - "coach", - "coast", - "coconut", - "code", - "coffee", - "coil", - "coin", - "collect", - "color", - "column", - "combine", - "come", - "comfort", - "comic", - "common", - "company", - "concert", - "conduct", - "confirm", - "congress", - "connect", - "consider", - "control", - "convince", - "cook", - "cool", - "copper", - "copy", - "coral", - "core", - "corn", - "correct", - "cost", - "cotton", - "couch", - "country", - "couple", - "course", - "cousin", - "cover", - "coyote", - "crack", - "cradle", - "craft", - "cram", - "crane", - "crash", - "crater", - "crawl", - "crazy", - "cream", - "credit", - "creek", - "crew", - "cricket", - "crime", - "crisp", - "critic", - "crop", - "cross", - "crouch", - "crowd", - "crucial", - "cruel", - "cruise", - "crumble", - "crunch", - "crush", - "cry", - "crystal", - "cube", - "culture", - "cup", - "cupboard", - "curious", - "current", - "curtain", - "curve", - "cushion", - "custom", - "cute", - "cycle", - "dad", - "damage", - "damp", - "dance", - "danger", - "daring", - "dash", - "daughter", - "dawn", - "day", - "deal", - "debate", - "debris", - "decade", - "december", - "decide", - "decline", - "decorate", - "decrease", - "deer", - "defense", - "define", - "defy", - "degree", - "delay", - "deliver", - "demand", - "demise", - "denial", - "dentist", - "deny", - "depart", - "depend", - "deposit", - "depth", - "deputy", - "derive", - "describe", - "desert", - "design", - "desk", - "despair", - "destroy", - "detail", - "detect", - "develop", - "device", - "devote", - "diagram", - "dial", - "diamond", - "diary", - "dice", - "diesel", - "diet", - "differ", - "digital", - "dignity", - "dilemma", - "dinner", - "dinosaur", - "direct", - "dirt", - "disagree", - "discover", - "disease", - "dish", - "dismiss", - "disorder", - "display", - "distance", - "divert", - "divide", - "divorce", - "dizzy", - "doctor", - "document", - "dog", - "doll", - "dolphin", - "domain", - "donate", - "donkey", - "donor", - "door", - "dose", - "double", - "dove", - "draft", - "dragon", - "drama", - "drastic", - "draw", - "dream", - "dress", - "drift", - "drill", - "drink", - "drip", - "drive", - "drop", - "drum", - "dry", - "duck", - "dumb", - "dune", - "during", - "dust", - "dutch", - "duty", - "dwarf", - "dynamic", - "eager", - "eagle", - "early", - "earn", - "earth", - "easily", - "east", - "easy", - "echo", - "ecology", - "economy", - "edge", - "edit", - "educate", - "effort", - "egg", - "eight", - "either", - "elbow", - "elder", - "electric", - "elegant", - "element", - "elephant", - "elevator", - "elite", - "else", - "embark", - "embody", - "embrace", - "emerge", - "emotion", - "employ", - "empower", - "empty", - "enable", - "enact", - "end", - "endless", - "endorse", - "enemy", - "energy", - "enforce", - "engage", - "engine", - "enhance", - "enjoy", - "enlist", - "enough", - "enrich", - "enroll", - "ensure", - "enter", - "entire", - "entry", - "envelope", - "episode", - "equal", - "equip", - "era", - "erase", - "erode", - "erosion", - "error", - "erupt", - "escape", - "essay", - "essence", - "estate", - "eternal", - "ethics", - "evidence", - "evil", - "evoke", - "evolve", - "exact", - "example", - "excess", - "exchange", - "excite", - "exclude", - "excuse", - "execute", - "exercise", - "exhaust", - "exhibit", - "exile", - "exist", - "exit", - "exotic", - "expand", - "expect", - "expire", - "explain", - "expose", - "express", - "extend", - "extra", - "eye", - "eyebrow", - "fabric", - "face", - "faculty", - "fade", - "faint", - "faith", - "fall", - "false", - "fame", - "family", - "famous", - "fan", - "fancy", - "fantasy", - "farm", - "fashion", - "fat", - "fatal", - "father", - "fatigue", - "fault", - "favorite", - "feature", - "february", - "federal", - "fee", - "feed", - "feel", - "female", - "fence", - "festival", - "fetch", - "fever", - "few", - "fiber", - "fiction", - "field", - "figure", - "file", - "film", - "filter", - "final", - "find", - "fine", - "finger", - "finish", - "fire", - "firm", - "first", - "fiscal", - "fish", - "fit", - "fitness", - "fix", - "flag", - "flame", - "flash", - "flat", - "flavor", - "flee", - "flight", - "flip", - "float", - "flock", - "floor", - "flower", - "fluid", - "flush", - "fly", - "foam", - "focus", - "fog", - "foil", - "fold", - "follow", - "food", - "foot", - "force", - "forest", - "forget", - "fork", - "fortune", - "forum", - "forward", - "fossil", - "foster", - "found", - "fox", - "fragile", - "frame", - "frequent", - "fresh", - "friend", - "fringe", - "frog", - "front", - "frost", - "frown", - "frozen", - "fruit", - "fuel", - "fun", - "funny", - "furnace", - "fury", - "future", - "gadget", - "gain", - "galaxy", - "gallery", - "game", - "gap", - "garage", - "garbage", - "garden", - "garlic", - "garment", - "gas", - "gasp", - "gate", - "gather", - "gauge", - "gaze", - "general", - "genius", - "genre", - "gentle", - "genuine", - "gesture", - "ghost", - "giant", - "gift", - "giggle", - "ginger", - "giraffe", - "girl", - "give", - "glad", - "glance", - "glare", - "glass", - "glide", - "glimpse", - "globe", - "gloom", - "glory", - "glove", - "glow", - "glue", - "goat", - "goddess", - "gold", - "good", - "goose", - "gorilla", - "gospel", - "gossip", - "govern", - "gown", - "grab", - "grace", - "grain", - "grant", - "grape", - "grass", - "gravity", - "great", - "green", - "grid", - "grief", - "grit", - "grocery", - "group", - "grow", - "grunt", - "guard", - "guess", - "guide", - "guilt", - "guitar", - "gun", - "gym", - "habit", - "hair", - "half", - "hammer", - "hamster", - "hand", - "happy", - "harbor", - "hard", - "harsh", - "harvest", - "hat", - "have", - "hawk", - "hazard", - "head", - "health", - "heart", - "heavy", - "hedgehog", - "height", - "hello", - "helmet", - "help", - "hen", - "hero", - "hidden", - "high", - "hill", - "hint", - "hip", - "hire", - "history", - "hobby", - "hockey", - "hold", - "hole", - "holiday", - "hollow", - "home", - "honey", - "hood", - "hope", - "horn", - "horror", - "horse", - "hospital", - "host", - "hotel", - "hour", - "hover", - "hub", - "huge", - "human", - "humble", - "humor", - "hundred", - "hungry", - "hunt", - "hurdle", - "hurry", - "hurt", - "husband", - "hybrid", - "ice", - "icon", - "idea", - "identify", - "idle", - "ignore", - "ill", - "illegal", - "illness", - "image", - "imitate", - "immense", - "immune", - "impact", - "impose", - "improve", - "impulse", - "inch", - "include", - "income", - "increase", - "index", - "indicate", - "indoor", - "industry", - "infant", - "inflict", - "inform", - "inhale", - "inherit", - "initial", - "inject", - "injury", - "inmate", - "inner", - "innocent", - "input", - "inquiry", - "insane", - "insect", - "inside", - "inspire", - "install", - "intact", - "interest", - "into", - "invest", - "invite", - "involve", - "iron", - "island", - "isolate", - "issue", - "item", - "ivory", - "jacket", - "jaguar", - "jar", - "jazz", - "jealous", - "jeans", - "jelly", - "jewel", - "job", - "join", - "joke", - "journey", - "joy", - "judge", - "juice", - "jump", - "jungle", - "junior", - "junk", - "just", - "kangaroo", - "keen", - "keep", - "ketchup", - "key", - "kick", - "kid", - "kidney", - "kind", - "kingdom", - "kiss", - "kit", - "kitchen", - "kite", - "kitten", - "kiwi", - "knee", - "knife", - "knock", - "know", - "lab", - "label", - "labor", - "ladder", - "lady", - "lake", - "lamp", - "language", - "laptop", - "large", - "later", - "latin", - "laugh", - "laundry", - "lava", - "law", - "lawn", - "lawsuit", - "layer", - "lazy", - "leader", - "leaf", - "learn", - "leave", - "lecture", - "left", - "leg", - "legal", - "legend", - "leisure", - "lemon", - "lend", - "length", - "lens", - "leopard", - "lesson", - "letter", - "level", - "liar", - "liberty", - "library", - "license", - "life", - "lift", - "light", - "like", - "limb", - "limit", - "link", - "lion", - "liquid", - "list", - "little", - "live", - "lizard", - "load", - "loan", - "lobster", - "local", - "lock", - "logic", - "lonely", - "long", - "loop", - "lottery", - "loud", - "lounge", - "love", - "loyal", - "lucky", - "luggage", - "lumber", - "lunar", - "lunch", - "luxury", - "lyrics", - "machine", - "mad", - "magic", - "magnet", - "maid", - "mail", - "main", - "major", - "make", - "mammal", - "man", - "manage", - "mandate", - "mango", - "mansion", - "manual", - "maple", - "marble", - "march", - "margin", - "marine", - "market", - "marriage", - "mask", - "mass", - "master", - "match", - "material", - "math", - "matrix", - "matter", - "maximum", - "maze", - "meadow", - "mean", - "measure", - "meat", - "mechanic", - "medal", - "media", - "melody", - "melt", - "member", - "memory", - "mention", - "menu", - "mercy", - "merge", - "merit", - "merry", - "mesh", - "message", - "metal", - "method", - "middle", - "midnight", - "milk", - "million", - "mimic", - "mind", - "minimum", - "minor", - "minute", - "miracle", - "mirror", - "misery", - "miss", - "mistake", - "mix", - "mixed", - "mixture", - "mobile", - "model", - "modify", - "mom", - "moment", - "monitor", - "monkey", - "monster", - "month", - "moon", - "moral", - "more", - "morning", - "mosquito", - "mother", - "motion", - "motor", - "mountain", - "mouse", - "move", - "movie", - "much", - "muffin", - "mule", - "multiply", - "muscle", - "museum", - "mushroom", - "music", - "must", - "mutual", - "myself", - "mystery", - "myth", - "naive", - "name", - "napkin", - "narrow", - "nasty", - "nation", - "nature", - "near", - "neck", - "need", - "negative", - "neglect", - "neither", - "nephew", - "nerve", - "nest", - "net", - "network", - "neutral", - "never", - "news", - "next", - "nice", - "night", - "noble", - "noise", - "nominee", - "noodle", - "normal", - "north", - "nose", - "notable", - "note", - "nothing", - "notice", - "novel", - "now", - "nuclear", - "number", - "nurse", - "nut", - "oak", - "obey", - "object", - "oblige", - "obscure", - "observe", - "obtain", - "obvious", - "occur", - "ocean", - "october", - "odor", - "off", - "offer", - "office", - "often", - "oil", - "okay", - "old", - "olive", - "olympic", - "omit", - "once", - "one", - "onion", - "online", - "only", - "open", - "opera", - "opinion", - "oppose", - "option", - "orange", - "orbit", - "orchard", - "order", - "ordinary", - "organ", - "orient", - "original", - "orphan", - "ostrich", - "other", - "outdoor", - "outer", - "output", - "outside", - "oval", - "oven", - "over", - "own", - "owner", - "oxygen", - "oyster", - "ozone", - "pact", - "paddle", - "page", - "pair", - "palace", - "palm", - "panda", - "panel", - "panic", - "panther", - "paper", - "parade", - "parent", - "park", - "parrot", - "party", - "pass", - "patch", - "path", - "patient", - "patrol", - "pattern", - "pause", - "pave", - "payment", - "peace", - "peanut", - "pear", - "peasant", - "pelican", - "pen", - "penalty", - "pencil", - "people", - "pepper", - "perfect", - "permit", - "person", - "pet", - "phone", - "photo", - "phrase", - "physical", - "piano", - "picnic", - "picture", - "piece", - "pig", - "pigeon", - "pill", - "pilot", - "pink", - "pioneer", - "pipe", - "pistol", - "pitch", - "pizza", - "place", - "planet", - "plastic", - "plate", - "play", - "please", - "pledge", - "pluck", - "plug", - "plunge", - "poem", - "poet", - "point", - "polar", - "pole", - "police", - "pond", - "pony", - "pool", - "popular", - "portion", - "position", - "possible", - "post", - "potato", - "pottery", - "poverty", - "powder", - "power", - "practice", - "praise", - "predict", - "prefer", - "prepare", - "present", - "pretty", - "prevent", - "price", - "pride", - "primary", - "print", - "priority", - "prison", - "private", - "prize", - "problem", - "process", - "produce", - "profit", - "program", - "project", - "promote", - "proof", - "property", - "prosper", - "protect", - "proud", - "provide", - "public", - "pudding", - "pull", - "pulp", - "pulse", - "pumpkin", - "punch", - "pupil", - "puppy", - "purchase", - "purity", - "purpose", - "purse", - "push", - "put", - "puzzle", - "pyramid", - "quality", - "quantum", - "quarter", - "question", - "quick", - "quit", - "quiz", - "quote", - "rabbit", - "raccoon", - "race", - "rack", - "radar", - "radio", - "rail", - "rain", - "raise", - "rally", - "ramp", - "ranch", - "random", - "range", - "rapid", - "rare", - "rate", - "rather", - "raven", - "raw", - "razor", - "ready", - "real", - "reason", - "rebel", - "rebuild", - "recall", - "receive", - "recipe", - "record", - "recycle", - "reduce", - "reflect", - "reform", - "refuse", - "region", - "regret", - "regular", - "reject", - "relax", - "release", - "relief", - "rely", - "remain", - "remember", - "remind", - "remove", - "render", - "renew", - "rent", - "reopen", - "repair", - "repeat", - "replace", - "report", - "require", - "rescue", - "resemble", - "resist", - "resource", - "response", - "result", - "retire", - "retreat", - "return", - "reunion", - "reveal", - "review", - "reward", - "rhythm", - "rib", - "ribbon", - "rice", - "rich", - "ride", - "ridge", - "rifle", - "right", - "rigid", - "ring", - "riot", - "ripple", - "risk", - "ritual", - "rival", - "river", - "road", - "roast", - "robot", - "robust", - "rocket", - "romance", - "roof", - "rookie", - "room", - "rose", - "rotate", - "rough", - "round", - "route", - "royal", - "rubber", - "rude", - "rug", - "rule", - "run", - "runway", - "rural", - "sad", - "saddle", - "sadness", - "safe", - "sail", - "salad", - "salmon", - "salon", - "salt", - "salute", - "same", - "sample", - "sand", - "satisfy", - "satoshi", - "sauce", - "sausage", - "save", - "say", - "scale", - "scan", - "scare", - "scatter", - "scene", - "scheme", - "school", - "science", - "scissors", - "scorpion", - "scout", - "scrap", - "screen", - "script", - "scrub", - "sea", - "search", - "season", - "seat", - "second", - "secret", - "section", - "security", - "seed", - "seek", - "segment", - "select", - "sell", - "seminar", - "senior", - "sense", - "sentence", - "series", - "service", - "session", - "settle", - "setup", - "seven", - "shadow", - "shaft", - "shallow", - "share", - "shed", - "shell", - "sheriff", - "shield", - "shift", - "shine", - "ship", - "shiver", - "shock", - "shoe", - "shoot", - "shop", - "short", - "shoulder", - "shove", - "shrimp", - "shrug", - "shuffle", - "shy", - "sibling", - "sick", - "side", - "siege", - "sight", - "sign", - "silent", - "silk", - "silly", - "silver", - "similar", - "simple", - "since", - "sing", - "siren", - "sister", - "situate", - "six", - "size", - "skate", - "sketch", - "ski", - "skill", - "skin", - "skirt", - "skull", - "slab", - "slam", - "sleep", - "slender", - "slice", - "slide", - "slight", - "slim", - "slogan", - "slot", - "slow", - "slush", - "small", - "smart", - "smile", - "smoke", - "smooth", - "snack", - "snake", - "snap", - "sniff", - "snow", - "soap", - "soccer", - "social", - "sock", - "soda", - "soft", - "solar", - "soldier", - "solid", - "solution", - "solve", - "someone", - "song", - "soon", - "sorry", - "sort", - "soul", - "sound", - "soup", - "source", - "south", - "space", - "spare", - "spatial", - "spawn", - "speak", - "special", - "speed", - "spell", - "spend", - "sphere", - "spice", - "spider", - "spike", - "spin", - "spirit", - "split", - "spoil", - "sponsor", - "spoon", - "sport", - "spot", - "spray", - "spread", - "spring", - "spy", - "square", - "squeeze", - "squirrel", - "stable", - "stadium", - "staff", - "stage", - "stairs", - "stamp", - "stand", - "start", - "state", - "stay", - "steak", - "steel", - "stem", - "step", - "stereo", - "stick", - "still", - "sting", - "stock", - "stomach", - "stone", - "stool", - "story", - "stove", - "strategy", - "street", - "strike", - "strong", - "struggle", - "student", - "stuff", - "stumble", - "style", - "subject", - "submit", - "subway", - "success", - "such", - "sudden", - "suffer", - "sugar", - "suggest", - "suit", - "summer", - "sun", - "sunny", - "sunset", - "super", - "supply", - "supreme", - "sure", - "surface", - "surge", - "surprise", - "surround", - "survey", - "suspect", - "sustain", - "swallow", - "swamp", - "swap", - "swarm", - "swear", - "sweet", - "swift", - "swim", - "swing", - "switch", - "sword", - "symbol", - "symptom", - "syrup", - "system", - "table", - "tackle", - "tag", - "tail", - "talent", - "talk", - "tank", - "tape", - "target", - "task", - "taste", - "tattoo", - "taxi", - "teach", - "team", - "tell", - "ten", - "tenant", - "tennis", - "tent", - "term", - "test", - "text", - "thank", - "that", - "theme", - "then", - "theory", - "there", - "they", - "thing", - "this", - "thought", - "three", - "thrive", - "throw", - "thumb", - "thunder", - "ticket", - "tide", - "tiger", - "tilt", - "timber", - "time", - "tiny", - "tip", - "tired", - "tissue", - "title", - "toast", - "tobacco", - "today", - "toddler", - "toe", - "together", - "toilet", - "token", - "tomato", - "tomorrow", - "tone", - "tongue", - "tonight", - "tool", - "tooth", - "top", - "topic", - "topple", - "torch", - "tornado", - "tortoise", - "toss", - "total", - "tourist", - "toward", - "tower", - "town", - "toy", - "track", - "trade", - "traffic", - "tragic", - "train", - "transfer", - "trap", - "trash", - "travel", - "tray", - "treat", - "tree", - "trend", - "trial", - "tribe", - "trick", - "trigger", - "trim", - "trip", - "trophy", - "trouble", - "truck", - "true", - "truly", - "trumpet", - "trust", - "truth", - "try", - "tube", - "tuition", - "tumble", - "tuna", - "tunnel", - "turkey", - "turn", - "turtle", - "twelve", - "twenty", - "twice", - "twin", - "twist", - "two", - "type", - "typical", - "ugly", - "umbrella", - "unable", - "unaware", - "uncle", - "uncover", - "under", - "undo", - "unfair", - "unfold", - "unhappy", - "uniform", - "unique", - "unit", - "universe", - "unknown", - "unlock", - "until", - "unusual", - "unveil", - "update", - "upgrade", - "uphold", - "upon", - "upper", - "upset", - "urban", - "urge", - "usage", - "use", - "used", - "useful", - "useless", - "usual", - "utility", - "vacant", - "vacuum", - "vague", - "valid", - "valley", - "valve", - "van", - "vanish", - "vapor", - "various", - "vast", - "vault", - "vehicle", - "velvet", - "vendor", - "venture", - "venue", - "verb", - "verify", - "version", - "very", - "vessel", - "veteran", - "viable", - "vibrant", - "vicious", - "victory", - "video", - "view", - "village", - "vintage", - "violin", - "virtual", - "virus", - "visa", - "visit", - "visual", - "vital", - "vivid", - "vocal", - "voice", - "void", - "volcano", - "volume", - "vote", - "voyage", - "wage", - "wagon", - "wait", - "walk", - "wall", - "walnut", - "want", - "warfare", - "warm", - "warrior", - "wash", - "wasp", - "waste", - "water", - "wave", - "way", - "wealth", - "weapon", - "wear", - "weasel", - "weather", - "web", - "wedding", - "weekend", - "weird", - "welcome", - "west", - "wet", - "whale", - "what", - "wheat", - "wheel", - "when", - "where", - "whip", - "whisper", - "wide", - "width", - "wife", - "wild", - "will", - "win", - "window", - "wine", - "wing", - "wink", - "winner", - "winter", - "wire", - "wisdom", - "wise", - "wish", - "witness", - "wolf", - "woman", - "wonder", - "wood", - "wool", - "word", - "work", - "world", - "worry", - "worth", - "wrap", - "wreck", - "wrestle", - "wrist", - "write", - "wrong", - "yard", - "year", - "yellow", - "you", - "young", - "youth", - "zebra", - "zero", - "zone", - "zoo" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "English"; - populate_maps(); - } - }; -} - -#endif +// Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef ENGLISH_H +#define ENGLISH_H + +#include +#include +#include "language_base.h" +#include + +namespace Language +{ + class English: public Base + { + public: + English() + { + word_list = new std::vector({ + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "English"; + populate_maps(); + } + }; +} + +#endif diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h index cfbbce787..1c53a808e 100644 --- a/src/mnemonics/japanese.h +++ b/src/mnemonics/japanese.h @@ -1,2074 +1,1681 @@ -#ifndef JAPANESE_H -#define JAPANESE_H - -#include -#include -#include "language_base.h" -#include - -namespace Language -{ - class Japanese: public Base - { - public: - Japanese() - { - word_list = new std::vector({ - "ใ‚ใ„", - "ใ‚ใ„ใ“ใใ—ใ‚“", - "ใ‚ใ†", - "ใ‚ใŠ", - "ใ‚ใŠใžใ‚‰", - "ใ‚ใ‹", - "ใ‚ใ‹ใกใ‚ƒใ‚“", - "ใ‚ใ", - "ใ‚ใใ‚‹", - "ใ‚ใ", - "ใ‚ใ•", - "ใ‚ใ•ใฒ", - "ใ‚ใ—", - "ใ‚ใšใ", - "ใ‚ใ›", - "ใ‚ใใถ", - "ใ‚ใŸใ‚‹", - "ใ‚ใคใ„", - "ใ‚ใช", - "ใ‚ใซ", - "ใ‚ใญ", - "ใ‚ใฒใ‚‹", - "ใ‚ใพใ„", - "ใ‚ใฟ", - "ใ‚ใ‚", - "ใ‚ใ‚ใ‚Šใ‹", - "ใ‚ใ‚„ใพใ‚‹", - "ใ‚ใ‚†ใ‚€", - "ใ‚ใ‚‰ใ„ใใพ", - "ใ‚ใ‚‰ใ—", - "ใ‚ใ‚Š", - "ใ‚ใ‚‹", - "ใ‚ใ‚Œ", - "ใ‚ใ‚", - "ใ‚ใ‚“ใ“", - "ใ„ใ†", - "ใ„ใˆ", - "ใ„ใŠใ‚“", - "ใ„ใ‹", - "ใ„ใŒใ„", - "ใ„ใ‹ใ„ใ‚ˆใ†", - "ใ„ใ‘", - "ใ„ใ‘ใ‚“", - "ใ„ใ“ใ", - "ใ„ใ“ใค", - "ใ„ใ•ใ‚“", - "ใ„ใ—", - "ใ„ใ˜ใ‚…ใ†", - "ใ„ใ™", - "ใ„ใ›ใ„", - "ใ„ใ›ใˆใณ", - "ใ„ใ›ใ‹ใ„", - "ใ„ใ›ใ", - "ใ„ใใ†ใ‚ใ†", - "ใ„ใใŒใ—ใ„", - "ใ„ใŸใ‚Šใ‚", - "ใ„ใฆใ–", - "ใ„ใฆใ‚“", - "ใ„ใจ", - "ใ„ใชใ„", - "ใ„ใชใ‹", - "ใ„ใฌ", - "ใ„ใญ", - "ใ„ใฎใก", - "ใ„ใฎใ‚‹", - "ใ„ใฏใค", - "ใ„ใฏใ‚“", - "ใ„ใณใ", - "ใ„ใฒใ‚“", - "ใ„ใตใ", - "ใ„ใธใ‚“", - "ใ„ใปใ†", - "ใ„ใพ", - "ใ„ใฟ", - "ใ„ใฟใ‚“", - "ใ„ใ‚‚", - "ใ„ใ‚‚ใ†ใจ", - "ใ„ใ‚‚ใŸใ‚Œ", - "ใ„ใ‚‚ใ‚Š", - "ใ„ใ‚„", - "ใ„ใ‚„ใ™", - "ใ„ใ‚ˆใ‹ใ‚“", - "ใ„ใ‚ˆใ", - "ใ„ใ‚‰ใ„", - "ใ„ใ‚‰ใ™ใจ", - "ใ„ใ‚Šใใก", - "ใ„ใ‚Šใ‚‡ใ†", - "ใ„ใ‚Šใ‚‡ใ†ใฒ", - "ใ„ใ‚‹", - "ใ„ใ‚Œใ„", - "ใ„ใ‚Œใ‚‚ใฎ", - "ใ„ใ‚Œใ‚‹", - "ใ„ใ‚", - "ใ„ใ‚ใˆใ‚“ใดใค", - "ใ„ใ‚", - "ใ„ใ‚ใ†", - "ใ„ใ‚ใ‹ใ‚“", - "ใ„ใ‚“ใ’ใ‚“ใพใ‚", - "ใ†ใˆ", - "ใ†ใŠใ–", - "ใ†ใ‹ใถ", - "ใ†ใใ‚", - "ใ†ใ", - "ใ†ใใ‚‰ใ„ใช", - "ใ†ใใ‚Œใ‚Œ", - "ใ†ใ‘ใคใ", - "ใ†ใ‘ใคใ‘", - "ใ†ใ‘ใ‚‹", - "ใ†ใ”ใ", - "ใ†ใ“ใ‚“", - "ใ†ใ•ใŽ", - "ใ†ใ—", - "ใ†ใ—ใชใ†", - "ใ†ใ—ใ‚", - "ใ†ใ—ใ‚ใŒใฟ", - "ใ†ใ™ใ„", - "ใ†ใ™ใŽ", - "ใ†ใ›ใค", - "ใ†ใ", - "ใ†ใŸ", - "ใ†ใกใ‚ใ‚ใ›", - "ใ†ใกใŒใ‚", - "ใ†ใกใ", - "ใ†ใค", - "ใ†ใชใŽ", - "ใ†ใชใ˜", - "ใ†ใซ", - "ใ†ใญใ‚‹", - "ใ†ใฎใ†", - "ใ†ใถใ’", - "ใ†ใถใ”ใˆ", - "ใ†ใพ", - "ใ†ใพใ‚Œใ‚‹", - "ใ†ใฟ", - "ใ†ใ‚€", - "ใ†ใ‚", - "ใ†ใ‚ใ‚‹", - "ใ†ใ‚‚ใ†", - "ใ†ใ‚„ใพใ†", - "ใ†ใ‚ˆใ", - "ใ†ใ‚‰", - "ใ†ใ‚‰ใชใ„", - "ใ†ใ‚‹", - "ใ†ใ‚‹ใ•ใ„", - "ใ†ใ‚Œใ—ใ„", - "ใ†ใ‚ใ“", - "ใ†ใ‚ใ", - "ใ†ใ‚ใ•", - "ใˆใ„", - "ใˆใ„ใˆใ‚“", - "ใˆใ„ใŒ", - "ใˆใ„ใŽใ‚‡ใ†", - "ใˆใ„ใ”", - "ใˆใŠใ‚Š", - "ใˆใ", - "ใˆใใŸใ„", - "ใˆใใ›ใ‚‹", - "ใˆใ•", - "ใˆใ—ใ‚ƒใ", - "ใˆใ™ใฆ", - "ใˆใคใ‚‰ใ‚“", - "ใˆใจ", - "ใˆใฎใ", - "ใˆใณ", - "ใˆใปใ†ใพใ", - "ใˆใปใ‚“", - "ใˆใพ", - "ใˆใพใ", - "ใˆใ‚‚ใ˜", - "ใˆใ‚‚ใฎ", - "ใˆใ‚‰ใ„", - "ใˆใ‚‰ใถ", - "ใˆใ‚Š", - "ใˆใ‚Šใ‚", - "ใˆใ‚‹", - "ใˆใ‚“", - "ใˆใ‚“ใˆใ‚“", - "ใŠใใ‚‹", - "ใŠใ", - "ใŠใ‘", - "ใŠใ“ใ‚‹", - "ใŠใ—ใˆใ‚‹", - "ใŠใ‚„ใ‚†ใณ", - "ใŠใ‚‰ใ‚“ใ ", - "ใ‹ใ‚ใค", - "ใ‹ใ„", - "ใ‹ใ†", - "ใ‹ใŠ", - "ใ‹ใŒใ—", - "ใ‹ใ", - "ใ‹ใ", - "ใ‹ใ“", - "ใ‹ใ•", - "ใ‹ใ™", - "ใ‹ใก", - "ใ‹ใค", - "ใ‹ใชใ–ใ‚ใ—", - "ใ‹ใซ", - "ใ‹ใญ", - "ใ‹ใฎใ†", - "ใ‹ใปใ†", - "ใ‹ใปใ”", - "ใ‹ใพใผใ“", - "ใ‹ใฟ", - "ใ‹ใ‚€", - "ใ‹ใ‚ใ‚ŒใŠใ‚“", - "ใ‹ใ‚‚", - "ใ‹ใ‚†ใ„", - "ใ‹ใ‚‰ใ„", - "ใ‹ใ‚‹ใ„", - "ใ‹ใ‚ใ†", - "ใ‹ใ‚", - "ใ‹ใ‚ใ‚‰", - "ใใ‚ใ„", - "ใใ‚ใค", - "ใใ„ใ‚", - "ใŽใ„ใ‚“", - "ใใ†ใ„", - "ใใ†ใ‚“", - "ใใˆใ‚‹", - "ใใŠใ†", - "ใใŠใ", - "ใใŠใก", - "ใใŠใ‚“", - "ใใ‹", - "ใใ‹ใ„", - "ใใ‹ใ", - "ใใ‹ใ‚“", - "ใใ‹ใ‚“ใ—ใ‚ƒ", - "ใใŽ", - "ใใใฆ", - "ใใ", - "ใใใฐใ‚Š", - "ใใใ‚‰ใ’", - "ใใ‘ใ‚“", - "ใใ‘ใ‚“ใ›ใ„", - "ใใ“ใ†", - "ใใ“ใˆใ‚‹", - "ใใ“ใ", - "ใใ•ใ„", - "ใใ•ใ", - "ใใ•ใพ", - "ใใ•ใ‚‰ใŽ", - "ใใ—", - "ใใ—ใ‚…", - "ใใ™", - "ใใ™ใ†", - "ใใ›ใ„", - "ใใ›ใ", - "ใใ›ใค", - "ใใ", - "ใใใ†", - "ใใใ", - "ใใžใ", - "ใŽใใ", - "ใใžใ‚“", - "ใใŸ", - "ใใŸใˆใ‚‹", - "ใใก", - "ใใกใ‚‡ใ†", - "ใใคใˆใ‚“", - "ใใคใคใ", - "ใใคใญ", - "ใใฆใ„", - "ใใฉใ†", - "ใใฉใ", - "ใใชใ„", - "ใใชใŒ", - "ใใฌ", - "ใใฌใ”ใ—", - "ใใญใ‚“", - "ใใฎใ†", - "ใใฏใ", - "ใใณใ—ใ„", - "ใใฒใ‚“", - "ใใต", - "ใŽใต", - "ใใตใ", - "ใŽใผ", - "ใใปใ†", - "ใใผใ†", - "ใใปใ‚“", - "ใใพใ‚‹", - "ใใฟ", - "ใใฟใค", - "ใŽใ‚€", - "ใใ‚€ใšใ‹ใ—ใ„", - "ใใ‚", - "ใใ‚ใ‚‹", - "ใใ‚‚ใ ใ‚ใ—", - "ใใ‚‚ใก", - "ใใ‚„ใ", - "ใใ‚ˆใ†", - "ใใ‚‰ใ„", - "ใใ‚‰ใ", - "ใใ‚Š", - "ใใ‚‹", - "ใใ‚Œใ„", - "ใใ‚Œใค", - "ใใ‚ใ", - "ใŽใ‚ใ‚“", - "ใใ‚ใ‚ใ‚‹", - "ใใ‚ใ„", - "ใใ„", - "ใใ„ใš", - "ใใ†ใ‹ใ‚“", - "ใใ†ใ", - "ใใ†ใใ‚“", - "ใใ†ใ“ใ†", - "ใใ†ใใ†", - "ใใ†ใตใ", - "ใใ†ใผ", - "ใใ‹ใ‚“", - "ใใ", - "ใใใ‚‡ใ†", - "ใใ’ใ‚“", - "ใใ“ใ†", - "ใใ•", - "ใใ•ใ„", - "ใใ•ใ", - "ใใ•ใฐใช", - "ใใ•ใ‚‹", - "ใใ—", - "ใใ—ใ‚ƒใฟ", - "ใใ—ใ‚‡ใ†", - "ใใ™ใฎใ", - "ใใ™ใ‚Š", - "ใใ™ใ‚Šใ‚†ใณ", - "ใใ›", - "ใใ›ใ’", - "ใใ›ใ‚“", - "ใใŸใณใ‚Œใ‚‹", - "ใใก", - "ใใกใ“ใฟ", - "ใใกใ•ใ", - "ใใค", - "ใใคใ—ใŸ", - "ใใคใ‚ใ", - "ใใจใ†ใฆใ‚“", - "ใใฉใ", - "ใใชใ‚“", - "ใใซ", - "ใใญใใญ", - "ใใฎใ†", - "ใใตใ†", - "ใใพ", - "ใใฟใ‚ใ‚ใ›", - "ใใฟใŸใฆใ‚‹", - "ใใ‚€", - "ใใ‚ใ‚‹", - "ใใ‚„ใใ—ใ‚‡", - "ใใ‚‰ใ™", - "ใใ‚Š", - "ใใ‚Œใ‚‹", - "ใใ‚", - "ใใ‚ใ†", - "ใใ‚ใ—ใ„", - "ใใ‚“ใ˜ใ‚‡", - "ใ‘ใ‚ใช", - "ใ‘ใ„ใ‘ใ‚“", - "ใ‘ใ„ใ“", - "ใ‘ใ„ใ•ใ„", - "ใ‘ใ„ใ•ใค", - "ใ’ใ„ใฎใ†ใ˜ใ‚“", - "ใ‘ใ„ใ‚Œใ", - "ใ‘ใ„ใ‚Œใค", - "ใ‘ใ„ใ‚Œใ‚“", - "ใ‘ใ„ใ‚", - "ใ‘ใŠใจใ™", - "ใ‘ใŠใ‚Šใ‚‚ใฎ", - "ใ‘ใŒ", - "ใ’ใ", - "ใ’ใใ‹", - "ใ’ใใ’ใ‚“", - "ใ’ใใ ใ‚“", - "ใ’ใใกใ‚“", - "ใ’ใใฉ", - "ใ’ใใฏ", - "ใ’ใใ‚„ใ", - "ใ’ใ“ใ†", - "ใ’ใ“ใใ˜ใ‚‡ใ†", - "ใ‘ใ•", - "ใ’ใ–ใ„", - "ใ‘ใ•ใ", - "ใ’ใ–ใ‚“", - "ใ‘ใ—ใ", - "ใ‘ใ—ใ”ใ‚€", - "ใ‘ใ—ใ‚‡ใ†", - "ใ‘ใ™", - "ใ’ใ™ใจ", - "ใ‘ใŸ", - "ใ’ใŸ", - "ใ‘ใŸใฐ", - "ใ‘ใก", - "ใ‘ใกใ‚ƒใฃใท", - "ใ‘ใกใ‚‰ใ™", - "ใ‘ใค", - "ใ‘ใคใ‚ใค", - "ใ‘ใคใ„", - "ใ‘ใคใˆใ", - "ใ‘ใฃใ“ใ‚“", - "ใ‘ใคใ˜ใ‚‡", - "ใ‘ใฃใฆใ„", - "ใ‘ใคใพใค", - "ใ’ใคใ‚ˆใ†ใณ", - "ใ’ใคใ‚Œใ„", - "ใ‘ใคใ‚ใ‚“", - "ใ’ใฉใ", - "ใ‘ใจใฐใ™", - "ใ‘ใจใ‚‹", - "ใ‘ใชใ’", - "ใ‘ใชใ™", - "ใ‘ใชใฟ", - "ใ‘ใฌใ", - "ใ’ใญใค", - "ใ‘ใญใ‚“", - "ใ‘ใฏใ„", - "ใ’ใฒใ‚“", - "ใ‘ใถใ‹ใ„", - "ใ’ใผใ", - "ใ‘ใพใ‚Š", - "ใ‘ใฟใ‹ใ‚‹", - "ใ‘ใ‚€ใ—", - "ใ‘ใ‚€ใ‚Š", - "ใ‘ใ‚‚ใฎ", - "ใ‘ใ‚‰ใ„", - "ใ‘ใ‚‹", - "ใ’ใ‚", - "ใ‘ใ‚ใ‘ใ‚", - "ใ‘ใ‚ใ—ใ„", - "ใ‘ใ‚“ใ„", - "ใ‘ใ‚“ใˆใค", - "ใ‘ใ‚“ใŠ", - "ใ‘ใ‚“ใ‹", - "ใ’ใ‚“ใ", - "ใ‘ใ‚“ใใ‚…ใ†", - "ใ‘ใ‚“ใใ‚‡", - "ใ‘ใ‚“ใ‘ใ„", - "ใ‘ใ‚“ใ‘ใค", - "ใ‘ใ‚“ใ’ใ‚“", - "ใ‘ใ‚“ใ“ใ†", - "ใ‘ใ‚“ใ•", - "ใ‘ใ‚“ใ•ใ", - "ใ‘ใ‚“ใ—ใ‚…ใ†", - "ใ‘ใ‚“ใ—ใ‚…ใค", - "ใ‘ใ‚“ใ—ใ‚“", - "ใ‘ใ‚“ใ™ใ†", - "ใ‘ใ‚“ใใ†", - "ใ’ใ‚“ใใ†", - "ใ‘ใ‚“ใใ‚“", - "ใ’ใ‚“ใก", - "ใ‘ใ‚“ใกใ", - "ใ‘ใ‚“ใฆใ„", - "ใ’ใ‚“ใฆใ„", - "ใ‘ใ‚“ใจใ†", - "ใ‘ใ‚“ใชใ„", - "ใ‘ใ‚“ใซใ‚“", - "ใ’ใ‚“ใถใค", - "ใ‘ใ‚“ใพ", - "ใ‘ใ‚“ใฟใ‚“", - "ใ‘ใ‚“ใ‚ใ„", - "ใ‘ใ‚“ใ‚‰ใ‚“", - "ใ‘ใ‚“ใ‚Š", - "ใ‘ใ‚“ใ‚Šใค", - "ใ“ใ‚ใใพ", - "ใ“ใ„", - "ใ”ใ„", - "ใ“ใ„ใณใจ", - "ใ“ใ†ใ„", - "ใ“ใ†ใˆใ‚“", - "ใ“ใ†ใ‹", - "ใ“ใ†ใ‹ใ„", - "ใ“ใ†ใ‹ใ‚“", - "ใ“ใ†ใ•ใ„", - "ใ“ใ†ใ•ใ‚“", - "ใ“ใ†ใ—ใ‚“", - "ใ“ใ†ใš", - "ใ“ใ†ใ™ใ„", - "ใ“ใ†ใ›ใ‚“", - "ใ“ใ†ใใ†", - "ใ“ใ†ใใ", - "ใ“ใ†ใŸใ„", - "ใ“ใ†ใกใ‚ƒ", - "ใ“ใ†ใคใ†", - "ใ“ใ†ใฆใ„", - "ใ“ใ†ใจใ†ใถ", - "ใ“ใ†ใชใ„", - "ใ“ใ†ใฏใ„", - "ใ“ใ†ใฏใ‚“", - "ใ“ใ†ใ‚‚ใ", - "ใ“ใˆ", - "ใ“ใˆใ‚‹", - "ใ“ใŠใ‚Š", - "ใ”ใŒใค", - "ใ“ใ‹ใ‚“", - "ใ“ใ", - "ใ“ใใ”", - "ใ“ใใชใ„", - "ใ“ใใฏใ", - "ใ“ใ‘ใ„", - "ใ“ใ‘ใ‚‹", - "ใ“ใ“", - "ใ“ใ“ใ‚", - "ใ”ใ•", - "ใ“ใ•ใ‚", - "ใ“ใ—", - "ใ“ใ—ใค", - "ใ“ใ™", - "ใ“ใ™ใ†", - "ใ“ใ›ใ„", - "ใ“ใ›ใ", - "ใ“ใœใ‚“", - "ใ“ใใ ใฆ", - "ใ“ใŸใ„", - "ใ“ใŸใˆใ‚‹", - "ใ“ใŸใค", - "ใ“ใกใ‚‡ใ†", - "ใ“ใฃใ‹", - "ใ“ใคใ“ใค", - "ใ“ใคใฐใ‚“", - "ใ“ใคใถ", - "ใ“ใฆใ„", - "ใ“ใฆใ‚“", - "ใ“ใจ", - "ใ“ใจใŒใ‚‰", - "ใ“ใจใ—", - "ใ“ใชใ”ใช", - "ใ“ใญใ“ใญ", - "ใ“ใฎใพใพ", - "ใ“ใฎใฟ", - "ใ“ใฎใ‚ˆ", - "ใ“ใฏใ‚“", - "ใ”ใฏใ‚“", - "ใ”ใณ", - "ใ“ใฒใคใ˜", - "ใ“ใตใ†", - "ใ“ใตใ‚“", - "ใ“ใผใ‚Œใ‚‹", - "ใ”ใพ", - "ใ“ใพใ‹ใ„", - "ใ“ใพใคใ—", - "ใ“ใพใคใช", - "ใ“ใพใ‚‹", - "ใ“ใ‚€", - "ใ“ใ‚€ใŽใ“", - "ใ“ใ‚", - "ใ“ใ‚‚ใ˜", - "ใ“ใ‚‚ใก", - "ใ“ใ‚‚ใฎ", - "ใ“ใ‚‚ใ‚“", - "ใ“ใ‚„", - "ใ“ใ‚„ใ", - "ใ“ใ‚„ใพ", - "ใ“ใ‚†ใ†", - "ใ“ใ‚†ใณ", - "ใ“ใ‚ˆใ„", - "ใ“ใ‚ˆใ†", - "ใ“ใ‚Šใ‚‹", - "ใ“ใ‚‹", - "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", - "ใ“ใ‚ใฃใ‘", - "ใ“ใ‚ใ‚‚ใฆ", - "ใ“ใ‚ใ‚Œใ‚‹", - "ใ“ใ‚“", - "ใ“ใ‚“ใ„ใ‚“", - "ใ“ใ‚“ใ‹ใ„", - "ใ“ใ‚“ใ", - "ใ“ใ‚“ใ—ใ‚…ใ†", - "ใ“ใ‚“ใ—ใ‚…ใ‚“", - "ใ“ใ‚“ใ™ใ„", - "ใ“ใ‚“ใ ใฆ", - "ใ“ใ‚“ใ ใ‚“", - "ใ“ใ‚“ใจใ‚“", - "ใ“ใ‚“ใชใ‚“", - "ใ“ใ‚“ใณใซ", - "ใ“ใ‚“ใฝใ†", - "ใ“ใ‚“ใฝใ‚“", - "ใ“ใ‚“ใพใ‘", - "ใ“ใ‚“ใ‚„", - "ใ“ใ‚“ใ‚„ใ", - "ใ“ใ‚“ใ‚Œใ„", - "ใ“ใ‚“ใ‚ใ", - "ใ•ใ„ใ‹ใ„", - "ใ•ใ„ใŒใ„", - "ใ•ใ„ใใ‚“", - "ใ•ใ„ใ”", - "ใ•ใ„ใ“ใ‚“", - "ใ•ใ„ใ—ใ‚‡", - "ใ•ใ†ใช", - "ใ•ใŠ", - "ใ•ใ‹ใ„ใ—", - "ใ•ใ‹ใช", - "ใ•ใ‹ใฟใก", - "ใ•ใ", - "ใ•ใ", - "ใ•ใใ—", - "ใ•ใใ˜ใ‚‡", - "ใ•ใใฒใ‚“", - "ใ•ใใ‚‰", - "ใ•ใ‘", - "ใ•ใ“ใ", - "ใ•ใ“ใค", - "ใ•ใŸใ‚“", - "ใ•ใคใˆใ„", - "ใ•ใฃใ‹", - "ใ•ใฃใใ‚‡ใ", - "ใ•ใคใ˜ใ‚“", - "ใ•ใคใŸใฐ", - "ใ•ใคใพใ„ใ‚‚", - "ใ•ใฆใ„", - "ใ•ใจใ„ใ‚‚", - "ใ•ใจใ†", - "ใ•ใจใŠใ‚„", - "ใ•ใจใ‚‹", - "ใ•ใฎใ†", - "ใ•ใฐ", - "ใ•ใฐใ", - "ใ•ในใค", - "ใ•ใปใ†", - "ใ•ใปใฉ", - "ใ•ใพใ™", - "ใ•ใฟใ—ใ„", - "ใ•ใฟใ ใ‚Œ", - "ใ•ใ‚€ใ‘", - "ใ•ใ‚", - "ใ•ใ‚ใ‚‹", - "ใ•ใ‚„ใˆใ‚“ใฉใ†", - "ใ•ใ‚†ใ†", - "ใ•ใ‚ˆใ†", - "ใ•ใ‚ˆใ", - "ใ•ใ‚‰", - "ใ•ใ‚‰ใ ", - "ใ•ใ‚‹", - "ใ•ใ‚ใ‚„ใ‹", - "ใ•ใ‚ใ‚‹", - "ใ•ใ‚“ใ„ใ‚“", - "ใ•ใ‚“ใ‹", - "ใ•ใ‚“ใใ‚ƒใ", - "ใ•ใ‚“ใ“ใ†", - "ใ•ใ‚“ใ•ใ„", - "ใ•ใ‚“ใ–ใ‚“", - "ใ•ใ‚“ใ™ใ†", - "ใ•ใ‚“ใ›ใ„", - "ใ•ใ‚“ใ", - "ใ•ใ‚“ใใ‚“", - "ใ•ใ‚“ใก", - "ใ•ใ‚“ใกใ‚‡ใ†", - "ใ•ใ‚“ใพ", - "ใ•ใ‚“ใฟ", - "ใ•ใ‚“ใ‚‰ใ‚“", - "ใ—ใ‚ใ„", - "ใ—ใ‚ใ’", - "ใ—ใ‚ใ•ใฃใฆ", - "ใ—ใ‚ใ‚ใ›", - "ใ—ใ„ใ", - "ใ—ใ„ใ‚“", - "ใ—ใ†ใก", - "ใ—ใˆใ„", - "ใ—ใŠ", - "ใ—ใŠใ‘", - "ใ—ใ‹", - "ใ—ใ‹ใ„", - "ใ—ใ‹ใ", - "ใ˜ใ‹ใ‚“", - "ใ—ใŸ", - "ใ—ใŸใŽ", - "ใ—ใŸใฆ", - "ใ—ใŸใฟ", - "ใ—ใกใ‚‡ใ†", - "ใ—ใกใ‚‡ใ†ใใ‚“", - "ใ—ใกใ‚Šใ‚“", - "ใ˜ใคใ˜", - "ใ—ใฆใ„", - "ใ—ใฆใ", - "ใ—ใฆใค", - "ใ—ใฆใ‚“", - "ใ—ใจใ†", - "ใ˜ใฉใ†", - "ใ—ใชใŽใ‚Œ", - "ใ—ใชใ‚‚ใฎ", - "ใ—ใชใ‚“", - "ใ—ใญใพ", - "ใ—ใญใ‚“", - "ใ—ใฎใ", - "ใ—ใฎใถ", - "ใ—ใฏใ„", - "ใ—ใฐใ‹ใ‚Š", - "ใ—ใฏใค", - "ใ˜ใฏใค", - "ใ—ใฏใ‚‰ใ„", - "ใ—ใฏใ‚“", - "ใ—ใฒใ‚‡ใ†", - "ใ˜ใต", - "ใ—ใตใ", - "ใ˜ใถใ‚“", - "ใ—ใธใ„", - "ใ—ใปใ†", - "ใ—ใปใ‚“", - "ใ—ใพ", - "ใ—ใพใ†", - "ใ—ใพใ‚‹", - "ใ—ใฟ", - "ใ˜ใฟ", - "ใ—ใฟใ‚“", - "ใ˜ใ‚€", - "ใ—ใ‚€ใ‘ใ‚‹", - "ใ—ใ‚ใ„", - "ใ—ใ‚ใ‚‹", - "ใ—ใ‚‚ใ‚“", - "ใ—ใ‚ƒใ„ใ‚“", - "ใ—ใ‚ƒใ†ใ‚“", - "ใ—ใ‚ƒใŠใ‚“", - "ใ—ใ‚ƒใ‹ใ„", - "ใ˜ใ‚ƒใŒใ„ใ‚‚", - "ใ—ใ‚„ใใ—ใ‚‡", - "ใ—ใ‚ƒใใปใ†", - "ใ—ใ‚ƒใ‘ใ‚“", - "ใ—ใ‚ƒใ“", - "ใ—ใ‚ƒใ“ใ†", - "ใ—ใ‚ƒใ–ใ„", - "ใ—ใ‚ƒใ—ใ‚“", - "ใ—ใ‚ƒใ›ใ‚“", - "ใ—ใ‚ƒใใ†", - "ใ—ใ‚ƒใŸใ„", - "ใ—ใ‚ƒใŸใ", - "ใ—ใ‚ƒใกใ‚‡ใ†", - "ใ—ใ‚ƒใฃใใ‚“", - "ใ˜ใ‚ƒใพ", - "ใ˜ใ‚ƒใ‚Š", - "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", - "ใ—ใ‚ƒใ‚Šใ‚“", - "ใ—ใ‚ƒใ‚Œใ„", - "ใ—ใ‚…ใ†ใˆใ‚“", - "ใ—ใ‚…ใ†ใ‹ใ„", - "ใ—ใ‚…ใ†ใใ‚“", - "ใ—ใ‚…ใ†ใ‘ใ„", - "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", - "ใ—ใ‚…ใ‚‰ใฐ", - "ใ—ใ‚‡ใ†ใ‹", - "ใ—ใ‚‡ใ†ใ‹ใ„", - "ใ—ใ‚‡ใ†ใใ‚“", - "ใ—ใ‚‡ใ†ใ˜ใ", - "ใ—ใ‚‡ใใ–ใ„", - "ใ—ใ‚‡ใใŸใ", - "ใ—ใ‚‡ใฃใ‘ใ‚“", - "ใ—ใ‚‡ใฉใ†", - "ใ—ใ‚‡ใ‚‚ใค", - "ใ—ใ‚“", - "ใ—ใ‚“ใ‹", - "ใ—ใ‚“ใ“ใ†", - "ใ—ใ‚“ใ›ใ„ใ˜", - "ใ—ใ‚“ใกใ", - "ใ—ใ‚“ใ‚Šใ‚“", - "ใ™ใ‚ใ’", - "ใ™ใ‚ใ—", - "ใ™ใ‚ใช", - "ใšใ‚ใ‚“", - "ใ™ใ„ใ‹", - "ใ™ใ„ใจใ†", - "ใ™ใ†", - "ใ™ใ†ใŒใ", - "ใ™ใ†ใ˜ใค", - "ใ™ใ†ใ›ใ‚“", - "ใ™ใŠใฉใ‚Š", - "ใ™ใ", - "ใ™ใใพ", - "ใ™ใ", - "ใ™ใใ†", - "ใ™ใใชใ„", - "ใ™ใ‘ใ‚‹", - "ใ™ใ“ใ—", - "ใšใ•ใ‚“", - "ใ™ใ—", - "ใ™ใšใ—ใ„", - "ใ™ใ™ใ‚ใ‚‹", - "ใ™ใ", - "ใšใฃใ—ใ‚Š", - "ใšใฃใจ", - "ใ™ใง", - "ใ™ใฆใ", - "ใ™ใฆใ‚‹", - "ใ™ใช", - "ใ™ใชใฃใ", - "ใ™ใชใฃใท", - "ใ™ใญ", - "ใ™ใญใ‚‹", - "ใ™ใฎใ“", - "ใ™ใฏใ ", - "ใ™ใฐใ‚‰ใ—ใ„", - "ใšใฒใ‚‡ใ†", - "ใšใถใฌใ‚Œ", - "ใ™ใถใ‚Š", - "ใ™ใตใ‚Œ", - "ใ™ในใฆ", - "ใ™ในใ‚‹", - "ใšใปใ†", - "ใ™ใผใ‚“", - "ใ™ใพใ„", - "ใ™ใฟ", - "ใ™ใ‚€", - "ใ™ใ‚ใ—", - "ใ™ใ‚‚ใ†", - "ใ™ใ‚„ใ", - "ใ™ใ‚‰ใ„ใ™", - "ใ™ใ‚‰ใ„ใฉ", - "ใ™ใ‚‰ใ™ใ‚‰", - "ใ™ใ‚Š", - "ใ™ใ‚‹", - "ใ™ใ‚‹ใ‚", - "ใ™ใ‚ŒใกใŒใ†", - "ใ™ใ‚ใฃใจ", - "ใ™ใ‚ใ‚‹", - "ใ™ใ‚“ใœใ‚“", - "ใ™ใ‚“ใฝใ†", - "ใ›ใ‚ใถใ‚‰", - "ใ›ใ„ใ‹", - "ใ›ใ„ใ‹ใ„", - "ใ›ใ„ใ‹ใค", - "ใ›ใŠใ†", - "ใ›ใ‹ใ„", - "ใ›ใ‹ใ„ใ‹ใ‚“", - "ใ›ใ‹ใ„ใ—", - "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", - "ใ›ใ", - "ใ›ใใซใ‚“", - "ใ›ใใ‚€", - "ใ›ใใ‚†", - "ใ›ใใ‚‰ใ‚“ใ†ใ‚“", - "ใ›ใ‘ใ‚“", - "ใ›ใ“ใ†", - "ใ›ใ™ใ˜", - "ใ›ใŸใ„", - "ใ›ใŸใ‘", - "ใ›ใฃใ‹ใ„", - "ใ›ใฃใ‹ใ", - "ใ›ใฃใ", - "ใ›ใฃใใ‚ƒใ", - "ใ›ใฃใใ‚‡ใ", - "ใ›ใฃใใ‚“", - "ใœใฃใ", - "ใ›ใฃใ‘ใ‚“", - "ใ›ใฃใ“ใค", - "ใ›ใฃใ•ใŸใใพ", - "ใ›ใคใžใ", - "ใ›ใคใ ใ‚“", - "ใ›ใคใงใ‚“", - "ใ›ใฃใฑใ‚“", - "ใ›ใคใณ", - "ใ›ใคใถใ‚“", - "ใ›ใคใ‚ใ„", - "ใ›ใคใ‚Šใค", - "ใ›ใจ", - "ใ›ใชใ‹", - "ใ›ใฎใณ", - "ใ›ใฏใฐ", - "ใ›ใผใญ", - "ใ›ใพใ„", - "ใ›ใพใ‚‹", - "ใ›ใฟ", - "ใ›ใ‚ใ‚‹", - "ใ›ใ‚‚ใŸใ‚Œ", - "ใ›ใ‚Šใต", - "ใ›ใ‚", - "ใ›ใ‚“", - "ใœใ‚“ใ‚ใ", - "ใ›ใ‚“ใ„", - "ใ›ใ‚“ใˆใ„", - "ใ›ใ‚“ใ‹", - "ใ›ใ‚“ใใ‚‡", - "ใ›ใ‚“ใ", - "ใ›ใ‚“ใ‘ใค", - "ใ›ใ‚“ใ’ใ‚“", - "ใœใ‚“ใ”", - "ใ›ใ‚“ใ•ใ„", - "ใ›ใ‚“ใ—", - "ใ›ใ‚“ใ—ใ‚…", - "ใ›ใ‚“ใ™", - "ใ›ใ‚“ใ™ใ„", - "ใ›ใ‚“ใ›ใ„", - "ใ›ใ‚“ใž", - "ใ›ใ‚“ใใ†", - "ใ›ใ‚“ใŸใ", - "ใ›ใ‚“ใก", - "ใ›ใ‚“ใกใ‚ƒ", - "ใ›ใ‚“ใกใ‚ƒใ", - "ใ›ใ‚“ใกใ‚‡ใ†", - "ใ›ใ‚“ใฆใ„", - "ใ›ใ‚“ใจใ†", - "ใ›ใ‚“ใฌใ", - "ใ›ใ‚“ใญใ‚“", - "ใœใ‚“ใถ", - "ใ›ใ‚“ใทใ†ใ", - "ใ›ใ‚“ใทใ", - "ใœใ‚“ใฝใ†", - "ใ›ใ‚“ใ‚€", - "ใ›ใ‚“ใ‚ใ„", - "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", - "ใ›ใ‚“ใ‚‚ใ‚“", - "ใ›ใ‚“ใ‚„ใ", - "ใ›ใ‚“ใ‚†ใ†", - "ใ›ใ‚“ใ‚ˆใ†", - "ใœใ‚“ใ‚‰", - "ใœใ‚“ใ‚Šใ‚ƒใ", - "ใ›ใ‚“ใ‚Šใ‚‡ใ", - "ใ›ใ‚“ใ‚Œใ„", - "ใ›ใ‚“ใ‚", - "ใใ‚ใ", - "ใใ„ใจใ’ใ‚‹", - "ใใ„ใญ", - "ใใ†", - "ใžใ†", - "ใใ†ใŒใ‚“ใใ‚‡ใ†", - "ใใ†ใ", - "ใใ†ใ”", - "ใใ†ใชใ‚“", - "ใใ†ใณ", - "ใใ†ใฒใ‚‡ใ†", - "ใใ†ใ‚ใ‚“", - "ใใ†ใ‚Š", - "ใใ†ใ‚Šใ‚‡", - "ใใˆใ‚‚ใฎ", - "ใใˆใ‚“", - "ใใ‹ใ„", - "ใใŒใ„", - "ใใ", - "ใใ’ใ", - "ใใ“ใ†", - "ใใ“ใใ“", - "ใใ–ใ„", - "ใใ—", - "ใใ—ใช", - "ใใ›ใ„", - "ใใ›ใ‚“", - "ใใใ", - "ใใ ใฆใ‚‹", - "ใใคใ†", - "ใใคใˆใ‚“", - "ใใฃใ‹ใ‚“", - "ใใคใŽใ‚‡ใ†", - "ใใฃใ‘ใค", - "ใใฃใ“ใ†", - "ใใฃใ›ใ‚“", - "ใใฃใจ", - "ใใง", - "ใใจ", - "ใใจใŒใ‚", - "ใใจใฅใ‚‰", - "ใใชใˆใ‚‹", - "ใใชใŸ", - "ใใฐ", - "ใใต", - "ใใตใผ", - "ใใผ", - "ใใผใ", - "ใใผใ‚", - "ใใพใค", - "ใใพใ‚‹", - "ใใ‚€ใ", - "ใใ‚€ใ‚Šใˆ", - "ใใ‚ใ‚‹", - "ใใ‚‚ใใ‚‚", - "ใใ‚ˆใ‹ใœ", - "ใใ‚‰", - "ใใ‚‰ใพใ‚", - "ใใ‚Š", - "ใใ‚‹", - "ใใ‚ใ†", - "ใใ‚“ใ‹ใ„", - "ใใ‚“ใ‘ใ„", - "ใใ‚“ใ–ใ„", - "ใใ‚“ใ—ใค", - "ใใ‚“ใ—ใ‚‡ใ†", - "ใใ‚“ใžใ", - "ใใ‚“ใกใ‚‡ใ†", - "ใžใ‚“ใณ", - "ใžใ‚“ใถใ‚“", - "ใใ‚“ใฟใ‚“", - "ใŸใ‚ใ„", - "ใŸใ„ใ„ใ‚“", - "ใŸใ„ใ†ใ‚“", - "ใŸใ„ใˆใ", - "ใŸใ„ใŠใ†", - "ใ ใ„ใŠใ†", - "ใŸใ„ใ‹", - "ใŸใ„ใ‹ใ„", - "ใŸใ„ใ", - "ใŸใ„ใใ‘ใ‚“", - "ใŸใ„ใใ†", - "ใŸใ„ใใค", - "ใŸใ„ใ‘ใ„", - "ใŸใ„ใ‘ใค", - "ใŸใ„ใ‘ใ‚“", - "ใŸใ„ใ“", - "ใŸใ„ใ“ใ†", - "ใŸใ„ใ•", - "ใŸใ„ใ•ใ‚“", - "ใŸใ„ใ—ใ‚…ใค", - "ใ ใ„ใ˜ใ‚‡ใ†ใถ", - "ใŸใ„ใ—ใ‚‡ใ", - "ใ ใ„ใš", - "ใ ใ„ใ™ใ", - "ใŸใ„ใ›ใ„", - "ใŸใ„ใ›ใค", - "ใŸใ„ใ›ใ‚“", - "ใŸใ„ใใ†", - "ใŸใ„ใกใ‚‡ใ†", - "ใ ใ„ใกใ‚‡ใ†", - "ใŸใ„ใจใ†", - "ใŸใ„ใชใ„", - "ใŸใ„ใญใค", - "ใŸใ„ใฎใ†", - "ใŸใ„ใฏ", - "ใŸใ„ใฏใ‚“", - "ใŸใ„ใฒ", - "ใŸใ„ใตใ†", - "ใŸใ„ใธใ‚“", - "ใŸใ„ใป", - "ใŸใ„ใพใคใฐใช", - "ใŸใ„ใพใ‚“", - "ใŸใ„ใฟใ‚“ใ", - "ใŸใ„ใ‚€", - "ใŸใ„ใ‚ใ‚“", - "ใŸใ„ใ‚„ใ", - "ใŸใ„ใ‚„ใ", - "ใŸใ„ใ‚ˆใ†", - "ใŸใ„ใ‚‰", - "ใŸใ„ใ‚Šใ‚‡ใ†", - "ใŸใ„ใ‚Šใ‚‡ใ", - "ใŸใ„ใ‚‹", - "ใŸใ„ใ‚", - "ใŸใ„ใ‚ใ‚“", - "ใŸใ†ใˆ", - "ใŸใˆใ‚‹", - "ใŸใŠใ™", - "ใŸใŠใ‚‹", - "ใŸใ‹ใ„", - "ใŸใ‹ใญ", - "ใŸใ", - "ใŸใใณ", - "ใŸใใ•ใ‚“", - "ใŸใ‘", - "ใŸใ“", - "ใŸใ“ใ", - "ใŸใ“ใ‚„ใ", - "ใŸใ•ใ„", - "ใ ใ•ใ„", - "ใŸใ—ใ–ใ‚“", - "ใŸใ™", - "ใŸใ™ใ‘ใ‚‹", - "ใŸใใŒใ‚Œ", - "ใŸใŸใ‹ใ†", - "ใŸใŸใ", - "ใŸใกใฐ", - "ใŸใกใฐใช", - "ใŸใค", - "ใ ใฃใ‹ใ„", - "ใ ใฃใใ‚ƒใ", - "ใ ใฃใ“", - "ใ ใฃใ—ใ‚ใ‚“", - "ใ ใฃใ—ใ‚…ใค", - "ใ ใฃใŸใ„", - "ใŸใฆ", - "ใŸใฆใ‚‹", - "ใŸใจใˆใ‚‹", - "ใŸใช", - "ใŸใซใ‚“", - "ใŸใฌใ", - "ใŸใญ", - "ใŸใฎใ—ใฟ", - "ใŸใฏใค", - "ใŸใณ", - "ใŸใถใ‚“", - "ใŸในใ‚‹", - "ใŸใผใ†", - "ใŸใปใ†ใ‚ใ‚“", - "ใŸใพ", - "ใŸใพใ”", - "ใŸใพใ‚‹", - "ใ ใ‚€ใ‚‹", - "ใŸใ‚ใ„ใ", - "ใŸใ‚ใ™", - "ใŸใ‚ใ‚‹", - "ใŸใ‚‚ใค", - "ใŸใ‚„ใ™ใ„", - "ใŸใ‚ˆใ‚‹", - "ใŸใ‚‰", - "ใŸใ‚‰ใ™", - "ใŸใ‚Šใใปใ‚“ใŒใ‚“", - "ใŸใ‚Šใ‚‡ใ†", - "ใŸใ‚Šใ‚‹", - "ใŸใ‚‹", - "ใŸใ‚‹ใจ", - "ใŸใ‚Œใ‚‹", - "ใŸใ‚Œใ‚“ใจ", - "ใŸใ‚ใฃใจ", - "ใŸใ‚ใ‚€ใ‚Œใ‚‹", - "ใŸใ‚“", - "ใ ใ‚“ใ‚ใค", - "ใŸใ‚“ใ„", - "ใŸใ‚“ใŠใ‚“", - "ใŸใ‚“ใ‹", - "ใŸใ‚“ใ", - "ใŸใ‚“ใ‘ใ‚“", - "ใŸใ‚“ใ”", - "ใŸใ‚“ใ•ใ", - "ใŸใ‚“ใ•ใ‚“", - "ใŸใ‚“ใ—", - "ใŸใ‚“ใ—ใ‚…ใ", - "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", - "ใ ใ‚“ใ›ใ„", - "ใŸใ‚“ใใ", - "ใŸใ‚“ใŸใ„", - "ใŸใ‚“ใก", - "ใ ใ‚“ใก", - "ใŸใ‚“ใกใ‚‡ใ†", - "ใŸใ‚“ใฆใ„", - "ใŸใ‚“ใฆใ", - "ใŸใ‚“ใจใ†", - "ใ ใ‚“ใช", - "ใŸใ‚“ใซใ‚“", - "ใ ใ‚“ใญใค", - "ใŸใ‚“ใฎใ†", - "ใŸใ‚“ใดใ‚“", - "ใŸใ‚“ใพใค", - "ใŸใ‚“ใ‚ใ„", - "ใ ใ‚“ใ‚Œใค", - "ใ ใ‚“ใ‚", - "ใ ใ‚“ใ‚", - "ใกใ‚ใ„", - "ใกใ‚ใ‚“", - "ใกใ„", - "ใกใ„ใ", - "ใกใ„ใ•ใ„", - "ใกใˆ", - "ใกใˆใ‚“", - "ใกใ‹", - "ใกใ‹ใ„", - "ใกใใ‚…ใ†", - "ใกใใ‚“", - "ใกใ‘ใ„", - "ใกใ‘ใ„ใš", - "ใกใ‘ใ‚“", - "ใกใ“ใ", - "ใกใ•ใ„", - "ใกใ—ใ", - "ใกใ—ใ‚Šใ‚‡ใ†", - "ใกใš", - "ใกใ›ใ„", - "ใกใใ†", - "ใกใŸใ„", - "ใกใŸใ‚“", - "ใกใกใŠใ‚„", - "ใกใคใ˜ใ‚‡", - "ใกใฆใ", - "ใกใฆใ‚“", - "ใกใฌใ", - "ใกใฌใ‚Š", - "ใกใฎใ†", - "ใกใฒใ‚‡ใ†", - "ใกใธใ„ใ›ใ‚“", - "ใกใปใ†", - "ใกใพใŸ", - "ใกใฟใค", - "ใกใฟใฉใ‚", - "ใกใ‚ใ„ใฉ", - "ใกใ‚…ใ†ใ„", - "ใกใ‚…ใ†ใŠใ†", - "ใกใ‚…ใ†ใŠใ†ใ", - "ใกใ‚…ใ†ใŒใฃใ“ใ†", - "ใกใ‚…ใ†ใ”ใ", - "ใกใ‚†ใ‚Šใ‚‡ใ", - "ใกใ‚‡ใ†ใ•", - "ใกใ‚‡ใ†ใ—", - "ใกใ‚‰ใ—", - "ใกใ‚‰ใฟ", - "ใกใ‚Š", - "ใกใ‚ŠใŒใฟ", - "ใกใ‚‹", - "ใกใ‚‹ใฉ", - "ใกใ‚ใ‚", - "ใกใ‚“ใŸใ„", - "ใกใ‚“ใ‚‚ใ", - "ใคใ„ใ‹", - "ใคใ†ใ‹", - "ใคใ†ใ˜ใ‚‡ใ†", - "ใคใ†ใ˜ใ‚‹", - "ใคใ†ใฏใ‚“", - "ใคใ†ใ‚", - "ใคใˆ", - "ใคใ‹ใ†", - "ใคใ‹ใ‚Œใ‚‹", - "ใคใ", - "ใคใ", - "ใคใใญ", - "ใคใใ‚‹", - "ใคใ‘ใญ", - "ใคใ‘ใ‚‹", - "ใคใ”ใ†", - "ใคใŸ", - "ใคใŸใˆใ‚‹", - "ใคใก", - "ใคใคใ˜", - "ใคใจใ‚ใ‚‹", - "ใคใช", - "ใคใชใŒใ‚‹", - "ใคใชใฟ", - "ใคใญใฅใญ", - "ใคใฎ", - "ใคใฎใ‚‹", - "ใคใฐ", - "ใคใถ", - "ใคใถใ™", - "ใคใผ", - "ใคใพ", - "ใคใพใ‚‰ใชใ„", - "ใคใพใ‚‹", - "ใคใฟ", - "ใคใฟใ", - "ใคใ‚€", - "ใคใ‚ใŸใ„", - "ใคใ‚‚ใ‚‹", - "ใคใ‚„", - "ใคใ‚ˆใ„", - "ใคใ‚Š", - "ใคใ‚‹ใผ", - "ใคใ‚‹ใฟใ", - "ใคใ‚ใ‚‚ใฎ", - "ใคใ‚ใ‚Š", - "ใฆใ‚ใ—", - "ใฆใ‚ใฆ", - "ใฆใ‚ใฟ", - "ใฆใ„ใ‹", - "ใฆใ„ใ", - "ใฆใ„ใ‘ใ„", - "ใฆใ„ใ‘ใค", - "ใฆใ„ใ‘ใคใ‚ใค", - "ใฆใ„ใ“ใ", - "ใฆใ„ใ•ใค", - "ใฆใ„ใ—", - "ใฆใ„ใ—ใ‚ƒ", - "ใฆใ„ใ›ใ„", - "ใฆใ„ใŸใ„", - "ใฆใ„ใฉ", - "ใฆใ„ใญใ„", - "ใฆใ„ใฒใ‚‡ใ†", - "ใฆใ„ใธใ‚“", - "ใฆใ„ใผใ†", - "ใฆใ†ใก", - "ใฆใŠใใ‚Œ", - "ใฆใ", - "ใฆใใณ", - "ใฆใ“", - "ใฆใ•ใŽใ‚‡ใ†", - "ใฆใ•ใ’", - "ใงใ—", - "ใฆใ™ใ‚Š", - "ใฆใใ†", - "ใฆใกใŒใ„", - "ใฆใกใ‚‡ใ†", - "ใฆใคใŒใ", - "ใฆใคใฅใ", - "ใฆใคใ‚„", - "ใงใฌใ‹ใˆ", - "ใฆใฌใ", - "ใฆใฌใใ„", - "ใฆใฎใฒใ‚‰", - "ใฆใฏใ„", - "ใฆใตใ ", - "ใฆใปใฉใ", - "ใฆใปใ‚“", - "ใฆใพ", - "ใฆใพใˆ", - "ใฆใพใใšใ—", - "ใฆใฟใ˜ใ‹", - "ใฆใฟใ‚„ใ’", - "ใฆใ‚‰", - "ใฆใ‚‰ใ™", - "ใงใ‚‹", - "ใฆใ‚Œใณ", - "ใฆใ‚", - "ใฆใ‚ใ‘", - "ใฆใ‚ใŸใ—", - "ใงใ‚“ใ‚ใค", - "ใฆใ‚“ใ„", - "ใฆใ‚“ใ„ใ‚“", - "ใฆใ‚“ใ‹ใ„", - "ใฆใ‚“ใ", - "ใฆใ‚“ใ", - "ใฆใ‚“ใ‘ใ‚“", - "ใงใ‚“ใ’ใ‚“", - "ใฆใ‚“ใ”ใ", - "ใฆใ‚“ใ•ใ„", - "ใฆใ‚“ใ™ใ†", - "ใงใ‚“ใก", - "ใฆใ‚“ใฆใ", - "ใฆใ‚“ใจใ†", - "ใฆใ‚“ใชใ„", - "ใฆใ‚“ใท", - "ใฆใ‚“ใทใ‚‰", - "ใฆใ‚“ใผใ†ใ ใ„", - "ใฆใ‚“ใ‚ใค", - "ใฆใ‚“ใ‚‰ใ", - "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", - "ใงใ‚“ใ‚Šใ‚…ใ†", - "ใงใ‚“ใ‚Šใ‚‡ใ", - "ใงใ‚“ใ‚", - "ใฉใ‚", - "ใฉใ‚ใ„", - "ใจใ„ใ‚Œ", - "ใจใ†ใ‚€ใŽ", - "ใจใŠใ„", - "ใจใŠใ™", - "ใจใ‹ใ„", - "ใจใ‹ใ™", - "ใจใใŠใ‚Š", - "ใจใใฉใ", - "ใจใใ„", - "ใจใใฆใ„", - "ใจใใฆใ‚“", - "ใจใในใค", - "ใจใ‘ใ„", - "ใจใ‘ใ‚‹", - "ใจใ•ใ‹", - "ใจใ—", - "ใจใ—ใ‚‡ใ‹ใ‚“", - "ใจใใ†", - "ใจใŸใ‚“", - "ใจใก", - "ใจใกใ‚…ใ†", - "ใจใคใœใ‚“", - "ใจใคใซใ‚…ใ†", - "ใจใจใฎใˆใ‚‹", - "ใจใชใ„", - "ใจใชใˆใ‚‹", - "ใจใชใ‚Š", - "ใจใฎใ•ใพ", - "ใจใฐใ™", - "ใจใถ", - "ใจใป", - "ใจใปใ†", - "ใฉใพ", - "ใจใพใ‚‹", - "ใจใ‚‰", - "ใจใ‚Š", - "ใจใ‚‹", - "ใจใ‚“ใ‹ใค", - "ใชใ„", - "ใชใ„ใ‹", - "ใชใ„ใ‹ใ", - "ใชใ„ใ“ใ†", - "ใชใ„ใ—ใ‚‡", - "ใชใ„ใ™", - "ใชใ„ใ›ใ‚“", - "ใชใ„ใใ†", - "ใชใ„ใžใ†", - "ใชใŠใ™", - "ใชใ", - "ใชใ“ใ†ใฉ", - "ใชใ•ใ‘", - "ใชใ—", - "ใชใ™", - "ใชใœ", - "ใชใž", - "ใชใŸใงใ“ใ“", - "ใชใค", - "ใชใฃใจใ†", - "ใชใคใ‚„ใ™ใฟ", - "ใชใชใŠใ—", - "ใชใซใ”ใจ", - "ใชใซใ‚‚ใฎ", - "ใชใซใ‚", - "ใชใฏ", - "ใชใณ", - "ใชใตใ ", - "ใชใน", - "ใชใพใ„ใ", - "ใชใพใˆ", - "ใชใพใฟ", - "ใชใฟ", - "ใชใฟใ ", - "ใชใ‚ใ‚‰ใ‹", - "ใชใ‚ใ‚‹", - "ใชใ‚„ใ‚€", - "ใชใ‚‰ใถ", - "ใชใ‚‹", - "ใชใ‚Œใ‚‹", - "ใชใ‚", - "ใชใ‚ใจใณ", - "ใชใ‚ใฐใ‚Š", - "ใซใ‚ใ†", - "ใซใ„ใŒใŸ", - "ใซใ†ใ‘", - "ใซใŠใ„", - "ใซใ‹ใ„", - "ใซใŒใฆ", - "ใซใใณ", - "ใซใ", - "ใซใใ—ใฟ", - "ใซใใพใ‚“", - "ใซใ’ใ‚‹", - "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", - "ใซใ—", - "ใซใ—ใ", - "ใซใ™", - "ใซใ›ใ‚‚ใฎ", - "ใซใกใ˜", - "ใซใกใ˜ใ‚‡ใ†", - "ใซใกใ‚ˆใ†ใณ", - "ใซใฃใ‹", - "ใซใฃใ", - "ใซใฃใ‘ใ„", - "ใซใฃใ“ใ†", - "ใซใฃใ•ใ‚“", - "ใซใฃใ—ใ‚‡ใ", - "ใซใฃใ™ใ†", - "ใซใฃใ›ใ", - "ใซใฃใฆใ„", - "ใซใชใ†", - "ใซใปใ‚“", - "ใซใพใ‚", - "ใซใ‚‚ใค", - "ใซใ‚„ใ‚Š", - "ใซใ‚…ใ†ใ„ใ‚“", - "ใซใ‚…ใ†ใ‹", - "ใซใ‚…ใ†ใ—", - "ใซใ‚…ใ†ใ—ใ‚ƒ", - "ใซใ‚…ใ†ใ ใ‚“", - "ใซใ‚…ใ†ใถ", - "ใซใ‚‰", - "ใซใ‚Šใ‚“ใ—ใ‚ƒ", - "ใซใ‚‹", - "ใซใ‚", - "ใซใ‚ใจใ‚Š", - "ใซใ‚“ใ„", - "ใซใ‚“ใ‹", - "ใซใ‚“ใ", - "ใซใ‚“ใ’ใ‚“", - "ใซใ‚“ใ—ใ", - "ใซใ‚“ใ—ใ‚‡ใ†", - "ใซใ‚“ใ—ใ‚“", - "ใซใ‚“ใšใ†", - "ใซใ‚“ใใ†", - "ใซใ‚“ใŸใ„", - "ใซใ‚“ใก", - "ใซใ‚“ใฆใ„", - "ใซใ‚“ใซใ", - "ใซใ‚“ใท", - "ใซใ‚“ใพใ‚Š", - "ใซใ‚“ใ‚€", - "ใซใ‚“ใ‚ใ„", - "ใซใ‚“ใ‚ˆใ†", - "ใฌใ†", - "ใฌใ‹", - "ใฌใ", - "ใฌใใ‚‚ใ‚Š", - "ใฌใ—", - "ใฌใฎ", - "ใฌใพ", - "ใฌใ‚ใ‚Š", - "ใฌใ‚‰ใ™", - "ใฌใ‚‹", - "ใฌใ‚“ใกใ‚ƒใ", - "ใญใ‚ใ’", - "ใญใ„ใ", - "ใญใ„ใ‚‹", - "ใญใ„ใ‚", - "ใญใŽ", - "ใญใใ›", - "ใญใใŸใ„", - "ใญใใ‚‰", - "ใญใ“", - "ใญใ“ใœ", - "ใญใ“ใ‚€", - "ใญใ•ใ’", - "ใญใ™ใ”ใ™", - "ใญใในใ‚‹", - "ใญใคใ„", - "ใญใคใžใ†", - "ใญใฃใŸใ„", - "ใญใฃใŸใ„ใŽใ‚‡", - "ใญใถใใ", - "ใญใตใ ", - "ใญใผใ†", - "ใญใปใ‚Šใฏใปใ‚Š", - "ใญใพใ", - "ใญใพใ‚ใ—", - "ใญใฟใฟ", - "ใญใ‚€ใ„", - "ใญใ‚‚ใจ", - "ใญใ‚‰ใ†", - "ใญใ‚‹", - "ใญใ‚ใ–", - "ใญใ‚“ใ„ใ‚Š", - "ใญใ‚“ใŠใ—", - "ใญใ‚“ใ‹ใ‚“", - "ใญใ‚“ใ", - "ใญใ‚“ใใ‚“", - "ใญใ‚“ใ", - "ใญใ‚“ใ–", - "ใญใ‚“ใ—", - "ใญใ‚“ใกใ‚ƒใ", - "ใญใ‚“ใกใ‚‡ใ†", - "ใญใ‚“ใฉ", - "ใญใ‚“ใด", - "ใญใ‚“ใถใค", - "ใญใ‚“ใพใ", - "ใญใ‚“ใพใค", - "ใญใ‚“ใ‚Šใ", - "ใญใ‚“ใ‚Šใ‚‡ใ†", - "ใญใ‚“ใ‚Œใ„", - "ใฎใ„ใš", - "ใฎใ†", - "ใฎใŠใฅใพ", - "ใฎใŒใ™", - "ใฎใใชใฟ", - "ใฎใ“ใŽใ‚Š", - "ใฎใ“ใ™", - "ใฎใ›ใ‚‹", - "ใฎใžใ", - "ใฎใžใ‚€", - "ใฎใŸใพใ†", - "ใฎใกใปใฉ", - "ใฎใฃใ", - "ใฎใฐใ™", - "ใฎใฏใ‚‰", - "ใฎในใ‚‹", - "ใฎใผใ‚‹", - "ใฎใ‚€", - "ใฎใ‚„ใพ", - "ใฎใ‚‰ใ„ใฌ", - "ใฎใ‚‰ใญใ“", - "ใฎใ‚Š", - "ใฎใ‚‹", - "ใฎใ‚Œใ‚“", - "ใฎใ‚“ใ", - "ใฐใ‚ใ„", - "ใฏใ‚ใ", - "ใฐใ‚ใ•ใ‚“", - "ใฏใ„", - "ใฐใ„ใ‹", - "ใฐใ„ใ", - "ใฏใ„ใ‘ใ‚“", - "ใฏใ„ใ”", - "ใฏใ„ใ“ใ†", - "ใฏใ„ใ—", - "ใฏใ„ใ—ใ‚…ใค", - "ใฏใ„ใ—ใ‚“", - "ใฏใ„ใ™ใ„", - "ใฏใ„ใ›ใค", - "ใฏใ„ใ›ใ‚“", - "ใฏใ„ใใ†", - "ใฏใ„ใก", - "ใฐใ„ใฐใ„", - "ใฏใ†", - "ใฏใˆ", - "ใฏใˆใ‚‹", - "ใฏใŠใ‚‹", - "ใฏใ‹", - "ใฐใ‹", - "ใฏใ‹ใ„", - "ใฏใ‹ใ‚‹", - "ใฏใ", - "ใฏใ", - "ใฏใใ—ใ‚…", - "ใฏใ‘ใ‚“", - "ใฏใ“", - "ใฏใ“ใถ", - "ใฏใ•ใฟ", - "ใฏใ•ใ‚“", - "ใฏใ—", - "ใฏใ—ใ”", - "ใฏใ—ใ‚‹", - "ใฐใ™", - "ใฏใ›ใ‚‹", - "ใฑใใ“ใ‚“", - "ใฏใใ‚“", - "ใฏใŸใ‚“", - "ใฏใก", - "ใฏใกใฟใค", - "ใฏใฃใ‹", - "ใฏใฃใ‹ใ", - "ใฏใฃใ", - "ใฏใฃใใ‚Š", - "ใฏใฃใใค", - "ใฏใฃใ‘ใ‚“", - "ใฏใฃใ“ใ†", - "ใฏใฃใ•ใ‚“", - "ใฏใฃใ—ใ‚ƒ", - "ใฏใฃใ—ใ‚“", - "ใฏใฃใŸใค", - "ใฏใฃใกใ‚ƒใ", - "ใฏใฃใกใ‚…ใ†", - "ใฏใฃใฆใ‚“", - "ใฏใฃใดใ‚‡ใ†", - "ใฏใฃใฝใ†", - "ใฏใฆ", - "ใฏใช", - "ใฏใชใ™", - "ใฏใชใณ", - "ใฏใซใ‹ใ‚€", - "ใฏใญ", - "ใฏใฏ", - "ใฏใถใ‚‰ใ—", - "ใฏใพ", - "ใฏใฟใŒใ", - "ใฏใ‚€", - "ใฏใ‚€ใ‹ใ†", - "ใฏใ‚ใค", - "ใฏใ‚„ใ„", - "ใฏใ‚‰", - "ใฏใ‚‰ใ†", - "ใฏใ‚Š", - "ใฏใ‚‹", - "ใฏใ‚Œ", - "ใฏใ‚ใ†ใƒใ‚“", - "ใฏใ‚ใ„", - "ใฏใ‚“ใ„", - "ใฏใ‚“ใˆใ„", - "ใฏใ‚“ใˆใ‚“", - "ใฏใ‚“ใŠใ‚“", - "ใฏใ‚“ใ‹ใ", - "ใฏใ‚“ใ‹ใก", - "ใฏใ‚“ใใ‚‡ใ†", - "ใฏใ‚“ใ“", - "ใฏใ‚“ใ“ใ†", - "ใฏใ‚“ใ—ใ‚ƒ", - "ใฏใ‚“ใ—ใ‚“", - "ใฏใ‚“ใ™ใ†", - "ใฏใ‚“ใŸใ„", - "ใฏใ‚“ใ ใ‚“", - "ใฑใ‚“ใก", - "ใฑใ‚“ใค", - "ใฏใ‚“ใฆใ„", - "ใฏใ‚“ใฆใ‚“", - "ใฏใ‚“ใจใ—", - "ใฏใ‚“ใฎใ†", - "ใฏใ‚“ใฑ", - "ใฏใ‚“ใถใ‚“", - "ใฏใ‚“ใบใ‚“", - "ใฏใ‚“ใผใ†ใ", - "ใฏใ‚“ใ‚ใ„", - "ใฏใ‚“ใ‚ใ‚“", - "ใฏใ‚“ใ‚‰ใ‚“", - "ใฏใ‚“ใ‚ใ‚“", - "ใฒใ„ใ", - "ใฒใ†ใ‚“", - "ใฒใˆใ‚‹", - "ใฒใ‹ใ", - "ใฒใ‹ใ‚Š", - "ใฒใ‹ใ‚“", - "ใฒใ", - "ใฒใใ„", - "ใฒใ‘ใค", - "ใฒใ“ใ†ใ", - "ใฒใ“ใ", - "ใฒใ–", - "ใดใ–", - "ใฒใ•ใ„", - "ใฒใ•ใ—ใถใ‚Š", - "ใฒใ•ใ‚“", - "ใฒใ—", - "ใฒใ˜", - "ใฒใ—ใ‚‡", - "ใฒใ˜ใ‚‡ใ†", - "ใฒใใ‹", - "ใฒใใ‚€", - "ใฒใŸใ‚€ใ", - "ใฒใŸใ‚‹", - "ใฒใคใŽ", - "ใฒใฃใ“ใ—", - "ใฒใฃใ—", - "ใฒใฃใ™", - "ใฒใคใœใ‚“", - "ใฒใคใ‚ˆใ†", - "ใฒใฆใ„", - "ใฒใจ", - "ใฒใจใ”ใฟ", - "ใฒใช", - "ใฒใชใ‚“", - "ใฒใญใ‚‹", - "ใฒใฏใ‚“", - "ใฒใณใ", - "ใฒใฒใ‚‡ใ†", - "ใฒใต", - "ใฒใปใ†", - "ใฒใพ", - "ใฒใพใ‚“", - "ใฒใฟใค", - "ใฒใ‚", - "ใฒใ‚ใ„", - "ใฒใ‚ใ˜ใ—", - "ใฒใ‚‚", - "ใฒใ‚„ใ‘", - "ใฒใ‚„ใ™", - "ใฒใ‚†", - "ใฒใ‚ˆใ†", - "ใณใ‚‡ใ†ใ", - "ใฒใ‚‰ใ", - "ใฒใ‚Šใค", - "ใฒใ‚Šใ‚‡ใ†", - "ใฒใ‚‹", - "ใฒใ‚Œใ„", - "ใฒใ‚ใ„", - "ใฒใ‚ใ†", - "ใฒใ‚", - "ใฒใ‚“ใ‹ใ", - "ใฒใ‚“ใ‘ใค", - "ใฒใ‚“ใ“ใ‚“", - "ใฒใ‚“ใ—", - "ใฒใ‚“ใ—ใค", - "ใฒใ‚“ใ—ใ‚…", - "ใฒใ‚“ใใ†", - "ใดใ‚“ใก", - "ใฒใ‚“ใฑใ‚“", - "ใณใ‚“ใผใ†", - "ใตใ‚ใ‚“", - "ใตใ„ใ†ใก", - "ใตใ†ใ‘ใ„", - "ใตใ†ใ›ใ‚“", - "ใตใ†ใจใ†", - "ใตใ†ใต", - "ใตใˆ", - "ใตใˆใ‚‹", - "ใตใŠใ‚“", - "ใตใ‹", - "ใตใ‹ใ„", - "ใตใใ‚“", - "ใตใ", - "ใตใใ–ใค", - "ใตใ“ใ†", - "ใตใ•ใ„", - "ใตใ–ใ„", - "ใตใ—ใŽ", - "ใตใ˜ใฟ", - "ใตใ™ใพ", - "ใตใ›ใ„", - "ใตใ›ใ", - "ใตใใ", - "ใตใŸ", - "ใตใŸใ‚“", - "ใตใก", - "ใตใกใ‚‡ใ†", - "ใตใคใ†", - "ใตใฃใ‹ใค", - "ใตใฃใ", - "ใตใฃใใ‚“", - "ใตใฃใ“ใ", - "ใตใจใ‚‹", - "ใตใจใ‚“", - "ใตใญ", - "ใตใฎใ†", - "ใตใฏใ„", - "ใตใฒใ‚‡ใ†", - "ใตใธใ‚“", - "ใตใพใ‚“", - "ใตใฟใ‚“", - "ใตใ‚€", - "ใตใ‚ใค", - "ใตใ‚ใ‚“", - "ใตใ‚†", - "ใตใ‚ˆใ†", - "ใตใ‚Šใ“", - "ใตใ‚Šใ‚‹", - "ใตใ‚‹", - "ใตใ‚‹ใ„", - "ใตใ‚", - "ใตใ‚“ใ„ใ", - "ใตใ‚“ใ‹", - "ใถใ‚“ใ‹", - "ใถใ‚“ใ", - "ใตใ‚“ใ—ใค", - "ใถใ‚“ใ›ใ", - "ใตใ‚“ใใ†", - "ใธใ„", - "ใธใ„ใ", - "ใธใ„ใ•", - "ใธใ„ใ‚", - "ใธใใŒ", - "ใธใ“ใ‚€", - "ใธใ", - "ใธใŸ", - "ในใค", - "ในใฃใฉ", - "ใบใฃใจ", - "ใธใณ", - "ใธใ‚„", - "ใธใ‚‹", - "ใธใ‚“ใ‹", - "ใธใ‚“ใ‹ใ‚“", - "ใธใ‚“ใใ‚ƒใ", - "ใธใ‚“ใใ‚“", - "ใธใ‚“ใ•ใ„", - "ใธใ‚“ใŸใ„", - "ใปใ‚ใ‚“", - "ใปใ„ใ", - "ใปใ†ใปใ†", - "ใปใˆใ‚‹", - "ใปใŠใ‚“", - "ใปใ‹ใ‚“", - "ใปใใ‚‡ใ†", - "ใผใใ‚“", - "ใปใใ‚", - "ใปใ‘ใค", - "ใปใ‘ใ‚“", - "ใปใ“ใ†", - "ใปใ“ใ‚‹", - "ใปใ•", - "ใปใ—", - "ใปใ—ใค", - "ใปใ—ใ‚…", - "ใปใ—ใ‚‡ใ†", - "ใปใ™", - "ใปใ›ใ„", - "ใผใ›ใ„", - "ใปใใ„", - "ใปใใ", - "ใปใŸใฆ", - "ใปใŸใ‚‹", - "ใผใก", - "ใปใฃใใ‚‡ใ", - "ใปใฃใ•", - "ใปใฃใŸใ‚“", - "ใปใจใ‚“ใฉ", - "ใปใ‚ใ‚‹", - "ใปใ‚‹", - "ใปใ‚“ใ„", - "ใปใ‚“ใ", - "ใปใ‚“ใ‘", - "ใปใ‚“ใ—ใค", - "ใพใ„ใซใก", - "ใพใ†", - "ใพใ‹ใ„", - "ใพใ‹ใ›ใ‚‹", - "ใพใ", - "ใพใ‘ใ‚‹", - "ใพใ“ใจ", - "ใพใ•ใค", - "ใพใ™ใ", - "ใพใœใ‚‹", - "ใพใก", - "ใพใค", - "ใพใคใ‚Š", - "ใพใจใ‚", - "ใพใชใถ", - "ใพใฌใ‘", - "ใพใญ", - "ใพใญใ", - "ใพใฒ", - "ใพใปใ†", - "ใพใ‚", - "ใพใ‚‚ใ‚‹", - "ใพใ‚†ใ’", - "ใพใ‚ˆใ†", - "ใพใ‚‹", - "ใพใ‚ใ‚„ใ‹", - "ใพใ‚ใ™", - "ใพใ‚ใ‚Š", - "ใพใ‚“ใŒ", - "ใพใ‚“ใ‹ใ„", - "ใพใ‚“ใใค", - "ใพใ‚“ใžใ", - "ใฟใ„ใ‚‰", - "ใฟใ†ใก", - "ใฟใ‹ใŸ", - "ใฟใ‹ใ‚“", - "ใฟใŽ", - "ใฟใ‘ใ‚“", - "ใฟใ“ใ‚“", - "ใฟใ™ใ„", - "ใฟใ™ใˆใ‚‹", - "ใฟใ›", - "ใฟใ", - "ใฟใก", - "ใฟใฆใ„", - "ใฟใจใ‚ใ‚‹", - "ใฟใชใฟใ‹ใ•ใ„", - "ใฟใญใ‚‰ใ‚‹", - "ใฟใฎใ†", - "ใฟใปใ‚“", - "ใฟใฟ", - "ใฟใ‚‚ใจ", - "ใฟใ‚„ใ’", - "ใฟใ‚‰ใ„", - "ใฟใ‚Šใ‚‡ใ", - "ใฟใ‚‹", - "ใฟใ‚ใ", - "ใ‚€ใˆใ", - "ใ‚€ใˆใ‚“", - "ใ‚€ใ‹ใ—", - "ใ‚€ใ", - "ใ‚€ใ“", - "ใ‚€ใ•ใผใ‚‹", - "ใ‚€ใ—", - "ใ‚€ใ™ใ“", - "ใ‚€ใ™ใ‚", - "ใ‚€ใ›ใ‚‹", - "ใ‚€ใ›ใ‚“", - "ใ‚€ใ ", - "ใ‚€ใก", - "ใ‚€ใชใ—ใ„", - "ใ‚€ใญ", - "ใ‚€ใฎใ†", - "ใ‚€ใ‚„ใฟ", - "ใ‚€ใ‚ˆใ†", - "ใ‚€ใ‚‰", - "ใ‚€ใ‚Š", - "ใ‚€ใ‚Šใ‚‡ใ†", - "ใ‚€ใ‚Œ", - "ใ‚€ใ‚ใ‚“", - "ใ‚‚ใ†ใฉใ†ใ‘ใ‚“", - "ใ‚‚ใˆใ‚‹", - "ใ‚‚ใŽ", - "ใ‚‚ใใ—", - "ใ‚‚ใใฆใ", - "ใ‚‚ใ—", - "ใ‚‚ใ‚“ใ", - "ใ‚‚ใ‚“ใ ใ„", - "ใ‚„ใ™ใ„", - "ใ‚„ใ™ใฟ", - "ใ‚„ใใ†", - "ใ‚„ใŸใ„", - "ใ‚„ใกใ‚“", - "ใ‚„ใญ", - "ใ‚„ใถใ‚‹", - "ใ‚„ใพ", - "ใ‚„ใฟ", - "ใ‚„ใ‚ใ‚‹", - "ใ‚„ใ‚„ใ“ใ—ใ„", - "ใ‚„ใ‚ˆใ„", - "ใ‚„ใ‚Š", - "ใ‚„ใ‚ใ‚‰ใ‹ใ„", - "ใ‚†ใ‘ใค", - "ใ‚†ใ—ใ‚…ใค", - "ใ‚†ใ›ใ‚“", - "ใ‚†ใใ†", - "ใ‚†ใŸใ‹", - "ใ‚†ใกใ‚ƒใ", - "ใ‚†ใงใ‚‹", - "ใ‚†ใณ", - "ใ‚†ใณใ‚", - "ใ‚†ใ‚", - "ใ‚†ใ‚Œใ‚‹", - "ใ‚ˆใ†", - "ใ‚ˆใ‹ใœ", - "ใ‚ˆใ‹ใ‚“", - "ใ‚ˆใใ‚“", - "ใ‚ˆใใ›ใ„", - "ใ‚ˆใใผใ†", - "ใ‚ˆใ‘ใ„", - "ใ‚ˆใ•ใ‚“", - "ใ‚ˆใใ†", - "ใ‚ˆใใ", - "ใ‚ˆใก", - "ใ‚ˆใฆใ„", - "ใ‚ˆใฉใŒใ‚ใ", - "ใ‚ˆใญใค", - "ใ‚ˆใ‚€", - "ใ‚ˆใ‚", - "ใ‚ˆใ‚„ใ", - "ใ‚ˆใ‚†ใ†", - "ใ‚ˆใ‚‹", - "ใ‚ˆใ‚ใ“ใถ", - "ใ‚‰ใ„ใ†", - "ใ‚‰ใใŒใ", - "ใ‚‰ใใ”", - "ใ‚‰ใใ•ใค", - "ใ‚‰ใใ ", - "ใ‚‰ใใŸใ‚“", - "ใ‚‰ใ—ใ‚“ใฐใ‚“", - "ใ‚‰ใ›ใ‚“", - "ใ‚‰ใžใ", - "ใ‚‰ใŸใ„", - "ใ‚‰ใก", - "ใ‚‰ใฃใ‹", - "ใ‚‰ใฃใ‹ใ›ใ„", - "ใ‚‰ใ‚Œใค", - "ใ‚Šใˆใ", - "ใ‚Šใ‹", - "ใ‚Šใ‹ใ„", - "ใ‚Šใใ•ใ", - "ใ‚Šใใ›ใค", - "ใ‚Šใ", - "ใ‚Šใใใ‚“", - "ใ‚Šใใค", - "ใ‚Šใ‘ใ‚“", - "ใ‚Šใ“ใ†", - "ใ‚Šใ—", - "ใ‚Šใ™", - "ใ‚Šใ›ใ„", - "ใ‚Šใใ†", - "ใ‚Šใใ", - "ใ‚Šใฆใ‚“", - "ใ‚Šใญใ‚“", - "ใ‚Šใ‚…ใ†", - "ใ‚Šใ‚†ใ†", - "ใ‚Šใ‚…ใ†ใŒใ", - "ใ‚Šใ‚…ใ†ใ“ใ†", - "ใ‚Šใ‚…ใ†ใ—", - "ใ‚Šใ‚…ใ†ใญใ‚“", - "ใ‚Šใ‚ˆใ†", - "ใ‚Šใ‚‡ใ†ใ‹ใ„", - "ใ‚Šใ‚‡ใ†ใใ‚“", - "ใ‚Šใ‚‡ใ†ใ—ใ‚“", - "ใ‚Šใ‚‡ใ†ใฆ", - "ใ‚Šใ‚‡ใ†ใฉ", - "ใ‚Šใ‚‡ใ†ใปใ†", - "ใ‚Šใ‚‡ใ†ใ‚Š", - "ใ‚Šใ‚Šใ", - "ใ‚Šใ‚Œใ", - "ใ‚Šใ‚ใ‚“", - "ใ‚Šใ‚“ใ”", - "ใ‚‹ใ„ใ˜", - "ใ‚‹ใ™", - "ใ‚Œใ„ใ‹ใ‚“", - "ใ‚Œใ„ใŽ", - "ใ‚Œใ„ใ›ใ„", - "ใ‚Œใ„ใžใ†ใ“", - "ใ‚Œใ„ใจใ†", - "ใ‚Œใใ—", - "ใ‚Œใใ ใ„", - "ใ‚Œใ‚“ใ‚ใ„", - "ใ‚Œใ‚“ใ‘ใ„", - "ใ‚Œใ‚“ใ‘ใค", - "ใ‚Œใ‚“ใ“ใ†", - "ใ‚Œใ‚“ใ“ใ‚“", - "ใ‚Œใ‚“ใ•", - "ใ‚Œใ‚“ใ•ใ„", - "ใ‚Œใ‚“ใ•ใ", - "ใ‚Œใ‚“ใ—ใ‚ƒ", - "ใ‚Œใ‚“ใ—ใ‚…ใ†", - "ใ‚Œใ‚“ใžใ", - "ใ‚ใ†ใ‹", - "ใ‚ใ†ใ”", - "ใ‚ใ†ใ˜ใ‚“", - "ใ‚ใ†ใใ", - "ใ‚ใ‹", - "ใ‚ใใŒ", - "ใ‚ใ“ใค", - "ใ‚ใ—ใ‚…ใค", - "ใ‚ใ›ใ‚“", - "ใ‚ใฆใ‚“", - "ใ‚ใ‚ใ‚“", - "ใ‚ใ‚Œใค", - "ใ‚ใ‚“ใŽ", - "ใ‚ใ‚“ใฑ", - "ใ‚ใ‚“ใถใ‚“", - "ใ‚ใ‚“ใ‚Š", - "ใ‚ใ˜ใพใ—" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "Japanese"; - populate_maps(); - } - }; -} - -#endif +// Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef JAPANESE_H +#define JAPANESE_H + +#include +#include +#include "language_base.h" +#include + +namespace Language +{ + class Japanese: public Base + { + public: + Japanese() + { + word_list = new std::vector({ + "ใ‚ใ„", + "ใ‚ใ„ใ“ใใ—ใ‚“", + "ใ‚ใ†", + "ใ‚ใŠ", + "ใ‚ใŠใžใ‚‰", + "ใ‚ใ‹", + "ใ‚ใ‹ใกใ‚ƒใ‚“", + "ใ‚ใ", + "ใ‚ใใ‚‹", + "ใ‚ใ", + "ใ‚ใ•", + "ใ‚ใ•ใฒ", + "ใ‚ใ—", + "ใ‚ใšใ", + "ใ‚ใ›", + "ใ‚ใใถ", + "ใ‚ใŸใ‚‹", + "ใ‚ใคใ„", + "ใ‚ใช", + "ใ‚ใซ", + "ใ‚ใญ", + "ใ‚ใฒใ‚‹", + "ใ‚ใพใ„", + "ใ‚ใฟ", + "ใ‚ใ‚", + "ใ‚ใ‚ใ‚Šใ‹", + "ใ‚ใ‚„ใพใ‚‹", + "ใ‚ใ‚†ใ‚€", + "ใ‚ใ‚‰ใ„ใใพ", + "ใ‚ใ‚‰ใ—", + "ใ‚ใ‚Š", + "ใ‚ใ‚‹", + "ใ‚ใ‚Œ", + "ใ‚ใ‚", + "ใ‚ใ‚“ใ“", + "ใ„ใ†", + "ใ„ใˆ", + "ใ„ใŠใ‚“", + "ใ„ใ‹", + "ใ„ใŒใ„", + "ใ„ใ‹ใ„ใ‚ˆใ†", + "ใ„ใ‘", + "ใ„ใ‘ใ‚“", + "ใ„ใ“ใ", + "ใ„ใ“ใค", + "ใ„ใ•ใ‚“", + "ใ„ใ—", + "ใ„ใ˜ใ‚…ใ†", + "ใ„ใ™", + "ใ„ใ›ใ„", + "ใ„ใ›ใˆใณ", + "ใ„ใ›ใ‹ใ„", + "ใ„ใ›ใ", + "ใ„ใใ†ใ‚ใ†", + "ใ„ใใŒใ—ใ„", + "ใ„ใŸใ‚Šใ‚", + "ใ„ใฆใ–", + "ใ„ใฆใ‚“", + "ใ„ใจ", + "ใ„ใชใ„", + "ใ„ใชใ‹", + "ใ„ใฌ", + "ใ„ใญ", + "ใ„ใฎใก", + "ใ„ใฎใ‚‹", + "ใ„ใฏใค", + "ใ„ใฏใ‚“", + "ใ„ใณใ", + "ใ„ใฒใ‚“", + "ใ„ใตใ", + "ใ„ใธใ‚“", + "ใ„ใปใ†", + "ใ„ใพ", + "ใ„ใฟ", + "ใ„ใฟใ‚“", + "ใ„ใ‚‚", + "ใ„ใ‚‚ใ†ใจ", + "ใ„ใ‚‚ใŸใ‚Œ", + "ใ„ใ‚‚ใ‚Š", + "ใ„ใ‚„", + "ใ„ใ‚„ใ™", + "ใ„ใ‚ˆใ‹ใ‚“", + "ใ„ใ‚ˆใ", + "ใ„ใ‚‰ใ„", + "ใ„ใ‚‰ใ™ใจ", + "ใ„ใ‚Šใใก", + "ใ„ใ‚Šใ‚‡ใ†", + "ใ„ใ‚Šใ‚‡ใ†ใฒ", + "ใ„ใ‚‹", + "ใ„ใ‚Œใ„", + "ใ„ใ‚Œใ‚‚ใฎ", + "ใ„ใ‚Œใ‚‹", + "ใ„ใ‚", + "ใ„ใ‚ใˆใ‚“ใดใค", + "ใ„ใ‚", + "ใ„ใ‚ใ†", + "ใ„ใ‚ใ‹ใ‚“", + "ใ„ใ‚“ใ’ใ‚“ใพใ‚", + "ใ†ใˆ", + "ใ†ใŠใ–", + "ใ†ใ‹ใถ", + "ใ†ใใ‚", + "ใ†ใ", + "ใ†ใใ‚‰ใ„ใช", + "ใ†ใใ‚Œใ‚Œ", + "ใ†ใ‘ใคใ", + "ใ†ใ‘ใคใ‘", + "ใ†ใ‘ใ‚‹", + "ใ†ใ”ใ", + "ใ†ใ“ใ‚“", + "ใ†ใ•ใŽ", + "ใ†ใ—", + "ใ†ใ—ใชใ†", + "ใ†ใ—ใ‚", + "ใ†ใ—ใ‚ใŒใฟ", + "ใ†ใ™ใ„", + "ใ†ใ™ใŽ", + "ใ†ใ›ใค", + "ใ†ใ", + "ใ†ใŸ", + "ใ†ใกใ‚ใ‚ใ›", + "ใ†ใกใŒใ‚", + "ใ†ใกใ", + "ใ†ใค", + "ใ†ใชใŽ", + "ใ†ใชใ˜", + "ใ†ใซ", + "ใ†ใญใ‚‹", + "ใ†ใฎใ†", + "ใ†ใถใ’", + "ใ†ใถใ”ใˆ", + "ใ†ใพ", + "ใ†ใพใ‚Œใ‚‹", + "ใ†ใฟ", + "ใ†ใ‚€", + "ใ†ใ‚", + "ใ†ใ‚ใ‚‹", + "ใ†ใ‚‚ใ†", + "ใ†ใ‚„ใพใ†", + "ใ†ใ‚ˆใ", + "ใ†ใ‚‰", + "ใ†ใ‚‰ใชใ„", + "ใ†ใ‚‹", + "ใ†ใ‚‹ใ•ใ„", + "ใ†ใ‚Œใ—ใ„", + "ใ†ใ‚ใ“", + "ใ†ใ‚ใ", + "ใ†ใ‚ใ•", + "ใˆใ„", + "ใˆใ„ใˆใ‚“", + "ใˆใ„ใŒ", + "ใˆใ„ใŽใ‚‡ใ†", + "ใˆใ„ใ”", + "ใˆใŠใ‚Š", + "ใˆใ", + "ใˆใใŸใ„", + "ใˆใใ›ใ‚‹", + "ใˆใ•", + "ใˆใ—ใ‚ƒใ", + "ใˆใ™ใฆ", + "ใˆใคใ‚‰ใ‚“", + "ใˆใจ", + "ใˆใฎใ", + "ใˆใณ", + "ใˆใปใ†ใพใ", + "ใˆใปใ‚“", + "ใˆใพ", + "ใˆใพใ", + "ใˆใ‚‚ใ˜", + "ใˆใ‚‚ใฎ", + "ใˆใ‚‰ใ„", + "ใˆใ‚‰ใถ", + "ใˆใ‚Š", + "ใˆใ‚Šใ‚", + "ใˆใ‚‹", + "ใˆใ‚“", + "ใˆใ‚“ใˆใ‚“", + "ใŠใใ‚‹", + "ใŠใ", + "ใŠใ‘", + "ใŠใ“ใ‚‹", + "ใŠใ—ใˆใ‚‹", + "ใŠใ‚„ใ‚†ใณ", + "ใŠใ‚‰ใ‚“ใ ", + "ใ‹ใ‚ใค", + "ใ‹ใ„", + "ใ‹ใ†", + "ใ‹ใŠ", + "ใ‹ใŒใ—", + "ใ‹ใ", + "ใ‹ใ", + "ใ‹ใ“", + "ใ‹ใ•", + "ใ‹ใ™", + "ใ‹ใก", + "ใ‹ใค", + "ใ‹ใชใ–ใ‚ใ—", + "ใ‹ใซ", + "ใ‹ใญ", + "ใ‹ใฎใ†", + "ใ‹ใปใ†", + "ใ‹ใปใ”", + "ใ‹ใพใผใ“", + "ใ‹ใฟ", + "ใ‹ใ‚€", + "ใ‹ใ‚ใ‚ŒใŠใ‚“", + "ใ‹ใ‚‚", + "ใ‹ใ‚†ใ„", + "ใ‹ใ‚‰ใ„", + "ใ‹ใ‚‹ใ„", + "ใ‹ใ‚ใ†", + "ใ‹ใ‚", + "ใ‹ใ‚ใ‚‰", + "ใใ‚ใ„", + "ใใ‚ใค", + "ใใ„ใ‚", + "ใŽใ„ใ‚“", + "ใใ†ใ„", + "ใใ†ใ‚“", + "ใใˆใ‚‹", + "ใใŠใ†", + "ใใŠใ", + "ใใŠใก", + "ใใŠใ‚“", + "ใใ‹", + "ใใ‹ใ„", + "ใใ‹ใ", + "ใใ‹ใ‚“", + "ใใ‹ใ‚“ใ—ใ‚ƒ", + "ใใŽ", + "ใใใฆ", + "ใใ", + "ใใใฐใ‚Š", + "ใใใ‚‰ใ’", + "ใใ‘ใ‚“", + "ใใ‘ใ‚“ใ›ใ„", + "ใใ“ใ†", + "ใใ“ใˆใ‚‹", + "ใใ“ใ", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใพ", + "ใใ•ใ‚‰ใŽ", + "ใใ—", + "ใใ—ใ‚…", + "ใใ™", + "ใใ™ใ†", + "ใใ›ใ„", + "ใใ›ใ", + "ใใ›ใค", + "ใใ", + "ใใใ†", + "ใใใ", + "ใใžใ", + "ใŽใใ", + "ใใžใ‚“", + "ใใŸ", + "ใใŸใˆใ‚‹", + "ใใก", + "ใใกใ‚‡ใ†", + "ใใคใˆใ‚“", + "ใใคใคใ", + "ใใคใญ", + "ใใฆใ„", + "ใใฉใ†", + "ใใฉใ", + "ใใชใ„", + "ใใชใŒ", + "ใใฌ", + "ใใฌใ”ใ—", + "ใใญใ‚“", + "ใใฎใ†", + "ใใฏใ", + "ใใณใ—ใ„", + "ใใฒใ‚“", + "ใใต", + "ใŽใต", + "ใใตใ", + "ใŽใผ", + "ใใปใ†", + "ใใผใ†", + "ใใปใ‚“", + "ใใพใ‚‹", + "ใใฟ", + "ใใฟใค", + "ใŽใ‚€", + "ใใ‚€ใšใ‹ใ—ใ„", + "ใใ‚", + "ใใ‚ใ‚‹", + "ใใ‚‚ใ ใ‚ใ—", + "ใใ‚‚ใก", + "ใใ‚„ใ", + "ใใ‚ˆใ†", + "ใใ‚‰ใ„", + "ใใ‚‰ใ", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚Œใ„", + "ใใ‚Œใค", + "ใใ‚ใ", + "ใŽใ‚ใ‚“", + "ใใ‚ใ‚ใ‚‹", + "ใใ‚ใ„", + "ใใ„", + "ใใ„ใš", + "ใใ†ใ‹ใ‚“", + "ใใ†ใ", + "ใใ†ใใ‚“", + "ใใ†ใ“ใ†", + "ใใ†ใใ†", + "ใใ†ใตใ", + "ใใ†ใผ", + "ใใ‹ใ‚“", + "ใใ", + "ใใใ‚‡ใ†", + "ใใ’ใ‚“", + "ใใ“ใ†", + "ใใ•", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใฐใช", + "ใใ•ใ‚‹", + "ใใ—", + "ใใ—ใ‚ƒใฟ", + "ใใ—ใ‚‡ใ†", + "ใใ™ใฎใ", + "ใใ™ใ‚Š", + "ใใ™ใ‚Šใ‚†ใณ", + "ใใ›", + "ใใ›ใ’", + "ใใ›ใ‚“", + "ใใŸใณใ‚Œใ‚‹", + "ใใก", + "ใใกใ“ใฟ", + "ใใกใ•ใ", + "ใใค", + "ใใคใ—ใŸ", + "ใใคใ‚ใ", + "ใใจใ†ใฆใ‚“", + "ใใฉใ", + "ใใชใ‚“", + "ใใซ", + "ใใญใใญ", + "ใใฎใ†", + "ใใตใ†", + "ใใพ", + "ใใฟใ‚ใ‚ใ›", + "ใใฟใŸใฆใ‚‹", + "ใใ‚€", + "ใใ‚ใ‚‹", + "ใใ‚„ใใ—ใ‚‡", + "ใใ‚‰ใ™", + "ใใ‚Š", + "ใใ‚Œใ‚‹", + "ใใ‚", + "ใใ‚ใ†", + "ใใ‚ใ—ใ„", + "ใใ‚“ใ˜ใ‚‡", + "ใ‘ใ‚ใช", + "ใ‘ใ„ใ‘ใ‚“", + "ใ‘ใ„ใ“", + "ใ‘ใ„ใ•ใ„", + "ใ‘ใ„ใ•ใค", + "ใ’ใ„ใฎใ†ใ˜ใ‚“", + "ใ‘ใ„ใ‚Œใ", + "ใ‘ใ„ใ‚Œใค", + "ใ‘ใ„ใ‚Œใ‚“", + "ใ‘ใ„ใ‚", + "ใ‘ใŠใจใ™", + "ใ‘ใŠใ‚Šใ‚‚ใฎ", + "ใ‘ใŒ", + "ใ’ใ", + "ใ’ใใ‹", + "ใ’ใใ’ใ‚“", + "ใ’ใใ ใ‚“", + "ใ’ใใกใ‚“", + "ใ’ใใฉ", + "ใ’ใใฏ", + "ใ’ใใ‚„ใ", + "ใ’ใ“ใ†", + "ใ’ใ“ใใ˜ใ‚‡ใ†", + "ใ‘ใ•", + "ใ’ใ–ใ„", + "ใ‘ใ•ใ", + "ใ’ใ–ใ‚“", + "ใ‘ใ—ใ", + "ใ‘ใ—ใ”ใ‚€", + "ใ‘ใ—ใ‚‡ใ†", + "ใ‘ใ™", + "ใ’ใ™ใจ", + "ใ‘ใŸ", + "ใ’ใŸ", + "ใ‘ใŸใฐ", + "ใ‘ใก", + "ใ‘ใกใ‚ƒใฃใท", + "ใ‘ใกใ‚‰ใ™", + "ใ‘ใค", + "ใ‘ใคใ‚ใค", + "ใ‘ใคใ„", + "ใ‘ใคใˆใ", + "ใ‘ใฃใ“ใ‚“", + "ใ‘ใคใ˜ใ‚‡", + "ใ‘ใฃใฆใ„", + "ใ‘ใคใพใค", + "ใ’ใคใ‚ˆใ†ใณ", + "ใ’ใคใ‚Œใ„", + "ใ‘ใคใ‚ใ‚“", + "ใ’ใฉใ", + "ใ‘ใจใฐใ™", + "ใ‘ใจใ‚‹", + "ใ‘ใชใ’", + "ใ‘ใชใ™", + "ใ‘ใชใฟ", + "ใ‘ใฌใ", + "ใ’ใญใค", + "ใ‘ใญใ‚“", + "ใ‘ใฏใ„", + "ใ’ใฒใ‚“", + "ใ‘ใถใ‹ใ„", + "ใ’ใผใ", + "ใ‘ใพใ‚Š", + "ใ‘ใฟใ‹ใ‚‹", + "ใ‘ใ‚€ใ—", + "ใ‘ใ‚€ใ‚Š", + "ใ‘ใ‚‚ใฎ", + "ใ‘ใ‚‰ใ„", + "ใ‘ใ‚‹", + "ใ’ใ‚", + "ใ‘ใ‚ใ‘ใ‚", + "ใ‘ใ‚ใ—ใ„", + "ใ‘ใ‚“ใ„", + "ใ‘ใ‚“ใˆใค", + "ใ‘ใ‚“ใŠ", + "ใ‘ใ‚“ใ‹", + "ใ’ใ‚“ใ", + "ใ‘ใ‚“ใใ‚…ใ†", + "ใ‘ใ‚“ใใ‚‡", + "ใ‘ใ‚“ใ‘ใ„", + "ใ‘ใ‚“ใ‘ใค", + "ใ‘ใ‚“ใ’ใ‚“", + "ใ‘ใ‚“ใ“ใ†", + "ใ‘ใ‚“ใ•", + "ใ‘ใ‚“ใ•ใ", + "ใ‘ใ‚“ใ—ใ‚…ใ†", + "ใ‘ใ‚“ใ—ใ‚…ใค", + "ใ‘ใ‚“ใ—ใ‚“", + "ใ‘ใ‚“ใ™ใ†", + "ใ‘ใ‚“ใใ†", + "ใ’ใ‚“ใใ†", + "ใ‘ใ‚“ใใ‚“", + "ใ’ใ‚“ใก", + "ใ‘ใ‚“ใกใ", + "ใ‘ใ‚“ใฆใ„", + "ใ’ใ‚“ใฆใ„", + "ใ‘ใ‚“ใจใ†", + "ใ‘ใ‚“ใชใ„", + "ใ‘ใ‚“ใซใ‚“", + "ใ’ใ‚“ใถใค", + "ใ‘ใ‚“ใพ", + "ใ‘ใ‚“ใฟใ‚“", + "ใ‘ใ‚“ใ‚ใ„", + "ใ‘ใ‚“ใ‚‰ใ‚“", + "ใ‘ใ‚“ใ‚Š", + "ใ‘ใ‚“ใ‚Šใค", + "ใ“ใ‚ใใพ", + "ใ“ใ„", + "ใ”ใ„", + "ใ“ใ„ใณใจ", + "ใ“ใ†ใ„", + "ใ“ใ†ใˆใ‚“", + "ใ“ใ†ใ‹", + "ใ“ใ†ใ‹ใ„", + "ใ“ใ†ใ‹ใ‚“", + "ใ“ใ†ใ•ใ„", + "ใ“ใ†ใ•ใ‚“", + "ใ“ใ†ใ—ใ‚“", + "ใ“ใ†ใš", + "ใ“ใ†ใ™ใ„", + "ใ“ใ†ใ›ใ‚“", + "ใ“ใ†ใใ†", + "ใ“ใ†ใใ", + "ใ“ใ†ใŸใ„", + "ใ“ใ†ใกใ‚ƒ", + "ใ“ใ†ใคใ†", + "ใ“ใ†ใฆใ„", + "ใ“ใ†ใจใ†ใถ", + "ใ“ใ†ใชใ„", + "ใ“ใ†ใฏใ„", + "ใ“ใ†ใฏใ‚“", + "ใ“ใ†ใ‚‚ใ", + "ใ“ใˆ", + "ใ“ใˆใ‚‹", + "ใ“ใŠใ‚Š", + "ใ”ใŒใค", + "ใ“ใ‹ใ‚“", + "ใ“ใ", + "ใ“ใใ”", + "ใ“ใใชใ„", + "ใ“ใใฏใ", + "ใ“ใ‘ใ„", + "ใ“ใ‘ใ‚‹", + "ใ“ใ“", + "ใ“ใ“ใ‚", + "ใ”ใ•", + "ใ“ใ•ใ‚", + "ใ“ใ—", + "ใ“ใ—ใค", + "ใ“ใ™", + "ใ“ใ™ใ†", + "ใ“ใ›ใ„", + "ใ“ใ›ใ", + "ใ“ใœใ‚“", + "ใ“ใใ ใฆ", + "ใ“ใŸใ„", + "ใ“ใŸใˆใ‚‹", + "ใ“ใŸใค", + "ใ“ใกใ‚‡ใ†", + "ใ“ใฃใ‹", + "ใ“ใคใ“ใค", + "ใ“ใคใฐใ‚“", + "ใ“ใคใถ", + "ใ“ใฆใ„", + "ใ“ใฆใ‚“", + "ใ“ใจ", + "ใ“ใจใŒใ‚‰", + "ใ“ใจใ—", + "ใ“ใชใ”ใช", + "ใ“ใญใ“ใญ", + "ใ“ใฎใพใพ", + "ใ“ใฎใฟ", + "ใ“ใฎใ‚ˆ", + "ใ“ใฏใ‚“", + "ใ”ใฏใ‚“", + "ใ”ใณ", + "ใ“ใฒใคใ˜", + "ใ“ใตใ†", + "ใ“ใตใ‚“", + "ใ“ใผใ‚Œใ‚‹", + "ใ”ใพ", + "ใ“ใพใ‹ใ„", + "ใ“ใพใคใ—", + "ใ“ใพใคใช", + "ใ“ใพใ‚‹", + "ใ“ใ‚€", + "ใ“ใ‚€ใŽใ“", + "ใ“ใ‚", + "ใ“ใ‚‚ใ˜", + "ใ“ใ‚‚ใก", + "ใ“ใ‚‚ใฎ", + "ใ“ใ‚‚ใ‚“", + "ใ“ใ‚„", + "ใ“ใ‚„ใ", + "ใ“ใ‚„ใพ", + "ใ“ใ‚†ใ†", + "ใ“ใ‚†ใณ", + "ใ“ใ‚ˆใ„", + "ใ“ใ‚ˆใ†", + "ใ“ใ‚Šใ‚‹", + "ใ“ใ‚‹", + "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", + "ใ“ใ‚ใฃใ‘", + "ใ“ใ‚ใ‚‚ใฆ", + "ใ“ใ‚ใ‚Œใ‚‹", + "ใ“ใ‚“", + "ใ“ใ‚“ใ„ใ‚“", + "ใ“ใ‚“ใ‹ใ„", + "ใ“ใ‚“ใ", + "ใ“ใ‚“ใ—ใ‚…ใ†", + "ใ“ใ‚“ใ—ใ‚…ใ‚“", + "ใ“ใ‚“ใ™ใ„", + "ใ“ใ‚“ใ ใฆ", + "ใ“ใ‚“ใ ใ‚“", + "ใ“ใ‚“ใจใ‚“", + "ใ“ใ‚“ใชใ‚“", + "ใ“ใ‚“ใณใซ", + "ใ“ใ‚“ใฝใ†", + "ใ“ใ‚“ใฝใ‚“", + "ใ“ใ‚“ใพใ‘", + "ใ“ใ‚“ใ‚„", + "ใ“ใ‚“ใ‚„ใ", + "ใ“ใ‚“ใ‚Œใ„", + "ใ“ใ‚“ใ‚ใ", + "ใ•ใ„ใ‹ใ„", + "ใ•ใ„ใŒใ„", + "ใ•ใ„ใใ‚“", + "ใ•ใ„ใ”", + "ใ•ใ„ใ“ใ‚“", + "ใ•ใ„ใ—ใ‚‡", + "ใ•ใ†ใช", + "ใ•ใŠ", + "ใ•ใ‹ใ„ใ—", + "ใ•ใ‹ใช", + "ใ•ใ‹ใฟใก", + "ใ•ใ", + "ใ•ใ", + "ใ•ใใ—", + "ใ•ใใ˜ใ‚‡", + "ใ•ใใฒใ‚“", + "ใ•ใใ‚‰", + "ใ•ใ‘", + "ใ•ใ“ใ", + "ใ•ใ“ใค", + "ใ•ใŸใ‚“", + "ใ•ใคใˆใ„", + "ใ•ใฃใ‹", + "ใ•ใฃใใ‚‡ใ", + "ใ•ใคใ˜ใ‚“", + "ใ•ใคใŸใฐ", + "ใ•ใคใพใ„ใ‚‚", + "ใ•ใฆใ„", + "ใ•ใจใ„ใ‚‚", + "ใ•ใจใ†", + "ใ•ใจใŠใ‚„", + "ใ•ใจใ‚‹", + "ใ•ใฎใ†", + "ใ•ใฐ", + "ใ•ใฐใ", + "ใ•ในใค", + "ใ•ใปใ†", + "ใ•ใปใฉ", + "ใ•ใพใ™", + "ใ•ใฟใ—ใ„", + "ใ•ใฟใ ใ‚Œ", + "ใ•ใ‚€ใ‘", + "ใ•ใ‚", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚„ใˆใ‚“ใฉใ†", + "ใ•ใ‚†ใ†", + "ใ•ใ‚ˆใ†", + "ใ•ใ‚ˆใ", + "ใ•ใ‚‰", + "ใ•ใ‚‰ใ ", + "ใ•ใ‚‹", + "ใ•ใ‚ใ‚„ใ‹", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚“ใ„ใ‚“", + "ใ•ใ‚“ใ‹", + "ใ•ใ‚“ใใ‚ƒใ", + "ใ•ใ‚“ใ“ใ†", + "ใ•ใ‚“ใ•ใ„", + "ใ•ใ‚“ใ–ใ‚“", + "ใ•ใ‚“ใ™ใ†", + "ใ•ใ‚“ใ›ใ„", + "ใ•ใ‚“ใ", + "ใ•ใ‚“ใใ‚“", + "ใ•ใ‚“ใก", + "ใ•ใ‚“ใกใ‚‡ใ†", + "ใ•ใ‚“ใพ", + "ใ•ใ‚“ใฟ", + "ใ•ใ‚“ใ‚‰ใ‚“", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ’", + "ใ—ใ‚ใ•ใฃใฆ", + "ใ—ใ‚ใ‚ใ›", + "ใ—ใ„ใ", + "ใ—ใ„ใ‚“", + "ใ—ใ†ใก", + "ใ—ใˆใ„", + "ใ—ใŠ", + "ใ—ใŠใ‘", + "ใ—ใ‹", + "ใ—ใ‹ใ„", + "ใ—ใ‹ใ", + "ใ˜ใ‹ใ‚“", + "ใ—ใŸ", + "ใ—ใŸใŽ", + "ใ—ใŸใฆ", + "ใ—ใŸใฟ", + "ใ—ใกใ‚‡ใ†", + "ใ—ใกใ‚‡ใ†ใใ‚“", + "ใ—ใกใ‚Šใ‚“", + "ใ˜ใคใ˜", + "ใ—ใฆใ„", + "ใ—ใฆใ", + "ใ—ใฆใค", + "ใ—ใฆใ‚“", + "ใ—ใจใ†", + "ใ˜ใฉใ†", + "ใ—ใชใŽใ‚Œ", + "ใ—ใชใ‚‚ใฎ", + "ใ—ใชใ‚“", + "ใ—ใญใพ", + "ใ—ใญใ‚“", + "ใ—ใฎใ", + "ใ—ใฎใถ", + "ใ—ใฏใ„", + "ใ—ใฐใ‹ใ‚Š", + "ใ—ใฏใค", + "ใ˜ใฏใค", + "ใ—ใฏใ‚‰ใ„", + "ใ—ใฏใ‚“", + "ใ—ใฒใ‚‡ใ†", + "ใ˜ใต", + "ใ—ใตใ", + "ใ˜ใถใ‚“", + "ใ—ใธใ„", + "ใ—ใปใ†", + "ใ—ใปใ‚“", + "ใ—ใพ", + "ใ—ใพใ†", + "ใ—ใพใ‚‹", + "ใ—ใฟ", + "ใ˜ใฟ", + "ใ—ใฟใ‚“", + "ใ˜ใ‚€", + "ใ—ใ‚€ใ‘ใ‚‹", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ‚‹", + "ใ—ใ‚‚ใ‚“", + "ใ—ใ‚ƒใ„ใ‚“", + "ใ—ใ‚ƒใ†ใ‚“", + "ใ—ใ‚ƒใŠใ‚“", + "ใ—ใ‚ƒใ‹ใ„", + "ใ˜ใ‚ƒใŒใ„ใ‚‚", + "ใ—ใ‚„ใใ—ใ‚‡", + "ใ—ใ‚ƒใใปใ†", + "ใ—ใ‚ƒใ‘ใ‚“", + "ใ—ใ‚ƒใ“", + "ใ—ใ‚ƒใ“ใ†", + "ใ—ใ‚ƒใ–ใ„", + "ใ—ใ‚ƒใ—ใ‚“", + "ใ—ใ‚ƒใ›ใ‚“", + "ใ—ใ‚ƒใใ†", + "ใ—ใ‚ƒใŸใ„", + "ใ—ใ‚ƒใŸใ", + "ใ—ใ‚ƒใกใ‚‡ใ†", + "ใ—ใ‚ƒใฃใใ‚“", + "ใ˜ใ‚ƒใพ", + "ใ˜ใ‚ƒใ‚Š", + "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", + "ใ—ใ‚ƒใ‚Šใ‚“", + "ใ—ใ‚ƒใ‚Œใ„", + "ใ—ใ‚…ใ†ใˆใ‚“", + "ใ—ใ‚…ใ†ใ‹ใ„", + "ใ—ใ‚…ใ†ใใ‚“", + "ใ—ใ‚…ใ†ใ‘ใ„", + "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", + "ใ—ใ‚…ใ‚‰ใฐ", + "ใ—ใ‚‡ใ†ใ‹", + "ใ—ใ‚‡ใ†ใ‹ใ„", + "ใ—ใ‚‡ใ†ใใ‚“", + "ใ—ใ‚‡ใ†ใ˜ใ", + "ใ—ใ‚‡ใใ–ใ„", + "ใ—ใ‚‡ใใŸใ", + "ใ—ใ‚‡ใฃใ‘ใ‚“", + "ใ—ใ‚‡ใฉใ†", + "ใ—ใ‚‡ใ‚‚ใค", + "ใ—ใ‚“", + "ใ—ใ‚“ใ‹", + "ใ—ใ‚“ใ“ใ†", + "ใ—ใ‚“ใ›ใ„ใ˜", + "ใ—ใ‚“ใกใ", + "ใ—ใ‚“ใ‚Šใ‚“", + "ใ™ใ‚ใ’", + "ใ™ใ‚ใ—", + "ใ™ใ‚ใช", + "ใšใ‚ใ‚“", + "ใ™ใ„ใ‹", + "ใ™ใ„ใจใ†", + "ใ™ใ†", + "ใ™ใ†ใŒใ", + "ใ™ใ†ใ˜ใค", + "ใ™ใ†ใ›ใ‚“", + "ใ™ใŠใฉใ‚Š", + "ใ™ใ", + "ใ™ใใพ", + "ใ™ใ", + "ใ™ใใ†", + "ใ™ใใชใ„", + "ใ™ใ‘ใ‚‹", + "ใ™ใ“ใ—", + "ใšใ•ใ‚“", + "ใ™ใ—", + "ใ™ใšใ—ใ„", + "ใ™ใ™ใ‚ใ‚‹", + "ใ™ใ", + "ใšใฃใ—ใ‚Š", + "ใšใฃใจ", + "ใ™ใง", + "ใ™ใฆใ", + "ใ™ใฆใ‚‹", + "ใ™ใช", + "ใ™ใชใฃใ", + "ใ™ใชใฃใท", + "ใ™ใญ", + "ใ™ใญใ‚‹", + "ใ™ใฎใ“", + "ใ™ใฏใ ", + "ใ™ใฐใ‚‰ใ—ใ„", + "ใšใฒใ‚‡ใ†", + "ใšใถใฌใ‚Œ", + "ใ™ใถใ‚Š", + "ใ™ใตใ‚Œ", + "ใ™ในใฆ", + "ใ™ในใ‚‹", + "ใšใปใ†", + "ใ™ใผใ‚“", + "ใ™ใพใ„", + "ใ™ใฟ", + "ใ™ใ‚€", + "ใ™ใ‚ใ—", + "ใ™ใ‚‚ใ†", + "ใ™ใ‚„ใ", + "ใ™ใ‚‰ใ„ใ™", + "ใ™ใ‚‰ใ„ใฉ", + "ใ™ใ‚‰ใ™ใ‚‰", + "ใ™ใ‚Š", + "ใ™ใ‚‹", + "ใ™ใ‚‹ใ‚", + "ใ™ใ‚ŒใกใŒใ†", + "ใ™ใ‚ใฃใจ", + "ใ™ใ‚ใ‚‹", + "ใ™ใ‚“ใœใ‚“", + "ใ™ใ‚“ใฝใ†", + "ใ›ใ‚ใถใ‚‰", + "ใ›ใ„ใ‹", + "ใ›ใ„ใ‹ใ„", + "ใ›ใ„ใ‹ใค", + "ใ›ใŠใ†", + "ใ›ใ‹ใ„", + "ใ›ใ‹ใ„ใ‹ใ‚“", + "ใ›ใ‹ใ„ใ—", + "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", + "ใ›ใ", + "ใ›ใใซใ‚“", + "ใ›ใใ‚€", + "ใ›ใใ‚†", + "ใ›ใใ‚‰ใ‚“ใ†ใ‚“", + "ใ›ใ‘ใ‚“", + "ใ›ใ“ใ†", + "ใ›ใ™ใ˜", + "ใ›ใŸใ„", + "ใ›ใŸใ‘", + "ใ›ใฃใ‹ใ„", + "ใ›ใฃใ‹ใ", + "ใ›ใฃใ", + "ใ›ใฃใใ‚ƒใ", + "ใ›ใฃใใ‚‡ใ", + "ใ›ใฃใใ‚“", + "ใœใฃใ", + "ใ›ใฃใ‘ใ‚“", + "ใ›ใฃใ“ใค", + "ใ›ใฃใ•ใŸใใพ", + "ใ›ใคใžใ", + "ใ›ใคใ ใ‚“", + "ใ›ใคใงใ‚“", + "ใ›ใฃใฑใ‚“", + "ใ›ใคใณ", + "ใ›ใคใถใ‚“", + "ใ›ใคใ‚ใ„", + "ใ›ใคใ‚Šใค", + "ใ›ใจ", + "ใ›ใชใ‹", + "ใ›ใฎใณ", + "ใ›ใฏใฐ", + "ใ›ใผใญ", + "ใ›ใพใ„", + "ใ›ใพใ‚‹", + "ใ›ใฟ", + "ใ›ใ‚ใ‚‹", + "ใ›ใ‚‚ใŸใ‚Œ", + "ใ›ใ‚Šใต", + "ใ›ใ‚", + "ใ›ใ‚“", + "ใœใ‚“ใ‚ใ", + "ใ›ใ‚“ใ„", + "ใ›ใ‚“ใˆใ„", + "ใ›ใ‚“ใ‹", + "ใ›ใ‚“ใใ‚‡", + "ใ›ใ‚“ใ", + "ใ›ใ‚“ใ‘ใค", + "ใ›ใ‚“ใ’ใ‚“", + "ใœใ‚“ใ”", + "ใ›ใ‚“ใ•ใ„", + "ใ›ใ‚“ใ—", + "ใ›ใ‚“ใ—ใ‚…", + "ใ›ใ‚“ใ™", + "ใ›ใ‚“ใ™ใ„", + "ใ›ใ‚“ใ›ใ„", + "ใ›ใ‚“ใž", + "ใ›ใ‚“ใใ†", + "ใ›ใ‚“ใŸใ", + "ใ›ใ‚“ใก", + "ใ›ใ‚“ใกใ‚ƒ", + "ใ›ใ‚“ใกใ‚ƒใ", + "ใ›ใ‚“ใกใ‚‡ใ†", + "ใ›ใ‚“ใฆใ„", + "ใ›ใ‚“ใจใ†", + "ใ›ใ‚“ใฌใ", + "ใ›ใ‚“ใญใ‚“", + "ใœใ‚“ใถ", + "ใ›ใ‚“ใทใ†ใ", + "ใ›ใ‚“ใทใ", + "ใœใ‚“ใฝใ†", + "ใ›ใ‚“ใ‚€", + "ใ›ใ‚“ใ‚ใ„", + "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", + "ใ›ใ‚“ใ‚‚ใ‚“", + "ใ›ใ‚“ใ‚„ใ", + "ใ›ใ‚“ใ‚†ใ†", + "ใ›ใ‚“ใ‚ˆใ†", + "ใœใ‚“ใ‚‰", + "ใœใ‚“ใ‚Šใ‚ƒใ", + "ใ›ใ‚“ใ‚Šใ‚‡ใ", + "ใ›ใ‚“ใ‚Œใ„", + "ใ›ใ‚“ใ‚", + "ใใ‚ใ", + "ใใ„ใจใ’ใ‚‹", + "ใใ„ใญ", + "ใใ†", + "ใžใ†", + "ใใ†ใŒใ‚“ใใ‚‡ใ†", + "ใใ†ใ", + "ใใ†ใ”", + "ใใ†ใชใ‚“", + "ใใ†ใณ", + "ใใ†ใฒใ‚‡ใ†", + "ใใ†ใ‚ใ‚“", + "ใใ†ใ‚Š", + "ใใ†ใ‚Šใ‚‡", + "ใใˆใ‚‚ใฎ", + "ใใˆใ‚“", + "ใใ‹ใ„", + "ใใŒใ„", + "ใใ", + "ใใ’ใ", + "ใใ“ใ†", + "ใใ“ใใ“", + "ใใ–ใ„", + "ใใ—", + "ใใ—ใช", + "ใใ›ใ„", + "ใใ›ใ‚“", + "ใใใ", + "ใใ ใฆใ‚‹", + "ใใคใ†", + "ใใคใˆใ‚“", + "ใใฃใ‹ใ‚“", + "ใใคใŽใ‚‡ใ†", + "ใใฃใ‘ใค", + "ใใฃใ“ใ†", + "ใใฃใ›ใ‚“", + "ใใฃใจ", + "ใใง", + "ใใจ", + "ใใจใŒใ‚", + "ใใจใฅใ‚‰", + "ใใชใˆใ‚‹", + "ใใชใŸ", + "ใใฐ", + "ใใต", + "ใใตใผ", + "ใใผ", + "ใใผใ", + "ใใผใ‚", + "ใใพใค", + "ใใพใ‚‹", + "ใใ‚€ใ", + "ใใ‚€ใ‚Šใˆ", + "ใใ‚ใ‚‹", + "ใใ‚‚ใใ‚‚", + "ใใ‚ˆใ‹ใœ", + "ใใ‚‰", + "ใใ‚‰ใพใ‚", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚ใ†", + "ใใ‚“ใ‹ใ„", + "ใใ‚“ใ‘ใ„", + "ใใ‚“ใ–ใ„", + "ใใ‚“ใ—ใค", + "ใใ‚“ใ—ใ‚‡ใ†", + "ใใ‚“ใžใ", + "ใใ‚“ใกใ‚‡ใ†", + "ใžใ‚“ใณ", + "ใžใ‚“ใถใ‚“", + "ใใ‚“ใฟใ‚“", + "ใŸใ‚ใ„", + "ใŸใ„ใ„ใ‚“", + "ใŸใ„ใ†ใ‚“", + "ใŸใ„ใˆใ", + "ใŸใ„ใŠใ†", + "ใ ใ„ใŠใ†", + "ใŸใ„ใ‹", + "ใŸใ„ใ‹ใ„", + "ใŸใ„ใ", + "ใŸใ„ใใ‘ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใใค", + "ใŸใ„ใ‘ใ„", + "ใŸใ„ใ‘ใค", + "ใŸใ„ใ‘ใ‚“", + "ใŸใ„ใ“", + "ใŸใ„ใ“ใ†", + "ใŸใ„ใ•", + "ใŸใ„ใ•ใ‚“", + "ใŸใ„ใ—ใ‚…ใค", + "ใ ใ„ใ˜ใ‚‡ใ†ใถ", + "ใŸใ„ใ—ใ‚‡ใ", + "ใ ใ„ใš", + "ใ ใ„ใ™ใ", + "ใŸใ„ใ›ใ„", + "ใŸใ„ใ›ใค", + "ใŸใ„ใ›ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใกใ‚‡ใ†", + "ใ ใ„ใกใ‚‡ใ†", + "ใŸใ„ใจใ†", + "ใŸใ„ใชใ„", + "ใŸใ„ใญใค", + "ใŸใ„ใฎใ†", + "ใŸใ„ใฏ", + "ใŸใ„ใฏใ‚“", + "ใŸใ„ใฒ", + "ใŸใ„ใตใ†", + "ใŸใ„ใธใ‚“", + "ใŸใ„ใป", + "ใŸใ„ใพใคใฐใช", + "ใŸใ„ใพใ‚“", + "ใŸใ„ใฟใ‚“ใ", + "ใŸใ„ใ‚€", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚ˆใ†", + "ใŸใ„ใ‚‰", + "ใŸใ„ใ‚Šใ‚‡ใ†", + "ใŸใ„ใ‚Šใ‚‡ใ", + "ใŸใ„ใ‚‹", + "ใŸใ„ใ‚", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ†ใˆ", + "ใŸใˆใ‚‹", + "ใŸใŠใ™", + "ใŸใŠใ‚‹", + "ใŸใ‹ใ„", + "ใŸใ‹ใญ", + "ใŸใ", + "ใŸใใณ", + "ใŸใใ•ใ‚“", + "ใŸใ‘", + "ใŸใ“", + "ใŸใ“ใ", + "ใŸใ“ใ‚„ใ", + "ใŸใ•ใ„", + "ใ ใ•ใ„", + "ใŸใ—ใ–ใ‚“", + "ใŸใ™", + "ใŸใ™ใ‘ใ‚‹", + "ใŸใใŒใ‚Œ", + "ใŸใŸใ‹ใ†", + "ใŸใŸใ", + "ใŸใกใฐ", + "ใŸใกใฐใช", + "ใŸใค", + "ใ ใฃใ‹ใ„", + "ใ ใฃใใ‚ƒใ", + "ใ ใฃใ“", + "ใ ใฃใ—ใ‚ใ‚“", + "ใ ใฃใ—ใ‚…ใค", + "ใ ใฃใŸใ„", + "ใŸใฆ", + "ใŸใฆใ‚‹", + "ใŸใจใˆใ‚‹", + "ใŸใช", + "ใŸใซใ‚“", + "ใŸใฌใ", + "ใŸใญ", + "ใŸใฎใ—ใฟ", + "ใŸใฏใค", + "ใŸใณ", + "ใŸใถใ‚“", + "ใŸในใ‚‹", + "ใŸใผใ†", + "ใŸใปใ†ใ‚ใ‚“", + "ใŸใพ", + "ใŸใพใ”", + "ใŸใพใ‚‹", + "ใ ใ‚€ใ‚‹", + "ใŸใ‚ใ„ใ", + "ใŸใ‚ใ™", + "ใŸใ‚ใ‚‹", + "ใŸใ‚‚ใค", + "ใŸใ‚„ใ™ใ„", + "ใŸใ‚ˆใ‚‹", + "ใŸใ‚‰", + "ใŸใ‚‰ใ™", + "ใŸใ‚Šใใปใ‚“ใŒใ‚“", + "ใŸใ‚Šใ‚‡ใ†", + "ใŸใ‚Šใ‚‹", + "ใŸใ‚‹", + "ใŸใ‚‹ใจ", + "ใŸใ‚Œใ‚‹", + "ใŸใ‚Œใ‚“ใจ", + "ใŸใ‚ใฃใจ", + "ใŸใ‚ใ‚€ใ‚Œใ‚‹", + "ใŸใ‚“", + "ใ ใ‚“ใ‚ใค", + "ใŸใ‚“ใ„", + "ใŸใ‚“ใŠใ‚“", + "ใŸใ‚“ใ‹", + "ใŸใ‚“ใ", + "ใŸใ‚“ใ‘ใ‚“", + "ใŸใ‚“ใ”", + "ใŸใ‚“ใ•ใ", + "ใŸใ‚“ใ•ใ‚“", + "ใŸใ‚“ใ—", + "ใŸใ‚“ใ—ใ‚…ใ", + "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", + "ใ ใ‚“ใ›ใ„", + "ใŸใ‚“ใใ", + "ใŸใ‚“ใŸใ„", + "ใŸใ‚“ใก", + "ใ ใ‚“ใก", + "ใŸใ‚“ใกใ‚‡ใ†", + "ใŸใ‚“ใฆใ„", + "ใŸใ‚“ใฆใ", + "ใŸใ‚“ใจใ†", + "ใ ใ‚“ใช", + "ใŸใ‚“ใซใ‚“", + "ใ ใ‚“ใญใค", + "ใŸใ‚“ใฎใ†", + "ใŸใ‚“ใดใ‚“", + "ใŸใ‚“ใพใค", + "ใŸใ‚“ใ‚ใ„", + "ใ ใ‚“ใ‚Œใค", + "ใ ใ‚“ใ‚", + "ใ ใ‚“ใ‚", + "ใกใ‚ใ„", + "ใกใ‚ใ‚“", + "ใกใ„", + "ใกใ„ใ", + "ใกใ„ใ•ใ„", + "ใกใˆ", + "ใกใˆใ‚“", + "ใกใ‹", + "ใกใ‹ใ„", + "ใกใใ‚…ใ†", + "ใกใใ‚“", + "ใกใ‘ใ„", + "ใกใ‘ใ„ใš", + "ใกใ‘ใ‚“", + "ใกใ“ใ", + "ใกใ•ใ„", + "ใกใ—ใ", + "ใกใ—ใ‚Šใ‚‡ใ†", + "ใกใš", + "ใกใ›ใ„", + "ใกใใ†", + "ใกใŸใ„", + "ใกใŸใ‚“", + "ใกใกใŠใ‚„", + "ใกใคใ˜ใ‚‡", + "ใกใฆใ", + "ใกใฆใ‚“", + "ใกใฌใ", + "ใกใฌใ‚Š", + "ใกใฎใ†", + "ใกใฒใ‚‡ใ†", + "ใกใธใ„ใ›ใ‚“", + "ใกใปใ†", + "ใกใพใŸ", + "ใกใฟใค", + "ใกใฟใฉใ‚", + "ใกใ‚ใ„ใฉ", + "ใกใ‚…ใ†ใ„", + "ใกใ‚…ใ†ใŠใ†", + "ใกใ‚…ใ†ใŠใ†ใ", + "ใกใ‚…ใ†ใŒใฃใ“ใ†", + "ใกใ‚…ใ†ใ”ใ", + "ใกใ‚†ใ‚Šใ‚‡ใ", + "ใกใ‚‡ใ†ใ•", + "ใกใ‚‡ใ†ใ—", + "ใกใ‚‰ใ—", + "ใกใ‚‰ใฟ", + "ใกใ‚Š", + "ใกใ‚ŠใŒใฟ", + "ใกใ‚‹", + "ใกใ‚‹ใฉ", + "ใกใ‚ใ‚", + "ใกใ‚“ใŸใ„", + "ใกใ‚“ใ‚‚ใ", + "ใคใ„ใ‹", + "ใคใ†ใ‹", + "ใคใ†ใ˜ใ‚‡ใ†", + "ใคใ†ใ˜ใ‚‹", + "ใคใ†ใฏใ‚“", + "ใคใ†ใ‚", + "ใคใˆ", + "ใคใ‹ใ†", + "ใคใ‹ใ‚Œใ‚‹", + "ใคใ", + "ใคใ", + "ใคใใญ", + "ใคใใ‚‹", + "ใคใ‘ใญ", + "ใคใ‘ใ‚‹", + "ใคใ”ใ†", + "ใคใŸ", + "ใคใŸใˆใ‚‹", + "ใคใก", + "ใคใคใ˜", + "ใคใจใ‚ใ‚‹", + "ใคใช", + "ใคใชใŒใ‚‹", + "ใคใชใฟ", + "ใคใญใฅใญ", + "ใคใฎ", + "ใคใฎใ‚‹", + "ใคใฐ", + "ใคใถ", + "ใคใถใ™", + "ใคใผ", + "ใคใพ", + "ใคใพใ‚‰ใชใ„", + "ใคใพใ‚‹", + "ใคใฟ", + "ใคใฟใ", + "ใคใ‚€", + "ใคใ‚ใŸใ„", + "ใคใ‚‚ใ‚‹", + "ใคใ‚„", + "ใคใ‚ˆใ„", + "ใคใ‚Š", + "ใคใ‚‹ใผ", + "ใคใ‚‹ใฟใ", + "ใคใ‚ใ‚‚ใฎ", + "ใคใ‚ใ‚Š", + "ใฆใ‚ใ—", + "ใฆใ‚ใฆ", + "ใฆใ‚ใฟ", + "ใฆใ„ใ‹", + "ใฆใ„ใ", + "ใฆใ„ใ‘ใ„", + "ใฆใ„ใ‘ใค", + "ใฆใ„ใ‘ใคใ‚ใค", + "ใฆใ„ใ“ใ", + "ใฆใ„ใ•ใค", + "ใฆใ„ใ—", + "ใฆใ„ใ—ใ‚ƒ", + "ใฆใ„ใ›ใ„", + "ใฆใ„ใŸใ„", + "ใฆใ„ใฉ", + "ใฆใ„ใญใ„", + "ใฆใ„ใฒใ‚‡ใ†", + "ใฆใ„ใธใ‚“", + "ใฆใ„ใผใ†", + "ใฆใ†ใก", + "ใฆใŠใใ‚Œ", + "ใฆใ", + "ใฆใใณ", + "ใฆใ“", + "ใฆใ•ใŽใ‚‡ใ†", + "ใฆใ•ใ’", + "ใงใ—", + "ใฆใ™ใ‚Š", + "ใฆใใ†", + "ใฆใกใŒใ„", + "ใฆใกใ‚‡ใ†", + "ใฆใคใŒใ", + "ใฆใคใฅใ", + "ใฆใคใ‚„", + "ใงใฌใ‹ใˆ", + "ใฆใฌใ", + "ใฆใฌใใ„", + "ใฆใฎใฒใ‚‰", + "ใฆใฏใ„", + "ใฆใตใ ", + "ใฆใปใฉใ", + "ใฆใปใ‚“", + "ใฆใพ", + "ใฆใพใˆ", + "ใฆใพใใšใ—", + "ใฆใฟใ˜ใ‹", + "ใฆใฟใ‚„ใ’", + "ใฆใ‚‰", + "ใฆใ‚‰ใ™", + "ใงใ‚‹", + "ใฆใ‚Œใณ", + "ใฆใ‚", + "ใฆใ‚ใ‘", + "ใฆใ‚ใŸใ—", + "ใงใ‚“ใ‚ใค", + "ใฆใ‚“ใ„", + "ใฆใ‚“ใ„ใ‚“", + "ใฆใ‚“ใ‹ใ„", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ‘ใ‚“", + "ใงใ‚“ใ’ใ‚“", + "ใฆใ‚“ใ”ใ", + "ใฆใ‚“ใ•ใ„", + "ใฆใ‚“ใ™ใ†", + "ใงใ‚“ใก", + "ใฆใ‚“ใฆใ", + "ใฆใ‚“ใจใ†", + "ใฆใ‚“ใชใ„", + "ใฆใ‚“ใท", + "ใฆใ‚“ใทใ‚‰", + "ใฆใ‚“ใผใ†ใ ใ„", + "ใฆใ‚“ใ‚ใค", + "ใฆใ‚“ใ‚‰ใ", + "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", + "ใงใ‚“ใ‚Šใ‚…ใ†", + "ใงใ‚“ใ‚Šใ‚‡ใ", + "ใงใ‚“ใ‚", + "ใฉใ‚", + "ใฉใ‚ใ„", + "ใจใ„ใ‚Œ", + "ใจใ†ใ‚€ใŽ", + "ใจใŠใ„", + "ใจใŠใ™", + "ใจใ‹ใ„", + "ใจใ‹ใ™", + "ใจใใŠใ‚Š", + "ใจใใฉใ", + "ใจใใ„", + "ใจใใฆใ„", + "ใจใใฆใ‚“", + "ใจใในใค", + "ใจใ‘ใ„", + "ใจใ‘ใ‚‹", + "ใจใ•ใ‹", + "ใจใ—", + "ใจใ—ใ‚‡ใ‹ใ‚“", + "ใจใใ†", + "ใจใŸใ‚“", + "ใจใก", + "ใจใกใ‚…ใ†", + "ใจใคใœใ‚“", + "ใจใคใซใ‚…ใ†", + "ใจใจใฎใˆใ‚‹", + "ใจใชใ„", + "ใจใชใˆใ‚‹", + "ใจใชใ‚Š", + "ใจใฎใ•ใพ", + "ใจใฐใ™", + "ใจใถ", + "ใจใป", + "ใจใปใ†", + "ใฉใพ", + "ใจใพใ‚‹", + "ใจใ‚‰", + "ใจใ‚Š", + "ใจใ‚‹", + "ใจใ‚“ใ‹ใค", + "ใชใ„", + "ใชใ„ใ‹", + "ใชใ„ใ‹ใ", + "ใชใ„ใ“ใ†", + "ใชใ„ใ—ใ‚‡", + "ใชใ„ใ™", + "ใชใ„ใ›ใ‚“", + "ใชใ„ใใ†", + "ใชใ„ใžใ†", + "ใชใŠใ™", + "ใชใ", + "ใชใ“ใ†ใฉ", + "ใชใ•ใ‘", + "ใชใ—", + "ใชใ™", + "ใชใœ", + "ใชใž", + "ใชใŸใงใ“ใ“", + "ใชใค", + "ใชใฃใจใ†", + "ใชใคใ‚„ใ™ใฟ", + "ใชใชใŠใ—", + "ใชใซใ”ใจ", + "ใชใซใ‚‚ใฎ", + "ใชใซใ‚", + "ใชใฏ", + "ใชใณ", + "ใชใตใ ", + "ใชใน", + "ใชใพใ„ใ", + "ใชใพใˆ", + "ใชใพใฟ", + "ใชใฟ", + "ใชใฟใ ", + "ใชใ‚ใ‚‰ใ‹", + "ใชใ‚ใ‚‹", + "ใชใ‚„ใ‚€", + "ใชใ‚‰ใถ", + "ใชใ‚‹", + "ใชใ‚Œใ‚‹", + "ใชใ‚", + "ใชใ‚ใจใณ", + "ใชใ‚ใฐใ‚Š", + "ใซใ‚ใ†", + "ใซใ„ใŒใŸ", + "ใซใ†ใ‘", + "ใซใŠใ„", + "ใซใ‹ใ„", + "ใซใŒใฆ", + "ใซใใณ", + "ใซใ", + "ใซใใ—ใฟ", + "ใซใใพใ‚“", + "ใซใ’ใ‚‹", + "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", + "ใซใ—", + "ใซใ—ใ", + "ใซใ™", + "ใซใ›ใ‚‚ใฎ", + "ใซใกใ˜", + "ใซใกใ˜ใ‚‡ใ†", + "ใซใกใ‚ˆใ†ใณ", + "ใซใฃใ‹", + "ใซใฃใ", + "ใซใฃใ‘ใ„", + "ใซใฃใ“ใ†", + "ใซใฃใ•ใ‚“", + "ใซใฃใ—ใ‚‡ใ", + "ใซใฃใ™ใ†", + "ใซใฃใ›ใ", + "ใซใฃใฆใ„", + "ใซใชใ†", + "ใซใปใ‚“", + "ใซใพใ‚", + "ใซใ‚‚ใค", + "ใซใ‚„ใ‚Š", + "ใซใ‚…ใ†ใ„ใ‚“", + "ใซใ‚…ใ†ใ‹", + "ใซใ‚…ใ†ใ—", + "ใซใ‚…ใ†ใ—ใ‚ƒ", + "ใซใ‚…ใ†ใ ใ‚“", + "ใซใ‚…ใ†ใถ", + "ใซใ‚‰", + "ใซใ‚Šใ‚“ใ—ใ‚ƒ", + "ใซใ‚‹", + "ใซใ‚", + "ใซใ‚ใจใ‚Š", + "ใซใ‚“ใ„", + "ใซใ‚“ใ‹", + "ใซใ‚“ใ", + "ใซใ‚“ใ’ใ‚“", + "ใซใ‚“ใ—ใ", + "ใซใ‚“ใ—ใ‚‡ใ†", + "ใซใ‚“ใ—ใ‚“", + "ใซใ‚“ใšใ†", + "ใซใ‚“ใใ†", + "ใซใ‚“ใŸใ„", + "ใซใ‚“ใก", + "ใซใ‚“ใฆใ„", + "ใซใ‚“ใซใ", + "ใซใ‚“ใท", + "ใซใ‚“ใพใ‚Š", + "ใซใ‚“ใ‚€", + "ใซใ‚“ใ‚ใ„", + "ใซใ‚“ใ‚ˆใ†", + "ใฌใ†", + "ใฌใ‹", + "ใฌใ", + "ใฌใใ‚‚ใ‚Š", + "ใฌใ—", + "ใฌใฎ", + "ใฌใพ", + "ใฌใ‚ใ‚Š", + "ใฌใ‚‰ใ™", + "ใฌใ‚‹", + "ใฌใ‚“ใกใ‚ƒใ", + "ใญใ‚ใ’", + "ใญใ„ใ", + "ใญใ„ใ‚‹", + "ใญใ„ใ‚", + "ใญใŽ", + "ใญใใ›", + "ใญใใŸใ„", + "ใญใใ‚‰", + "ใญใ“", + "ใญใ“ใœ", + "ใญใ“ใ‚€", + "ใญใ•ใ’", + "ใญใ™ใ”ใ™", + "ใญใในใ‚‹", + "ใญใคใ„", + "ใญใคใžใ†", + "ใญใฃใŸใ„", + "ใญใฃใŸใ„ใŽใ‚‡", + "ใญใถใใ", + "ใญใตใ ", + "ใญใผใ†", + "ใญใปใ‚Šใฏใปใ‚Š", + "ใญใพใ", + "ใญใพใ‚ใ—", + "ใญใฟใฟ", + "ใญใ‚€ใ„", + "ใญใ‚‚ใจ", + "ใญใ‚‰ใ†", + "ใญใ‚‹", + "ใญใ‚ใ–", + "ใญใ‚“ใ„ใ‚Š", + "ใญใ‚“ใŠใ—", + "ใญใ‚“ใ‹ใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใ–", + "ใญใ‚“ใ—", + "ใญใ‚“ใกใ‚ƒใ", + "ใญใ‚“ใกใ‚‡ใ†", + "ใญใ‚“ใฉ", + "ใญใ‚“ใด", + "ใญใ‚“ใถใค", + "ใญใ‚“ใพใ", + "ใญใ‚“ใพใค", + "ใญใ‚“ใ‚Šใ", + "ใญใ‚“ใ‚Šใ‚‡ใ†", + "ใญใ‚“ใ‚Œใ„", + "ใฎใ„ใš", + "ใฎใ†", + "ใฎใŠใฅใพ", + "ใฎใŒใ™", + "ใฎใใชใฟ", + "ใฎใ“ใŽใ‚Š", + "ใฎใ“ใ™", + "ใฎใ›ใ‚‹", + "ใฎใžใ", + "ใฎใžใ‚€", + "ใฎใŸใพใ†", + "ใฎใกใปใฉ", + "ใฎใฃใ", + "ใฎใฐใ™", + "ใฎใฏใ‚‰", + "ใฎในใ‚‹", + "ใฎใผใ‚‹", + "ใฎใ‚€", + "ใฎใ‚„ใพ", + "ใฎใ‚‰ใ„ใฌ", + "ใฎใ‚‰ใญใ“", + "ใฎใ‚Š", + "ใฎใ‚‹", + "ใฎใ‚Œใ‚“", + "ใฎใ‚“ใ", + "ใฐใ‚ใ„", + "ใฏใ‚ใ", + "ใฐใ‚ใ•ใ‚“", + "ใฏใ„", + "ใฐใ„ใ‹", + "ใฐใ„ใ", + "ใฏใ„ใ‘ใ‚“", + "ใฏใ„ใ”", + "ใฏใ„ใ“ใ†", + "ใฏใ„ใ—", + "ใฏใ„ใ—ใ‚…ใค", + "ใฏใ„ใ—ใ‚“", + "ใฏใ„ใ™ใ„", + "ใฏใ„ใ›ใค", + "ใฏใ„ใ›ใ‚“", + "ใฏใ„ใใ†", + "ใฏใ„ใก", + "ใฐใ„ใฐใ„", + "ใฏใ†", + "ใฏใˆ", + "ใฏใˆใ‚‹", + "ใฏใŠใ‚‹", + "ใฏใ‹", + "ใฐใ‹", + "ใฏใ‹ใ„", + "ใฏใ‹ใ‚‹", + "ใฏใ", + "ใฏใ", + "ใฏใใ—ใ‚…", + "ใฏใ‘ใ‚“", + "ใฏใ“", + "ใฏใ“ใถ", + "ใฏใ•ใฟ", + "ใฏใ•ใ‚“", + "ใฏใ—", + "ใฏใ—ใ”", + "ใฏใ—ใ‚‹", + "ใฐใ™", + "ใฏใ›ใ‚‹", + "ใฑใใ“ใ‚“", + "ใฏใใ‚“", + "ใฏใŸใ‚“", + "ใฏใก", + "ใฏใกใฟใค", + "ใฏใฃใ‹", + "ใฏใฃใ‹ใ", + "ใฏใฃใ", + "ใฏใฃใใ‚Š", + "ใฏใฃใใค", + "ใฏใฃใ‘ใ‚“", + "ใฏใฃใ“ใ†", + "ใฏใฃใ•ใ‚“", + "ใฏใฃใ—ใ‚ƒ", + "ใฏใฃใ—ใ‚“", + "ใฏใฃใŸใค", + "ใฏใฃใกใ‚ƒใ", + "ใฏใฃใกใ‚…ใ†", + "ใฏใฃใฆใ‚“", + "ใฏใฃใดใ‚‡ใ†", + "ใฏใฃใฝใ†", + "ใฏใฆ", + "ใฏใช", + "ใฏใชใ™", + "ใฏใชใณ", + "ใฏใซใ‹ใ‚€", + "ใฏใญ", + "ใฏใฏ", + "ใฏใถใ‚‰ใ—", + "ใฏใพ", + "ใฏใฟใŒใ", + "ใฏใ‚€", + "ใฏใ‚€ใ‹ใ†", + "ใฏใ‚ใค", + "ใฏใ‚„ใ„", + "ใฏใ‚‰", + "ใฏใ‚‰ใ†", + "ใฏใ‚Š", + "ใฏใ‚‹", + "ใฏใ‚Œ", + "ใฏใ‚ใ†ใƒใ‚“", + "ใฏใ‚ใ„", + "ใฏใ‚“ใ„", + "ใฏใ‚“ใˆใ„", + "ใฏใ‚“ใˆใ‚“", + "ใฏใ‚“ใŠใ‚“", + "ใฏใ‚“ใ‹ใ", + "ใฏใ‚“ใ‹ใก", + "ใฏใ‚“ใใ‚‡ใ†", + "ใฏใ‚“ใ“", + "ใฏใ‚“ใ“ใ†", + "ใฏใ‚“ใ—ใ‚ƒ" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Japanese"; + populate_maps(); + } + }; +} + +#endif diff --git a/src/mnemonics/language_base.h b/src/mnemonics/language_base.h index 90ff9c334..b8b6a162f 100644 --- a/src/mnemonics/language_base.h +++ b/src/mnemonics/language_base.h @@ -1,61 +1,61 @@ -#ifndef LANGUAGE_BASE_H -#define LANGUAGE_BASE_H - -#include -#include -#include - -namespace Language -{ - const int unique_prefix_length = 4; - class Base - { - protected: - std::vector *word_list; - std::unordered_map *word_map; - std::unordered_map *trimmed_word_map; - std::string language_name; - void populate_maps() - { - int ii; - std::vector::iterator it; - for (it = word_list->begin(), ii = 0; it != word_list->end(); it++, ii++) - { - (*word_map)[*it] = ii; - if (it->length() > 4) - { - (*trimmed_word_map)[it->substr(0, 4)] = ii; - } - else - { - (*trimmed_word_map)[*it] = ii; - } - } - } - public: - Base() - { - word_list = new std::vector; - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - } - const std::vector& get_word_list() const - { - return *word_list; - } - const std::unordered_map& get_word_map() const - { - return *word_map; - } - const std::unordered_map& get_trimmed_word_map() const - { - return *trimmed_word_map; - } - std::string get_language_name() const - { - return language_name; - } - }; -} - -#endif +#ifndef LANGUAGE_BASE_H +#define LANGUAGE_BASE_H + +#include +#include +#include + +namespace Language +{ + const int unique_prefix_length = 4; + class Base + { + protected: + std::vector *word_list; + std::unordered_map *word_map; + std::unordered_map *trimmed_word_map; + std::string language_name; + void populate_maps() + { + int ii; + std::vector::iterator it; + for (it = word_list->begin(), ii = 0; it != word_list->end(); it++, ii++) + { + (*word_map)[*it] = ii; + if (it->length() > 4) + { + (*trimmed_word_map)[it->substr(0, 4)] = ii; + } + else + { + (*trimmed_word_map)[*it] = ii; + } + } + } + public: + Base() + { + word_list = new std::vector; + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + } + const std::vector& get_word_list() const + { + return *word_list; + } + const std::unordered_map& get_word_map() const + { + return *word_map; + } + const std::unordered_map& get_trimmed_word_map() const + { + return *trimmed_word_map; + } + std::string get_language_name() const + { + return language_name; + } + }; +} + +#endif diff --git a/src/mnemonics/old_english.h b/src/mnemonics/old_english.h index dc36f5119..4e40b1730 100644 --- a/src/mnemonics/old_english.h +++ b/src/mnemonics/old_english.h @@ -1,1652 +1,1681 @@ -#ifndef OLD_ENGLISH_H -#define OLD_ENGLISH_H - -#include -#include -#include "language_base.h" -#include - -namespace Language -{ - class OldEnglish: public Base - { - public: - OldEnglish() - { - word_list = new std::vector({ - "like", - "just", - "love", - "know", - "never", - "want", - "time", - "out", - "there", - "make", - "look", - "eye", - "down", - "only", - "think", - "heart", - "back", - "then", - "into", - "about", - "more", - "away", - "still", - "them", - "take", - "thing", - "even", - "through", - "long", - "always", - "world", - "too", - "friend", - "tell", - "try", - "hand", - "thought", - "over", - "here", - "other", - "need", - "smile", - "again", - "much", - "cry", - "been", - "night", - "ever", - "little", - "said", - "end", - "some", - "those", - "around", - "mind", - "people", - "girl", - "leave", - "dream", - "left", - "turn", - "myself", - "give", - "nothing", - "really", - "off", - "before", - "something", - "find", - "walk", - "wish", - "good", - "once", - "place", - "ask", - "stop", - "keep", - "watch", - "seem", - "everything", - "wait", - "got", - "yet", - "made", - "remember", - "start", - "alone", - "run", - "hope", - "maybe", - "believe", - "body", - "hate", - "after", - "close", - "talk", - "stand", - "own", - "each", - "hurt", - "help", - "home", - "god", - "soul", - "new", - "many", - "two", - "inside", - "should", - "true", - "first", - "fear", - "mean", - "better", - "play", - "another", - "gone", - "change", - "use", - "wonder", - "someone", - "hair", - "cold", - "open", - "best", - "any", - "behind", - "happen", - "water", - "dark", - "laugh", - "stay", - "forever", - "name", - "work", - "show", - "sky", - "break", - "came", - "deep", - "door", - "put", - "black", - "together", - "upon", - "happy", - "such", - "great", - "white", - "matter", - "fill", - "past", - "please", - "burn", - "cause", - "enough", - "touch", - "moment", - "soon", - "voice", - "scream", - "anything", - "stare", - "sound", - "red", - "everyone", - "hide", - "kiss", - "truth", - "death", - "beautiful", - "mine", - "blood", - "broken", - "very", - "pass", - "next", - "forget", - "tree", - "wrong", - "air", - "mother", - "understand", - "lip", - "hit", - "wall", - "memory", - "sleep", - "free", - "high", - "realize", - "school", - "might", - "skin", - "sweet", - "perfect", - "blue", - "kill", - "breath", - "dance", - "against", - "fly", - "between", - "grow", - "strong", - "under", - "listen", - "bring", - "sometimes", - "speak", - "pull", - "person", - "become", - "family", - "begin", - "ground", - "real", - "small", - "father", - "sure", - "feet", - "rest", - "young", - "finally", - "land", - "across", - "today", - "different", - "guy", - "line", - "fire", - "reason", - "reach", - "second", - "slowly", - "write", - "eat", - "smell", - "mouth", - "step", - "learn", - "three", - "floor", - "promise", - "breathe", - "darkness", - "push", - "earth", - "guess", - "save", - "song", - "above", - "along", - "both", - "color", - "house", - "almost", - "sorry", - "anymore", - "brother", - "okay", - "dear", - "game", - "fade", - "already", - "apart", - "warm", - "beauty", - "heard", - "notice", - "question", - "shine", - "began", - "piece", - "whole", - "shadow", - "secret", - "street", - "within", - "finger", - "point", - "morning", - "whisper", - "child", - "moon", - "green", - "story", - "glass", - "kid", - "silence", - "since", - "soft", - "yourself", - "empty", - "shall", - "angel", - "answer", - "baby", - "bright", - "dad", - "path", - "worry", - "hour", - "drop", - "follow", - "power", - "war", - "half", - "flow", - "heaven", - "act", - "chance", - "fact", - "least", - "tired", - "children", - "near", - "quite", - "afraid", - "rise", - "sea", - "taste", - "window", - "cover", - "nice", - "trust", - "lot", - "sad", - "cool", - "force", - "peace", - "return", - "blind", - "easy", - "ready", - "roll", - "rose", - "drive", - "held", - "music", - "beneath", - "hang", - "mom", - "paint", - "emotion", - "quiet", - "clear", - "cloud", - "few", - "pretty", - "bird", - "outside", - "paper", - "picture", - "front", - "rock", - "simple", - "anyone", - "meant", - "reality", - "road", - "sense", - "waste", - "bit", - "leaf", - "thank", - "happiness", - "meet", - "men", - "smoke", - "truly", - "decide", - "self", - "age", - "book", - "form", - "alive", - "carry", - "escape", - "damn", - "instead", - "able", - "ice", - "minute", - "throw", - "catch", - "leg", - "ring", - "course", - "goodbye", - "lead", - "poem", - "sick", - "corner", - "desire", - "known", - "problem", - "remind", - "shoulder", - "suppose", - "toward", - "wave", - "drink", - "jump", - "woman", - "pretend", - "sister", - "week", - "human", - "joy", - "crack", - "grey", - "pray", - "surprise", - "dry", - "knee", - "less", - "search", - "bleed", - "caught", - "clean", - "embrace", - "future", - "king", - "son", - "sorrow", - "chest", - "hug", - "remain", - "sat", - "worth", - "blow", - "daddy", - "final", - "parent", - "tight", - "also", - "create", - "lonely", - "safe", - "cross", - "dress", - "evil", - "silent", - "bone", - "fate", - "perhaps", - "anger", - "class", - "scar", - "snow", - "tiny", - "tonight", - "continue", - "control", - "dog", - "edge", - "mirror", - "month", - "suddenly", - "comfort", - "given", - "loud", - "quickly", - "gaze", - "plan", - "rush", - "stone", - "town", - "battle", - "ignore", - "spirit", - "stood", - "stupid", - "yours", - "brown", - "build", - "dust", - "hey", - "kept", - "pay", - "phone", - "twist", - "although", - "ball", - "beyond", - "hidden", - "nose", - "taken", - "fail", - "float", - "pure", - "somehow", - "wash", - "wrap", - "angry", - "cheek", - "creature", - "forgotten", - "heat", - "rip", - "single", - "space", - "special", - "weak", - "whatever", - "yell", - "anyway", - "blame", - "job", - "choose", - "country", - "curse", - "drift", - "echo", - "figure", - "grew", - "laughter", - "neck", - "suffer", - "worse", - "yeah", - "disappear", - "foot", - "forward", - "knife", - "mess", - "somewhere", - "stomach", - "storm", - "beg", - "idea", - "lift", - "offer", - "breeze", - "field", - "five", - "often", - "simply", - "stuck", - "win", - "allow", - "confuse", - "enjoy", - "except", - "flower", - "seek", - "strength", - "calm", - "grin", - "gun", - "heavy", - "hill", - "large", - "ocean", - "shoe", - "sigh", - "straight", - "summer", - "tongue", - "accept", - "crazy", - "everyday", - "exist", - "grass", - "mistake", - "sent", - "shut", - "surround", - "table", - "ache", - "brain", - "destroy", - "heal", - "nature", - "shout", - "sign", - "stain", - "choice", - "doubt", - "glance", - "glow", - "mountain", - "queen", - "stranger", - "throat", - "tomorrow", - "city", - "either", - "fish", - "flame", - "rather", - "shape", - "spin", - "spread", - "ash", - "distance", - "finish", - "image", - "imagine", - "important", - "nobody", - "shatter", - "warmth", - "became", - "feed", - "flesh", - "funny", - "lust", - "shirt", - "trouble", - "yellow", - "attention", - "bare", - "bite", - "money", - "protect", - "amaze", - "appear", - "born", - "choke", - "completely", - "daughter", - "fresh", - "friendship", - "gentle", - "probably", - "six", - "deserve", - "expect", - "grab", - "middle", - "nightmare", - "river", - "thousand", - "weight", - "worst", - "wound", - "barely", - "bottle", - "cream", - "regret", - "relationship", - "stick", - "test", - "crush", - "endless", - "fault", - "itself", - "rule", - "spill", - "art", - "circle", - "join", - "kick", - "mask", - "master", - "passion", - "quick", - "raise", - "smooth", - "unless", - "wander", - "actually", - "broke", - "chair", - "deal", - "favorite", - "gift", - "note", - "number", - "sweat", - "box", - "chill", - "clothes", - "lady", - "mark", - "park", - "poor", - "sadness", - "tie", - "animal", - "belong", - "brush", - "consume", - "dawn", - "forest", - "innocent", - "pen", - "pride", - "stream", - "thick", - "clay", - "complete", - "count", - "draw", - "faith", - "press", - "silver", - "struggle", - "surface", - "taught", - "teach", - "wet", - "bless", - "chase", - "climb", - "enter", - "letter", - "melt", - "metal", - "movie", - "stretch", - "swing", - "vision", - "wife", - "beside", - "crash", - "forgot", - "guide", - "haunt", - "joke", - "knock", - "plant", - "pour", - "prove", - "reveal", - "steal", - "stuff", - "trip", - "wood", - "wrist", - "bother", - "bottom", - "crawl", - "crowd", - "fix", - "forgive", - "frown", - "grace", - "loose", - "lucky", - "party", - "release", - "surely", - "survive", - "teacher", - "gently", - "grip", - "speed", - "suicide", - "travel", - "treat", - "vein", - "written", - "cage", - "chain", - "conversation", - "date", - "enemy", - "however", - "interest", - "million", - "page", - "pink", - "proud", - "sway", - "themselves", - "winter", - "church", - "cruel", - "cup", - "demon", - "experience", - "freedom", - "pair", - "pop", - "purpose", - "respect", - "shoot", - "softly", - "state", - "strange", - "bar", - "birth", - "curl", - "dirt", - "excuse", - "lord", - "lovely", - "monster", - "order", - "pack", - "pants", - "pool", - "scene", - "seven", - "shame", - "slide", - "ugly", - "among", - "blade", - "blonde", - "closet", - "creek", - "deny", - "drug", - "eternity", - "gain", - "grade", - "handle", - "key", - "linger", - "pale", - "prepare", - "swallow", - "swim", - "tremble", - "wheel", - "won", - "cast", - "cigarette", - "claim", - "college", - "direction", - "dirty", - "gather", - "ghost", - "hundred", - "loss", - "lung", - "orange", - "present", - "swear", - "swirl", - "twice", - "wild", - "bitter", - "blanket", - "doctor", - "everywhere", - "flash", - "grown", - "knowledge", - "numb", - "pressure", - "radio", - "repeat", - "ruin", - "spend", - "unknown", - "buy", - "clock", - "devil", - "early", - "false", - "fantasy", - "pound", - "precious", - "refuse", - "sheet", - "teeth", - "welcome", - "add", - "ahead", - "block", - "bury", - "caress", - "content", - "depth", - "despite", - "distant", - "marry", - "purple", - "threw", - "whenever", - "bomb", - "dull", - "easily", - "grasp", - "hospital", - "innocence", - "normal", - "receive", - "reply", - "rhyme", - "shade", - "someday", - "sword", - "toe", - "visit", - "asleep", - "bought", - "center", - "consider", - "flat", - "hero", - "history", - "ink", - "insane", - "muscle", - "mystery", - "pocket", - "reflection", - "shove", - "silently", - "smart", - "soldier", - "spot", - "stress", - "train", - "type", - "view", - "whether", - "bus", - "energy", - "explain", - "holy", - "hunger", - "inch", - "magic", - "mix", - "noise", - "nowhere", - "prayer", - "presence", - "shock", - "snap", - "spider", - "study", - "thunder", - "trail", - "admit", - "agree", - "bag", - "bang", - "bound", - "butterfly", - "cute", - "exactly", - "explode", - "familiar", - "fold", - "further", - "pierce", - "reflect", - "scent", - "selfish", - "sharp", - "sink", - "spring", - "stumble", - "universe", - "weep", - "women", - "wonderful", - "action", - "ancient", - "attempt", - "avoid", - "birthday", - "branch", - "chocolate", - "core", - "depress", - "drunk", - "especially", - "focus", - "fruit", - "honest", - "match", - "palm", - "perfectly", - "pillow", - "pity", - "poison", - "roar", - "shift", - "slightly", - "thump", - "truck", - "tune", - "twenty", - "unable", - "wipe", - "wrote", - "coat", - "constant", - "dinner", - "drove", - "egg", - "eternal", - "flight", - "flood", - "frame", - "freak", - "gasp", - "glad", - "hollow", - "motion", - "peer", - "plastic", - "root", - "screen", - "season", - "sting", - "strike", - "team", - "unlike", - "victim", - "volume", - "warn", - "weird", - "attack", - "await", - "awake", - "built", - "charm", - "crave", - "despair", - "fought", - "grant", - "grief", - "horse", - "limit", - "message", - "ripple", - "sanity", - "scatter", - "serve", - "split", - "string", - "trick", - "annoy", - "blur", - "boat", - "brave", - "clearly", - "cling", - "connect", - "fist", - "forth", - "imagination", - "iron", - "jock", - "judge", - "lesson", - "milk", - "misery", - "nail", - "naked", - "ourselves", - "poet", - "possible", - "princess", - "sail", - "size", - "snake", - "society", - "stroke", - "torture", - "toss", - "trace", - "wise", - "bloom", - "bullet", - "cell", - "check", - "cost", - "darling", - "during", - "footstep", - "fragile", - "hallway", - "hardly", - "horizon", - "invisible", - "journey", - "midnight", - "mud", - "nod", - "pause", - "relax", - "shiver", - "sudden", - "value", - "youth", - "abuse", - "admire", - "blink", - "breast", - "bruise", - "constantly", - "couple", - "creep", - "curve", - "difference", - "dumb", - "emptiness", - "gotta", - "honor", - "plain", - "planet", - "recall", - "rub", - "ship", - "slam", - "soar", - "somebody", - "tightly", - "weather", - "adore", - "approach", - "bond", - "bread", - "burst", - "candle", - "coffee", - "cousin", - "crime", - "desert", - "flutter", - "frozen", - "grand", - "heel", - "hello", - "language", - "level", - "movement", - "pleasure", - "powerful", - "random", - "rhythm", - "settle", - "silly", - "slap", - "sort", - "spoken", - "steel", - "threaten", - "tumble", - "upset", - "aside", - "awkward", - "bee", - "blank", - "board", - "button", - "card", - "carefully", - "complain", - "crap", - "deeply", - "discover", - "drag", - "dread", - "effort", - "entire", - "fairy", - "giant", - "gotten", - "greet", - "illusion", - "jeans", - "leap", - "liquid", - "march", - "mend", - "nervous", - "nine", - "replace", - "rope", - "spine", - "stole", - "terror", - "accident", - "apple", - "balance", - "boom", - "childhood", - "collect", - "demand", - "depression", - "eventually", - "faint", - "glare", - "goal", - "group", - "honey", - "kitchen", - "laid", - "limb", - "machine", - "mere", - "mold", - "murder", - "nerve", - "painful", - "poetry", - "prince", - "rabbit", - "shelter", - "shore", - "shower", - "soothe", - "stair", - "steady", - "sunlight", - "tangle", - "tease", - "treasure", - "uncle", - "begun", - "bliss", - "canvas", - "cheer", - "claw", - "clutch", - "commit", - "crimson", - "crystal", - "delight", - "doll", - "existence", - "express", - "fog", - "football", - "gay", - "goose", - "guard", - "hatred", - "illuminate", - "mass", - "math", - "mourn", - "rich", - "rough", - "skip", - "stir", - "student", - "style", - "support", - "thorn", - "tough", - "yard", - "yearn", - "yesterday", - "advice", - "appreciate", - "autumn", - "bank", - "beam", - "bowl", - "capture", - "carve", - "collapse", - "confusion", - "creation", - "dove", - "feather", - "girlfriend", - "glory", - "government", - "harsh", - "hop", - "inner", - "loser", - "moonlight", - "neighbor", - "neither", - "peach", - "pig", - "praise", - "screw", - "shield", - "shimmer", - "sneak", - "stab", - "subject", - "throughout", - "thrown", - "tower", - "twirl", - "wow", - "army", - "arrive", - "bathroom", - "bump", - "cease", - "cookie", - "couch", - "courage", - "dim", - "guilt", - "howl", - "hum", - "husband", - "insult", - "led", - "lunch", - "mock", - "mostly", - "natural", - "nearly", - "needle", - "nerd", - "peaceful", - "perfection", - "pile", - "price", - "remove", - "roam", - "sanctuary", - "serious", - "shiny", - "shook", - "sob", - "stolen", - "tap", - "vain", - "void", - "warrior", - "wrinkle", - "affection", - "apologize", - "blossom", - "bounce", - "bridge", - "cheap", - "crumble", - "decision", - "descend", - "desperately", - "dig", - "dot", - "flip", - "frighten", - "heartbeat", - "huge", - "lazy", - "lick", - "odd", - "opinion", - "process", - "puzzle", - "quietly", - "retreat", - "score", - "sentence", - "separate", - "situation", - "skill", - "soak", - "square", - "stray", - "taint", - "task", - "tide", - "underneath", - "veil", - "whistle", - "anywhere", - "bedroom", - "bid", - "bloody", - "burden", - "careful", - "compare", - "concern", - "curtain", - "decay", - "defeat", - "describe", - "double", - "dreamer", - "driver", - "dwell", - "evening", - "flare", - "flicker", - "grandma", - "guitar", - "harm", - "horrible", - "hungry", - "indeed", - "lace", - "melody", - "monkey", - "nation", - "object", - "obviously", - "rainbow", - "salt", - "scratch", - "shown", - "shy", - "stage", - "stun", - "third", - "tickle", - "useless", - "weakness", - "worship", - "worthless", - "afternoon", - "beard", - "boyfriend", - "bubble", - "busy", - "certain", - "chin", - "concrete", - "desk", - "diamond", - "doom", - "drawn", - "due", - "felicity", - "freeze", - "frost", - "garden", - "glide", - "harmony", - "hopefully", - "hunt", - "jealous", - "lightning", - "mama", - "mercy", - "peel", - "physical", - "position", - "pulse", - "punch", - "quit", - "rant", - "respond", - "salty", - "sane", - "satisfy", - "savior", - "sheep", - "slept", - "social", - "sport", - "tuck", - "utter", - "valley", - "wolf", - "aim", - "alas", - "alter", - "arrow", - "awaken", - "beaten", - "belief", - "brand", - "ceiling", - "cheese", - "clue", - "confidence", - "connection", - "daily", - "disguise", - "eager", - "erase", - "essence", - "everytime", - "expression", - "fan", - "flag", - "flirt", - "foul", - "fur", - "giggle", - "glorious", - "ignorance", - "law", - "lifeless", - "measure", - "mighty", - "muse", - "north", - "opposite", - "paradise", - "patience", - "patient", - "pencil", - "petal", - "plate", - "ponder", - "possibly", - "practice", - "slice", - "spell", - "stock", - "strife", - "strip", - "suffocate", - "suit", - "tender", - "tool", - "trade", - "velvet", - "verse", - "waist", - "witch", - "aunt", - "bench", - "bold", - "cap", - "certainly", - "click", - "companion", - "creator", - "dart", - "delicate", - "determine", - "dish", - "dragon", - "drama", - "drum", - "dude", - "everybody", - "feast", - "forehead", - "former", - "fright", - "fully", - "gas", - "hook", - "hurl", - "invite", - "juice", - "manage", - "moral", - "possess", - "raw", - "rebel", - "royal", - "scale", - "scary", - "several", - "slight", - "stubborn", - "swell", - "talent", - "tea", - "terrible", - "thread", - "torment", - "trickle", - "usually", - "vast", - "violence", - "weave", - "acid", - "agony", - "ashamed", - "awe", - "belly", - "blend", - "blush", - "character", - "cheat", - "common", - "company", - "coward", - "creak", - "danger", - "deadly", - "defense", - "define", - "depend", - "desperate", - "destination", - "dew", - "duck", - "dusty", - "embarrass", - "engine", - "example", - "explore", - "foe", - "freely", - "frustrate", - "generation", - "glove", - "guilty", - "health", - "hurry", - "idiot", - "impossible", - "inhale", - "jaw", - "kingdom", - "mention", - "mist", - "moan", - "mumble", - "mutter", - "observe", - "ode", - "pathetic", - "pattern", - "pie", - "prefer", - "puff", - "rape", - "rare", - "revenge", - "rude", - "scrape", - "spiral", - "squeeze", - "strain", - "sunset", - "suspend", - "sympathy", - "thigh", - "throne", - "total", - "unseen", - "weapon", - "weary" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "OldEnglish"; - populate_maps(); - } - }; -} - -#endif +// Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef OLD_ENGLISH_H +#define OLD_ENGLISH_H + +#include +#include +#include "language_base.h" +#include + +namespace Language +{ + class OldEnglish: public Base + { + public: + OldEnglish() + { + word_list = new std::vector({ + "like", + "just", + "love", + "know", + "never", + "want", + "time", + "out", + "there", + "make", + "look", + "eye", + "down", + "only", + "think", + "heart", + "back", + "then", + "into", + "about", + "more", + "away", + "still", + "them", + "take", + "thing", + "even", + "through", + "long", + "always", + "world", + "too", + "friend", + "tell", + "try", + "hand", + "thought", + "over", + "here", + "other", + "need", + "smile", + "again", + "much", + "cry", + "been", + "night", + "ever", + "little", + "said", + "end", + "some", + "those", + "around", + "mind", + "people", + "girl", + "leave", + "dream", + "left", + "turn", + "myself", + "give", + "nothing", + "really", + "off", + "before", + "something", + "find", + "walk", + "wish", + "good", + "once", + "place", + "ask", + "stop", + "keep", + "watch", + "seem", + "everything", + "wait", + "got", + "yet", + "made", + "remember", + "start", + "alone", + "run", + "hope", + "maybe", + "believe", + "body", + "hate", + "after", + "close", + "talk", + "stand", + "own", + "each", + "hurt", + "help", + "home", + "god", + "soul", + "new", + "many", + "two", + "inside", + "should", + "true", + "first", + "fear", + "mean", + "better", + "play", + "another", + "gone", + "change", + "use", + "wonder", + "someone", + "hair", + "cold", + "open", + "best", + "any", + "behind", + "happen", + "water", + "dark", + "laugh", + "stay", + "forever", + "name", + "work", + "show", + "sky", + "break", + "came", + "deep", + "door", + "put", + "black", + "together", + "upon", + "happy", + "such", + "great", + "white", + "matter", + "fill", + "past", + "please", + "burn", + "cause", + "enough", + "touch", + "moment", + "soon", + "voice", + "scream", + "anything", + "stare", + "sound", + "red", + "everyone", + "hide", + "kiss", + "truth", + "death", + "beautiful", + "mine", + "blood", + "broken", + "very", + "pass", + "next", + "forget", + "tree", + "wrong", + "air", + "mother", + "understand", + "lip", + "hit", + "wall", + "memory", + "sleep", + "free", + "high", + "realize", + "school", + "might", + "skin", + "sweet", + "perfect", + "blue", + "kill", + "breath", + "dance", + "against", + "fly", + "between", + "grow", + "strong", + "under", + "listen", + "bring", + "sometimes", + "speak", + "pull", + "person", + "become", + "family", + "begin", + "ground", + "real", + "small", + "father", + "sure", + "feet", + "rest", + "young", + "finally", + "land", + "across", + "today", + "different", + "guy", + "line", + "fire", + "reason", + "reach", + "second", + "slowly", + "write", + "eat", + "smell", + "mouth", + "step", + "learn", + "three", + "floor", + "promise", + "breathe", + "darkness", + "push", + "earth", + "guess", + "save", + "song", + "above", + "along", + "both", + "color", + "house", + "almost", + "sorry", + "anymore", + "brother", + "okay", + "dear", + "game", + "fade", + "already", + "apart", + "warm", + "beauty", + "heard", + "notice", + "question", + "shine", + "began", + "piece", + "whole", + "shadow", + "secret", + "street", + "within", + "finger", + "point", + "morning", + "whisper", + "child", + "moon", + "green", + "story", + "glass", + "kid", + "silence", + "since", + "soft", + "yourself", + "empty", + "shall", + "angel", + "answer", + "baby", + "bright", + "dad", + "path", + "worry", + "hour", + "drop", + "follow", + "power", + "war", + "half", + "flow", + "heaven", + "act", + "chance", + "fact", + "least", + "tired", + "children", + "near", + "quite", + "afraid", + "rise", + "sea", + "taste", + "window", + "cover", + "nice", + "trust", + "lot", + "sad", + "cool", + "force", + "peace", + "return", + "blind", + "easy", + "ready", + "roll", + "rose", + "drive", + "held", + "music", + "beneath", + "hang", + "mom", + "paint", + "emotion", + "quiet", + "clear", + "cloud", + "few", + "pretty", + "bird", + "outside", + "paper", + "picture", + "front", + "rock", + "simple", + "anyone", + "meant", + "reality", + "road", + "sense", + "waste", + "bit", + "leaf", + "thank", + "happiness", + "meet", + "men", + "smoke", + "truly", + "decide", + "self", + "age", + "book", + "form", + "alive", + "carry", + "escape", + "damn", + "instead", + "able", + "ice", + "minute", + "throw", + "catch", + "leg", + "ring", + "course", + "goodbye", + "lead", + "poem", + "sick", + "corner", + "desire", + "known", + "problem", + "remind", + "shoulder", + "suppose", + "toward", + "wave", + "drink", + "jump", + "woman", + "pretend", + "sister", + "week", + "human", + "joy", + "crack", + "grey", + "pray", + "surprise", + "dry", + "knee", + "less", + "search", + "bleed", + "caught", + "clean", + "embrace", + "future", + "king", + "son", + "sorrow", + "chest", + "hug", + "remain", + "sat", + "worth", + "blow", + "daddy", + "final", + "parent", + "tight", + "also", + "create", + "lonely", + "safe", + "cross", + "dress", + "evil", + "silent", + "bone", + "fate", + "perhaps", + "anger", + "class", + "scar", + "snow", + "tiny", + "tonight", + "continue", + "control", + "dog", + "edge", + "mirror", + "month", + "suddenly", + "comfort", + "given", + "loud", + "quickly", + "gaze", + "plan", + "rush", + "stone", + "town", + "battle", + "ignore", + "spirit", + "stood", + "stupid", + "yours", + "brown", + "build", + "dust", + "hey", + "kept", + "pay", + "phone", + "twist", + "although", + "ball", + "beyond", + "hidden", + "nose", + "taken", + "fail", + "float", + "pure", + "somehow", + "wash", + "wrap", + "angry", + "cheek", + "creature", + "forgotten", + "heat", + "rip", + "single", + "space", + "special", + "weak", + "whatever", + "yell", + "anyway", + "blame", + "job", + "choose", + "country", + "curse", + "drift", + "echo", + "figure", + "grew", + "laughter", + "neck", + "suffer", + "worse", + "yeah", + "disappear", + "foot", + "forward", + "knife", + "mess", + "somewhere", + "stomach", + "storm", + "beg", + "idea", + "lift", + "offer", + "breeze", + "field", + "five", + "often", + "simply", + "stuck", + "win", + "allow", + "confuse", + "enjoy", + "except", + "flower", + "seek", + "strength", + "calm", + "grin", + "gun", + "heavy", + "hill", + "large", + "ocean", + "shoe", + "sigh", + "straight", + "summer", + "tongue", + "accept", + "crazy", + "everyday", + "exist", + "grass", + "mistake", + "sent", + "shut", + "surround", + "table", + "ache", + "brain", + "destroy", + "heal", + "nature", + "shout", + "sign", + "stain", + "choice", + "doubt", + "glance", + "glow", + "mountain", + "queen", + "stranger", + "throat", + "tomorrow", + "city", + "either", + "fish", + "flame", + "rather", + "shape", + "spin", + "spread", + "ash", + "distance", + "finish", + "image", + "imagine", + "important", + "nobody", + "shatter", + "warmth", + "became", + "feed", + "flesh", + "funny", + "lust", + "shirt", + "trouble", + "yellow", + "attention", + "bare", + "bite", + "money", + "protect", + "amaze", + "appear", + "born", + "choke", + "completely", + "daughter", + "fresh", + "friendship", + "gentle", + "probably", + "six", + "deserve", + "expect", + "grab", + "middle", + "nightmare", + "river", + "thousand", + "weight", + "worst", + "wound", + "barely", + "bottle", + "cream", + "regret", + "relationship", + "stick", + "test", + "crush", + "endless", + "fault", + "itself", + "rule", + "spill", + "art", + "circle", + "join", + "kick", + "mask", + "master", + "passion", + "quick", + "raise", + "smooth", + "unless", + "wander", + "actually", + "broke", + "chair", + "deal", + "favorite", + "gift", + "note", + "number", + "sweat", + "box", + "chill", + "clothes", + "lady", + "mark", + "park", + "poor", + "sadness", + "tie", + "animal", + "belong", + "brush", + "consume", + "dawn", + "forest", + "innocent", + "pen", + "pride", + "stream", + "thick", + "clay", + "complete", + "count", + "draw", + "faith", + "press", + "silver", + "struggle", + "surface", + "taught", + "teach", + "wet", + "bless", + "chase", + "climb", + "enter", + "letter", + "melt", + "metal", + "movie", + "stretch", + "swing", + "vision", + "wife", + "beside", + "crash", + "forgot", + "guide", + "haunt", + "joke", + "knock", + "plant", + "pour", + "prove", + "reveal", + "steal", + "stuff", + "trip", + "wood", + "wrist", + "bother", + "bottom", + "crawl", + "crowd", + "fix", + "forgive", + "frown", + "grace", + "loose", + "lucky", + "party", + "release", + "surely", + "survive", + "teacher", + "gently", + "grip", + "speed", + "suicide", + "travel", + "treat", + "vein", + "written", + "cage", + "chain", + "conversation", + "date", + "enemy", + "however", + "interest", + "million", + "page", + "pink", + "proud", + "sway", + "themselves", + "winter", + "church", + "cruel", + "cup", + "demon", + "experience", + "freedom", + "pair", + "pop", + "purpose", + "respect", + "shoot", + "softly", + "state", + "strange", + "bar", + "birth", + "curl", + "dirt", + "excuse", + "lord", + "lovely", + "monster", + "order", + "pack", + "pants", + "pool", + "scene", + "seven", + "shame", + "slide", + "ugly", + "among", + "blade", + "blonde", + "closet", + "creek", + "deny", + "drug", + "eternity", + "gain", + "grade", + "handle", + "key", + "linger", + "pale", + "prepare", + "swallow", + "swim", + "tremble", + "wheel", + "won", + "cast", + "cigarette", + "claim", + "college", + "direction", + "dirty", + "gather", + "ghost", + "hundred", + "loss", + "lung", + "orange", + "present", + "swear", + "swirl", + "twice", + "wild", + "bitter", + "blanket", + "doctor", + "everywhere", + "flash", + "grown", + "knowledge", + "numb", + "pressure", + "radio", + "repeat", + "ruin", + "spend", + "unknown", + "buy", + "clock", + "devil", + "early", + "false", + "fantasy", + "pound", + "precious", + "refuse", + "sheet", + "teeth", + "welcome", + "add", + "ahead", + "block", + "bury", + "caress", + "content", + "depth", + "despite", + "distant", + "marry", + "purple", + "threw", + "whenever", + "bomb", + "dull", + "easily", + "grasp", + "hospital", + "innocence", + "normal", + "receive", + "reply", + "rhyme", + "shade", + "someday", + "sword", + "toe", + "visit", + "asleep", + "bought", + "center", + "consider", + "flat", + "hero", + "history", + "ink", + "insane", + "muscle", + "mystery", + "pocket", + "reflection", + "shove", + "silently", + "smart", + "soldier", + "spot", + "stress", + "train", + "type", + "view", + "whether", + "bus", + "energy", + "explain", + "holy", + "hunger", + "inch", + "magic", + "mix", + "noise", + "nowhere", + "prayer", + "presence", + "shock", + "snap", + "spider", + "study", + "thunder", + "trail", + "admit", + "agree", + "bag", + "bang", + "bound", + "butterfly", + "cute", + "exactly", + "explode", + "familiar", + "fold", + "further", + "pierce", + "reflect", + "scent", + "selfish", + "sharp", + "sink", + "spring", + "stumble", + "universe", + "weep", + "women", + "wonderful", + "action", + "ancient", + "attempt", + "avoid", + "birthday", + "branch", + "chocolate", + "core", + "depress", + "drunk", + "especially", + "focus", + "fruit", + "honest", + "match", + "palm", + "perfectly", + "pillow", + "pity", + "poison", + "roar", + "shift", + "slightly", + "thump", + "truck", + "tune", + "twenty", + "unable", + "wipe", + "wrote", + "coat", + "constant", + "dinner", + "drove", + "egg", + "eternal", + "flight", + "flood", + "frame", + "freak", + "gasp", + "glad", + "hollow", + "motion", + "peer", + "plastic", + "root", + "screen", + "season", + "sting", + "strike", + "team", + "unlike", + "victim", + "volume", + "warn", + "weird", + "attack", + "await", + "awake", + "built", + "charm", + "crave", + "despair", + "fought", + "grant", + "grief", + "horse", + "limit", + "message", + "ripple", + "sanity", + "scatter", + "serve", + "split", + "string", + "trick", + "annoy", + "blur", + "boat", + "brave", + "clearly", + "cling", + "connect", + "fist", + "forth", + "imagination", + "iron", + "jock", + "judge", + "lesson", + "milk", + "misery", + "nail", + "naked", + "ourselves", + "poet", + "possible", + "princess", + "sail", + "size", + "snake", + "society", + "stroke", + "torture", + "toss", + "trace", + "wise", + "bloom", + "bullet", + "cell", + "check", + "cost", + "darling", + "during", + "footstep", + "fragile", + "hallway", + "hardly", + "horizon", + "invisible", + "journey", + "midnight", + "mud", + "nod", + "pause", + "relax", + "shiver", + "sudden", + "value", + "youth", + "abuse", + "admire", + "blink", + "breast", + "bruise", + "constantly", + "couple", + "creep", + "curve", + "difference", + "dumb", + "emptiness", + "gotta", + "honor", + "plain", + "planet", + "recall", + "rub", + "ship", + "slam", + "soar", + "somebody", + "tightly", + "weather", + "adore", + "approach", + "bond", + "bread", + "burst", + "candle", + "coffee", + "cousin", + "crime", + "desert", + "flutter", + "frozen", + "grand", + "heel", + "hello", + "language", + "level", + "movement", + "pleasure", + "powerful", + "random", + "rhythm", + "settle", + "silly", + "slap", + "sort", + "spoken", + "steel", + "threaten", + "tumble", + "upset", + "aside", + "awkward", + "bee", + "blank", + "board", + "button", + "card", + "carefully", + "complain", + "crap", + "deeply", + "discover", + "drag", + "dread", + "effort", + "entire", + "fairy", + "giant", + "gotten", + "greet", + "illusion", + "jeans", + "leap", + "liquid", + "march", + "mend", + "nervous", + "nine", + "replace", + "rope", + "spine", + "stole", + "terror", + "accident", + "apple", + "balance", + "boom", + "childhood", + "collect", + "demand", + "depression", + "eventually", + "faint", + "glare", + "goal", + "group", + "honey", + "kitchen", + "laid", + "limb", + "machine", + "mere", + "mold", + "murder", + "nerve", + "painful", + "poetry", + "prince", + "rabbit", + "shelter", + "shore", + "shower", + "soothe", + "stair", + "steady", + "sunlight", + "tangle", + "tease", + "treasure", + "uncle", + "begun", + "bliss", + "canvas", + "cheer", + "claw", + "clutch", + "commit", + "crimson", + "crystal", + "delight", + "doll", + "existence", + "express", + "fog", + "football", + "gay", + "goose", + "guard", + "hatred", + "illuminate", + "mass", + "math", + "mourn", + "rich", + "rough", + "skip", + "stir", + "student", + "style", + "support", + "thorn", + "tough", + "yard", + "yearn", + "yesterday", + "advice", + "appreciate", + "autumn", + "bank", + "beam", + "bowl", + "capture", + "carve", + "collapse", + "confusion", + "creation", + "dove", + "feather", + "girlfriend", + "glory", + "government", + "harsh", + "hop", + "inner", + "loser", + "moonlight", + "neighbor", + "neither", + "peach", + "pig", + "praise", + "screw", + "shield", + "shimmer", + "sneak", + "stab", + "subject", + "throughout", + "thrown", + "tower", + "twirl", + "wow", + "army", + "arrive", + "bathroom", + "bump", + "cease", + "cookie", + "couch", + "courage", + "dim", + "guilt", + "howl", + "hum", + "husband", + "insult", + "led", + "lunch", + "mock", + "mostly", + "natural", + "nearly", + "needle", + "nerd", + "peaceful", + "perfection", + "pile", + "price", + "remove", + "roam", + "sanctuary", + "serious", + "shiny", + "shook", + "sob", + "stolen", + "tap", + "vain", + "void", + "warrior", + "wrinkle", + "affection", + "apologize", + "blossom", + "bounce", + "bridge", + "cheap", + "crumble", + "decision", + "descend", + "desperately", + "dig", + "dot", + "flip", + "frighten", + "heartbeat", + "huge", + "lazy", + "lick", + "odd", + "opinion", + "process", + "puzzle", + "quietly", + "retreat", + "score", + "sentence", + "separate", + "situation", + "skill", + "soak", + "square", + "stray", + "taint", + "task", + "tide", + "underneath", + "veil", + "whistle", + "anywhere", + "bedroom", + "bid", + "bloody", + "burden", + "careful", + "compare", + "concern", + "curtain", + "decay", + "defeat", + "describe", + "double", + "dreamer", + "driver", + "dwell", + "evening", + "flare", + "flicker", + "grandma", + "guitar", + "harm", + "horrible", + "hungry", + "indeed", + "lace", + "melody", + "monkey", + "nation", + "object", + "obviously", + "rainbow", + "salt", + "scratch", + "shown", + "shy", + "stage", + "stun", + "third", + "tickle", + "useless", + "weakness", + "worship", + "worthless", + "afternoon", + "beard", + "boyfriend", + "bubble", + "busy", + "certain", + "chin", + "concrete", + "desk", + "diamond", + "doom", + "drawn", + "due", + "felicity", + "freeze", + "frost", + "garden", + "glide", + "harmony", + "hopefully", + "hunt", + "jealous", + "lightning", + "mama", + "mercy", + "peel", + "physical", + "position", + "pulse", + "punch", + "quit", + "rant", + "respond", + "salty", + "sane", + "satisfy", + "savior", + "sheep", + "slept", + "social", + "sport", + "tuck", + "utter", + "valley", + "wolf", + "aim", + "alas", + "alter", + "arrow", + "awaken", + "beaten", + "belief", + "brand", + "ceiling", + "cheese", + "clue", + "confidence", + "connection", + "daily", + "disguise", + "eager", + "erase", + "essence", + "everytime", + "expression", + "fan", + "flag", + "flirt", + "foul", + "fur", + "giggle", + "glorious", + "ignorance", + "law", + "lifeless", + "measure", + "mighty", + "muse", + "north", + "opposite", + "paradise", + "patience", + "patient", + "pencil", + "petal", + "plate", + "ponder", + "possibly", + "practice", + "slice", + "spell", + "stock", + "strife", + "strip", + "suffocate", + "suit", + "tender", + "tool", + "trade", + "velvet", + "verse", + "waist", + "witch", + "aunt", + "bench", + "bold", + "cap", + "certainly", + "click", + "companion", + "creator", + "dart", + "delicate", + "determine", + "dish", + "dragon", + "drama", + "drum", + "dude", + "everybody", + "feast", + "forehead", + "former", + "fright", + "fully", + "gas", + "hook", + "hurl", + "invite", + "juice", + "manage", + "moral", + "possess", + "raw", + "rebel", + "royal", + "scale", + "scary", + "several", + "slight", + "stubborn", + "swell", + "talent", + "tea", + "terrible", + "thread", + "torment", + "trickle", + "usually", + "vast", + "violence", + "weave", + "acid", + "agony", + "ashamed", + "awe", + "belly", + "blend", + "blush", + "character", + "cheat", + "common", + "company", + "coward", + "creak", + "danger", + "deadly", + "defense", + "define", + "depend", + "desperate", + "destination", + "dew", + "duck", + "dusty", + "embarrass", + "engine", + "example", + "explore", + "foe", + "freely", + "frustrate", + "generation", + "glove", + "guilty", + "health", + "hurry", + "idiot", + "impossible", + "inhale", + "jaw", + "kingdom", + "mention", + "mist", + "moan", + "mumble", + "mutter", + "observe", + "ode", + "pathetic", + "pattern", + "pie", + "prefer", + "puff", + "rape", + "rare", + "revenge", + "rude", + "scrape", + "spiral", + "squeeze", + "strain", + "sunset", + "suspend", + "sympathy", + "thigh", + "throne", + "total", + "unseen", + "weapon", + "weary" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "OldEnglish"; + populate_maps(); + } + }; +} + +#endif diff --git a/src/mnemonics/portuguese.h b/src/mnemonics/portuguese.h index 6d0754fd3..06d53f176 100644 --- a/src/mnemonics/portuguese.h +++ b/src/mnemonics/portuguese.h @@ -1,1652 +1,1680 @@ -#ifndef PORTUGUESE_H -#define PORTUGUESE_H - -#include -#include -#include "language_base.h" -#include - -namespace Language -{ - class Portuguese: public Base - { - public: - Portuguese() - { - word_list = new std::vector({ - "abaular", - "abdominal", - "abeto", - "abissinio", - "abjeto", - "ablucao", - "abnegar", - "abotoar", - "abrutalhar", - "absurdo", - "abutre", - "acautelar", - "accessorios", - "acetona", - "achocolatado", - "acirrar", - "acne", - "acovardar", - "acrostico", - "actinomicete", - "acustico", - "adaptavel", - "adeus", - "adivinho", - "adjunto", - "admoestar", - "adnominal", - "adotivo", - "adquirir", - "adriatico", - "adsorcao", - "adutora", - "advogar", - "aerossol", - "afazeres", - "afetuoso", - "afixo", - "afluir", - "afortunar", - "afrouxar", - "aftosa", - "afunilar", - "agentes", - "agito", - "aglutinar", - "aiatola", - "aimore", - "aino", - "aipo", - "airoso", - "ajeitar", - "ajoelhar", - "ajudante", - "ajuste", - "alazao", - "albumina", - "alcunha", - "alegria", - "alexandre", - "alforriar", - "alguns", - "alhures", - "alivio", - "almoxarife", - "alotropico", - "alpiste", - "alquimista", - "alsaciano", - "altura", - "aluviao", - "alvura", - "amazonico", - "ambulatorio", - "ametodico", - "amizades", - "amniotico", - "amovivel", - "amurada", - "anatomico", - "ancorar", - "anexo", - "anfora", - "aniversario", - "anjo", - "anotar", - "ansioso", - "anturio", - "anuviar", - "anverso", - "anzol", - "aonde", - "apaziguar", - "apito", - "aplicavel", - "apoteotico", - "aprimorar", - "aprumo", - "apto", - "apuros", - "aquoso", - "arauto", - "arbusto", - "arduo", - "aresta", - "arfar", - "arguto", - "aritmetico", - "arlequim", - "armisticio", - "aromatizar", - "arpoar", - "arquivo", - "arrumar", - "arsenio", - "arturiano", - "aruaque", - "arvores", - "asbesto", - "ascorbico", - "aspirina", - "asqueroso", - "assustar", - "astuto", - "atazanar", - "ativo", - "atletismo", - "atmosferico", - "atormentar", - "atroz", - "aturdir", - "audivel", - "auferir", - "augusto", - "aula", - "aumento", - "aurora", - "autuar", - "avatar", - "avexar", - "avizinhar", - "avolumar", - "avulso", - "axiomatico", - "azerbaijano", - "azimute", - "azoto", - "azulejo", - "bacteriologista", - "badulaque", - "baforada", - "baixote", - "bajular", - "balzaquiana", - "bambuzal", - "banzo", - "baoba", - "baqueta", - "barulho", - "bastonete", - "batuta", - "bauxita", - "bavaro", - "bazuca", - "bcrepuscular", - "beato", - "beduino", - "begonia", - "behaviorista", - "beisebol", - "belzebu", - "bemol", - "benzido", - "beocio", - "bequer", - "berro", - "besuntar", - "betume", - "bexiga", - "bezerro", - "biatlon", - "biboca", - "bicuspide", - "bidirecional", - "bienio", - "bifurcar", - "bigorna", - "bijuteria", - "bimotor", - "binormal", - "bioxido", - "bipolarizacao", - "biquini", - "birutice", - "bisturi", - "bituca", - "biunivoco", - "bivalve", - "bizarro", - "blasfemo", - "blenorreia", - "blindar", - "bloqueio", - "blusao", - "boazuda", - "bofete", - "bojudo", - "bolso", - "bombordo", - "bonzo", - "botina", - "boquiaberto", - "bostoniano", - "botulismo", - "bourbon", - "bovino", - "boximane", - "bravura", - "brevidade", - "britar", - "broxar", - "bruno", - "bruxuleio", - "bubonico", - "bucolico", - "buda", - "budista", - "bueiro", - "buffer", - "bugre", - "bujao", - "bumerangue", - "burundines", - "busto", - "butique", - "buzios", - "caatinga", - "cabuqui", - "cacunda", - "cafuzo", - "cajueiro", - "camurca", - "canudo", - "caquizeiro", - "carvoeiro", - "casulo", - "catuaba", - "cauterizar", - "cebolinha", - "cedula", - "ceifeiro", - "celulose", - "cerzir", - "cesto", - "cetro", - "ceus", - "cevar", - "chavena", - "cheroqui", - "chita", - "chovido", - "chuvoso", - "ciatico", - "cibernetico", - "cicuta", - "cidreira", - "cientistas", - "cifrar", - "cigarro", - "cilio", - "cimo", - "cinzento", - "cioso", - "cipriota", - "cirurgico", - "cisto", - "citrico", - "ciumento", - "civismo", - "clavicula", - "clero", - "clitoris", - "cluster", - "coaxial", - "cobrir", - "cocota", - "codorniz", - "coexistir", - "cogumelo", - "coito", - "colusao", - "compaixao", - "comutativo", - "contentamento", - "convulsivo", - "coordenativa", - "coquetel", - "correto", - "corvo", - "costureiro", - "cotovia", - "covil", - "cozinheiro", - "cretino", - "cristo", - "crivo", - "crotalo", - "cruzes", - "cubo", - "cucuia", - "cueiro", - "cuidar", - "cujo", - "cultural", - "cunilingua", - "cupula", - "curvo", - "custoso", - "cutucar", - "czarismo", - "dablio", - "dacota", - "dados", - "daguerreotipo", - "daiquiri", - "daltonismo", - "damista", - "dantesco", - "daquilo", - "darwinista", - "dasein", - "dativo", - "deao", - "debutantes", - "decurso", - "deduzir", - "defunto", - "degustar", - "dejeto", - "deltoide", - "demover", - "denunciar", - "deputado", - "deque", - "dervixe", - "desvirtuar", - "deturpar", - "deuteronomio", - "devoto", - "dextrose", - "dezoito", - "diatribe", - "dicotomico", - "didatico", - "dietista", - "difuso", - "digressao", - "diluvio", - "diminuto", - "dinheiro", - "dinossauro", - "dioxido", - "diplomatico", - "dique", - "dirimivel", - "disturbio", - "diurno", - "divulgar", - "dizivel", - "doar", - "dobro", - "docura", - "dodoi", - "doer", - "dogue", - "doloso", - "domo", - "donzela", - "doping", - "dorsal", - "dossie", - "dote", - "doutro", - "doze", - "dravidico", - "dreno", - "driver", - "dropes", - "druso", - "dubnio", - "ducto", - "dueto", - "dulija", - "dundum", - "duodeno", - "duquesa", - "durou", - "duvidoso", - "duzia", - "ebano", - "ebrio", - "eburneo", - "echarpe", - "eclusa", - "ecossistema", - "ectoplasma", - "ecumenismo", - "eczema", - "eden", - "editorial", - "edredom", - "edulcorar", - "efetuar", - "efigie", - "efluvio", - "egiptologo", - "egresso", - "egua", - "einsteiniano", - "eira", - "eivar", - "eixos", - "ejetar", - "elastomero", - "eldorado", - "elixir", - "elmo", - "eloquente", - "elucidativo", - "emaranhar", - "embutir", - "emerito", - "emfa", - "emitir", - "emotivo", - "empuxo", - "emulsao", - "enamorar", - "encurvar", - "enduro", - "enevoar", - "enfurnar", - "enguico", - "enho", - "enigmista", - "enlutar", - "enormidade", - "enpreendimento", - "enquanto", - "enriquecer", - "enrugar", - "entusiastico", - "enunciar", - "envolvimento", - "enxuto", - "enzimatico", - "eolico", - "epiteto", - "epoxi", - "epura", - "equivoco", - "erario", - "erbio", - "ereto", - "erguido", - "erisipela", - "ermo", - "erotizar", - "erros", - "erupcao", - "ervilha", - "esburacar", - "escutar", - "esfuziante", - "esguio", - "esloveno", - "esmurrar", - "esoterismo", - "esperanca", - "espirito", - "espurio", - "essencialmente", - "esturricar", - "esvoacar", - "etario", - "eterno", - "etiquetar", - "etnologo", - "etos", - "etrusco", - "euclidiano", - "euforico", - "eugenico", - "eunuco", - "europio", - "eustaquio", - "eutanasia", - "evasivo", - "eventualidade", - "evitavel", - "evoluir", - "exaustor", - "excursionista", - "exercito", - "exfoliado", - "exito", - "exotico", - "expurgo", - "exsudar", - "extrusora", - "exumar", - "fabuloso", - "facultativo", - "fado", - "fagulha", - "faixas", - "fajuto", - "faltoso", - "famoso", - "fanzine", - "fapesp", - "faquir", - "fartura", - "fastio", - "faturista", - "fausto", - "favorito", - "faxineira", - "fazer", - "fealdade", - "febril", - "fecundo", - "fedorento", - "feerico", - "feixe", - "felicidade", - "felipe", - "feltro", - "femur", - "fenotipo", - "fervura", - "festivo", - "feto", - "feudo", - "fevereiro", - "fezinha", - "fiasco", - "fibra", - "ficticio", - "fiduciario", - "fiesp", - "fifa", - "figurino", - "fijiano", - "filtro", - "finura", - "fiorde", - "fiquei", - "firula", - "fissurar", - "fitoteca", - "fivela", - "fixo", - "flavio", - "flexor", - "flibusteiro", - "flotilha", - "fluxograma", - "fobos", - "foco", - "fofura", - "foguista", - "foie", - "foliculo", - "fominha", - "fonte", - "forum", - "fosso", - "fotossintese", - "foxtrote", - "fraudulento", - "frevo", - "frivolo", - "frouxo", - "frutose", - "fuba", - "fucsia", - "fugitivo", - "fuinha", - "fujao", - "fulustreco", - "fumo", - "funileiro", - "furunculo", - "fustigar", - "futurologo", - "fuxico", - "fuzue", - "gabriel", - "gado", - "gaelico", - "gafieira", - "gaguejo", - "gaivota", - "gajo", - "galvanoplastico", - "gamo", - "ganso", - "garrucha", - "gastronomo", - "gatuno", - "gaussiano", - "gaviao", - "gaxeta", - "gazeteiro", - "gear", - "geiser", - "geminiano", - "generoso", - "genuino", - "geossinclinal", - "gerundio", - "gestual", - "getulista", - "gibi", - "gigolo", - "gilete", - "ginseng", - "giroscopio", - "glaucio", - "glacial", - "gleba", - "glifo", - "glote", - "glutonia", - "gnostico", - "goela", - "gogo", - "goitaca", - "golpista", - "gomo", - "gonzo", - "gorro", - "gostou", - "goticula", - "gourmet", - "governo", - "gozo", - "graxo", - "grevista", - "grito", - "grotesco", - "gruta", - "guaxinim", - "gude", - "gueto", - "guizo", - "guloso", - "gume", - "guru", - "gustativo", - "gustavo", - "gutural", - "habitue", - "haitiano", - "halterofilista", - "hamburguer", - "hanseniase", - "happening", - "harpista", - "hastear", - "haveres", - "hebreu", - "hectometro", - "hedonista", - "hegira", - "helena", - "helminto", - "hemorroidas", - "henrique", - "heptassilabo", - "hertziano", - "hesitar", - "heterossexual", - "heuristico", - "hexagono", - "hiato", - "hibrido", - "hidrostatico", - "hieroglifo", - "hifenizar", - "higienizar", - "hilario", - "himen", - "hino", - "hippie", - "hirsuto", - "historiografia", - "hitlerista", - "hodometro", - "hoje", - "holograma", - "homus", - "honroso", - "hoquei", - "horto", - "hostilizar", - "hotentote", - "huguenote", - "humilde", - "huno", - "hurra", - "hutu", - "iaia", - "ialorixa", - "iambico", - "iansa", - "iaque", - "iara", - "iatista", - "iberico", - "ibis", - "icar", - "iceberg", - "icosagono", - "idade", - "ideologo", - "idiotice", - "idoso", - "iemenita", - "iene", - "igarape", - "iglu", - "ignorar", - "igreja", - "iguaria", - "iidiche", - "ilativo", - "iletrado", - "ilharga", - "ilimitado", - "ilogismo", - "ilustrissimo", - "imaturo", - "imbuzeiro", - "imerso", - "imitavel", - "imovel", - "imputar", - "imutavel", - "inaveriguavel", - "incutir", - "induzir", - "inextricavel", - "infusao", - "ingua", - "inhame", - "iniquo", - "injusto", - "inning", - "inoxidavel", - "inquisitorial", - "insustentavel", - "intumescimento", - "inutilizavel", - "invulneravel", - "inzoneiro", - "iodo", - "iogurte", - "ioio", - "ionosfera", - "ioruba", - "iota", - "ipsilon", - "irascivel", - "iris", - "irlandes", - "irmaos", - "iroques", - "irrupcao", - "isca", - "isento", - "islandes", - "isotopo", - "isqueiro", - "israelita", - "isso", - "isto", - "iterbio", - "itinerario", - "itrio", - "iuane", - "iugoslavo", - "jabuticabeira", - "jacutinga", - "jade", - "jagunco", - "jainista", - "jaleco", - "jambo", - "jantarada", - "japones", - "jaqueta", - "jarro", - "jasmim", - "jato", - "jaula", - "javel", - "jazz", - "jegue", - "jeitoso", - "jejum", - "jenipapo", - "jeova", - "jequitiba", - "jersei", - "jesus", - "jetom", - "jiboia", - "jihad", - "jilo", - "jingle", - "jipe", - "jocoso", - "joelho", - "joguete", - "joio", - "jojoba", - "jorro", - "jota", - "joule", - "joviano", - "jubiloso", - "judoca", - "jugular", - "juizo", - "jujuba", - "juliano", - "jumento", - "junto", - "jururu", - "justo", - "juta", - "juventude", - "labutar", - "laguna", - "laico", - "lajota", - "lanterninha", - "lapso", - "laquear", - "lastro", - "lauto", - "lavrar", - "laxativo", - "lazer", - "leasing", - "lebre", - "lecionar", - "ledo", - "leguminoso", - "leitura", - "lele", - "lemure", - "lento", - "leonardo", - "leopardo", - "lepton", - "leque", - "leste", - "letreiro", - "leucocito", - "levitico", - "lexicologo", - "lhama", - "lhufas", - "liame", - "licoroso", - "lidocaina", - "liliputiano", - "limusine", - "linotipo", - "lipoproteina", - "liquidos", - "lirismo", - "lisura", - "liturgico", - "livros", - "lixo", - "lobulo", - "locutor", - "lodo", - "logro", - "lojista", - "lombriga", - "lontra", - "loop", - "loquaz", - "lorota", - "losango", - "lotus", - "louvor", - "luar", - "lubrificavel", - "lucros", - "lugubre", - "luis", - "luminoso", - "luneta", - "lustroso", - "luto", - "luvas", - "luxuriante", - "luzeiro", - "maduro", - "maestro", - "mafioso", - "magro", - "maiuscula", - "majoritario", - "malvisto", - "mamute", - "manutencao", - "mapoteca", - "maquinista", - "marzipa", - "masturbar", - "matuto", - "mausoleu", - "mavioso", - "maxixe", - "mazurca", - "meandro", - "mecha", - "medusa", - "mefistofelico", - "megera", - "meirinho", - "melro", - "memorizar", - "menu", - "mequetrefe", - "mertiolate", - "mestria", - "metroviario", - "mexilhao", - "mezanino", - "miau", - "microssegundo", - "midia", - "migratorio", - "mimosa", - "minuto", - "miosotis", - "mirtilo", - "misturar", - "mitzvah", - "miudos", - "mixuruca", - "mnemonico", - "moagem", - "mobilizar", - "modulo", - "moer", - "mofo", - "mogno", - "moita", - "molusco", - "monumento", - "moqueca", - "morubixaba", - "mostruario", - "motriz", - "mouse", - "movivel", - "mozarela", - "muarra", - "muculmano", - "mudo", - "mugir", - "muitos", - "mumunha", - "munir", - "muon", - "muquira", - "murros", - "musselina", - "nacoes", - "nado", - "naftalina", - "nago", - "naipe", - "naja", - "nalgum", - "namoro", - "nanquim", - "napolitano", - "naquilo", - "nascimento", - "nautilo", - "navios", - "nazista", - "nebuloso", - "nectarina", - "nefrologo", - "negus", - "nelore", - "nenufar", - "nepotismo", - "nervura", - "neste", - "netuno", - "neutron", - "nevoeiro", - "newtoniano", - "nexo", - "nhenhenhem", - "nhoque", - "nigeriano", - "niilista", - "ninho", - "niobio", - "niponico", - "niquelar", - "nirvana", - "nisto", - "nitroglicerina", - "nivoso", - "nobreza", - "nocivo", - "noel", - "nogueira", - "noivo", - "nojo", - "nominativo", - "nonuplo", - "noruegues", - "nostalgico", - "noturno", - "nouveau", - "nuanca", - "nublar", - "nucleotideo", - "nudista", - "nulo", - "numismatico", - "nunquinha", - "nupcias", - "nutritivo", - "nuvens", - "oasis", - "obcecar", - "obeso", - "obituario", - "objetos", - "oblongo", - "obnoxio", - "obrigatorio", - "obstruir", - "obtuso", - "obus", - "obvio", - "ocaso", - "occipital", - "oceanografo", - "ocioso", - "oclusivo", - "ocorrer", - "ocre", - "octogono", - "odalisca", - "odisseia", - "odorifico", - "oersted", - "oeste", - "ofertar", - "ofidio", - "oftalmologo", - "ogiva", - "ogum", - "oigale", - "oitavo", - "oitocentos", - "ojeriza", - "olaria", - "oleoso", - "olfato", - "olhos", - "oliveira", - "olmo", - "olor", - "olvidavel", - "ombudsman", - "omeleteira", - "omitir", - "omoplata", - "onanismo", - "ondular", - "oneroso", - "onomatopeico", - "ontologico", - "onus", - "onze", - "opalescente", - "opcional", - "operistico", - "opio", - "oposto", - "oprobrio", - "optometrista", - "opusculo", - "oratorio", - "orbital", - "orcar", - "orfao", - "orixa", - "orla", - "ornitologo", - "orquidea", - "ortorrombico", - "orvalho", - "osculo", - "osmotico", - "ossudo", - "ostrogodo", - "otario", - "otite", - "ouro", - "ousar", - "outubro", - "ouvir", - "ovario", - "overnight", - "oviparo", - "ovni", - "ovoviviparo", - "ovulo", - "oxala", - "oxente", - "oxiuro", - "oxossi", - "ozonizar", - "paciente", - "pactuar", - "padronizar", - "paete", - "pagodeiro", - "paixao", - "pajem", - "paludismo", - "pampas", - "panturrilha", - "papudo", - "paquistanes", - "pastoso", - "patua", - "paulo", - "pauzinhos", - "pavoroso", - "paxa", - "pazes", - "peao", - "pecuniario", - "pedunculo", - "pegaso", - "peixinho", - "pejorativo", - "pelvis", - "penuria", - "pequno", - "petunia", - "pezada", - "piauiense", - "pictorico", - "pierro", - "pigmeu", - "pijama", - "pilulas", - "pimpolho", - "pintura", - "piorar", - "pipocar", - "piqueteiro", - "pirulito", - "pistoleiro", - "pituitaria", - "pivotar", - "pixote", - "pizzaria", - "plistoceno", - "plotar", - "pluviometrico", - "pneumonico", - "poco", - "podridao", - "poetisa", - "pogrom", - "pois", - "polvorosa", - "pomposo", - "ponderado", - "pontudo", - "populoso", - "poquer", - "porvir", - "posudo", - "potro", - "pouso", - "povoar", - "prazo", - "prezar", - "privilegios", - "proximo", - "prussiano", - "pseudopode", - "psoriase", - "pterossauros", - "ptialina", - "ptolemaico", - "pudor", - "pueril", - "pufe", - "pugilista", - "puir", - "pujante", - "pulverizar", - "pumba", - "punk", - "purulento", - "pustula", - "putsch", - "puxe", - "quatrocentos", - "quetzal", - "quixotesco", - "quotizavel", - "rabujice", - "racista", - "radonio", - "rafia", - "ragu", - "rajado", - "ralo", - "rampeiro", - "ranzinza", - "raptor", - "raquitismo", - "raro", - "rasurar", - "ratoeira", - "ravioli", - "razoavel", - "reavivar", - "rebuscar", - "recusavel", - "reduzivel", - "reexposicao", - "refutavel", - "regurgitar", - "reivindicavel", - "rejuvenescimento", - "relva", - "remuneravel", - "renunciar", - "reorientar", - "repuxo", - "requisito", - "resumo", - "returno", - "reutilizar", - "revolvido", - "rezonear", - "riacho", - "ribossomo", - "ricota", - "ridiculo", - "rifle", - "rigoroso", - "rijo", - "rimel", - "rins", - "rios", - "riqueza", - "riquixa", - "rissole", - "ritualistico", - "rivalizar", - "rixa", - "robusto", - "rococo", - "rodoviario", - "roer", - "rogo", - "rojao", - "rolo", - "rompimento", - "ronronar", - "roqueiro", - "rorqual", - "rosto", - "rotundo", - "rouxinol", - "roxo", - "royal", - "ruas", - "rucula", - "rudimentos", - "ruela", - "rufo", - "rugoso", - "ruivo", - "rule", - "rumoroso", - "runico", - "ruptura", - "rural", - "rustico", - "rutilar", - "saariano", - "sabujo", - "sacudir", - "sadomasoquista", - "safra", - "sagui", - "sais", - "samurai", - "santuario", - "sapo", - "saquear", - "sartriano", - "saturno", - "saude", - "sauva", - "saveiro", - "saxofonista", - "sazonal", - "scherzo", - "script", - "seara", - "seborreia", - "secura", - "seduzir", - "sefardim", - "seguro", - "seja", - "selvas", - "sempre", - "senzala", - "sepultura", - "sequoia", - "sestercio", - "setuplo", - "seus", - "seviciar", - "sezonismo", - "shalom", - "siames", - "sibilante", - "sicrano", - "sidra", - "sifilitico", - "signos", - "silvo", - "simultaneo", - "sinusite", - "sionista", - "sirio", - "sisudo", - "situar", - "sivan", - "slide", - "slogan", - "soar", - "sobrio", - "socratico", - "sodomizar", - "soerguer", - "software", - "sogro", - "soja", - "solver", - "somente", - "sonso", - "sopro", - "soquete", - "sorveteiro", - "sossego", - "soturno", - "sousafone", - "sovinice", - "sozinho", - "suavizar", - "subverter", - "sucursal", - "sudoriparo", - "sufragio", - "sugestoes", - "suite", - "sujo", - "sultao", - "sumula", - "suntuoso", - "suor", - "supurar", - "suruba", - "susto", - "suturar", - "suvenir", - "tabuleta", - "taco", - "tadjique", - "tafeta", - "tagarelice", - "taitiano", - "talvez", - "tampouco", - "tanzaniano", - "taoista", - "tapume", - "taquion", - "tarugo", - "tascar", - "tatuar", - "tautologico", - "tavola", - "taxionomista", - "tchecoslovaco", - "teatrologo", - "tectonismo", - "tedioso", - "teflon", - "tegumento", - "teixo", - "telurio", - "temporas", - "tenue", - "teosofico", - "tepido", - "tequila", - "terrorista", - "testosterona", - "tetrico", - "teutonico", - "teve", - "texugo", - "tiara", - "tibia", - "tiete", - "tifoide", - "tigresa", - "tijolo", - "tilintar", - "timpano", - "tintureiro", - "tiquete", - "tiroteio", - "tisico", - "titulos", - "tive", - "toar", - "toboga", - "tofu", - "togoles", - "toicinho", - "tolueno", - "tomografo", - "tontura", - "toponimo", - "toquio", - "torvelinho", - "tostar", - "toto", - "touro", - "toxina", - "trazer", - "trezentos", - "trivialidade", - "trovoar", - "truta", - "tuaregue", - "tubular", - "tucano", - "tudo", - "tufo", - "tuiste", - "tulipa", - "tumultuoso", - "tunisino", - "tupiniquim", - "turvo", - "tutu", - "ucraniano", - "udenista", - "ufanista", - "ufologo", - "ugaritico", - "uiste", - "uivo", - "ulceroso", - "ulema", - "ultravioleta", - "umbilical", - "umero", - "umido", - "umlaut", - "unanimidade", - "unesco", - "ungulado", - "unheiro", - "univoco", - "untuoso", - "urano", - "urbano", - "urdir", - "uretra", - "urgente", - "urinol", - "urna", - "urologo", - "urro", - "ursulina", - "urtiga", - "urupe", - "usavel", - "usbeque", - "usei", - "usineiro", - "usurpar", - "utero", - "utilizar", - "utopico", - "uvular", - "uxoricidio", - "vacuo", - "vadio", - "vaguear", - "vaivem", - "valvula", - "vampiro", - "vantajoso", - "vaporoso", - "vaquinha", - "varziano", - "vasto", - "vaticinio", - "vaudeville", - "vazio", - "veado", - "vedico", - "veemente", - "vegetativo", - "veio", - "veja", - "veludo", - "venusiano", - "verdade", - "verve", - "vestuario", - "vetusto", - "vexatorio", - "vezes", - "viavel", - "vibratorio", - "victor", - "vicunha", - "vidros", - "vietnamita", - "vigoroso", - "vilipendiar", - "vime", - "vintem", - "violoncelo", - "viquingue", - "virus", - "visualizar", - "vituperio", - "viuvo", - "vivo", - "vizir", - "voar", - "vociferar", - "vodu", - "vogar", - "voile", - "volver", - "vomito", - "vontade", - "vortice", - "vosso", - "voto", - "vovozinha", - "voyeuse", - "vozes", - "vulva", - "vupt", - "western", - "xadrez", - "xale", - "xampu", - "xango", - "xarope", - "xaual", - "xavante", - "xaxim", - "xenonio", - "xepa", - "xerox", - "xicara", - "xifopago", - "xiita", - "xilogravura", - "xinxim", - "xistoso", - "xixi", - "xodo", - "xogum", - "xucro", - "zabumba", - "zagueiro", - "zambiano", - "zanzar", - "zarpar", - "zebu", - "zefiro", - "zeloso", - "zenite", - "zumbi" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "Portuguese"; - populate_maps(); - } - }; -} - -#endif +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef PORTUGUESE_H +#define PORTUGUESE_H + +#include +#include +#include "language_base.h" +#include + +namespace Language +{ + class Portuguese: public Base + { + public: + Portuguese() + { + word_list = new std::vector({ + "abaular", + "abdominal", + "abeto", + "abissinio", + "abjeto", + "ablucao", + "abnegar", + "abotoar", + "abrutalhar", + "absurdo", + "abutre", + "acautelar", + "accessorios", + "acetona", + "achocolatado", + "acirrar", + "acne", + "acovardar", + "acrostico", + "actinomicete", + "acustico", + "adaptavel", + "adeus", + "adivinho", + "adjunto", + "admoestar", + "adnominal", + "adotivo", + "adquirir", + "adriatico", + "adsorcao", + "adutora", + "advogar", + "aerossol", + "afazeres", + "afetuoso", + "afixo", + "afluir", + "afortunar", + "afrouxar", + "aftosa", + "afunilar", + "agentes", + "agito", + "aglutinar", + "aiatola", + "aimore", + "aino", + "aipo", + "airoso", + "ajeitar", + "ajoelhar", + "ajudante", + "ajuste", + "alazao", + "albumina", + "alcunha", + "alegria", + "alexandre", + "alforriar", + "alguns", + "alhures", + "alivio", + "almoxarife", + "alotropico", + "alpiste", + "alquimista", + "alsaciano", + "altura", + "aluviao", + "alvura", + "amazonico", + "ambulatorio", + "ametodico", + "amizades", + "amniotico", + "amovivel", + "amurada", + "anatomico", + "ancorar", + "anexo", + "anfora", + "aniversario", + "anjo", + "anotar", + "ansioso", + "anturio", + "anuviar", + "anverso", + "anzol", + "aonde", + "apaziguar", + "apito", + "aplicavel", + "apoteotico", + "aprimorar", + "aprumo", + "apto", + "apuros", + "aquoso", + "arauto", + "arbusto", + "arduo", + "aresta", + "arfar", + "arguto", + "aritmetico", + "arlequim", + "armisticio", + "aromatizar", + "arpoar", + "arquivo", + "arrumar", + "arsenio", + "arturiano", + "aruaque", + "arvores", + "asbesto", + "ascorbico", + "aspirina", + "asqueroso", + "assustar", + "astuto", + "atazanar", + "ativo", + "atletismo", + "atmosferico", + "atormentar", + "atroz", + "aturdir", + "audivel", + "auferir", + "augusto", + "aula", + "aumento", + "aurora", + "autuar", + "avatar", + "avexar", + "avizinhar", + "avolumar", + "avulso", + "axiomatico", + "azerbaijano", + "azimute", + "azoto", + "azulejo", + "bacteriologista", + "badulaque", + "baforada", + "baixote", + "bajular", + "balzaquiana", + "bambuzal", + "banzo", + "baoba", + "baqueta", + "barulho", + "bastonete", + "batuta", + "bauxita", + "bavaro", + "bazuca", + "bcrepuscular", + "beato", + "beduino", + "begonia", + "behaviorista", + "beisebol", + "belzebu", + "bemol", + "benzido", + "beocio", + "bequer", + "berro", + "besuntar", + "betume", + "bexiga", + "bezerro", + "biatlon", + "biboca", + "bicuspide", + "bidirecional", + "bienio", + "bifurcar", + "bigorna", + "bijuteria", + "bimotor", + "binormal", + "bioxido", + "bipolarizacao", + "biquini", + "birutice", + "bisturi", + "bituca", + "biunivoco", + "bivalve", + "bizarro", + "blasfemo", + "blenorreia", + "blindar", + "bloqueio", + "blusao", + "boazuda", + "bofete", + "bojudo", + "bolso", + "bombordo", + "bonzo", + "botina", + "boquiaberto", + "bostoniano", + "botulismo", + "bourbon", + "bovino", + "boximane", + "bravura", + "brevidade", + "britar", + "broxar", + "bruno", + "bruxuleio", + "bubonico", + "bucolico", + "buda", + "budista", + "bueiro", + "buffer", + "bugre", + "bujao", + "bumerangue", + "burundines", + "busto", + "butique", + "buzios", + "caatinga", + "cabuqui", + "cacunda", + "cafuzo", + "cajueiro", + "camurca", + "canudo", + "caquizeiro", + "carvoeiro", + "casulo", + "catuaba", + "cauterizar", + "cebolinha", + "cedula", + "ceifeiro", + "celulose", + "cerzir", + "cesto", + "cetro", + "ceus", + "cevar", + "chavena", + "cheroqui", + "chita", + "chovido", + "chuvoso", + "ciatico", + "cibernetico", + "cicuta", + "cidreira", + "cientistas", + "cifrar", + "cigarro", + "cilio", + "cimo", + "cinzento", + "cioso", + "cipriota", + "cirurgico", + "cisto", + "citrico", + "ciumento", + "civismo", + "clavicula", + "clero", + "clitoris", + "cluster", + "coaxial", + "cobrir", + "cocota", + "codorniz", + "coexistir", + "cogumelo", + "coito", + "colusao", + "compaixao", + "comutativo", + "contentamento", + "convulsivo", + "coordenativa", + "coquetel", + "correto", + "corvo", + "costureiro", + "cotovia", + "covil", + "cozinheiro", + "cretino", + "cristo", + "crivo", + "crotalo", + "cruzes", + "cubo", + "cucuia", + "cueiro", + "cuidar", + "cujo", + "cultural", + "cunilingua", + "cupula", + "curvo", + "custoso", + "cutucar", + "czarismo", + "dablio", + "dacota", + "dados", + "daguerreotipo", + "daiquiri", + "daltonismo", + "damista", + "dantesco", + "daquilo", + "darwinista", + "dasein", + "dativo", + "deao", + "debutantes", + "decurso", + "deduzir", + "defunto", + "degustar", + "dejeto", + "deltoide", + "demover", + "denunciar", + "deputado", + "deque", + "dervixe", + "desvirtuar", + "deturpar", + "deuteronomio", + "devoto", + "dextrose", + "dezoito", + "diatribe", + "dicotomico", + "didatico", + "dietista", + "difuso", + "digressao", + "diluvio", + "diminuto", + "dinheiro", + "dinossauro", + "dioxido", + "diplomatico", + "dique", + "dirimivel", + "disturbio", + "diurno", + "divulgar", + "dizivel", + "doar", + "dobro", + "docura", + "dodoi", + "doer", + "dogue", + "doloso", + "domo", + "donzela", + "doping", + "dorsal", + "dossie", + "dote", + "doutro", + "doze", + "dravidico", + "dreno", + "driver", + "dropes", + "druso", + "dubnio", + "ducto", + "dueto", + "dulija", + "dundum", + "duodeno", + "duquesa", + "durou", + "duvidoso", + "duzia", + "ebano", + "ebrio", + "eburneo", + "echarpe", + "eclusa", + "ecossistema", + "ectoplasma", + "ecumenismo", + "eczema", + "eden", + "editorial", + "edredom", + "edulcorar", + "efetuar", + "efigie", + "efluvio", + "egiptologo", + "egresso", + "egua", + "einsteiniano", + "eira", + "eivar", + "eixos", + "ejetar", + "elastomero", + "eldorado", + "elixir", + "elmo", + "eloquente", + "elucidativo", + "emaranhar", + "embutir", + "emerito", + "emfa", + "emitir", + "emotivo", + "empuxo", + "emulsao", + "enamorar", + "encurvar", + "enduro", + "enevoar", + "enfurnar", + "enguico", + "enho", + "enigmista", + "enlutar", + "enormidade", + "enpreendimento", + "enquanto", + "enriquecer", + "enrugar", + "entusiastico", + "enunciar", + "envolvimento", + "enxuto", + "enzimatico", + "eolico", + "epiteto", + "epoxi", + "epura", + "equivoco", + "erario", + "erbio", + "ereto", + "erguido", + "erisipela", + "ermo", + "erotizar", + "erros", + "erupcao", + "ervilha", + "esburacar", + "escutar", + "esfuziante", + "esguio", + "esloveno", + "esmurrar", + "esoterismo", + "esperanca", + "espirito", + "espurio", + "essencialmente", + "esturricar", + "esvoacar", + "etario", + "eterno", + "etiquetar", + "etnologo", + "etos", + "etrusco", + "euclidiano", + "euforico", + "eugenico", + "eunuco", + "europio", + "eustaquio", + "eutanasia", + "evasivo", + "eventualidade", + "evitavel", + "evoluir", + "exaustor", + "excursionista", + "exercito", + "exfoliado", + "exito", + "exotico", + "expurgo", + "exsudar", + "extrusora", + "exumar", + "fabuloso", + "facultativo", + "fado", + "fagulha", + "faixas", + "fajuto", + "faltoso", + "famoso", + "fanzine", + "fapesp", + "faquir", + "fartura", + "fastio", + "faturista", + "fausto", + "favorito", + "faxineira", + "fazer", + "fealdade", + "febril", + "fecundo", + "fedorento", + "feerico", + "feixe", + "felicidade", + "felipe", + "feltro", + "femur", + "fenotipo", + "fervura", + "festivo", + "feto", + "feudo", + "fevereiro", + "fezinha", + "fiasco", + "fibra", + "ficticio", + "fiduciario", + "fiesp", + "fifa", + "figurino", + "fijiano", + "filtro", + "finura", + "fiorde", + "fiquei", + "firula", + "fissurar", + "fitoteca", + "fivela", + "fixo", + "flavio", + "flexor", + "flibusteiro", + "flotilha", + "fluxograma", + "fobos", + "foco", + "fofura", + "foguista", + "foie", + "foliculo", + "fominha", + "fonte", + "forum", + "fosso", + "fotossintese", + "foxtrote", + "fraudulento", + "frevo", + "frivolo", + "frouxo", + "frutose", + "fuba", + "fucsia", + "fugitivo", + "fuinha", + "fujao", + "fulustreco", + "fumo", + "funileiro", + "furunculo", + "fustigar", + "futurologo", + "fuxico", + "fuzue", + "gabriel", + "gado", + "gaelico", + "gafieira", + "gaguejo", + "gaivota", + "gajo", + "galvanoplastico", + "gamo", + "ganso", + "garrucha", + "gastronomo", + "gatuno", + "gaussiano", + "gaviao", + "gaxeta", + "gazeteiro", + "gear", + "geiser", + "geminiano", + "generoso", + "genuino", + "geossinclinal", + "gerundio", + "gestual", + "getulista", + "gibi", + "gigolo", + "gilete", + "ginseng", + "giroscopio", + "glaucio", + "glacial", + "gleba", + "glifo", + "glote", + "glutonia", + "gnostico", + "goela", + "gogo", + "goitaca", + "golpista", + "gomo", + "gonzo", + "gorro", + "gostou", + "goticula", + "gourmet", + "governo", + "gozo", + "graxo", + "grevista", + "grito", + "grotesco", + "gruta", + "guaxinim", + "gude", + "gueto", + "guizo", + "guloso", + "gume", + "guru", + "gustativo", + "gustavo", + "gutural", + "habitue", + "haitiano", + "halterofilista", + "hamburguer", + "hanseniase", + "happening", + "harpista", + "hastear", + "haveres", + "hebreu", + "hectometro", + "hedonista", + "hegira", + "helena", + "helminto", + "hemorroidas", + "henrique", + "heptassilabo", + "hertziano", + "hesitar", + "heterossexual", + "heuristico", + "hexagono", + "hiato", + "hibrido", + "hidrostatico", + "hieroglifo", + "hifenizar", + "higienizar", + "hilario", + "himen", + "hino", + "hippie", + "hirsuto", + "historiografia", + "hitlerista", + "hodometro", + "hoje", + "holograma", + "homus", + "honroso", + "hoquei", + "horto", + "hostilizar", + "hotentote", + "huguenote", + "humilde", + "huno", + "hurra", + "hutu", + "iaia", + "ialorixa", + "iambico", + "iansa", + "iaque", + "iara", + "iatista", + "iberico", + "ibis", + "icar", + "iceberg", + "icosagono", + "idade", + "ideologo", + "idiotice", + "idoso", + "iemenita", + "iene", + "igarape", + "iglu", + "ignorar", + "igreja", + "iguaria", + "iidiche", + "ilativo", + "iletrado", + "ilharga", + "ilimitado", + "ilogismo", + "ilustrissimo", + "imaturo", + "imbuzeiro", + "imerso", + "imitavel", + "imovel", + "imputar", + "imutavel", + "inaveriguavel", + "incutir", + "induzir", + "inextricavel", + "infusao", + "ingua", + "inhame", + "iniquo", + "injusto", + "inning", + "inoxidavel", + "inquisitorial", + "insustentavel", + "intumescimento", + "inutilizavel", + "invulneravel", + "inzoneiro", + "iodo", + "iogurte", + "ioio", + "ionosfera", + "ioruba", + "iota", + "ipsilon", + "irascivel", + "iris", + "irlandes", + "irmaos", + "iroques", + "irrupcao", + "isca", + "isento", + "islandes", + "isotopo", + "isqueiro", + "israelita", + "isso", + "isto", + "iterbio", + "itinerario", + "itrio", + "iuane", + "iugoslavo", + "jabuticabeira", + "jacutinga", + "jade", + "jagunco", + "jainista", + "jaleco", + "jambo", + "jantarada", + "japones", + "jaqueta", + "jarro", + "jasmim", + "jato", + "jaula", + "javel", + "jazz", + "jegue", + "jeitoso", + "jejum", + "jenipapo", + "jeova", + "jequitiba", + "jersei", + "jesus", + "jetom", + "jiboia", + "jihad", + "jilo", + "jingle", + "jipe", + "jocoso", + "joelho", + "joguete", + "joio", + "jojoba", + "jorro", + "jota", + "joule", + "joviano", + "jubiloso", + "judoca", + "jugular", + "juizo", + "jujuba", + "juliano", + "jumento", + "junto", + "jururu", + "justo", + "juta", + "juventude", + "labutar", + "laguna", + "laico", + "lajota", + "lanterninha", + "lapso", + "laquear", + "lastro", + "lauto", + "lavrar", + "laxativo", + "lazer", + "leasing", + "lebre", + "lecionar", + "ledo", + "leguminoso", + "leitura", + "lele", + "lemure", + "lento", + "leonardo", + "leopardo", + "lepton", + "leque", + "leste", + "letreiro", + "leucocito", + "levitico", + "lexicologo", + "lhama", + "lhufas", + "liame", + "licoroso", + "lidocaina", + "liliputiano", + "limusine", + "linotipo", + "lipoproteina", + "liquidos", + "lirismo", + "lisura", + "liturgico", + "livros", + "lixo", + "lobulo", + "locutor", + "lodo", + "logro", + "lojista", + "lombriga", + "lontra", + "loop", + "loquaz", + "lorota", + "losango", + "lotus", + "louvor", + "luar", + "lubrificavel", + "lucros", + "lugubre", + "luis", + "luminoso", + "luneta", + "lustroso", + "luto", + "luvas", + "luxuriante", + "luzeiro", + "maduro", + "maestro", + "mafioso", + "magro", + "maiuscula", + "majoritario", + "malvisto", + "mamute", + "manutencao", + "mapoteca", + "maquinista", + "marzipa", + "masturbar", + "matuto", + "mausoleu", + "mavioso", + "maxixe", + "mazurca", + "meandro", + "mecha", + "medusa", + "mefistofelico", + "megera", + "meirinho", + "melro", + "memorizar", + "menu", + "mequetrefe", + "mertiolate", + "mestria", + "metroviario", + "mexilhao", + "mezanino", + "miau", + "microssegundo", + "midia", + "migratorio", + "mimosa", + "minuto", + "miosotis", + "mirtilo", + "misturar", + "mitzvah", + "miudos", + "mixuruca", + "mnemonico", + "moagem", + "mobilizar", + "modulo", + "moer", + "mofo", + "mogno", + "moita", + "molusco", + "monumento", + "moqueca", + "morubixaba", + "mostruario", + "motriz", + "mouse", + "movivel", + "mozarela", + "muarra", + "muculmano", + "mudo", + "mugir", + "muitos", + "mumunha", + "munir", + "muon", + "muquira", + "murros", + "musselina", + "nacoes", + "nado", + "naftalina", + "nago", + "naipe", + "naja", + "nalgum", + "namoro", + "nanquim", + "napolitano", + "naquilo", + "nascimento", + "nautilo", + "navios", + "nazista", + "nebuloso", + "nectarina", + "nefrologo", + "negus", + "nelore", + "nenufar", + "nepotismo", + "nervura", + "neste", + "netuno", + "neutron", + "nevoeiro", + "newtoniano", + "nexo", + "nhenhenhem", + "nhoque", + "nigeriano", + "niilista", + "ninho", + "niobio", + "niponico", + "niquelar", + "nirvana", + "nisto", + "nitroglicerina", + "nivoso", + "nobreza", + "nocivo", + "noel", + "nogueira", + "noivo", + "nojo", + "nominativo", + "nonuplo", + "noruegues", + "nostalgico", + "noturno", + "nouveau", + "nuanca", + "nublar", + "nucleotideo", + "nudista", + "nulo", + "numismatico", + "nunquinha", + "nupcias", + "nutritivo", + "nuvens", + "oasis", + "obcecar", + "obeso", + "obituario", + "objetos", + "oblongo", + "obnoxio", + "obrigatorio", + "obstruir", + "obtuso", + "obus", + "obvio", + "ocaso", + "occipital", + "oceanografo", + "ocioso", + "oclusivo", + "ocorrer", + "ocre", + "octogono", + "odalisca", + "odisseia", + "odorifico", + "oersted", + "oeste", + "ofertar", + "ofidio", + "oftalmologo", + "ogiva", + "ogum", + "oigale", + "oitavo", + "oitocentos", + "ojeriza", + "olaria", + "oleoso", + "olfato", + "olhos", + "oliveira", + "olmo", + "olor", + "olvidavel", + "ombudsman", + "omeleteira", + "omitir", + "omoplata", + "onanismo", + "ondular", + "oneroso", + "onomatopeico", + "ontologico", + "onus", + "onze", + "opalescente", + "opcional", + "operistico", + "opio", + "oposto", + "oprobrio", + "optometrista", + "opusculo", + "oratorio", + "orbital", + "orcar", + "orfao", + "orixa", + "orla", + "ornitologo", + "orquidea", + "ortorrombico", + "orvalho", + "osculo", + "osmotico", + "ossudo", + "ostrogodo", + "otario", + "otite", + "ouro", + "ousar", + "outubro", + "ouvir", + "ovario", + "overnight", + "oviparo", + "ovni", + "ovoviviparo", + "ovulo", + "oxala", + "oxente", + "oxiuro", + "oxossi", + "ozonizar", + "paciente", + "pactuar", + "padronizar", + "paete", + "pagodeiro", + "paixao", + "pajem", + "paludismo", + "pampas", + "panturrilha", + "papudo", + "paquistanes", + "pastoso", + "patua", + "paulo", + "pauzinhos", + "pavoroso", + "paxa", + "pazes", + "peao", + "pecuniario", + "pedunculo", + "pegaso", + "peixinho", + "pejorativo", + "pelvis", + "penuria", + "pequno", + "petunia", + "pezada", + "piauiense", + "pictorico", + "pierro", + "pigmeu", + "pijama", + "pilulas", + "pimpolho", + "pintura", + "piorar", + "pipocar", + "piqueteiro", + "pirulito", + "pistoleiro", + "pituitaria", + "pivotar", + "pixote", + "pizzaria", + "plistoceno", + "plotar", + "pluviometrico", + "pneumonico", + "poco", + "podridao", + "poetisa", + "pogrom", + "pois", + "polvorosa", + "pomposo", + "ponderado", + "pontudo", + "populoso", + "poquer", + "porvir", + "posudo", + "potro", + "pouso", + "povoar", + "prazo", + "prezar", + "privilegios", + "proximo", + "prussiano", + "pseudopode", + "psoriase", + "pterossauros", + "ptialina", + "ptolemaico", + "pudor", + "pueril", + "pufe", + "pugilista", + "puir", + "pujante", + "pulverizar", + "pumba", + "punk", + "purulento", + "pustula", + "putsch", + "puxe", + "quatrocentos", + "quetzal", + "quixotesco", + "quotizavel", + "rabujice", + "racista", + "radonio", + "rafia", + "ragu", + "rajado", + "ralo", + "rampeiro", + "ranzinza", + "raptor", + "raquitismo", + "raro", + "rasurar", + "ratoeira", + "ravioli", + "razoavel", + "reavivar", + "rebuscar", + "recusavel", + "reduzivel", + "reexposicao", + "refutavel", + "regurgitar", + "reivindicavel", + "rejuvenescimento", + "relva", + "remuneravel", + "renunciar", + "reorientar", + "repuxo", + "requisito", + "resumo", + "returno", + "reutilizar", + "revolvido", + "rezonear", + "riacho", + "ribossomo", + "ricota", + "ridiculo", + "rifle", + "rigoroso", + "rijo", + "rimel", + "rins", + "rios", + "riqueza", + "riquixa", + "rissole", + "ritualistico", + "rivalizar", + "rixa", + "robusto", + "rococo", + "rodoviario", + "roer", + "rogo", + "rojao", + "rolo", + "rompimento", + "ronronar", + "roqueiro", + "rorqual", + "rosto", + "rotundo", + "rouxinol", + "roxo", + "royal", + "ruas", + "rucula", + "rudimentos", + "ruela", + "rufo", + "rugoso", + "ruivo", + "rule", + "rumoroso", + "runico", + "ruptura", + "rural", + "rustico", + "rutilar", + "saariano", + "sabujo", + "sacudir", + "sadomasoquista", + "safra", + "sagui", + "sais", + "samurai", + "santuario", + "sapo", + "saquear", + "sartriano", + "saturno", + "saude", + "sauva", + "saveiro", + "saxofonista", + "sazonal", + "scherzo", + "script", + "seara", + "seborreia", + "secura", + "seduzir", + "sefardim", + "seguro", + "seja", + "selvas", + "sempre", + "senzala", + "sepultura", + "sequoia", + "sestercio", + "setuplo", + "seus", + "seviciar", + "sezonismo", + "shalom", + "siames", + "sibilante", + "sicrano", + "sidra", + "sifilitico", + "signos", + "silvo", + "simultaneo", + "sinusite", + "sionista", + "sirio", + "sisudo", + "situar", + "sivan", + "slide", + "slogan", + "soar", + "sobrio", + "socratico", + "sodomizar", + "soerguer", + "software", + "sogro", + "soja", + "solver", + "somente", + "sonso", + "sopro", + "soquete", + "sorveteiro", + "sossego", + "soturno", + "sousafone", + "sovinice", + "sozinho", + "suavizar", + "subverter", + "sucursal", + "sudoriparo", + "sufragio", + "sugestoes", + "suite", + "sujo", + "sultao", + "sumula", + "suntuoso", + "suor", + "supurar", + "suruba", + "susto", + "suturar", + "suvenir", + "tabuleta", + "taco", + "tadjique", + "tafeta", + "tagarelice", + "taitiano", + "talvez", + "tampouco", + "tanzaniano", + "taoista", + "tapume", + "taquion", + "tarugo", + "tascar", + "tatuar", + "tautologico", + "tavola", + "taxionomista", + "tchecoslovaco", + "teatrologo", + "tectonismo", + "tedioso", + "teflon", + "tegumento", + "teixo", + "telurio", + "temporas", + "tenue", + "teosofico", + "tepido", + "tequila", + "terrorista", + "testosterona", + "tetrico", + "teutonico", + "teve", + "texugo", + "tiara", + "tibia", + "tiete", + "tifoide", + "tigresa", + "tijolo", + "tilintar", + "timpano", + "tintureiro", + "tiquete", + "tiroteio", + "tisico", + "titulos", + "tive", + "toar", + "toboga", + "tofu", + "togoles", + "toicinho", + "tolueno", + "tomografo", + "tontura", + "toponimo", + "toquio", + "torvelinho", + "tostar", + "toto", + "touro", + "toxina", + "trazer", + "trezentos", + "trivialidade", + "trovoar", + "truta", + "tuaregue", + "tubular", + "tucano", + "tudo", + "tufo", + "tuiste", + "tulipa", + "tumultuoso", + "tunisino", + "tupiniquim", + "turvo", + "tutu", + "ucraniano", + "udenista", + "ufanista", + "ufologo", + "ugaritico", + "uiste", + "uivo", + "ulceroso", + "ulema", + "ultravioleta", + "umbilical", + "umero", + "umido", + "umlaut", + "unanimidade", + "unesco", + "ungulado", + "unheiro", + "univoco", + "untuoso", + "urano", + "urbano", + "urdir", + "uretra", + "urgente", + "urinol", + "urna", + "urologo", + "urro", + "ursulina", + "urtiga", + "urupe", + "usavel", + "usbeque", + "usei", + "usineiro", + "usurpar", + "utero", + "utilizar", + "utopico", + "uvular", + "uxoricidio", + "vacuo", + "vadio", + "vaguear", + "vaivem", + "valvula", + "vampiro", + "vantajoso", + "vaporoso", + "vaquinha", + "varziano", + "vasto", + "vaticinio", + "vaudeville", + "vazio", + "veado", + "vedico", + "veemente", + "vegetativo", + "veio", + "veja", + "veludo", + "venusiano", + "verdade", + "verve", + "vestuario", + "vetusto", + "vexatorio", + "vezes", + "viavel", + "vibratorio", + "victor", + "vicunha", + "vidros", + "vietnamita", + "vigoroso", + "vilipendiar", + "vime", + "vintem", + "violoncelo", + "viquingue", + "virus", + "visualizar", + "vituperio", + "viuvo", + "vivo", + "vizir", + "voar", + "vociferar", + "vodu", + "vogar", + "voile", + "volver", + "vomito", + "vontade", + "vortice", + "vosso", + "voto", + "vovozinha", + "voyeuse", + "vozes", + "vulva", + "vupt", + "western", + "xadrez", + "xale", + "xampu", + "xango", + "xarope", + "xaual", + "xavante", + "xaxim", + "xenonio", + "xepa", + "xerox", + "xicara", + "xifopago", + "xiita", + "xilogravura", + "xinxim", + "xistoso", + "xixi", + "xodo", + "xogum", + "xucro", + "zabumba", + "zagueiro", + "zambiano", + "zanzar", + "zarpar", + "zebu", + "zefiro", + "zeloso", + "zenite", + "zumbi" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Portuguese"; + populate_maps(); + } + }; +} + +#endif diff --git a/src/mnemonics/singleton.h b/src/mnemonics/singleton.h index 0cefba923..74cc290fc 100644 --- a/src/mnemonics/singleton.h +++ b/src/mnemonics/singleton.h @@ -1,16 +1,44 @@ -namespace Language -{ - template - class Singleton - { - Singleton() {} - Singleton(Singleton &s) {} - Singleton& operator=(const Singleton&) {} - public: - static T* instance() - { - static T* obj = new T; - return obj; - } - }; -} +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +namespace Language +{ + template + class Singleton + { + Singleton() {} + Singleton(Singleton &s) {} + Singleton& operator=(const Singleton&) {} + public: + static T* instance() + { + static T* obj = new T; + return obj; + } + }; +} diff --git a/src/mnemonics/spanish.h b/src/mnemonics/spanish.h index a735fc858..c205adc95 100644 --- a/src/mnemonics/spanish.h +++ b/src/mnemonics/spanish.h @@ -1,2074 +1,1681 @@ -#ifndef SPANISH_H -#define SPANISH_H - -#include -#include -#include "language_base.h" -#include - -namespace Language -{ - class Spanish: public Base - { - public: - Spanish() - { - word_list = new std::vector({ - "รกbaco", - "abdomen", - "abeja", - "abierto", - "abogado", - "abono", - "aborto", - "abrazo", - "abrir", - "abuelo", - "abuso", - "acabar", - "academia", - "acceso", - "acciรณn", - "aceite", - "acelga", - "acento", - "aceptar", - "รกcido", - "aclarar", - "acnรฉ", - "acoger", - "acoso", - "activo", - "acto", - "actriz", - "actuar", - "acudir", - "acuerdo", - "acusar", - "adicto", - "admitir", - "adoptar", - "adorno", - "aduana", - "adulto", - "aรฉreo", - "afectar", - "aficiรณn", - "afinar", - "afirmar", - "รกgil", - "agitar", - "agonรญa", - "agosto", - "agotar", - "agregar", - "agrio", - "agua", - "agudo", - "รกguila", - "aguja", - "ahogo", - "ahorro", - "aire", - "aislar", - "ajedrez", - "ajeno", - "ajuste", - "alacrรกn", - "alambre", - "alarma", - "alba", - "รกlbum", - "alcalde", - "aldea", - "alegre", - "alejar", - "alerta", - "aleta", - "alfiler", - "alga", - "algodรณn", - "aliado", - "aliento", - "alivio", - "alma", - "almeja", - "almรญbar", - "altar", - "alteza", - "altivo", - "alto", - "altura", - "alumno", - "alzar", - "amable", - "amante", - "amapola", - "amargo", - "amasar", - "รกmbar", - "รกmbito", - "ameno", - "amigo", - "amistad", - "amor", - "amparo", - "amplio", - "ancho", - "anciano", - "ancla", - "andar", - "andรฉn", - "anemia", - "รกngulo", - "anillo", - "รกnimo", - "anรญs", - "anotar", - "antena", - "antiguo", - "antojo", - "anual", - "anular", - "anuncio", - "aรฑadir", - "aรฑejo", - "aรฑo", - "apagar", - "aparato", - "apetito", - "apio", - "aplicar", - "apodo", - "aporte", - "apoyo", - "aprender", - "aprobar", - "apuesta", - "apuro", - "arado", - "araรฑa", - "arar", - "รกrbitro", - "รกrbol", - "arbusto", - "archivo", - "arco", - "arder", - "ardilla", - "arduo", - "รกrea", - "รกrido", - "aries", - "armonรญa", - "arnรฉs", - "aroma", - "arpa", - "arpรณn", - "arreglo", - "arroz", - "arruga", - "arte", - "artista", - "asa", - "asado", - "asalto", - "ascenso", - "asegurar", - "aseo", - "asesor", - "asiento", - "asilo", - "asistir", - "asno", - "asombro", - "รกspero", - "astilla", - "astro", - "astuto", - "asumir", - "asunto", - "atajo", - "ataque", - "atar", - "atento", - "ateo", - "รกtico", - "atleta", - "รกtomo", - "atraer", - "atroz", - "atรบn", - "audaz", - "audio", - "auge", - "aula", - "aumento", - "ausente", - "autor", - "aval", - "avance", - "avaro", - "ave", - "avellana", - "avena", - "avestruz", - "aviรณn", - "aviso", - "ayer", - "ayuda", - "ayuno", - "azafrรกn", - "azar", - "azote", - "azรบcar", - "azufre", - "azul", - "baba", - "babor", - "bache", - "bahรญa", - "baile", - "bajar", - "balanza", - "balcรณn", - "balde", - "bambรบ", - "banco", - "banda", - "baรฑo", - "barba", - "barco", - "barniz", - "barro", - "bรกscula", - "bastรณn", - "basura", - "batalla", - "baterรญa", - "batir", - "batuta", - "baรบl", - "bazar", - "bebรฉ", - "bebida", - "bello", - "besar", - "beso", - "bestia", - "bicho", - "bien", - "bingo", - "blanco", - "bloque", - "blusa", - "boa", - "bobina", - "bobo", - "boca", - "bocina", - "boda", - "bodega", - "boina", - "bola", - "bolero", - "bolsa", - "bomba", - "bondad", - "bonito", - "bono", - "bonsรกi", - "borde", - "borrar", - "bosque", - "bote", - "botรญn", - "bรณveda", - "bozal", - "bravo", - "brazo", - "brecha", - "breve", - "brillo", - "brinco", - "brisa", - "broca", - "broma", - "bronce", - "brote", - "bruja", - "brusco", - "bruto", - "buceo", - "bucle", - "bueno", - "buey", - "bufanda", - "bufรณn", - "bรบho", - "buitre", - "bulto", - "burbuja", - "burla", - "burro", - "buscar", - "butaca", - "buzรณn", - "caballo", - "cabeza", - "cabina", - "cabra", - "cacao", - "cadรกver", - "cadena", - "caer", - "cafรฉ", - "caรญda", - "caimรกn", - "caja", - "cajรณn", - "cal", - "calamar", - "calcio", - "caldo", - "calidad", - "calle", - "calma", - "calor", - "calvo", - "cama", - "cambio", - "camello", - "camino", - "campo", - "cรกncer", - "candil", - "canela", - "canguro", - "canica", - "canto", - "caรฑa", - "caรฑรณn", - "caoba", - "caos", - "capaz", - "capitรกn", - "capote", - "captar", - "capucha", - "cara", - "carbรณn", - "cรกrcel", - "careta", - "carga", - "cariรฑo", - "carne", - "carpeta", - "carro", - "carta", - "casa", - "casco", - "casero", - "caspa", - "castor", - "catorce", - "catre", - "caudal", - "causa", - "cazo", - "cebolla", - "ceder", - "cedro", - "celda", - "cรฉlebre", - "celoso", - "cรฉlula", - "cemento", - "ceniza", - "centro", - "cerca", - "cerdo", - "cereza", - "cero", - "cerrar", - "certeza", - "cรฉsped", - "cetro", - "chacal", - "chaleco", - "champรบ", - "chancla", - "chapa", - "charla", - "chico", - "chiste", - "chivo", - "choque", - "choza", - "chuleta", - "chupar", - "ciclรณn", - "ciego", - "cielo", - "cien", - "cierto", - "cifra", - "cigarro", - "cima", - "cinco", - "cine", - "cinta", - "ciprรฉs", - "circo", - "ciruela", - "cisne", - "cita", - "ciudad", - "clamor", - "clan", - "claro", - "clase", - "clave", - "cliente", - "clima", - "clรญnica", - "cobre", - "cocciรณn", - "cochino", - "cocina", - "coco", - "cรณdigo", - "codo", - "cofre", - "coger", - "cohete", - "cojรญn", - "cojo", - "cola", - "colcha", - "colegio", - "colgar", - "colina", - "collar", - "colmo", - "columna", - "combate", - "comer", - "comida", - "cรณmodo", - "compra", - "conde", - "conejo", - "conga", - "conocer", - "consejo", - "contar", - "copa", - "copia", - "corazรณn", - "corbata", - "corcho", - "cordรณn", - "corona", - "correr", - "coser", - "cosmos", - "costa", - "crรกneo", - "crรกter", - "crear", - "crecer", - "creรญdo", - "crema", - "crรญa", - "crimen", - "cripta", - "crisis", - "cromo", - "crรณnica", - "croqueta", - "crudo", - "cruz", - "cuadro", - "cuarto", - "cuatro", - "cubo", - "cubrir", - "cuchara", - "cuello", - "cuento", - "cuerda", - "cuesta", - "cueva", - "cuidar", - "culebra", - "culpa", - "culto", - "cumbre", - "cumplir", - "cuna", - "cuneta", - "cuota", - "cupรณn", - "cรบpula", - "curar", - "curioso", - "curso", - "curva", - "cutis", - "dama", - "danza", - "dar", - "dardo", - "dรกtil", - "deber", - "dรฉbil", - "dรฉcada", - "decir", - "dedo", - "defensa", - "definir", - "dejar", - "delfรญn", - "delgado", - "delito", - "demora", - "denso", - "dental", - "deporte", - "derecho", - "derrota", - "desayuno", - "deseo", - "desfile", - "desnudo", - "destino", - "desvรญo", - "detalle", - "detener", - "deuda", - "dรญa", - "diablo", - "diadema", - "diamante", - "diana", - "diario", - "dibujo", - "dictar", - "diente", - "dieta", - "diez", - "difรญcil", - "digno", - "dilema", - "diluir", - "dinero", - "directo", - "dirigir", - "disco", - "diseรฑo", - "disfraz", - "diva", - "divino", - "doble", - "doce", - "dolor", - "domingo", - "don", - "donar", - "dorado", - "dormir", - "dorso", - "dos", - "dosis", - "dragรณn", - "droga", - "ducha", - "duda", - "duelo", - "dueรฑo", - "dulce", - "dรบo", - "duque", - "durar", - "dureza", - "duro", - "รฉbano", - "ebrio", - "echar", - "eco", - "ecuador", - "edad", - "ediciรณn", - "edificio", - "editor", - "educar", - "efecto", - "eficaz", - "eje", - "ejemplo", - "elefante", - "elegir", - "elemento", - "elevar", - "elipse", - "รฉlite", - "elixir", - "elogio", - "eludir", - "embudo", - "emitir", - "emociรณn", - "empate", - "empeรฑo", - "empleo", - "empresa", - "enano", - "encargo", - "enchufe", - "encรญa", - "enemigo", - "enero", - "enfado", - "enfermo", - "engaรฑo", - "enigma", - "enlace", - "enorme", - "enredo", - "ensayo", - "enseรฑar", - "entero", - "entrar", - "envase", - "envรญo", - "รฉpoca", - "equipo", - "erizo", - "escala", - "escena", - "escolar", - "escribir", - "escudo", - "esencia", - "esfera", - "esfuerzo", - "espada", - "espejo", - "espรญa", - "esposa", - "espuma", - "esquรญ", - "estar", - "este", - "estilo", - "estufa", - "etapa", - "eterno", - "รฉtica", - "etnia", - "evadir", - "evaluar", - "evento", - "evitar", - "exacto", - "examen", - "exceso", - "excusa", - "exento", - "exigir", - "exilio", - "existir", - "รฉxito", - "experto", - "explicar", - "exponer", - "extremo", - "fรกbrica", - "fรกbula", - "fachada", - "fรกcil", - "factor", - "faena", - "faja", - "falda", - "fallo", - "falso", - "faltar", - "fama", - "familia", - "famoso", - "faraรณn", - "farmacia", - "farol", - "farsa", - "fase", - "fatiga", - "fauna", - "favor", - "fax", - "febrero", - "fecha", - "feliz", - "feo", - "feria", - "feroz", - "fรฉrtil", - "fervor", - "festรญn", - "fiable", - "fianza", - "fiar", - "fibra", - "ficciรณn", - "ficha", - "fideo", - "fiebre", - "fiel", - "fiera", - "fiesta", - "figura", - "fijar", - "fijo", - "fila", - "filete", - "filial", - "filtro", - "fin", - "finca", - "fingir", - "finito", - "firma", - "flaco", - "flauta", - "flecha", - "flor", - "flota", - "fluir", - "flujo", - "flรบor", - "fobia", - "foca", - "fogata", - "fogรณn", - "folio", - "folleto", - "fondo", - "forma", - "forro", - "fortuna", - "forzar", - "fosa", - "foto", - "fracaso", - "frรกgil", - "franja", - "frase", - "fraude", - "freรญr", - "freno", - "fresa", - "frรญo", - "frito", - "fruta", - "fuego", - "fuente", - "fuerza", - "fuga", - "fumar", - "funciรณn", - "funda", - "furgรณn", - "furia", - "fusil", - "fรบtbol", - "futuro", - "gacela", - "gafas", - "gaita", - "gajo", - "gala", - "galerรญa", - "gallo", - "gamba", - "ganar", - "gancho", - "ganga", - "ganso", - "garaje", - "garza", - "gasolina", - "gastar", - "gato", - "gavilรกn", - "gemelo", - "gemir", - "gen", - "gรฉnero", - "genio", - "gente", - "geranio", - "gerente", - "germen", - "gesto", - "gigante", - "gimnasio", - "girar", - "giro", - "glaciar", - "globo", - "gloria", - "gol", - "golfo", - "goloso", - "golpe", - "goma", - "gordo", - "gorila", - "gorra", - "gota", - "goteo", - "gozar", - "grada", - "grรกfico", - "grano", - "grasa", - "gratis", - "grave", - "grieta", - "grillo", - "gripe", - "gris", - "grito", - "grosor", - "grรบa", - "grueso", - "grumo", - "grupo", - "guante", - "guapo", - "guardia", - "guerra", - "guรญa", - "guiรฑo", - "guion", - "guiso", - "guitarra", - "gusano", - "gustar", - "haber", - "hรกbil", - "hablar", - "hacer", - "hacha", - "hada", - "hallar", - "hamaca", - "harina", - "haz", - "hazaรฑa", - "hebilla", - "hebra", - "hecho", - "helado", - "helio", - "hembra", - "herir", - "hermano", - "hรฉroe", - "hervir", - "hielo", - "hierro", - "hรญgado", - "higiene", - "hijo", - "himno", - "historia", - "hocico", - "hogar", - "hoguera", - "hoja", - "hombre", - "hongo", - "honor", - "honra", - "hora", - "hormiga", - "horno", - "hostil", - "hoyo", - "hueco", - "huelga", - "huerta", - "hueso", - "huevo", - "huida", - "huir", - "humano", - "hรบmedo", - "humilde", - "humo", - "hundir", - "huracรกn", - "hurto", - "icono", - "ideal", - "idioma", - "รญdolo", - "iglesia", - "iglรบ", - "igual", - "ilegal", - "ilusiรณn", - "imagen", - "imรกn", - "imitar", - "impar", - "imperio", - "imponer", - "impulso", - "incapaz", - "รญndice", - "inerte", - "infiel", - "informe", - "ingenio", - "inicio", - "inmenso", - "inmune", - "innato", - "insecto", - "instante", - "interรฉs", - "รญntimo", - "intuir", - "inรบtil", - "invierno", - "ira", - "iris", - "ironรญa", - "isla", - "islote", - "jabalรญ", - "jabรณn", - "jamรณn", - "jarabe", - "jardรญn", - "jarra", - "jaula", - "jazmรญn", - "jefe", - "jeringa", - "jinete", - "jornada", - "joroba", - "joven", - "joya", - "juerga", - "jueves", - "juez", - "jugador", - "jugo", - "juguete", - "juicio", - "junco", - "jungla", - "junio", - "juntar", - "jรบpiter", - "jurar", - "justo", - "juvenil", - "juzgar", - "kilo", - "koala", - "labio", - "lacio", - "lacra", - "lado", - "ladrรณn", - "lagarto", - "lรกgrima", - "laguna", - "laico", - "lamer", - "lรกmina", - "lรกmpara", - "lana", - "lancha", - "langosta", - "lanza", - "lรกpiz", - "largo", - "larva", - "lรกstima", - "lata", - "lรกtex", - "latir", - "laurel", - "lavar", - "lazo", - "leal", - "lecciรณn", - "leche", - "lector", - "leer", - "legiรณn", - "legumbre", - "lejano", - "lengua", - "lento", - "leรฑa", - "leรณn", - "leopardo", - "lesiรณn", - "letal", - "letra", - "leve", - "leyenda", - "libertad", - "libro", - "licor", - "lรญder", - "lidiar", - "lienzo", - "liga", - "ligero", - "lima", - "lรญmite", - "limรณn", - "limpio", - "lince", - "lindo", - "lรญnea", - "lingote", - "lino", - "linterna", - "lรญquido", - "liso", - "lista", - "litera", - "litio", - "litro", - "llaga", - "llama", - "llanto", - "llave", - "llegar", - "llenar", - "llevar", - "llorar", - "llover", - "lluvia", - "lobo", - "lociรณn", - "loco", - "locura", - "lรณgica", - "logro", - "lombriz", - "lomo", - "lonja", - "lote", - "lucha", - "lucir", - "lugar", - "lujo", - "luna", - "lunes", - "lupa", - "lustro", - "luto", - "luz", - "maceta", - "macho", - "madera", - "madre", - "maduro", - "maestro", - "mafia", - "magia", - "mago", - "maรญz", - "maldad", - "maleta", - "malla", - "malo", - "mamรก", - "mambo", - "mamut", - "manco", - "mando", - "manejar", - "manga", - "maniquรญ", - "manjar", - "mano", - "manso", - "manta", - "maรฑana", - "mapa", - "mรกquina", - "mar", - "marco", - "marea", - "marfil", - "margen", - "marido", - "mรกrmol", - "marrรณn", - "martes", - "marzo", - "masa", - "mรกscara", - "masivo", - "matar", - "materia", - "matiz", - "matriz", - "mรกximo", - "mayor", - "mazorca", - "mecha", - "medalla", - "medio", - "mรฉdula", - "mejilla", - "mejor", - "melena", - "melรณn", - "memoria", - "menor", - "mensaje", - "mente", - "menรบ", - "mercado", - "merengue", - "mรฉrito", - "mes", - "mesรณn", - "meta", - "meter", - "mรฉtodo", - "metro", - "mezcla", - "miedo", - "miel", - "miembro", - "miga", - "mil", - "milagro", - "militar", - "millรณn", - "mimo", - "mina", - "minero", - "mรญnimo", - "minuto", - "miope", - "mirar", - "misa", - "miseria", - "misil", - "mismo", - "mitad", - "mito", - "mochila", - "mociรณn", - "moda", - "modelo", - "moho", - "mojar", - "molde", - "moler", - "molino", - "momento", - "momia", - "monarca", - "moneda", - "monja", - "monto", - "moรฑo", - "morada", - "morder", - "moreno", - "morir", - "morro", - "morsa", - "mortal", - "mosca", - "mostrar", - "motivo", - "mover", - "mรณvil", - "mozo", - "mucho", - "mudar", - "mueble", - "muela", - "muerte", - "muestra", - "mugre", - "mujer", - "mula", - "muleta", - "multa", - "mundo", - "muรฑeca", - "mural", - "muro", - "mรบsculo", - "museo", - "musgo", - "mรบsica", - "muslo", - "nรกcar", - "naciรณn", - "nadar", - "naipe", - "naranja", - "nariz", - "narrar", - "nasal", - "natal", - "nativo", - "natural", - "nรกusea", - "naval", - "nave", - "navidad", - "necio", - "nรฉctar", - "negar", - "negocio", - "negro", - "neรณn", - "nervio", - "neto", - "neutro", - "nevar", - "nevera", - "nicho", - "nido", - "niebla", - "nieto", - "niรฑez", - "niรฑo", - "nรญtido", - "nivel", - "nobleza", - "noche", - "nรณmina", - "noria", - "norma", - "norte", - "nota", - "noticia", - "novato", - "novela", - "novio", - "nube", - "nuca", - "nรบcleo", - "nudillo", - "nudo", - "nuera", - "nueve", - "nuez", - "nulo", - "nรบmero", - "nutria", - "oasis", - "obeso", - "obispo", - "objeto", - "obra", - "obrero", - "observar", - "obtener", - "obvio", - "oca", - "ocaso", - "ocรฉano", - "ochenta", - "ocho", - "ocio", - "ocre", - "octavo", - "octubre", - "oculto", - "ocupar", - "ocurrir", - "odiar", - "odio", - "odisea", - "oeste", - "ofensa", - "oferta", - "oficio", - "ofrecer", - "ogro", - "oรญdo", - "oรญr", - "ojo", - "ola", - "oleada", - "olfato", - "olivo", - "olla", - "olmo", - "olor", - "olvido", - "ombligo", - "onda", - "onza", - "opaco", - "opciรณn", - "รณpera", - "opinar", - "oponer", - "optar", - "รณptica", - "opuesto", - "oraciรณn", - "orador", - "oral", - "รณrbita", - "orca", - "orden", - "oreja", - "รณrgano", - "orgรญa", - "orgullo", - "oriente", - "origen", - "orilla", - "oro", - "orquesta", - "oruga", - "osadรญa", - "oscuro", - "osezno", - "oso", - "ostra", - "otoรฑo", - "otro", - "oveja", - "รณvulo", - "รณxido", - "oxรญgeno", - "oyente", - "ozono", - "pacto", - "padre", - "paella", - "pรกgina", - "pago", - "paรญs", - "pรกjaro", - "palabra", - "palco", - "paleta", - "pรกlido", - "palma", - "paloma", - "palpar", - "pan", - "panal", - "pรกnico", - "pantera", - "paรฑuelo", - "papรก", - "papel", - "papilla", - "paquete", - "parar", - "parcela", - "pared", - "parir", - "paro", - "pรกrpado", - "parque", - "pรกrrafo", - "parte", - "pasar", - "paseo", - "pasiรณn", - "paso", - "pasta", - "pata", - "patio", - "patria", - "pausa", - "pauta", - "pavo", - "payaso", - "peatรณn", - "pecado", - "pecera", - "pecho", - "pedal", - "pedir", - "pegar", - "peine", - "pelar", - "peldaรฑo", - "pelea", - "peligro", - "pellejo", - "pelo", - "peluca", - "pena", - "pensar", - "peรฑรณn", - "peรณn", - "peor", - "pepino", - "pequeรฑo", - "pera", - "percha", - "perder", - "pereza", - "perfil", - "perico", - "perla", - "permiso", - "perro", - "persona", - "pesa", - "pesca", - "pรฉsimo", - "pestaรฑa", - "pรฉtalo", - "petrรณleo", - "pez", - "pezuรฑa", - "picar", - "pichรณn", - "pie", - "piedra", - "pierna", - "pieza", - "pijama", - "pilar", - "piloto", - "pimienta", - "pino", - "pintor", - "pinza", - "piรฑa", - "piojo", - "pipa", - "pirata", - "pisar", - "piscina", - "piso", - "pista", - "pitรณn", - "pizca", - "placa", - "plan", - "plata", - "playa", - "plaza", - "pleito", - "pleno", - "plomo", - "pluma", - "plural", - "pobre", - "poco", - "poder", - "podio", - "poema", - "poesรญa", - "poeta", - "polen", - "policรญa", - "pollo", - "polvo", - "pomada", - "pomelo", - "pomo", - "pompa", - "poner", - "porciรณn", - "portal", - "posada", - "poseer", - "posible", - "poste", - "potencia", - "potro", - "pozo", - "prado", - "precoz", - "pregunta", - "premio", - "prensa", - "preso", - "previo", - "primo", - "prรญncipe", - "prisiรณn", - "privar", - "proa", - "probar", - "proceso", - "producto", - "proeza", - "profesor", - "programa", - "prole", - "promesa", - "pronto", - "propio", - "prรณximo", - "prueba", - "pรบblico", - "puchero", - "pudor", - "pueblo", - "puerta", - "puesto", - "pulga", - "pulir", - "pulmรณn", - "pulpo", - "pulso", - "puma", - "punto", - "puรฑal", - "puรฑo", - "pupa", - "pupila", - "purรฉ", - "quedar", - "queja", - "quemar", - "querer", - "queso", - "quieto", - "quรญmica", - "quince", - "quitar", - "rรกbano", - "rabia", - "rabo", - "raciรณn", - "radical", - "raรญz", - "rama", - "rampa", - "rancho", - "rango", - "rapaz", - "rรกpido", - "rapto", - "rasgo", - "raspa", - "rato", - "rayo", - "raza", - "razรณn", - "reacciรณn", - "realidad", - "rebaรฑo", - "rebote", - "recaer", - "receta", - "rechazo", - "recoger", - "recreo", - "recto", - "recurso", - "red", - "redondo", - "reducir", - "reflejo", - "reforma", - "refrรกn", - "refugio", - "regalo", - "regir", - "regla", - "regreso", - "rehรฉn", - "reino", - "reรญr", - "reja", - "relato", - "relevo", - "relieve", - "relleno", - "reloj", - "remar", - "remedio", - "remo", - "rencor", - "rendir", - "renta", - "reparto", - "repetir", - "reposo", - "reptil", - "res", - "rescate", - "resina", - "respeto", - "resto", - "resumen", - "retiro", - "retorno", - "retrato", - "reunir", - "revรฉs", - "revista", - "rey", - "rezar", - "rico", - "riego", - "rienda", - "riesgo", - "rifa", - "rรญgido", - "rigor", - "rincรณn", - "riรฑรณn", - "rรญo", - "riqueza", - "risa", - "ritmo", - "rito", - "rizo", - "roble", - "roce", - "rociar", - "rodar", - "rodeo", - "rodilla", - "roer", - "rojizo", - "rojo", - "romero", - "romper", - "ron", - "ronco", - "ronda", - "ropa", - "ropero", - "rosa", - "rosca", - "rostro", - "rotar", - "rubรญ", - "rubor", - "rudo", - "rueda", - "rugir", - "ruido", - "ruina", - "ruleta", - "rulo", - "rumbo", - "rumor", - "ruptura", - "ruta", - "rutina", - "sรกbado", - "saber", - "sabio", - "sable", - "sacar", - "sagaz", - "sagrado", - "sala", - "saldo", - "salero", - "salir", - "salmรณn", - "salรณn", - "salsa", - "salto", - "salud", - "salvar", - "samba", - "sanciรณn", - "sandรญa", - "sanear", - "sangre", - "sanidad", - "sano", - "santo", - "sapo", - "saque", - "sardina", - "sartรฉn", - "sastre", - "satรกn", - "sauna", - "saxofรณn", - "secciรณn", - "seco", - "secreto", - "secta", - "sed", - "seguir", - "seis", - "sello", - "selva", - "semana", - "semilla", - "senda", - "sensor", - "seรฑal", - "seรฑor", - "separar", - "sepia", - "sequรญa", - "ser", - "serie", - "sermรณn", - "servir", - "sesenta", - "sesiรณn", - "seta", - "setenta", - "severo", - "sexo", - "sexto", - "sidra", - "siesta", - "siete", - "siglo", - "signo", - "sรญlaba", - "silbar", - "silencio", - "silla", - "sรญmbolo", - "simio", - "sirena", - "sistema", - "sitio", - "situar", - "sobre", - "socio", - "sodio", - "sol", - "solapa", - "soldado", - "soledad", - "sรณlido", - "soltar", - "soluciรณn", - "sombra", - "sondeo", - "sonido", - "sonoro", - "sonrisa", - "sopa", - "soplar", - "soporte", - "sordo", - "sorpresa", - "sorteo", - "sostรฉn", - "sรณtano", - "suave", - "subir", - "suceso", - "sudor", - "suegra", - "suelo", - "sueรฑo", - "suerte", - "sufrir", - "sujeto", - "sultรกn", - "sumar", - "superar", - "suplir", - "suponer", - "supremo", - "sur", - "surco", - "sureรฑo", - "surgir", - "susto", - "sutil", - "tabaco", - "tabique", - "tabla", - "tabรบ", - "taco", - "tacto", - "tajo", - "talar", - "talco", - "talento", - "talla", - "talรณn", - "tamaรฑo", - "tambor", - "tango", - "tanque", - "tapa", - "tapete", - "tapia", - "tapรณn", - "taquilla", - "tarde", - "tarea", - "tarifa", - "tarjeta", - "tarot", - "tarro", - "tarta", - "tatuaje", - "tauro", - "taza", - "tazรณn", - "teatro", - "techo", - "tecla", - "tรฉcnica", - "tejado", - "tejer", - "tejido", - "tela", - "telรฉfono", - "tema", - "temor", - "templo", - "tenaz", - "tender", - "tener", - "tenis", - "tenso", - "teorรญa", - "terapia", - "terco", - "tรฉrmino", - "ternura", - "terror", - "tesis", - "tesoro", - "testigo", - "tetera", - "texto", - "tez", - "tibio", - "tiburรณn", - "tiempo", - "tienda", - "tierra", - "tieso", - "tigre", - "tijera", - "tilde", - "timbre", - "tรญmido", - "timo", - "tinta", - "tรญo", - "tรญpico", - "tipo", - "tira", - "tirรณn", - "titรกn", - "tรญtere", - "tรญtulo", - "tiza", - "toalla", - "tobillo", - "tocar", - "tocino", - "todo", - "toga", - "toldo", - "tomar", - "tono", - "tonto", - "topar", - "tope", - "toque", - "tรณrax", - "torero", - "tormenta", - "torneo", - "toro", - "torpedo", - "torre", - "torso", - "tortuga", - "tos", - "tosco", - "toser", - "tรณxico", - "trabajo", - "tractor", - "traer", - "trรกfico", - "trago", - "traje", - "tramo", - "trance", - "trato", - "trauma", - "trazar", - "trรฉbol", - "tregua", - "treinta", - "tren", - "trepar", - "tres", - "tribu", - "trigo", - "tripa", - "triste", - "triunfo", - "trofeo", - "trompa", - "tronco", - "tropa", - "trote", - "trozo", - "truco", - "trueno", - "trufa", - "tuberรญa", - "tubo", - "tuerto", - "tumba", - "tumor", - "tรบnel", - "tรบnica", - "turbina", - "turismo", - "turno", - "tutor", - "ubicar", - "รบlcera", - "umbral", - "unidad", - "unir", - "universo", - "uno", - "untar", - "uรฑa", - "urbano", - "urbe", - "urgente", - "urna", - "usar", - "usuario", - "รบtil", - "utopรญa", - "uva", - "vaca", - "vacรญo", - "vacuna", - "vagar", - "vago", - "vaina", - "vajilla", - "vale", - "vรกlido", - "valle", - "valor", - "vรกlvula", - "vampiro", - "vara", - "variar", - "varรณn", - "vaso", - "vecino", - "vector", - "vehรญculo", - "veinte", - "vejez", - "vela", - "velero", - "veloz", - "vena", - "vencer", - "venda", - "veneno", - "vengar", - "venir", - "venta", - "venus", - "ver", - "verano", - "verbo", - "verde", - "vereda", - "verja", - "verso", - "verter", - "vรญa", - "viaje", - "vibrar", - "vicio", - "vรญctima", - "vida", - "vรญdeo", - "vidrio", - "viejo", - "viernes", - "vigor", - "vil", - "villa", - "vinagre", - "vino", - "viรฑedo", - "violรญn", - "viral", - "virgo", - "virtud", - "visor", - "vรญspera", - "vista", - "vitamina", - "viudo", - "vivaz", - "vivero", - "vivir", - "vivo", - "volcรกn", - "volumen", - "volver", - "voraz", - "votar", - "voto", - "voz", - "vuelo", - "vulgar", - "yacer", - "yate", - "yegua", - "yema", - "yerno", - "yeso", - "yodo", - "yoga", - "yogur", - "zafiro", - "zanja", - "zapato", - "zarza", - "zona", - "zorro", - "zumo", - "zurdo" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "Spanish"; - populate_maps(); - } - }; -} - +// Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef SPANISH_H +#define SPANISH_H + +#include +#include +#include "language_base.h" +#include + +namespace Language +{ + class Spanish: public Base + { + public: + Spanish() + { + word_list = new std::vector({ + "รกbaco", + "abdomen", + "abeja", + "abierto", + "abogado", + "abono", + "aborto", + "abrazo", + "abrir", + "abuelo", + "abuso", + "acabar", + "academia", + "acceso", + "acciรณn", + "aceite", + "acelga", + "acento", + "aceptar", + "รกcido", + "aclarar", + "acnรฉ", + "acoger", + "acoso", + "activo", + "acto", + "actriz", + "actuar", + "acudir", + "acuerdo", + "acusar", + "adicto", + "admitir", + "adoptar", + "adorno", + "aduana", + "adulto", + "aรฉreo", + "afectar", + "aficiรณn", + "afinar", + "afirmar", + "รกgil", + "agitar", + "agonรญa", + "agosto", + "agotar", + "agregar", + "agrio", + "agua", + "agudo", + "รกguila", + "aguja", + "ahogo", + "ahorro", + "aire", + "aislar", + "ajedrez", + "ajeno", + "ajuste", + "alacrรกn", + "alambre", + "alarma", + "alba", + "รกlbum", + "alcalde", + "aldea", + "alegre", + "alejar", + "alerta", + "aleta", + "alfiler", + "alga", + "algodรณn", + "aliado", + "aliento", + "alivio", + "alma", + "almeja", + "almรญbar", + "altar", + "alteza", + "altivo", + "alto", + "altura", + "alumno", + "alzar", + "amable", + "amante", + "amapola", + "amargo", + "amasar", + "รกmbar", + "รกmbito", + "ameno", + "amigo", + "amistad", + "amor", + "amparo", + "amplio", + "ancho", + "anciano", + "ancla", + "andar", + "andรฉn", + "anemia", + "รกngulo", + "anillo", + "รกnimo", + "anรญs", + "anotar", + "antena", + "antiguo", + "antojo", + "anual", + "anular", + "anuncio", + "aรฑadir", + "aรฑejo", + "aรฑo", + "apagar", + "aparato", + "apetito", + "apio", + "aplicar", + "apodo", + "aporte", + "apoyo", + "aprender", + "aprobar", + "apuesta", + "apuro", + "arado", + "araรฑa", + "arar", + "รกrbitro", + "รกrbol", + "arbusto", + "archivo", + "arco", + "arder", + "ardilla", + "arduo", + "รกrea", + "รกrido", + "aries", + "armonรญa", + "arnรฉs", + "aroma", + "arpa", + "arpรณn", + "arreglo", + "arroz", + "arruga", + "arte", + "artista", + "asa", + "asado", + "asalto", + "ascenso", + "asegurar", + "aseo", + "asesor", + "asiento", + "asilo", + "asistir", + "asno", + "asombro", + "รกspero", + "astilla", + "astro", + "astuto", + "asumir", + "asunto", + "atajo", + "ataque", + "atar", + "atento", + "ateo", + "รกtico", + "atleta", + "รกtomo", + "atraer", + "atroz", + "atรบn", + "audaz", + "audio", + "auge", + "aula", + "aumento", + "ausente", + "autor", + "aval", + "avance", + "avaro", + "ave", + "avellana", + "avena", + "avestruz", + "aviรณn", + "aviso", + "ayer", + "ayuda", + "ayuno", + "azafrรกn", + "azar", + "azote", + "azรบcar", + "azufre", + "azul", + "baba", + "babor", + "bache", + "bahรญa", + "baile", + "bajar", + "balanza", + "balcรณn", + "balde", + "bambรบ", + "banco", + "banda", + "baรฑo", + "barba", + "barco", + "barniz", + "barro", + "bรกscula", + "bastรณn", + "basura", + "batalla", + "baterรญa", + "batir", + "batuta", + "baรบl", + "bazar", + "bebรฉ", + "bebida", + "bello", + "besar", + "beso", + "bestia", + "bicho", + "bien", + "bingo", + "blanco", + "bloque", + "blusa", + "boa", + "bobina", + "bobo", + "boca", + "bocina", + "boda", + "bodega", + "boina", + "bola", + "bolero", + "bolsa", + "bomba", + "bondad", + "bonito", + "bono", + "bonsรกi", + "borde", + "borrar", + "bosque", + "bote", + "botรญn", + "bรณveda", + "bozal", + "bravo", + "brazo", + "brecha", + "breve", + "brillo", + "brinco", + "brisa", + "broca", + "broma", + "bronce", + "brote", + "bruja", + "brusco", + "bruto", + "buceo", + "bucle", + "bueno", + "buey", + "bufanda", + "bufรณn", + "bรบho", + "buitre", + "bulto", + "burbuja", + "burla", + "burro", + "buscar", + "butaca", + "buzรณn", + "caballo", + "cabeza", + "cabina", + "cabra", + "cacao", + "cadรกver", + "cadena", + "caer", + "cafรฉ", + "caรญda", + "caimรกn", + "caja", + "cajรณn", + "cal", + "calamar", + "calcio", + "caldo", + "calidad", + "calle", + "calma", + "calor", + "calvo", + "cama", + "cambio", + "camello", + "camino", + "campo", + "cรกncer", + "candil", + "canela", + "canguro", + "canica", + "canto", + "caรฑa", + "caรฑรณn", + "caoba", + "caos", + "capaz", + "capitรกn", + "capote", + "captar", + "capucha", + "cara", + "carbรณn", + "cรกrcel", + "careta", + "carga", + "cariรฑo", + "carne", + "carpeta", + "carro", + "carta", + "casa", + "casco", + "casero", + "caspa", + "castor", + "catorce", + "catre", + "caudal", + "causa", + "cazo", + "cebolla", + "ceder", + "cedro", + "celda", + "cรฉlebre", + "celoso", + "cรฉlula", + "cemento", + "ceniza", + "centro", + "cerca", + "cerdo", + "cereza", + "cero", + "cerrar", + "certeza", + "cรฉsped", + "cetro", + "chacal", + "chaleco", + "champรบ", + "chancla", + "chapa", + "charla", + "chico", + "chiste", + "chivo", + "choque", + "choza", + "chuleta", + "chupar", + "ciclรณn", + "ciego", + "cielo", + "cien", + "cierto", + "cifra", + "cigarro", + "cima", + "cinco", + "cine", + "cinta", + "ciprรฉs", + "circo", + "ciruela", + "cisne", + "cita", + "ciudad", + "clamor", + "clan", + "claro", + "clase", + "clave", + "cliente", + "clima", + "clรญnica", + "cobre", + "cocciรณn", + "cochino", + "cocina", + "coco", + "cรณdigo", + "codo", + "cofre", + "coger", + "cohete", + "cojรญn", + "cojo", + "cola", + "colcha", + "colegio", + "colgar", + "colina", + "collar", + "colmo", + "columna", + "combate", + "comer", + "comida", + "cรณmodo", + "compra", + "conde", + "conejo", + "conga", + "conocer", + "consejo", + "contar", + "copa", + "copia", + "corazรณn", + "corbata", + "corcho", + "cordรณn", + "corona", + "correr", + "coser", + "cosmos", + "costa", + "crรกneo", + "crรกter", + "crear", + "crecer", + "creรญdo", + "crema", + "crรญa", + "crimen", + "cripta", + "crisis", + "cromo", + "crรณnica", + "croqueta", + "crudo", + "cruz", + "cuadro", + "cuarto", + "cuatro", + "cubo", + "cubrir", + "cuchara", + "cuello", + "cuento", + "cuerda", + "cuesta", + "cueva", + "cuidar", + "culebra", + "culpa", + "culto", + "cumbre", + "cumplir", + "cuna", + "cuneta", + "cuota", + "cupรณn", + "cรบpula", + "curar", + "curioso", + "curso", + "curva", + "cutis", + "dama", + "danza", + "dar", + "dardo", + "dรกtil", + "deber", + "dรฉbil", + "dรฉcada", + "decir", + "dedo", + "defensa", + "definir", + "dejar", + "delfรญn", + "delgado", + "delito", + "demora", + "denso", + "dental", + "deporte", + "derecho", + "derrota", + "desayuno", + "deseo", + "desfile", + "desnudo", + "destino", + "desvรญo", + "detalle", + "detener", + "deuda", + "dรญa", + "diablo", + "diadema", + "diamante", + "diana", + "diario", + "dibujo", + "dictar", + "diente", + "dieta", + "diez", + "difรญcil", + "digno", + "dilema", + "diluir", + "dinero", + "directo", + "dirigir", + "disco", + "diseรฑo", + "disfraz", + "diva", + "divino", + "doble", + "doce", + "dolor", + "domingo", + "don", + "donar", + "dorado", + "dormir", + "dorso", + "dos", + "dosis", + "dragรณn", + "droga", + "ducha", + "duda", + "duelo", + "dueรฑo", + "dulce", + "dรบo", + "duque", + "durar", + "dureza", + "duro", + "รฉbano", + "ebrio", + "echar", + "eco", + "ecuador", + "edad", + "ediciรณn", + "edificio", + "editor", + "educar", + "efecto", + "eficaz", + "eje", + "ejemplo", + "elefante", + "elegir", + "elemento", + "elevar", + "elipse", + "รฉlite", + "elixir", + "elogio", + "eludir", + "embudo", + "emitir", + "emociรณn", + "empate", + "empeรฑo", + "empleo", + "empresa", + "enano", + "encargo", + "enchufe", + "encรญa", + "enemigo", + "enero", + "enfado", + "enfermo", + "engaรฑo", + "enigma", + "enlace", + "enorme", + "enredo", + "ensayo", + "enseรฑar", + "entero", + "entrar", + "envase", + "envรญo", + "รฉpoca", + "equipo", + "erizo", + "escala", + "escena", + "escolar", + "escribir", + "escudo", + "esencia", + "esfera", + "esfuerzo", + "espada", + "espejo", + "espรญa", + "esposa", + "espuma", + "esquรญ", + "estar", + "este", + "estilo", + "estufa", + "etapa", + "eterno", + "รฉtica", + "etnia", + "evadir", + "evaluar", + "evento", + "evitar", + "exacto", + "examen", + "exceso", + "excusa", + "exento", + "exigir", + "exilio", + "existir", + "รฉxito", + "experto", + "explicar", + "exponer", + "extremo", + "fรกbrica", + "fรกbula", + "fachada", + "fรกcil", + "factor", + "faena", + "faja", + "falda", + "fallo", + "falso", + "faltar", + "fama", + "familia", + "famoso", + "faraรณn", + "farmacia", + "farol", + "farsa", + "fase", + "fatiga", + "fauna", + "favor", + "fax", + "febrero", + "fecha", + "feliz", + "feo", + "feria", + "feroz", + "fรฉrtil", + "fervor", + "festรญn", + "fiable", + "fianza", + "fiar", + "fibra", + "ficciรณn", + "ficha", + "fideo", + "fiebre", + "fiel", + "fiera", + "fiesta", + "figura", + "fijar", + "fijo", + "fila", + "filete", + "filial", + "filtro", + "fin", + "finca", + "fingir", + "finito", + "firma", + "flaco", + "flauta", + "flecha", + "flor", + "flota", + "fluir", + "flujo", + "flรบor", + "fobia", + "foca", + "fogata", + "fogรณn", + "folio", + "folleto", + "fondo", + "forma", + "forro", + "fortuna", + "forzar", + "fosa", + "foto", + "fracaso", + "frรกgil", + "franja", + "frase", + "fraude", + "freรญr", + "freno", + "fresa", + "frรญo", + "frito", + "fruta", + "fuego", + "fuente", + "fuerza", + "fuga", + "fumar", + "funciรณn", + "funda", + "furgรณn", + "furia", + "fusil", + "fรบtbol", + "futuro", + "gacela", + "gafas", + "gaita", + "gajo", + "gala", + "galerรญa", + "gallo", + "gamba", + "ganar", + "gancho", + "ganga", + "ganso", + "garaje", + "garza", + "gasolina", + "gastar", + "gato", + "gavilรกn", + "gemelo", + "gemir", + "gen", + "gรฉnero", + "genio", + "gente", + "geranio", + "gerente", + "germen", + "gesto", + "gigante", + "gimnasio", + "girar", + "giro", + "glaciar", + "globo", + "gloria", + "gol", + "golfo", + "goloso", + "golpe", + "goma", + "gordo", + "gorila", + "gorra", + "gota", + "goteo", + "gozar", + "grada", + "grรกfico", + "grano", + "grasa", + "gratis", + "grave", + "grieta", + "grillo", + "gripe", + "gris", + "grito", + "grosor", + "grรบa", + "grueso", + "grumo", + "grupo", + "guante", + "guapo", + "guardia", + "guerra", + "guรญa", + "guiรฑo", + "guion", + "guiso", + "guitarra", + "gusano", + "gustar", + "haber", + "hรกbil", + "hablar", + "hacer", + "hacha", + "hada", + "hallar", + "hamaca", + "harina", + "haz", + "hazaรฑa", + "hebilla", + "hebra", + "hecho", + "helado", + "helio", + "hembra", + "herir", + "hermano", + "hรฉroe", + "hervir", + "hielo", + "hierro", + "hรญgado", + "higiene", + "hijo", + "himno", + "historia", + "hocico", + "hogar", + "hoguera", + "hoja", + "hombre", + "hongo", + "honor", + "honra", + "hora", + "hormiga", + "horno", + "hostil", + "hoyo", + "hueco", + "huelga", + "huerta", + "hueso", + "huevo", + "huida", + "huir", + "humano", + "hรบmedo", + "humilde", + "humo", + "hundir", + "huracรกn", + "hurto", + "icono", + "ideal", + "idioma", + "รญdolo", + "iglesia", + "iglรบ", + "igual", + "ilegal", + "ilusiรณn", + "imagen", + "imรกn", + "imitar", + "impar", + "imperio", + "imponer", + "impulso", + "incapaz", + "รญndice", + "inerte", + "infiel", + "informe", + "ingenio", + "inicio", + "inmenso", + "inmune", + "innato", + "insecto", + "instante", + "interรฉs", + "รญntimo", + "intuir", + "inรบtil", + "invierno", + "ira", + "iris", + "ironรญa", + "isla", + "islote", + "jabalรญ", + "jabรณn", + "jamรณn", + "jarabe", + "jardรญn", + "jarra", + "jaula", + "jazmรญn", + "jefe", + "jeringa", + "jinete", + "jornada", + "joroba", + "joven", + "joya", + "juerga", + "jueves", + "juez", + "jugador", + "jugo", + "juguete", + "juicio", + "junco", + "jungla", + "junio", + "juntar", + "jรบpiter", + "jurar", + "justo", + "juvenil", + "juzgar", + "kilo", + "koala", + "labio", + "lacio", + "lacra", + "lado", + "ladrรณn", + "lagarto", + "lรกgrima", + "laguna", + "laico", + "lamer", + "lรกmina", + "lรกmpara", + "lana", + "lancha", + "langosta", + "lanza", + "lรกpiz", + "largo", + "larva", + "lรกstima", + "lata", + "lรกtex", + "latir", + "laurel", + "lavar", + "lazo", + "leal", + "lecciรณn", + "leche", + "lector", + "leer", + "legiรณn", + "legumbre", + "lejano", + "lengua", + "lento", + "leรฑa", + "leรณn", + "leopardo", + "lesiรณn", + "letal", + "letra", + "leve", + "leyenda", + "libertad", + "libro", + "licor", + "lรญder", + "lidiar", + "lienzo", + "liga", + "ligero", + "lima", + "lรญmite", + "limรณn", + "limpio", + "lince", + "lindo", + "lรญnea", + "lingote", + "lino", + "linterna", + "lรญquido", + "liso", + "lista", + "litera", + "litio", + "litro", + "llaga", + "llama", + "llanto", + "llave", + "llegar", + "llenar", + "llevar", + "llorar", + "llover", + "lluvia", + "lobo", + "lociรณn", + "loco", + "locura", + "lรณgica", + "logro", + "lombriz", + "lomo", + "lonja", + "lote", + "lucha", + "lucir", + "lugar", + "lujo", + "luna", + "lunes", + "lupa", + "lustro", + "luto", + "luz", + "maceta", + "macho", + "madera", + "madre", + "maduro", + "maestro", + "mafia", + "magia", + "mago", + "maรญz", + "maldad", + "maleta", + "malla", + "malo", + "mamรก", + "mambo", + "mamut", + "manco", + "mando", + "manejar", + "manga", + "maniquรญ", + "manjar", + "mano", + "manso", + "manta", + "maรฑana", + "mapa", + "mรกquina", + "mar", + "marco", + "marea", + "marfil", + "margen", + "marido", + "mรกrmol", + "marrรณn", + "martes", + "marzo", + "masa", + "mรกscara", + "masivo", + "matar", + "materia", + "matiz", + "matriz", + "mรกximo", + "mayor", + "mazorca", + "mecha", + "medalla", + "medio", + "mรฉdula", + "mejilla", + "mejor", + "melena", + "melรณn", + "memoria", + "menor", + "mensaje", + "mente", + "menรบ", + "mercado", + "merengue", + "mรฉrito", + "mes", + "mesรณn", + "meta", + "meter", + "mรฉtodo", + "metro", + "mezcla", + "miedo", + "miel", + "miembro", + "miga", + "mil", + "milagro", + "militar", + "millรณn", + "mimo", + "mina", + "minero", + "mรญnimo", + "minuto", + "miope", + "mirar", + "misa", + "miseria", + "misil", + "mismo", + "mitad", + "mito", + "mochila", + "mociรณn", + "moda", + "modelo", + "moho", + "mojar", + "molde", + "moler", + "molino", + "momento", + "momia", + "monarca", + "moneda", + "monja", + "monto", + "moรฑo", + "morada", + "morder", + "moreno", + "morir", + "morro", + "morsa", + "mortal", + "mosca", + "mostrar", + "motivo", + "mover", + "mรณvil", + "mozo", + "mucho", + "mudar", + "mueble", + "muela", + "muerte", + "muestra", + "mugre", + "mujer", + "mula", + "muleta", + "multa", + "mundo", + "muรฑeca", + "mural", + "muro", + "mรบsculo", + "museo", + "musgo", + "mรบsica", + "muslo", + "nรกcar", + "naciรณn", + "nadar", + "naipe", + "naranja", + "nariz", + "narrar", + "nasal", + "natal", + "nativo", + "natural", + "nรกusea", + "naval", + "nave", + "navidad", + "necio", + "nรฉctar", + "negar", + "negocio", + "negro", + "neรณn", + "nervio", + "neto", + "neutro", + "nevar", + "nevera", + "nicho", + "nido", + "niebla", + "nieto", + "niรฑez", + "niรฑo", + "nรญtido", + "nivel", + "nobleza", + "noche", + "nรณmina", + "noria", + "norma", + "norte", + "nota", + "noticia", + "novato", + "novela", + "novio", + "nube", + "nuca", + "nรบcleo", + "nudillo", + "nudo", + "nuera", + "nueve", + "nuez", + "nulo", + "nรบmero", + "nutria", + "oasis", + "obeso", + "obispo", + "objeto", + "obra", + "obrero", + "observar", + "obtener", + "obvio", + "oca", + "ocaso", + "ocรฉano", + "ochenta", + "ocho", + "ocio", + "ocre", + "octavo", + "octubre", + "oculto", + "ocupar", + "ocurrir", + "odiar", + "odio", + "odisea", + "oeste", + "ofensa", + "oferta", + "oficio", + "ofrecer", + "ogro", + "oรญdo", + "oรญr", + "ojo", + "ola", + "oleada", + "olfato", + "olivo", + "olla", + "olmo", + "olor", + "olvido", + "ombligo", + "onda", + "onza", + "opaco", + "opciรณn", + "รณpera", + "opinar", + "oponer", + "optar", + "รณptica", + "opuesto", + "oraciรณn", + "orador", + "oral", + "รณrbita", + "orca", + "orden", + "oreja", + "รณrgano", + "orgรญa", + "orgullo", + "oriente", + "origen", + "orilla", + "oro", + "orquesta", + "oruga", + "osadรญa", + "oscuro", + "osezno", + "oso", + "ostra", + "otoรฑo", + "otro", + "oveja", + "รณvulo", + "รณxido", + "oxรญgeno", + "oyente", + "ozono", + "pacto", + "padre", + "paella", + "pรกgina", + "pago", + "paรญs", + "pรกjaro", + "palabra", + "palco", + "paleta", + "pรกlido", + "palma", + "paloma", + "palpar", + "pan", + "panal", + "pรกnico", + "pantera", + "paรฑuelo", + "papรก", + "papel", + "papilla", + "paquete", + "parar", + "parcela", + "pared", + "parir", + "paro", + "pรกrpado", + "parque", + "pรกrrafo", + "parte", + "pasar", + "paseo", + "pasiรณn", + "paso", + "pasta", + "pata", + "patio", + "patria", + "pausa", + "pauta", + "pavo", + "payaso", + "peatรณn", + "pecado", + "pecera", + "pecho", + "pedal", + "pedir", + "pegar", + "peine", + "pelar", + "peldaรฑo", + "pelea", + "peligro", + "pellejo", + "pelo", + "peluca", + "pena", + "pensar", + "peรฑรณn", + "peรณn", + "peor", + "pepino", + "pequeรฑo", + "pera", + "percha", + "perder", + "pereza", + "perfil", + "perico", + "perla", + "permiso", + "perro", + "persona", + "pesa", + "pesca", + "pรฉsimo", + "pestaรฑa", + "pรฉtalo", + "petrรณleo", + "pez", + "pezuรฑa", + "picar", + "pichรณn", + "pie", + "piedra", + "pierna", + "pieza", + "pijama", + "pilar", + "piloto", + "pimienta", + "pino", + "pintor", + "pinza", + "piรฑa", + "piojo", + "pipa", + "pirata", + "pisar", + "piscina", + "piso", + "pista", + "pitรณn", + "pizca", + "placa", + "plan", + "plata", + "playa", + "plaza", + "pleito", + "pleno", + "plomo", + "pluma", + "plural", + "pobre", + "poco", + "poder", + "podio", + "poema", + "poesรญa", + "poeta", + "polen", + "policรญa", + "pollo", + "polvo", + "pomada", + "pomelo", + "pomo", + "pompa", + "poner", + "porciรณn", + "portal", + "posada", + "poseer", + "posible", + "poste", + "potencia", + "potro", + "pozo", + "prado", + "precoz", + "pregunta", + "premio", + "prensa", + "preso", + "previo", + "primo", + "prรญncipe", + "prisiรณn", + "privar", + "proa", + "probar", + "proceso", + "producto", + "proeza", + "profesor", + "programa", + "prole", + "promesa", + "pronto", + "propio", + "prรณximo", + "prueba", + "pรบblico", + "puchero", + "pudor", + "pueblo", + "puerta", + "puesto", + "pulga", + "pulir", + "pulmรณn", + "pulpo", + "pulso", + "puma", + "punto", + "puรฑal", + "puรฑo", + "pupa", + "pupila", + "purรฉ", + "quedar", + "queja", + "quemar", + "querer", + "queso", + "quieto", + "quรญmica", + "quince", + "quitar", + "rรกbano", + "rabia", + "rabo", + "raciรณn", + "radical", + "raรญz", + "rama", + "rampa", + "rancho", + "rango", + "rapaz", + "rรกpido", + "rapto", + "rasgo", + "raspa", + "rato", + "rayo", + "raza", + "razรณn", + "reacciรณn", + "realidad", + "rebaรฑo", + "rebote", + "recaer", + "receta", + "rechazo", + "recoger", + "recreo", + "recto", + "recurso", + "red", + "redondo", + "reducir", + "reflejo", + "reforma", + "refrรกn", + "refugio", + "regalo", + "regir", + "regla", + "regreso", + "rehรฉn", + "reino", + "reรญr", + "reja", + "relato", + "relevo", + "relieve", + "relleno", + "reloj", + "remar", + "remedio", + "remo", + "rencor", + "rendir", + "renta", + "reparto", + "repetir", + "reposo", + "reptil", + "res", + "rescate", + "resina", + "respeto", + "resto", + "resumen", + "retiro", + "retorno", + "retrato", + "reunir", + "revรฉs", + "revista", + "rey", + "rezar", + "rico", + "riego", + "rienda", + "riesgo", + "rifa", + "rรญgido", + "rigor", + "rincรณn", + "riรฑรณn", + "rรญo", + "riqueza", + "risa", + "ritmo", + "rito" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Spanish"; + populate_maps(); + } + }; +} + #endif \ No newline at end of file -- cgit v1.2.3 From d683c8c724b59b2e8d01dcb45698c44b08186813 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Thu, 2 Oct 2014 21:35:27 +0530 Subject: Use reference types on LHS when using language methods --- src/mnemonics/electrum-words.cpp | 10 ++++----- src/mnemonics/electrum-words.h | 2 +- src/mnemonics/english.h | 10 +++++++++ src/mnemonics/japanese.h | 10 +++++++++ src/mnemonics/language_base.h | 48 ++++++++++++++++++++++++++++++++++------ src/mnemonics/old_english.h | 10 +++++++++ src/mnemonics/portuguese.h | 10 +++++++++ src/mnemonics/singleton.h | 18 +++++++++++++++ src/mnemonics/spanish.h | 10 +++++++++ 9 files changed, 114 insertions(+), 14 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index e644e0cbf..053941194 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -95,14 +95,13 @@ namespace it->substr(0, Language::unique_prefix_length) : *it); } } - std::unordered_map word_map; - std::unordered_map trimmed_word_map; + // Iterate through all the languages and find a match for (std::vector::iterator it1 = language_instances.begin(); it1 != language_instances.end(); it1++) { - word_map = (*it1)->get_word_map(); - trimmed_word_map = (*it1)->get_trimmed_word_map(); + std::unordered_map &word_map = (*it1)->get_word_map(); + std::unordered_map &trimmed_word_map = (*it1)->get_trimmed_word_map(); // To iterate through seed words std::vector::const_iterator it2; // To iterate through trimmed seed words @@ -285,7 +284,6 @@ namespace crypto if (sizeof(src.data) % 4 != 0 || sizeof(src.data) == 0) return false; - std::vector word_list; Language::Base *language; if (language_name == "English") { @@ -307,7 +305,7 @@ namespace crypto { return false; } - word_list = language->get_word_list(); + std::vector &word_list = language->get_word_list(); // To store the words for random access to add the checksum word later. std::vector words_store; diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index 1535fff1b..3be4b1ccc 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -81,7 +81,7 @@ namespace crypto /*! * \brief Gets a list of seed languages that are supported. - * \param languages The vector is set to the list of languages. + * \param languages A vector is set to the list of languages. */ void get_language_list(std::vector &languages); diff --git a/src/mnemonics/english.h b/src/mnemonics/english.h index ee2e248d9..e596f7b03 100644 --- a/src/mnemonics/english.h +++ b/src/mnemonics/english.h @@ -27,6 +27,12 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/*! + * \file english.h + * + * \brief English word list and map. + */ + #ifndef ENGLISH_H #define ENGLISH_H @@ -35,6 +41,10 @@ #include "language_base.h" #include +/*! + * \namespace Language + * \brief Mnemonic language related namespace. + */ namespace Language { class English: public Base diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h index 1c53a808e..2e77aa257 100644 --- a/src/mnemonics/japanese.h +++ b/src/mnemonics/japanese.h @@ -27,6 +27,12 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/*! + * \file japanese.h + * + * \brief Japanese word list and map. + */ + #ifndef JAPANESE_H #define JAPANESE_H @@ -35,6 +41,10 @@ #include "language_base.h" #include +/*! + * \namespace Language + * \brief Mnemonic language related namespace. + */ namespace Language { class Japanese: public Base diff --git a/src/mnemonics/language_base.h b/src/mnemonics/language_base.h index b8b6a162f..1d08095d7 100644 --- a/src/mnemonics/language_base.h +++ b/src/mnemonics/language_base.h @@ -1,3 +1,9 @@ +/*! + * \file language_base.h + * + * \brief Language Base class for Polymorphism. + */ + #ifndef LANGUAGE_BASE_H #define LANGUAGE_BASE_H @@ -5,16 +11,28 @@ #include #include +/*! + * \namespace Language + * \brief Mnemonic language related namespace. + */ namespace Language { - const int unique_prefix_length = 4; + const int unique_prefix_length = 4; /*!< Length of the prefix of all words guaranteed to be unique */ + /*! + * \class Base + * \brief A base language class which all languages have to inherit from for + * Polymorphism. + */ class Base { protected: - std::vector *word_list; - std::unordered_map *word_map; - std::unordered_map *trimmed_word_map; - std::string language_name; + std::vector *word_list; /*!< A pointer to the array of words */ + std::unordered_map *word_map; /*!< hash table to find word's index */ + std::unordered_map *trimmed_word_map; /*!< hash table to find word's trimmed index */ + std::string language_name; /*!< Name of language */ + /*! + * \brief Populates the word maps after the list is ready. + */ void populate_maps() { int ii; @@ -22,9 +40,9 @@ namespace Language for (it = word_list->begin(), ii = 0; it != word_list->end(); it++, ii++) { (*word_map)[*it] = ii; - if (it->length() > 4) + if (it->length() > unique_prefix_length) { - (*trimmed_word_map)[it->substr(0, 4)] = ii; + (*trimmed_word_map)[it->substr(0, unique_prefix_length)] = ii; } else { @@ -39,18 +57,34 @@ namespace Language word_map = new std::unordered_map; trimmed_word_map = new std::unordered_map; } + /*! + * \brief Returns a pointer to the word list. + * \return A pointer to the word list. + */ const std::vector& get_word_list() const { return *word_list; } + /*! + * \brief Returns a pointer to the word map. + * \return A pointer to the word map. + */ const std::unordered_map& get_word_map() const { return *word_map; } + /*! + * \brief Returns a pointer to the trimmed word map. + * \return A pointer to the trimmed word map. + */ const std::unordered_map& get_trimmed_word_map() const { return *trimmed_word_map; } + /*! + * \brief Returns the name of the language. + * \return Name of the language. + */ std::string get_language_name() const { return language_name; diff --git a/src/mnemonics/old_english.h b/src/mnemonics/old_english.h index 4e40b1730..21772cdc3 100644 --- a/src/mnemonics/old_english.h +++ b/src/mnemonics/old_english.h @@ -27,6 +27,12 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/*! + * \file old_english.h + * + * \brief Old English word list and map. + */ + #ifndef OLD_ENGLISH_H #define OLD_ENGLISH_H @@ -35,6 +41,10 @@ #include "language_base.h" #include +/*! + * \namespace Language + * \brief Mnemonic language related namespace. + */ namespace Language { class OldEnglish: public Base diff --git a/src/mnemonics/portuguese.h b/src/mnemonics/portuguese.h index 06d53f176..5b88a0686 100644 --- a/src/mnemonics/portuguese.h +++ b/src/mnemonics/portuguese.h @@ -26,6 +26,12 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/*! + * \file portuguese.h + * + * \brief Portuguese word list and map. + */ + #ifndef PORTUGUESE_H #define PORTUGUESE_H @@ -34,6 +40,10 @@ #include "language_base.h" #include +/*! + * \namespace Language + * \brief Mnemonic language related namespace. + */ namespace Language { class Portuguese: public Base diff --git a/src/mnemonics/singleton.h b/src/mnemonics/singleton.h index 74cc290fc..5a86c2e7c 100644 --- a/src/mnemonics/singleton.h +++ b/src/mnemonics/singleton.h @@ -26,8 +26,26 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/*! + * \file singleton.h + * + * \brief A singleton helper class based on template. + */ + +/*! + * \namespace Language + * \brief Mnemonic language related namespace. + */ namespace Language { + /*! + * \class Singleton + * + * \brief Single helper class. + * + * Do Language::Singleton::instance() to create a singleton instance + * of `YourClass`. + */ template class Singleton { diff --git a/src/mnemonics/spanish.h b/src/mnemonics/spanish.h index c205adc95..efa71a202 100644 --- a/src/mnemonics/spanish.h +++ b/src/mnemonics/spanish.h @@ -27,6 +27,12 @@ // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF // THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/*! + * \file spanish.h + * + * \brief Spanish word list and map. + */ + #ifndef SPANISH_H #define SPANISH_H @@ -35,6 +41,10 @@ #include "language_base.h" #include +/*! + * \namespace Language + * \brief Mnemonic language related namespace. + */ namespace Language { class Spanish: public Base -- cgit v1.2.3 From 4498e9efa019d7e0f0d1276f428d48c3e644aa78 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Thu, 2 Oct 2014 21:38:20 +0530 Subject: Removed old word list file --- src/mnemonics/wordlists/languages/english | 2049 -------------------------- src/mnemonics/wordlists/languages/japanese | 2049 -------------------------- src/mnemonics/wordlists/languages/portuguese | 1626 -------------------- src/mnemonics/wordlists/languages/spanish | 2049 -------------------------- src/mnemonics/wordlists/old-word-list | 1626 -------------------- 5 files changed, 9399 deletions(-) delete mode 100644 src/mnemonics/wordlists/languages/english delete mode 100644 src/mnemonics/wordlists/languages/japanese delete mode 100644 src/mnemonics/wordlists/languages/portuguese delete mode 100644 src/mnemonics/wordlists/languages/spanish delete mode 100644 src/mnemonics/wordlists/old-word-list (limited to 'src/mnemonics') diff --git a/src/mnemonics/wordlists/languages/english b/src/mnemonics/wordlists/languages/english deleted file mode 100644 index 714f66dac..000000000 --- a/src/mnemonics/wordlists/languages/english +++ /dev/null @@ -1,2049 +0,0 @@ -# Originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin -abandon -ability -able -about -above -absent -absorb -abstract -absurd -abuse -access -accident -account -accuse -achieve -acid -acoustic -acquire -across -act -action -actor -actress -actual -adapt -add -addict -address -adjust -admit -adult -advance -advice -aerobic -affair -afford -afraid -again -age -agent -agree -ahead -aim -air -airport -aisle -alarm -album -alcohol -alert -alien -all -alley -allow -almost -alone -alpha -already -also -alter -always -amateur -amazing -among -amount -amused -analyst -anchor -ancient -anger -angle -angry -animal -ankle -announce -annual -another -answer -antenna -antique -anxiety -any -apart -apology -appear -apple -approve -april -arch -arctic -area -arena -argue -arm -armed -armor -army -around -arrange -arrest -arrive -arrow -art -artefact -artist -artwork -ask -aspect -assault -asset -assist -assume -asthma -athlete -atom -attack -attend -attitude -attract -auction -audit -august -aunt -author -auto -autumn -average -avocado -avoid -awake -aware -away -awesome -awful -awkward -axis -baby -bachelor -bacon -badge -bag -balance -balcony -ball -bamboo -banana -banner -bar -barely -bargain -barrel -base -basic -basket -battle -beach -bean -beauty -because -become -beef -before -begin -behave -behind -believe -below -belt -bench -benefit -best -betray -better -between -beyond -bicycle -bid -bike -bind -biology -bird -birth -bitter -black -blade -blame -blanket -blast -bleak -bless -blind -blood -blossom -blouse -blue -blur -blush -board -boat -body -boil -bomb -bone -bonus -book -boost -border -boring -borrow -boss -bottom -bounce -box -boy -bracket -brain -brand -brass -brave -bread -breeze -brick -bridge -brief -bright -bring -brisk -broccoli -broken -bronze -broom -brother -brown -brush -bubble -buddy -budget -buffalo -build -bulb -bulk -bullet -bundle -bunker -burden -burger -burst -bus -business -busy -butter -buyer -buzz -cabbage -cabin -cable -cactus -cage -cake -call -calm -camera -camp -can -canal -cancel -candy -cannon -canoe -canvas -canyon -capable -capital -captain -car -carbon -card -cargo -carpet -carry -cart -case -cash -casino -castle -casual -cat -catalog -catch -category -cattle -caught -cause -caution -cave -ceiling -celery -cement -census -century -cereal -certain -chair -chalk -champion -change -chaos -chapter -charge -chase -chat -cheap -check -cheese -chef -cherry -chest -chicken -chief -child -chimney -choice -choose -chronic -chuckle -chunk -churn -cigar -cinnamon -circle -citizen -city -civil -claim -clap -clarify -claw -clay -clean -clerk -clever -click -client -cliff -climb -clinic -clip -clock -clog -close -cloth -cloud -clown -club -clump -cluster -clutch -coach -coast -coconut -code -coffee -coil -coin -collect -color -column -combine -come -comfort -comic -common -company -concert -conduct -confirm -congress -connect -consider -control -convince -cook -cool -copper -copy -coral -core -corn -correct -cost -cotton -couch -country -couple -course -cousin -cover -coyote -crack -cradle -craft -cram -crane -crash -crater -crawl -crazy -cream -credit -creek -crew -cricket -crime -crisp -critic -crop -cross -crouch -crowd -crucial -cruel -cruise -crumble -crunch -crush -cry -crystal -cube -culture -cup -cupboard -curious -current -curtain -curve -cushion -custom -cute -cycle -dad -damage -damp -dance -danger -daring -dash -daughter -dawn -day -deal -debate -debris -decade -december -decide -decline -decorate -decrease -deer -defense -define -defy -degree -delay -deliver -demand -demise -denial -dentist -deny -depart -depend -deposit -depth -deputy -derive -describe -desert -design -desk -despair -destroy -detail -detect -develop -device -devote -diagram -dial -diamond -diary -dice -diesel -diet -differ -digital -dignity -dilemma -dinner -dinosaur -direct -dirt -disagree -discover -disease -dish -dismiss -disorder -display -distance -divert -divide -divorce -dizzy -doctor -document -dog -doll -dolphin -domain -donate -donkey -donor -door -dose -double -dove -draft -dragon -drama -drastic -draw -dream -dress -drift -drill -drink -drip -drive -drop -drum -dry -duck -dumb -dune -during -dust -dutch -duty -dwarf -dynamic -eager -eagle -early -earn -earth -easily -east -easy -echo -ecology -economy -edge -edit -educate -effort -egg -eight -either -elbow -elder -electric -elegant -element -elephant -elevator -elite -else -embark -embody -embrace -emerge -emotion -employ -empower -empty -enable -enact -end -endless -endorse -enemy -energy -enforce -engage -engine -enhance -enjoy -enlist -enough -enrich -enroll -ensure -enter -entire -entry -envelope -episode -equal -equip -era -erase -erode -erosion -error -erupt -escape -essay -essence -estate -eternal -ethics -evidence -evil -evoke -evolve -exact -example -excess -exchange -excite -exclude -excuse -execute -exercise -exhaust -exhibit -exile -exist -exit -exotic -expand -expect -expire -explain -expose -express -extend -extra -eye -eyebrow -fabric -face -faculty -fade -faint -faith -fall -false -fame -family -famous -fan -fancy -fantasy -farm -fashion -fat -fatal -father -fatigue -fault -favorite -feature -february -federal -fee -feed -feel -female -fence -festival -fetch -fever -few -fiber -fiction -field -figure -file -film -filter -final -find -fine -finger -finish -fire -firm -first -fiscal -fish -fit -fitness -fix -flag -flame -flash -flat -flavor -flee -flight -flip -float -flock -floor -flower -fluid -flush -fly -foam -focus -fog -foil -fold -follow -food -foot -force -forest -forget -fork -fortune -forum -forward -fossil -foster -found -fox -fragile -frame -frequent -fresh -friend -fringe -frog -front -frost -frown -frozen -fruit -fuel -fun -funny -furnace -fury -future -gadget -gain -galaxy -gallery -game -gap -garage -garbage -garden -garlic -garment -gas -gasp -gate -gather -gauge -gaze -general -genius -genre -gentle -genuine -gesture -ghost -giant -gift -giggle -ginger -giraffe -girl -give -glad -glance -glare -glass -glide -glimpse -globe -gloom -glory -glove -glow -glue -goat -goddess -gold -good -goose -gorilla -gospel -gossip -govern -gown -grab -grace -grain -grant -grape -grass -gravity -great -green -grid -grief -grit -grocery -group -grow -grunt -guard -guess -guide -guilt -guitar -gun -gym -habit -hair -half -hammer -hamster -hand -happy -harbor -hard -harsh -harvest -hat -have -hawk -hazard -head -health -heart -heavy -hedgehog -height -hello -helmet -help -hen -hero -hidden -high -hill -hint -hip -hire -history -hobby -hockey -hold -hole -holiday -hollow -home -honey -hood -hope -horn -horror -horse -hospital -host -hotel -hour -hover -hub -huge -human -humble -humor -hundred -hungry -hunt -hurdle -hurry -hurt -husband -hybrid -ice -icon -idea -identify -idle -ignore -ill -illegal -illness -image -imitate -immense -immune -impact -impose -improve -impulse -inch -include -income -increase -index -indicate -indoor -industry -infant -inflict -inform -inhale -inherit -initial -inject -injury -inmate -inner -innocent -input -inquiry -insane -insect -inside -inspire -install -intact -interest -into -invest -invite -involve -iron -island -isolate -issue -item -ivory -jacket -jaguar -jar -jazz -jealous -jeans -jelly -jewel -job -join -joke -journey -joy -judge -juice -jump -jungle -junior -junk -just -kangaroo -keen -keep -ketchup -key -kick -kid -kidney -kind -kingdom -kiss -kit -kitchen -kite -kitten -kiwi -knee -knife -knock -know -lab -label -labor -ladder -lady -lake -lamp -language -laptop -large -later -latin -laugh -laundry -lava -law -lawn -lawsuit -layer -lazy -leader -leaf -learn -leave -lecture -left -leg -legal -legend -leisure -lemon -lend -length -lens -leopard -lesson -letter -level -liar -liberty -library -license -life -lift -light -like -limb -limit -link -lion -liquid -list -little -live -lizard -load -loan -lobster -local -lock -logic -lonely -long -loop -lottery -loud -lounge -love -loyal -lucky -luggage -lumber -lunar -lunch -luxury -lyrics -machine -mad -magic -magnet -maid -mail -main -major -make -mammal -man -manage -mandate -mango -mansion -manual -maple -marble -march -margin -marine -market -marriage -mask -mass -master -match -material -math -matrix -matter -maximum -maze -meadow -mean -measure -meat -mechanic -medal -media -melody -melt -member -memory -mention -menu -mercy -merge -merit -merry -mesh -message -metal -method -middle -midnight -milk -million -mimic -mind -minimum -minor -minute -miracle -mirror -misery -miss -mistake -mix -mixed -mixture -mobile -model -modify -mom -moment -monitor -monkey -monster -month -moon -moral -more -morning -mosquito -mother -motion -motor -mountain -mouse -move -movie -much -muffin -mule -multiply -muscle -museum -mushroom -music -must -mutual -myself -mystery -myth -naive -name -napkin -narrow -nasty -nation -nature -near -neck -need -negative -neglect -neither -nephew -nerve -nest -net -network -neutral -never -news -next -nice -night -noble -noise -nominee -noodle -normal -north -nose -notable -note -nothing -notice -novel -now -nuclear -number -nurse -nut -oak -obey -object -oblige -obscure -observe -obtain -obvious -occur -ocean -october -odor -off -offer -office -often -oil -okay -old -olive -olympic -omit -once -one -onion -online -only -open -opera -opinion -oppose -option -orange -orbit -orchard -order -ordinary -organ -orient -original -orphan -ostrich -other -outdoor -outer -output -outside -oval -oven -over -own -owner -oxygen -oyster -ozone -pact -paddle -page -pair -palace -palm -panda -panel -panic -panther -paper -parade -parent -park -parrot -party -pass -patch -path -patient -patrol -pattern -pause -pave -payment -peace -peanut -pear -peasant -pelican -pen -penalty -pencil -people -pepper -perfect -permit -person -pet -phone -photo -phrase -physical -piano -picnic -picture -piece -pig -pigeon -pill -pilot -pink -pioneer -pipe -pistol -pitch -pizza -place -planet -plastic -plate -play -please -pledge -pluck -plug -plunge -poem -poet -point -polar -pole -police -pond -pony -pool -popular -portion -position -possible -post -potato -pottery -poverty -powder -power -practice -praise -predict -prefer -prepare -present -pretty -prevent -price -pride -primary -print -priority -prison -private -prize -problem -process -produce -profit -program -project -promote -proof -property -prosper -protect -proud -provide -public -pudding -pull -pulp -pulse -pumpkin -punch -pupil -puppy -purchase -purity -purpose -purse -push -put -puzzle -pyramid -quality -quantum -quarter -question -quick -quit -quiz -quote -rabbit -raccoon -race -rack -radar -radio -rail -rain -raise -rally -ramp -ranch -random -range -rapid -rare -rate -rather -raven -raw -razor -ready -real -reason -rebel -rebuild -recall -receive -recipe -record -recycle -reduce -reflect -reform -refuse -region -regret -regular -reject -relax -release -relief -rely -remain -remember -remind -remove -render -renew -rent -reopen -repair -repeat -replace -report -require -rescue -resemble -resist -resource -response -result -retire -retreat -return -reunion -reveal -review -reward -rhythm -rib -ribbon -rice -rich -ride -ridge -rifle -right -rigid -ring -riot -ripple -risk -ritual -rival -river -road -roast -robot -robust -rocket -romance -roof -rookie -room -rose -rotate -rough -round -route -royal -rubber -rude -rug -rule -run -runway -rural -sad -saddle -sadness -safe -sail -salad -salmon -salon -salt -salute -same -sample -sand -satisfy -satoshi -sauce -sausage -save -say -scale -scan -scare -scatter -scene -scheme -school -science -scissors -scorpion -scout -scrap -screen -script -scrub -sea -search -season -seat -second -secret -section -security -seed -seek -segment -select -sell -seminar -senior -sense -sentence -series -service -session -settle -setup -seven -shadow -shaft -shallow -share -shed -shell -sheriff -shield -shift -shine -ship -shiver -shock -shoe -shoot -shop -short -shoulder -shove -shrimp -shrug -shuffle -shy -sibling -sick -side -siege -sight -sign -silent -silk -silly -silver -similar -simple -since -sing -siren -sister -situate -six -size -skate -sketch -ski -skill -skin -skirt -skull -slab -slam -sleep -slender -slice -slide -slight -slim -slogan -slot -slow -slush -small -smart -smile -smoke -smooth -snack -snake -snap -sniff -snow -soap -soccer -social -sock -soda -soft -solar -soldier -solid -solution -solve -someone -song -soon -sorry -sort -soul -sound -soup -source -south -space -spare -spatial -spawn -speak -special -speed -spell -spend -sphere -spice -spider -spike -spin -spirit -split -spoil -sponsor -spoon -sport -spot -spray -spread -spring -spy -square -squeeze -squirrel -stable -stadium -staff -stage -stairs -stamp -stand -start -state -stay -steak -steel -stem -step -stereo -stick -still -sting -stock -stomach -stone -stool -story -stove -strategy -street -strike -strong -struggle -student -stuff -stumble -style -subject -submit -subway -success -such -sudden -suffer -sugar -suggest -suit -summer -sun -sunny -sunset -super -supply -supreme -sure -surface -surge -surprise -surround -survey -suspect -sustain -swallow -swamp -swap -swarm -swear -sweet -swift -swim -swing -switch -sword -symbol -symptom -syrup -system -table -tackle -tag -tail -talent -talk -tank -tape -target -task -taste -tattoo -taxi -teach -team -tell -ten -tenant -tennis -tent -term -test -text -thank -that -theme -then -theory -there -they -thing -this -thought -three -thrive -throw -thumb -thunder -ticket -tide -tiger -tilt -timber -time -tiny -tip -tired -tissue -title -toast -tobacco -today -toddler -toe -together -toilet -token -tomato -tomorrow -tone -tongue -tonight -tool -tooth -top -topic -topple -torch -tornado -tortoise -toss -total -tourist -toward -tower -town -toy -track -trade -traffic -tragic -train -transfer -trap -trash -travel -tray -treat -tree -trend -trial -tribe -trick -trigger -trim -trip -trophy -trouble -truck -true -truly -trumpet -trust -truth -try -tube -tuition -tumble -tuna -tunnel -turkey -turn -turtle -twelve -twenty -twice -twin -twist -two -type -typical -ugly -umbrella -unable -unaware -uncle -uncover -under -undo -unfair -unfold -unhappy -uniform -unique -unit -universe -unknown -unlock -until -unusual -unveil -update -upgrade -uphold -upon -upper -upset -urban -urge -usage -use -used -useful -useless -usual -utility -vacant -vacuum -vague -valid -valley -valve -van -vanish -vapor -various -vast -vault -vehicle -velvet -vendor -venture -venue -verb -verify -version -very -vessel -veteran -viable -vibrant -vicious -victory -video -view -village -vintage -violin -virtual -virus -visa -visit -visual -vital -vivid -vocal -voice -void -volcano -volume -vote -voyage -wage -wagon -wait -walk -wall -walnut -want -warfare -warm -warrior -wash -wasp -waste -water -wave -way -wealth -weapon -wear -weasel -weather -web -wedding -weekend -weird -welcome -west -wet -whale -what -wheat -wheel -when -where -whip -whisper -wide -width -wife -wild -will -win -window -wine -wing -wink -winner -winter -wire -wisdom -wise -wish -witness -wolf -woman -wonder -wood -wool -word -work -world -worry -worth -wrap -wreck -wrestle -wrist -write -wrong -yard -year -yellow -you -young -youth -zebra -zero -zone -zoo diff --git a/src/mnemonics/wordlists/languages/japanese b/src/mnemonics/wordlists/languages/japanese deleted file mode 100644 index cb28b89d8..000000000 --- a/src/mnemonics/wordlists/languages/japanese +++ /dev/null @@ -1,2049 +0,0 @@ -# Originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin -ใ‚ใ„ -ใ‚ใ„ใ“ใใ—ใ‚“ -ใ‚ใ† -ใ‚ใŠ -ใ‚ใŠใžใ‚‰ -ใ‚ใ‹ -ใ‚ใ‹ใกใ‚ƒใ‚“ -ใ‚ใ -ใ‚ใใ‚‹ -ใ‚ใ -ใ‚ใ• -ใ‚ใ•ใฒ -ใ‚ใ— -ใ‚ใšใ -ใ‚ใ› -ใ‚ใใถ -ใ‚ใŸใ‚‹ -ใ‚ใคใ„ -ใ‚ใช -ใ‚ใซ -ใ‚ใญ -ใ‚ใฒใ‚‹ -ใ‚ใพใ„ -ใ‚ใฟ -ใ‚ใ‚ -ใ‚ใ‚ใ‚Šใ‹ -ใ‚ใ‚„ใพใ‚‹ -ใ‚ใ‚†ใ‚€ -ใ‚ใ‚‰ใ„ใใพ -ใ‚ใ‚‰ใ— -ใ‚ใ‚Š -ใ‚ใ‚‹ -ใ‚ใ‚Œ -ใ‚ใ‚ -ใ‚ใ‚“ใ“ -ใ„ใ† -ใ„ใˆ -ใ„ใŠใ‚“ -ใ„ใ‹ -ใ„ใŒใ„ -ใ„ใ‹ใ„ใ‚ˆใ† -ใ„ใ‘ -ใ„ใ‘ใ‚“ -ใ„ใ“ใ -ใ„ใ“ใค -ใ„ใ•ใ‚“ -ใ„ใ— -ใ„ใ˜ใ‚…ใ† -ใ„ใ™ -ใ„ใ›ใ„ -ใ„ใ›ใˆใณ -ใ„ใ›ใ‹ใ„ -ใ„ใ›ใ -ใ„ใใ†ใ‚ใ† -ใ„ใใŒใ—ใ„ -ใ„ใŸใ‚Šใ‚ -ใ„ใฆใ– -ใ„ใฆใ‚“ -ใ„ใจ -ใ„ใชใ„ -ใ„ใชใ‹ -ใ„ใฌ -ใ„ใญ -ใ„ใฎใก -ใ„ใฎใ‚‹ -ใ„ใฏใค -ใ„ใฏใ‚“ -ใ„ใณใ -ใ„ใฒใ‚“ -ใ„ใตใ -ใ„ใธใ‚“ -ใ„ใปใ† -ใ„ใพ -ใ„ใฟ -ใ„ใฟใ‚“ -ใ„ใ‚‚ -ใ„ใ‚‚ใ†ใจ -ใ„ใ‚‚ใŸใ‚Œ -ใ„ใ‚‚ใ‚Š -ใ„ใ‚„ -ใ„ใ‚„ใ™ -ใ„ใ‚ˆใ‹ใ‚“ -ใ„ใ‚ˆใ -ใ„ใ‚‰ใ„ -ใ„ใ‚‰ใ™ใจ -ใ„ใ‚Šใใก -ใ„ใ‚Šใ‚‡ใ† -ใ„ใ‚Šใ‚‡ใ†ใฒ -ใ„ใ‚‹ -ใ„ใ‚Œใ„ -ใ„ใ‚Œใ‚‚ใฎ -ใ„ใ‚Œใ‚‹ -ใ„ใ‚ -ใ„ใ‚ใˆใ‚“ใดใค -ใ„ใ‚ -ใ„ใ‚ใ† -ใ„ใ‚ใ‹ใ‚“ -ใ„ใ‚“ใ’ใ‚“ใพใ‚ -ใ†ใˆ -ใ†ใŠใ– -ใ†ใ‹ใถ -ใ†ใใ‚ -ใ†ใ -ใ†ใใ‚‰ใ„ใช -ใ†ใใ‚Œใ‚Œ -ใ†ใ‘ใคใ -ใ†ใ‘ใคใ‘ -ใ†ใ‘ใ‚‹ -ใ†ใ”ใ -ใ†ใ“ใ‚“ -ใ†ใ•ใŽ -ใ†ใ— -ใ†ใ—ใชใ† -ใ†ใ—ใ‚ -ใ†ใ—ใ‚ใŒใฟ -ใ†ใ™ใ„ -ใ†ใ™ใŽ -ใ†ใ›ใค -ใ†ใ -ใ†ใŸ -ใ†ใกใ‚ใ‚ใ› -ใ†ใกใŒใ‚ -ใ†ใกใ -ใ†ใค -ใ†ใชใŽ -ใ†ใชใ˜ -ใ†ใซ -ใ†ใญใ‚‹ -ใ†ใฎใ† -ใ†ใถใ’ -ใ†ใถใ”ใˆ -ใ†ใพ -ใ†ใพใ‚Œใ‚‹ -ใ†ใฟ -ใ†ใ‚€ -ใ†ใ‚ -ใ†ใ‚ใ‚‹ -ใ†ใ‚‚ใ† -ใ†ใ‚„ใพใ† -ใ†ใ‚ˆใ -ใ†ใ‚‰ -ใ†ใ‚‰ใชใ„ -ใ†ใ‚‹ -ใ†ใ‚‹ใ•ใ„ -ใ†ใ‚Œใ—ใ„ -ใ†ใ‚ใ“ -ใ†ใ‚ใ -ใ†ใ‚ใ• -ใˆใ„ -ใˆใ„ใˆใ‚“ -ใˆใ„ใŒ -ใˆใ„ใŽใ‚‡ใ† -ใˆใ„ใ” -ใˆใŠใ‚Š -ใˆใ -ใˆใใŸใ„ -ใˆใใ›ใ‚‹ -ใˆใ• -ใˆใ—ใ‚ƒใ -ใˆใ™ใฆ -ใˆใคใ‚‰ใ‚“ -ใˆใจ -ใˆใฎใ -ใˆใณ -ใˆใปใ†ใพใ -ใˆใปใ‚“ -ใˆใพ -ใˆใพใ -ใˆใ‚‚ใ˜ -ใˆใ‚‚ใฎ -ใˆใ‚‰ใ„ -ใˆใ‚‰ใถ -ใˆใ‚Š -ใˆใ‚Šใ‚ -ใˆใ‚‹ -ใˆใ‚“ -ใˆใ‚“ใˆใ‚“ -ใŠใใ‚‹ -ใŠใ -ใŠใ‘ -ใŠใ“ใ‚‹ -ใŠใ—ใˆใ‚‹ -ใŠใ‚„ใ‚†ใณ -ใŠใ‚‰ใ‚“ใ  -ใ‹ใ‚ใค -ใ‹ใ„ -ใ‹ใ† -ใ‹ใŠ -ใ‹ใŒใ— -ใ‹ใ -ใ‹ใ -ใ‹ใ“ -ใ‹ใ• -ใ‹ใ™ -ใ‹ใก -ใ‹ใค -ใ‹ใชใ–ใ‚ใ— -ใ‹ใซ -ใ‹ใญ -ใ‹ใฎใ† -ใ‹ใปใ† -ใ‹ใปใ” -ใ‹ใพใผใ“ -ใ‹ใฟ -ใ‹ใ‚€ -ใ‹ใ‚ใ‚ŒใŠใ‚“ -ใ‹ใ‚‚ -ใ‹ใ‚†ใ„ -ใ‹ใ‚‰ใ„ -ใ‹ใ‚‹ใ„ -ใ‹ใ‚ใ† -ใ‹ใ‚ -ใ‹ใ‚ใ‚‰ -ใใ‚ใ„ -ใใ‚ใค -ใใ„ใ‚ -ใŽใ„ใ‚“ -ใใ†ใ„ -ใใ†ใ‚“ -ใใˆใ‚‹ -ใใŠใ† -ใใŠใ -ใใŠใก -ใใŠใ‚“ -ใใ‹ -ใใ‹ใ„ -ใใ‹ใ -ใใ‹ใ‚“ -ใใ‹ใ‚“ใ—ใ‚ƒ -ใใŽ -ใใใฆ -ใใ -ใใใฐใ‚Š -ใใใ‚‰ใ’ -ใใ‘ใ‚“ -ใใ‘ใ‚“ใ›ใ„ -ใใ“ใ† -ใใ“ใˆใ‚‹ -ใใ“ใ -ใใ•ใ„ -ใใ•ใ -ใใ•ใพ -ใใ•ใ‚‰ใŽ -ใใ— -ใใ—ใ‚… -ใใ™ -ใใ™ใ† -ใใ›ใ„ -ใใ›ใ -ใใ›ใค -ใใ -ใใใ† -ใใใ -ใใžใ -ใŽใใ -ใใžใ‚“ -ใใŸ -ใใŸใˆใ‚‹ -ใใก -ใใกใ‚‡ใ† -ใใคใˆใ‚“ -ใใคใคใ -ใใคใญ -ใใฆใ„ -ใใฉใ† -ใใฉใ -ใใชใ„ -ใใชใŒ -ใใฌ -ใใฌใ”ใ— -ใใญใ‚“ -ใใฎใ† -ใใฏใ -ใใณใ—ใ„ -ใใฒใ‚“ -ใใต -ใŽใต -ใใตใ -ใŽใผ -ใใปใ† -ใใผใ† -ใใปใ‚“ -ใใพใ‚‹ -ใใฟ -ใใฟใค -ใŽใ‚€ -ใใ‚€ใšใ‹ใ—ใ„ -ใใ‚ -ใใ‚ใ‚‹ -ใใ‚‚ใ ใ‚ใ— -ใใ‚‚ใก -ใใ‚„ใ -ใใ‚ˆใ† -ใใ‚‰ใ„ -ใใ‚‰ใ -ใใ‚Š -ใใ‚‹ -ใใ‚Œใ„ -ใใ‚Œใค -ใใ‚ใ -ใŽใ‚ใ‚“ -ใใ‚ใ‚ใ‚‹ -ใใ‚ใ„ -ใใ„ -ใใ„ใš -ใใ†ใ‹ใ‚“ -ใใ†ใ -ใใ†ใใ‚“ -ใใ†ใ“ใ† -ใใ†ใใ† -ใใ†ใตใ -ใใ†ใผ -ใใ‹ใ‚“ -ใใ -ใใใ‚‡ใ† -ใใ’ใ‚“ -ใใ“ใ† -ใใ• -ใใ•ใ„ -ใใ•ใ -ใใ•ใฐใช -ใใ•ใ‚‹ -ใใ— -ใใ—ใ‚ƒใฟ -ใใ—ใ‚‡ใ† -ใใ™ใฎใ -ใใ™ใ‚Š -ใใ™ใ‚Šใ‚†ใณ -ใใ› -ใใ›ใ’ -ใใ›ใ‚“ -ใใŸใณใ‚Œใ‚‹ -ใใก -ใใกใ“ใฟ -ใใกใ•ใ -ใใค -ใใคใ—ใŸ -ใใคใ‚ใ -ใใจใ†ใฆใ‚“ -ใใฉใ -ใใชใ‚“ -ใใซ -ใใญใใญ -ใใฎใ† -ใใตใ† -ใใพ -ใใฟใ‚ใ‚ใ› -ใใฟใŸใฆใ‚‹ -ใใ‚€ -ใใ‚ใ‚‹ -ใใ‚„ใใ—ใ‚‡ -ใใ‚‰ใ™ -ใใ‚Š -ใใ‚Œใ‚‹ -ใใ‚ -ใใ‚ใ† -ใใ‚ใ—ใ„ -ใใ‚“ใ˜ใ‚‡ -ใ‘ใ‚ใช -ใ‘ใ„ใ‘ใ‚“ -ใ‘ใ„ใ“ -ใ‘ใ„ใ•ใ„ -ใ‘ใ„ใ•ใค -ใ’ใ„ใฎใ†ใ˜ใ‚“ -ใ‘ใ„ใ‚Œใ -ใ‘ใ„ใ‚Œใค -ใ‘ใ„ใ‚Œใ‚“ -ใ‘ใ„ใ‚ -ใ‘ใŠใจใ™ -ใ‘ใŠใ‚Šใ‚‚ใฎ -ใ‘ใŒ -ใ’ใ -ใ’ใใ‹ -ใ’ใใ’ใ‚“ -ใ’ใใ ใ‚“ -ใ’ใใกใ‚“ -ใ’ใใฉ -ใ’ใใฏ -ใ’ใใ‚„ใ -ใ’ใ“ใ† -ใ’ใ“ใใ˜ใ‚‡ใ† -ใ‘ใ• -ใ’ใ–ใ„ -ใ‘ใ•ใ -ใ’ใ–ใ‚“ -ใ‘ใ—ใ -ใ‘ใ—ใ”ใ‚€ -ใ‘ใ—ใ‚‡ใ† -ใ‘ใ™ -ใ’ใ™ใจ -ใ‘ใŸ -ใ’ใŸ -ใ‘ใŸใฐ -ใ‘ใก -ใ‘ใกใ‚ƒใฃใท -ใ‘ใกใ‚‰ใ™ -ใ‘ใค -ใ‘ใคใ‚ใค -ใ‘ใคใ„ -ใ‘ใคใˆใ -ใ‘ใฃใ“ใ‚“ -ใ‘ใคใ˜ใ‚‡ -ใ‘ใฃใฆใ„ -ใ‘ใคใพใค -ใ’ใคใ‚ˆใ†ใณ -ใ’ใคใ‚Œใ„ -ใ‘ใคใ‚ใ‚“ -ใ’ใฉใ -ใ‘ใจใฐใ™ -ใ‘ใจใ‚‹ -ใ‘ใชใ’ -ใ‘ใชใ™ -ใ‘ใชใฟ -ใ‘ใฌใ -ใ’ใญใค -ใ‘ใญใ‚“ -ใ‘ใฏใ„ -ใ’ใฒใ‚“ -ใ‘ใถใ‹ใ„ -ใ’ใผใ -ใ‘ใพใ‚Š -ใ‘ใฟใ‹ใ‚‹ -ใ‘ใ‚€ใ— -ใ‘ใ‚€ใ‚Š -ใ‘ใ‚‚ใฎ -ใ‘ใ‚‰ใ„ -ใ‘ใ‚‹ -ใ’ใ‚ -ใ‘ใ‚ใ‘ใ‚ -ใ‘ใ‚ใ—ใ„ -ใ‘ใ‚“ใ„ -ใ‘ใ‚“ใˆใค -ใ‘ใ‚“ใŠ -ใ‘ใ‚“ใ‹ -ใ’ใ‚“ใ -ใ‘ใ‚“ใใ‚…ใ† -ใ‘ใ‚“ใใ‚‡ -ใ‘ใ‚“ใ‘ใ„ -ใ‘ใ‚“ใ‘ใค -ใ‘ใ‚“ใ’ใ‚“ -ใ‘ใ‚“ใ“ใ† -ใ‘ใ‚“ใ• -ใ‘ใ‚“ใ•ใ -ใ‘ใ‚“ใ—ใ‚…ใ† -ใ‘ใ‚“ใ—ใ‚…ใค -ใ‘ใ‚“ใ—ใ‚“ -ใ‘ใ‚“ใ™ใ† -ใ‘ใ‚“ใใ† -ใ’ใ‚“ใใ† -ใ‘ใ‚“ใใ‚“ -ใ’ใ‚“ใก -ใ‘ใ‚“ใกใ -ใ‘ใ‚“ใฆใ„ -ใ’ใ‚“ใฆใ„ -ใ‘ใ‚“ใจใ† -ใ‘ใ‚“ใชใ„ -ใ‘ใ‚“ใซใ‚“ -ใ’ใ‚“ใถใค -ใ‘ใ‚“ใพ -ใ‘ใ‚“ใฟใ‚“ -ใ‘ใ‚“ใ‚ใ„ -ใ‘ใ‚“ใ‚‰ใ‚“ -ใ‘ใ‚“ใ‚Š -ใ‘ใ‚“ใ‚Šใค -ใ“ใ‚ใใพ -ใ“ใ„ -ใ”ใ„ -ใ“ใ„ใณใจ -ใ“ใ†ใ„ -ใ“ใ†ใˆใ‚“ -ใ“ใ†ใ‹ -ใ“ใ†ใ‹ใ„ -ใ“ใ†ใ‹ใ‚“ -ใ“ใ†ใ•ใ„ -ใ“ใ†ใ•ใ‚“ -ใ“ใ†ใ—ใ‚“ -ใ“ใ†ใš -ใ“ใ†ใ™ใ„ -ใ“ใ†ใ›ใ‚“ -ใ“ใ†ใใ† -ใ“ใ†ใใ -ใ“ใ†ใŸใ„ -ใ“ใ†ใกใ‚ƒ -ใ“ใ†ใคใ† -ใ“ใ†ใฆใ„ -ใ“ใ†ใจใ†ใถ -ใ“ใ†ใชใ„ -ใ“ใ†ใฏใ„ -ใ“ใ†ใฏใ‚“ -ใ“ใ†ใ‚‚ใ -ใ“ใˆ -ใ“ใˆใ‚‹ -ใ“ใŠใ‚Š -ใ”ใŒใค -ใ“ใ‹ใ‚“ -ใ“ใ -ใ“ใใ” -ใ“ใใชใ„ -ใ“ใใฏใ -ใ“ใ‘ใ„ -ใ“ใ‘ใ‚‹ -ใ“ใ“ -ใ“ใ“ใ‚ -ใ”ใ• -ใ“ใ•ใ‚ -ใ“ใ— -ใ“ใ—ใค -ใ“ใ™ -ใ“ใ™ใ† -ใ“ใ›ใ„ -ใ“ใ›ใ -ใ“ใœใ‚“ -ใ“ใใ ใฆ -ใ“ใŸใ„ -ใ“ใŸใˆใ‚‹ -ใ“ใŸใค -ใ“ใกใ‚‡ใ† -ใ“ใฃใ‹ -ใ“ใคใ“ใค -ใ“ใคใฐใ‚“ -ใ“ใคใถ -ใ“ใฆใ„ -ใ“ใฆใ‚“ -ใ“ใจ -ใ“ใจใŒใ‚‰ -ใ“ใจใ— -ใ“ใชใ”ใช -ใ“ใญใ“ใญ -ใ“ใฎใพใพ -ใ“ใฎใฟ -ใ“ใฎใ‚ˆ -ใ“ใฏใ‚“ -ใ”ใฏใ‚“ -ใ”ใณ -ใ“ใฒใคใ˜ -ใ“ใตใ† -ใ“ใตใ‚“ -ใ“ใผใ‚Œใ‚‹ -ใ”ใพ -ใ“ใพใ‹ใ„ -ใ“ใพใคใ— -ใ“ใพใคใช -ใ“ใพใ‚‹ -ใ“ใ‚€ -ใ“ใ‚€ใŽใ“ -ใ“ใ‚ -ใ“ใ‚‚ใ˜ -ใ“ใ‚‚ใก -ใ“ใ‚‚ใฎ -ใ“ใ‚‚ใ‚“ -ใ“ใ‚„ -ใ“ใ‚„ใ -ใ“ใ‚„ใพ -ใ“ใ‚†ใ† -ใ“ใ‚†ใณ -ใ“ใ‚ˆใ„ -ใ“ใ‚ˆใ† -ใ“ใ‚Šใ‚‹ -ใ“ใ‚‹ -ใ“ใ‚Œใใ—ใ‚‡ใ‚“ -ใ“ใ‚ใฃใ‘ -ใ“ใ‚ใ‚‚ใฆ -ใ“ใ‚ใ‚Œใ‚‹ -ใ“ใ‚“ -ใ“ใ‚“ใ„ใ‚“ -ใ“ใ‚“ใ‹ใ„ -ใ“ใ‚“ใ -ใ“ใ‚“ใ—ใ‚…ใ† -ใ“ใ‚“ใ—ใ‚…ใ‚“ -ใ“ใ‚“ใ™ใ„ -ใ“ใ‚“ใ ใฆ -ใ“ใ‚“ใ ใ‚“ -ใ“ใ‚“ใจใ‚“ -ใ“ใ‚“ใชใ‚“ -ใ“ใ‚“ใณใซ -ใ“ใ‚“ใฝใ† -ใ“ใ‚“ใฝใ‚“ -ใ“ใ‚“ใพใ‘ -ใ“ใ‚“ใ‚„ -ใ“ใ‚“ใ‚„ใ -ใ“ใ‚“ใ‚Œใ„ -ใ“ใ‚“ใ‚ใ -ใ•ใ„ใ‹ใ„ -ใ•ใ„ใŒใ„ -ใ•ใ„ใใ‚“ -ใ•ใ„ใ” -ใ•ใ„ใ“ใ‚“ -ใ•ใ„ใ—ใ‚‡ -ใ•ใ†ใช -ใ•ใŠ -ใ•ใ‹ใ„ใ— -ใ•ใ‹ใช -ใ•ใ‹ใฟใก -ใ•ใ -ใ•ใ -ใ•ใใ— -ใ•ใใ˜ใ‚‡ -ใ•ใใฒใ‚“ -ใ•ใใ‚‰ -ใ•ใ‘ -ใ•ใ“ใ -ใ•ใ“ใค -ใ•ใŸใ‚“ -ใ•ใคใˆใ„ -ใ•ใฃใ‹ -ใ•ใฃใใ‚‡ใ -ใ•ใคใ˜ใ‚“ -ใ•ใคใŸใฐ -ใ•ใคใพใ„ใ‚‚ -ใ•ใฆใ„ -ใ•ใจใ„ใ‚‚ -ใ•ใจใ† -ใ•ใจใŠใ‚„ -ใ•ใจใ‚‹ -ใ•ใฎใ† -ใ•ใฐ -ใ•ใฐใ -ใ•ในใค -ใ•ใปใ† -ใ•ใปใฉ -ใ•ใพใ™ -ใ•ใฟใ—ใ„ -ใ•ใฟใ ใ‚Œ -ใ•ใ‚€ใ‘ -ใ•ใ‚ -ใ•ใ‚ใ‚‹ -ใ•ใ‚„ใˆใ‚“ใฉใ† -ใ•ใ‚†ใ† -ใ•ใ‚ˆใ† -ใ•ใ‚ˆใ -ใ•ใ‚‰ -ใ•ใ‚‰ใ  -ใ•ใ‚‹ -ใ•ใ‚ใ‚„ใ‹ -ใ•ใ‚ใ‚‹ -ใ•ใ‚“ใ„ใ‚“ -ใ•ใ‚“ใ‹ -ใ•ใ‚“ใใ‚ƒใ -ใ•ใ‚“ใ“ใ† -ใ•ใ‚“ใ•ใ„ -ใ•ใ‚“ใ–ใ‚“ -ใ•ใ‚“ใ™ใ† -ใ•ใ‚“ใ›ใ„ -ใ•ใ‚“ใ -ใ•ใ‚“ใใ‚“ -ใ•ใ‚“ใก -ใ•ใ‚“ใกใ‚‡ใ† -ใ•ใ‚“ใพ -ใ•ใ‚“ใฟ -ใ•ใ‚“ใ‚‰ใ‚“ -ใ—ใ‚ใ„ -ใ—ใ‚ใ’ -ใ—ใ‚ใ•ใฃใฆ -ใ—ใ‚ใ‚ใ› -ใ—ใ„ใ -ใ—ใ„ใ‚“ -ใ—ใ†ใก -ใ—ใˆใ„ -ใ—ใŠ -ใ—ใŠใ‘ -ใ—ใ‹ -ใ—ใ‹ใ„ -ใ—ใ‹ใ -ใ˜ใ‹ใ‚“ -ใ—ใŸ -ใ—ใŸใŽ -ใ—ใŸใฆ -ใ—ใŸใฟ -ใ—ใกใ‚‡ใ† -ใ—ใกใ‚‡ใ†ใใ‚“ -ใ—ใกใ‚Šใ‚“ -ใ˜ใคใ˜ -ใ—ใฆใ„ -ใ—ใฆใ -ใ—ใฆใค -ใ—ใฆใ‚“ -ใ—ใจใ† -ใ˜ใฉใ† -ใ—ใชใŽใ‚Œ -ใ—ใชใ‚‚ใฎ -ใ—ใชใ‚“ -ใ—ใญใพ -ใ—ใญใ‚“ -ใ—ใฎใ -ใ—ใฎใถ -ใ—ใฏใ„ -ใ—ใฐใ‹ใ‚Š -ใ—ใฏใค -ใ˜ใฏใค -ใ—ใฏใ‚‰ใ„ -ใ—ใฏใ‚“ -ใ—ใฒใ‚‡ใ† -ใ˜ใต -ใ—ใตใ -ใ˜ใถใ‚“ -ใ—ใธใ„ -ใ—ใปใ† -ใ—ใปใ‚“ -ใ—ใพ -ใ—ใพใ† -ใ—ใพใ‚‹ -ใ—ใฟ -ใ˜ใฟ -ใ—ใฟใ‚“ -ใ˜ใ‚€ -ใ—ใ‚€ใ‘ใ‚‹ -ใ—ใ‚ใ„ -ใ—ใ‚ใ‚‹ -ใ—ใ‚‚ใ‚“ -ใ—ใ‚ƒใ„ใ‚“ -ใ—ใ‚ƒใ†ใ‚“ -ใ—ใ‚ƒใŠใ‚“ -ใ—ใ‚ƒใ‹ใ„ -ใ˜ใ‚ƒใŒใ„ใ‚‚ -ใ—ใ‚„ใใ—ใ‚‡ -ใ—ใ‚ƒใใปใ† -ใ—ใ‚ƒใ‘ใ‚“ -ใ—ใ‚ƒใ“ -ใ—ใ‚ƒใ“ใ† -ใ—ใ‚ƒใ–ใ„ -ใ—ใ‚ƒใ—ใ‚“ -ใ—ใ‚ƒใ›ใ‚“ -ใ—ใ‚ƒใใ† -ใ—ใ‚ƒใŸใ„ -ใ—ใ‚ƒใŸใ -ใ—ใ‚ƒใกใ‚‡ใ† -ใ—ใ‚ƒใฃใใ‚“ -ใ˜ใ‚ƒใพ -ใ˜ใ‚ƒใ‚Š -ใ—ใ‚ƒใ‚Šใ‚‡ใ† -ใ—ใ‚ƒใ‚Šใ‚“ -ใ—ใ‚ƒใ‚Œใ„ -ใ—ใ‚…ใ†ใˆใ‚“ -ใ—ใ‚…ใ†ใ‹ใ„ -ใ—ใ‚…ใ†ใใ‚“ -ใ—ใ‚…ใ†ใ‘ใ„ -ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ† -ใ—ใ‚…ใ‚‰ใฐ -ใ—ใ‚‡ใ†ใ‹ -ใ—ใ‚‡ใ†ใ‹ใ„ -ใ—ใ‚‡ใ†ใใ‚“ -ใ—ใ‚‡ใ†ใ˜ใ -ใ—ใ‚‡ใใ–ใ„ -ใ—ใ‚‡ใใŸใ -ใ—ใ‚‡ใฃใ‘ใ‚“ -ใ—ใ‚‡ใฉใ† -ใ—ใ‚‡ใ‚‚ใค -ใ—ใ‚“ -ใ—ใ‚“ใ‹ -ใ—ใ‚“ใ“ใ† -ใ—ใ‚“ใ›ใ„ใ˜ -ใ—ใ‚“ใกใ -ใ—ใ‚“ใ‚Šใ‚“ -ใ™ใ‚ใ’ -ใ™ใ‚ใ— -ใ™ใ‚ใช -ใšใ‚ใ‚“ -ใ™ใ„ใ‹ -ใ™ใ„ใจใ† -ใ™ใ† -ใ™ใ†ใŒใ -ใ™ใ†ใ˜ใค -ใ™ใ†ใ›ใ‚“ -ใ™ใŠใฉใ‚Š -ใ™ใ -ใ™ใใพ -ใ™ใ -ใ™ใใ† -ใ™ใใชใ„ -ใ™ใ‘ใ‚‹ -ใ™ใ“ใ— -ใšใ•ใ‚“ -ใ™ใ— -ใ™ใšใ—ใ„ -ใ™ใ™ใ‚ใ‚‹ -ใ™ใ -ใšใฃใ—ใ‚Š -ใšใฃใจ -ใ™ใง -ใ™ใฆใ -ใ™ใฆใ‚‹ -ใ™ใช -ใ™ใชใฃใ -ใ™ใชใฃใท -ใ™ใญ -ใ™ใญใ‚‹ -ใ™ใฎใ“ -ใ™ใฏใ  -ใ™ใฐใ‚‰ใ—ใ„ -ใšใฒใ‚‡ใ† -ใšใถใฌใ‚Œ -ใ™ใถใ‚Š -ใ™ใตใ‚Œ -ใ™ในใฆ -ใ™ในใ‚‹ -ใšใปใ† -ใ™ใผใ‚“ -ใ™ใพใ„ -ใ™ใฟ -ใ™ใ‚€ -ใ™ใ‚ใ— -ใ™ใ‚‚ใ† -ใ™ใ‚„ใ -ใ™ใ‚‰ใ„ใ™ -ใ™ใ‚‰ใ„ใฉ -ใ™ใ‚‰ใ™ใ‚‰ -ใ™ใ‚Š -ใ™ใ‚‹ -ใ™ใ‚‹ใ‚ -ใ™ใ‚ŒใกใŒใ† -ใ™ใ‚ใฃใจ -ใ™ใ‚ใ‚‹ -ใ™ใ‚“ใœใ‚“ -ใ™ใ‚“ใฝใ† -ใ›ใ‚ใถใ‚‰ -ใ›ใ„ใ‹ -ใ›ใ„ใ‹ใ„ -ใ›ใ„ใ‹ใค -ใ›ใŠใ† -ใ›ใ‹ใ„ -ใ›ใ‹ใ„ใ‹ใ‚“ -ใ›ใ‹ใ„ใ— -ใ›ใ‹ใ„ใ˜ใ‚…ใ† -ใ›ใ -ใ›ใใซใ‚“ -ใ›ใใ‚€ -ใ›ใใ‚† -ใ›ใใ‚‰ใ‚“ใ†ใ‚“ -ใ›ใ‘ใ‚“ -ใ›ใ“ใ† -ใ›ใ™ใ˜ -ใ›ใŸใ„ -ใ›ใŸใ‘ -ใ›ใฃใ‹ใ„ -ใ›ใฃใ‹ใ -ใ›ใฃใ -ใ›ใฃใใ‚ƒใ -ใ›ใฃใใ‚‡ใ -ใ›ใฃใใ‚“ -ใœใฃใ -ใ›ใฃใ‘ใ‚“ -ใ›ใฃใ“ใค -ใ›ใฃใ•ใŸใใพ -ใ›ใคใžใ -ใ›ใคใ ใ‚“ -ใ›ใคใงใ‚“ -ใ›ใฃใฑใ‚“ -ใ›ใคใณ -ใ›ใคใถใ‚“ -ใ›ใคใ‚ใ„ -ใ›ใคใ‚Šใค -ใ›ใจ -ใ›ใชใ‹ -ใ›ใฎใณ -ใ›ใฏใฐ -ใ›ใผใญ -ใ›ใพใ„ -ใ›ใพใ‚‹ -ใ›ใฟ -ใ›ใ‚ใ‚‹ -ใ›ใ‚‚ใŸใ‚Œ -ใ›ใ‚Šใต -ใ›ใ‚ -ใ›ใ‚“ -ใœใ‚“ใ‚ใ -ใ›ใ‚“ใ„ -ใ›ใ‚“ใˆใ„ -ใ›ใ‚“ใ‹ -ใ›ใ‚“ใใ‚‡ -ใ›ใ‚“ใ -ใ›ใ‚“ใ‘ใค -ใ›ใ‚“ใ’ใ‚“ -ใœใ‚“ใ” -ใ›ใ‚“ใ•ใ„ -ใ›ใ‚“ใ— -ใ›ใ‚“ใ—ใ‚… -ใ›ใ‚“ใ™ -ใ›ใ‚“ใ™ใ„ -ใ›ใ‚“ใ›ใ„ -ใ›ใ‚“ใž -ใ›ใ‚“ใใ† -ใ›ใ‚“ใŸใ -ใ›ใ‚“ใก -ใ›ใ‚“ใกใ‚ƒ -ใ›ใ‚“ใกใ‚ƒใ -ใ›ใ‚“ใกใ‚‡ใ† -ใ›ใ‚“ใฆใ„ -ใ›ใ‚“ใจใ† -ใ›ใ‚“ใฌใ -ใ›ใ‚“ใญใ‚“ -ใœใ‚“ใถ -ใ›ใ‚“ใทใ†ใ -ใ›ใ‚“ใทใ -ใœใ‚“ใฝใ† -ใ›ใ‚“ใ‚€ -ใ›ใ‚“ใ‚ใ„ -ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡ -ใ›ใ‚“ใ‚‚ใ‚“ -ใ›ใ‚“ใ‚„ใ -ใ›ใ‚“ใ‚†ใ† -ใ›ใ‚“ใ‚ˆใ† -ใœใ‚“ใ‚‰ -ใœใ‚“ใ‚Šใ‚ƒใ -ใ›ใ‚“ใ‚Šใ‚‡ใ -ใ›ใ‚“ใ‚Œใ„ -ใ›ใ‚“ใ‚ -ใใ‚ใ -ใใ„ใจใ’ใ‚‹ -ใใ„ใญ -ใใ† -ใžใ† -ใใ†ใŒใ‚“ใใ‚‡ใ† -ใใ†ใ -ใใ†ใ” -ใใ†ใชใ‚“ -ใใ†ใณ -ใใ†ใฒใ‚‡ใ† -ใใ†ใ‚ใ‚“ -ใใ†ใ‚Š -ใใ†ใ‚Šใ‚‡ -ใใˆใ‚‚ใฎ -ใใˆใ‚“ -ใใ‹ใ„ -ใใŒใ„ -ใใ -ใใ’ใ -ใใ“ใ† -ใใ“ใใ“ -ใใ–ใ„ -ใใ— -ใใ—ใช -ใใ›ใ„ -ใใ›ใ‚“ -ใใใ -ใใ ใฆใ‚‹ -ใใคใ† -ใใคใˆใ‚“ -ใใฃใ‹ใ‚“ -ใใคใŽใ‚‡ใ† -ใใฃใ‘ใค -ใใฃใ“ใ† -ใใฃใ›ใ‚“ -ใใฃใจ -ใใง -ใใจ -ใใจใŒใ‚ -ใใจใฅใ‚‰ -ใใชใˆใ‚‹ -ใใชใŸ -ใใฐ -ใใต -ใใตใผ -ใใผ -ใใผใ -ใใผใ‚ -ใใพใค -ใใพใ‚‹ -ใใ‚€ใ -ใใ‚€ใ‚Šใˆ -ใใ‚ใ‚‹ -ใใ‚‚ใใ‚‚ -ใใ‚ˆใ‹ใœ -ใใ‚‰ -ใใ‚‰ใพใ‚ -ใใ‚Š -ใใ‚‹ -ใใ‚ใ† -ใใ‚“ใ‹ใ„ -ใใ‚“ใ‘ใ„ -ใใ‚“ใ–ใ„ -ใใ‚“ใ—ใค -ใใ‚“ใ—ใ‚‡ใ† -ใใ‚“ใžใ -ใใ‚“ใกใ‚‡ใ† -ใžใ‚“ใณ -ใžใ‚“ใถใ‚“ -ใใ‚“ใฟใ‚“ -ใŸใ‚ใ„ -ใŸใ„ใ„ใ‚“ -ใŸใ„ใ†ใ‚“ -ใŸใ„ใˆใ -ใŸใ„ใŠใ† -ใ ใ„ใŠใ† -ใŸใ„ใ‹ -ใŸใ„ใ‹ใ„ -ใŸใ„ใ -ใŸใ„ใใ‘ใ‚“ -ใŸใ„ใใ† -ใŸใ„ใใค -ใŸใ„ใ‘ใ„ -ใŸใ„ใ‘ใค -ใŸใ„ใ‘ใ‚“ -ใŸใ„ใ“ -ใŸใ„ใ“ใ† -ใŸใ„ใ• -ใŸใ„ใ•ใ‚“ -ใŸใ„ใ—ใ‚…ใค -ใ ใ„ใ˜ใ‚‡ใ†ใถ -ใŸใ„ใ—ใ‚‡ใ -ใ ใ„ใš -ใ ใ„ใ™ใ -ใŸใ„ใ›ใ„ -ใŸใ„ใ›ใค -ใŸใ„ใ›ใ‚“ -ใŸใ„ใใ† -ใŸใ„ใกใ‚‡ใ† -ใ ใ„ใกใ‚‡ใ† -ใŸใ„ใจใ† -ใŸใ„ใชใ„ -ใŸใ„ใญใค -ใŸใ„ใฎใ† -ใŸใ„ใฏ -ใŸใ„ใฏใ‚“ -ใŸใ„ใฒ -ใŸใ„ใตใ† -ใŸใ„ใธใ‚“ -ใŸใ„ใป -ใŸใ„ใพใคใฐใช -ใŸใ„ใพใ‚“ -ใŸใ„ใฟใ‚“ใ -ใŸใ„ใ‚€ -ใŸใ„ใ‚ใ‚“ -ใŸใ„ใ‚„ใ -ใŸใ„ใ‚„ใ -ใŸใ„ใ‚ˆใ† -ใŸใ„ใ‚‰ -ใŸใ„ใ‚Šใ‚‡ใ† -ใŸใ„ใ‚Šใ‚‡ใ -ใŸใ„ใ‚‹ -ใŸใ„ใ‚ -ใŸใ„ใ‚ใ‚“ -ใŸใ†ใˆ -ใŸใˆใ‚‹ -ใŸใŠใ™ -ใŸใŠใ‚‹ -ใŸใ‹ใ„ -ใŸใ‹ใญ -ใŸใ -ใŸใใณ -ใŸใใ•ใ‚“ -ใŸใ‘ -ใŸใ“ -ใŸใ“ใ -ใŸใ“ใ‚„ใ -ใŸใ•ใ„ -ใ ใ•ใ„ -ใŸใ—ใ–ใ‚“ -ใŸใ™ -ใŸใ™ใ‘ใ‚‹ -ใŸใใŒใ‚Œ -ใŸใŸใ‹ใ† -ใŸใŸใ -ใŸใกใฐ -ใŸใกใฐใช -ใŸใค -ใ ใฃใ‹ใ„ -ใ ใฃใใ‚ƒใ -ใ ใฃใ“ -ใ ใฃใ—ใ‚ใ‚“ -ใ ใฃใ—ใ‚…ใค -ใ ใฃใŸใ„ -ใŸใฆ -ใŸใฆใ‚‹ -ใŸใจใˆใ‚‹ -ใŸใช -ใŸใซใ‚“ -ใŸใฌใ -ใŸใญ -ใŸใฎใ—ใฟ -ใŸใฏใค -ใŸใณ -ใŸใถใ‚“ -ใŸในใ‚‹ -ใŸใผใ† -ใŸใปใ†ใ‚ใ‚“ -ใŸใพ -ใŸใพใ” -ใŸใพใ‚‹ -ใ ใ‚€ใ‚‹ -ใŸใ‚ใ„ใ -ใŸใ‚ใ™ -ใŸใ‚ใ‚‹ -ใŸใ‚‚ใค -ใŸใ‚„ใ™ใ„ -ใŸใ‚ˆใ‚‹ -ใŸใ‚‰ -ใŸใ‚‰ใ™ -ใŸใ‚Šใใปใ‚“ใŒใ‚“ -ใŸใ‚Šใ‚‡ใ† -ใŸใ‚Šใ‚‹ -ใŸใ‚‹ -ใŸใ‚‹ใจ -ใŸใ‚Œใ‚‹ -ใŸใ‚Œใ‚“ใจ -ใŸใ‚ใฃใจ -ใŸใ‚ใ‚€ใ‚Œใ‚‹ -ใŸใ‚“ -ใ ใ‚“ใ‚ใค -ใŸใ‚“ใ„ -ใŸใ‚“ใŠใ‚“ -ใŸใ‚“ใ‹ -ใŸใ‚“ใ -ใŸใ‚“ใ‘ใ‚“ -ใŸใ‚“ใ” -ใŸใ‚“ใ•ใ -ใŸใ‚“ใ•ใ‚“ -ใŸใ‚“ใ— -ใŸใ‚“ใ—ใ‚…ใ -ใŸใ‚“ใ˜ใ‚‡ใ†ใณ -ใ ใ‚“ใ›ใ„ -ใŸใ‚“ใใ -ใŸใ‚“ใŸใ„ -ใŸใ‚“ใก -ใ ใ‚“ใก -ใŸใ‚“ใกใ‚‡ใ† -ใŸใ‚“ใฆใ„ -ใŸใ‚“ใฆใ -ใŸใ‚“ใจใ† -ใ ใ‚“ใช -ใŸใ‚“ใซใ‚“ -ใ ใ‚“ใญใค -ใŸใ‚“ใฎใ† -ใŸใ‚“ใดใ‚“ -ใŸใ‚“ใพใค -ใŸใ‚“ใ‚ใ„ -ใ ใ‚“ใ‚Œใค -ใ ใ‚“ใ‚ -ใ ใ‚“ใ‚ -ใกใ‚ใ„ -ใกใ‚ใ‚“ -ใกใ„ -ใกใ„ใ -ใกใ„ใ•ใ„ -ใกใˆ -ใกใˆใ‚“ -ใกใ‹ -ใกใ‹ใ„ -ใกใใ‚…ใ† -ใกใใ‚“ -ใกใ‘ใ„ -ใกใ‘ใ„ใš -ใกใ‘ใ‚“ -ใกใ“ใ -ใกใ•ใ„ -ใกใ—ใ -ใกใ—ใ‚Šใ‚‡ใ† -ใกใš -ใกใ›ใ„ -ใกใใ† -ใกใŸใ„ -ใกใŸใ‚“ -ใกใกใŠใ‚„ -ใกใคใ˜ใ‚‡ -ใกใฆใ -ใกใฆใ‚“ -ใกใฌใ -ใกใฌใ‚Š -ใกใฎใ† -ใกใฒใ‚‡ใ† -ใกใธใ„ใ›ใ‚“ -ใกใปใ† -ใกใพใŸ -ใกใฟใค -ใกใฟใฉใ‚ -ใกใ‚ใ„ใฉ -ใกใ‚…ใ†ใ„ -ใกใ‚…ใ†ใŠใ† -ใกใ‚…ใ†ใŠใ†ใ -ใกใ‚…ใ†ใŒใฃใ“ใ† -ใกใ‚…ใ†ใ”ใ -ใกใ‚†ใ‚Šใ‚‡ใ -ใกใ‚‡ใ†ใ• -ใกใ‚‡ใ†ใ— -ใกใ‚‰ใ— -ใกใ‚‰ใฟ -ใกใ‚Š -ใกใ‚ŠใŒใฟ -ใกใ‚‹ -ใกใ‚‹ใฉ -ใกใ‚ใ‚ -ใกใ‚“ใŸใ„ -ใกใ‚“ใ‚‚ใ -ใคใ„ใ‹ -ใคใ†ใ‹ -ใคใ†ใ˜ใ‚‡ใ† -ใคใ†ใ˜ใ‚‹ -ใคใ†ใฏใ‚“ -ใคใ†ใ‚ -ใคใˆ -ใคใ‹ใ† -ใคใ‹ใ‚Œใ‚‹ -ใคใ -ใคใ -ใคใใญ -ใคใใ‚‹ -ใคใ‘ใญ -ใคใ‘ใ‚‹ -ใคใ”ใ† -ใคใŸ -ใคใŸใˆใ‚‹ -ใคใก -ใคใคใ˜ -ใคใจใ‚ใ‚‹ -ใคใช -ใคใชใŒใ‚‹ -ใคใชใฟ -ใคใญใฅใญ -ใคใฎ -ใคใฎใ‚‹ -ใคใฐ -ใคใถ -ใคใถใ™ -ใคใผ -ใคใพ -ใคใพใ‚‰ใชใ„ -ใคใพใ‚‹ -ใคใฟ -ใคใฟใ -ใคใ‚€ -ใคใ‚ใŸใ„ -ใคใ‚‚ใ‚‹ -ใคใ‚„ -ใคใ‚ˆใ„ -ใคใ‚Š -ใคใ‚‹ใผ -ใคใ‚‹ใฟใ -ใคใ‚ใ‚‚ใฎ -ใคใ‚ใ‚Š -ใฆใ‚ใ— -ใฆใ‚ใฆ -ใฆใ‚ใฟ -ใฆใ„ใ‹ -ใฆใ„ใ -ใฆใ„ใ‘ใ„ -ใฆใ„ใ‘ใค -ใฆใ„ใ‘ใคใ‚ใค -ใฆใ„ใ“ใ -ใฆใ„ใ•ใค -ใฆใ„ใ— -ใฆใ„ใ—ใ‚ƒ -ใฆใ„ใ›ใ„ -ใฆใ„ใŸใ„ -ใฆใ„ใฉ -ใฆใ„ใญใ„ -ใฆใ„ใฒใ‚‡ใ† -ใฆใ„ใธใ‚“ -ใฆใ„ใผใ† -ใฆใ†ใก -ใฆใŠใใ‚Œ -ใฆใ -ใฆใใณ -ใฆใ“ -ใฆใ•ใŽใ‚‡ใ† -ใฆใ•ใ’ -ใงใ— -ใฆใ™ใ‚Š -ใฆใใ† -ใฆใกใŒใ„ -ใฆใกใ‚‡ใ† -ใฆใคใŒใ -ใฆใคใฅใ -ใฆใคใ‚„ -ใงใฌใ‹ใˆ -ใฆใฌใ -ใฆใฌใใ„ -ใฆใฎใฒใ‚‰ -ใฆใฏใ„ -ใฆใตใ  -ใฆใปใฉใ -ใฆใปใ‚“ -ใฆใพ -ใฆใพใˆ -ใฆใพใใšใ— -ใฆใฟใ˜ใ‹ -ใฆใฟใ‚„ใ’ -ใฆใ‚‰ -ใฆใ‚‰ใ™ -ใงใ‚‹ -ใฆใ‚Œใณ -ใฆใ‚ -ใฆใ‚ใ‘ -ใฆใ‚ใŸใ— -ใงใ‚“ใ‚ใค -ใฆใ‚“ใ„ -ใฆใ‚“ใ„ใ‚“ -ใฆใ‚“ใ‹ใ„ -ใฆใ‚“ใ -ใฆใ‚“ใ -ใฆใ‚“ใ‘ใ‚“ -ใงใ‚“ใ’ใ‚“ -ใฆใ‚“ใ”ใ -ใฆใ‚“ใ•ใ„ -ใฆใ‚“ใ™ใ† -ใงใ‚“ใก -ใฆใ‚“ใฆใ -ใฆใ‚“ใจใ† -ใฆใ‚“ใชใ„ -ใฆใ‚“ใท -ใฆใ‚“ใทใ‚‰ -ใฆใ‚“ใผใ†ใ ใ„ -ใฆใ‚“ใ‚ใค -ใฆใ‚“ใ‚‰ใ -ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„ -ใงใ‚“ใ‚Šใ‚…ใ† -ใงใ‚“ใ‚Šใ‚‡ใ -ใงใ‚“ใ‚ -ใฉใ‚ -ใฉใ‚ใ„ -ใจใ„ใ‚Œ -ใจใ†ใ‚€ใŽ -ใจใŠใ„ -ใจใŠใ™ -ใจใ‹ใ„ -ใจใ‹ใ™ -ใจใใŠใ‚Š -ใจใใฉใ -ใจใใ„ -ใจใใฆใ„ -ใจใใฆใ‚“ -ใจใในใค -ใจใ‘ใ„ -ใจใ‘ใ‚‹ -ใจใ•ใ‹ -ใจใ— -ใจใ—ใ‚‡ใ‹ใ‚“ -ใจใใ† -ใจใŸใ‚“ -ใจใก -ใจใกใ‚…ใ† -ใจใคใœใ‚“ -ใจใคใซใ‚…ใ† -ใจใจใฎใˆใ‚‹ -ใจใชใ„ -ใจใชใˆใ‚‹ -ใจใชใ‚Š -ใจใฎใ•ใพ -ใจใฐใ™ -ใจใถ -ใจใป -ใจใปใ† -ใฉใพ -ใจใพใ‚‹ -ใจใ‚‰ -ใจใ‚Š -ใจใ‚‹ -ใจใ‚“ใ‹ใค -ใชใ„ -ใชใ„ใ‹ -ใชใ„ใ‹ใ -ใชใ„ใ“ใ† -ใชใ„ใ—ใ‚‡ -ใชใ„ใ™ -ใชใ„ใ›ใ‚“ -ใชใ„ใใ† -ใชใ„ใžใ† -ใชใŠใ™ -ใชใ -ใชใ“ใ†ใฉ -ใชใ•ใ‘ -ใชใ— -ใชใ™ -ใชใœ -ใชใž -ใชใŸใงใ“ใ“ -ใชใค -ใชใฃใจใ† -ใชใคใ‚„ใ™ใฟ -ใชใชใŠใ— -ใชใซใ”ใจ -ใชใซใ‚‚ใฎ -ใชใซใ‚ -ใชใฏ -ใชใณ -ใชใตใ  -ใชใน -ใชใพใ„ใ -ใชใพใˆ -ใชใพใฟ -ใชใฟ -ใชใฟใ  -ใชใ‚ใ‚‰ใ‹ -ใชใ‚ใ‚‹ -ใชใ‚„ใ‚€ -ใชใ‚‰ใถ -ใชใ‚‹ -ใชใ‚Œใ‚‹ -ใชใ‚ -ใชใ‚ใจใณ -ใชใ‚ใฐใ‚Š -ใซใ‚ใ† -ใซใ„ใŒใŸ -ใซใ†ใ‘ -ใซใŠใ„ -ใซใ‹ใ„ -ใซใŒใฆ -ใซใใณ -ใซใ -ใซใใ—ใฟ -ใซใใพใ‚“ -ใซใ’ใ‚‹ -ใซใ•ใ‚“ใ‹ใŸใ‚“ใ -ใซใ— -ใซใ—ใ -ใซใ™ -ใซใ›ใ‚‚ใฎ -ใซใกใ˜ -ใซใกใ˜ใ‚‡ใ† -ใซใกใ‚ˆใ†ใณ -ใซใฃใ‹ -ใซใฃใ -ใซใฃใ‘ใ„ -ใซใฃใ“ใ† -ใซใฃใ•ใ‚“ -ใซใฃใ—ใ‚‡ใ -ใซใฃใ™ใ† -ใซใฃใ›ใ -ใซใฃใฆใ„ -ใซใชใ† -ใซใปใ‚“ -ใซใพใ‚ -ใซใ‚‚ใค -ใซใ‚„ใ‚Š -ใซใ‚…ใ†ใ„ใ‚“ -ใซใ‚…ใ†ใ‹ -ใซใ‚…ใ†ใ— -ใซใ‚…ใ†ใ—ใ‚ƒ -ใซใ‚…ใ†ใ ใ‚“ -ใซใ‚…ใ†ใถ -ใซใ‚‰ -ใซใ‚Šใ‚“ใ—ใ‚ƒ -ใซใ‚‹ -ใซใ‚ -ใซใ‚ใจใ‚Š -ใซใ‚“ใ„ -ใซใ‚“ใ‹ -ใซใ‚“ใ -ใซใ‚“ใ’ใ‚“ -ใซใ‚“ใ—ใ -ใซใ‚“ใ—ใ‚‡ใ† -ใซใ‚“ใ—ใ‚“ -ใซใ‚“ใšใ† -ใซใ‚“ใใ† -ใซใ‚“ใŸใ„ -ใซใ‚“ใก -ใซใ‚“ใฆใ„ -ใซใ‚“ใซใ -ใซใ‚“ใท -ใซใ‚“ใพใ‚Š -ใซใ‚“ใ‚€ -ใซใ‚“ใ‚ใ„ -ใซใ‚“ใ‚ˆใ† -ใฌใ† -ใฌใ‹ -ใฌใ -ใฌใใ‚‚ใ‚Š -ใฌใ— -ใฌใฎ -ใฌใพ -ใฌใ‚ใ‚Š -ใฌใ‚‰ใ™ -ใฌใ‚‹ -ใฌใ‚“ใกใ‚ƒใ -ใญใ‚ใ’ -ใญใ„ใ -ใญใ„ใ‚‹ -ใญใ„ใ‚ -ใญใŽ -ใญใใ› -ใญใใŸใ„ -ใญใใ‚‰ -ใญใ“ -ใญใ“ใœ -ใญใ“ใ‚€ -ใญใ•ใ’ -ใญใ™ใ”ใ™ -ใญใในใ‚‹ -ใญใคใ„ -ใญใคใžใ† -ใญใฃใŸใ„ -ใญใฃใŸใ„ใŽใ‚‡ -ใญใถใใ -ใญใตใ  -ใญใผใ† -ใญใปใ‚Šใฏใปใ‚Š -ใญใพใ -ใญใพใ‚ใ— -ใญใฟใฟ -ใญใ‚€ใ„ -ใญใ‚‚ใจ -ใญใ‚‰ใ† -ใญใ‚‹ -ใญใ‚ใ– -ใญใ‚“ใ„ใ‚Š -ใญใ‚“ใŠใ— -ใญใ‚“ใ‹ใ‚“ -ใญใ‚“ใ -ใญใ‚“ใใ‚“ -ใญใ‚“ใ -ใญใ‚“ใ– -ใญใ‚“ใ— -ใญใ‚“ใกใ‚ƒใ -ใญใ‚“ใกใ‚‡ใ† -ใญใ‚“ใฉ -ใญใ‚“ใด -ใญใ‚“ใถใค -ใญใ‚“ใพใ -ใญใ‚“ใพใค -ใญใ‚“ใ‚Šใ -ใญใ‚“ใ‚Šใ‚‡ใ† -ใญใ‚“ใ‚Œใ„ -ใฎใ„ใš -ใฎใ† -ใฎใŠใฅใพ -ใฎใŒใ™ -ใฎใใชใฟ -ใฎใ“ใŽใ‚Š -ใฎใ“ใ™ -ใฎใ›ใ‚‹ -ใฎใžใ -ใฎใžใ‚€ -ใฎใŸใพใ† -ใฎใกใปใฉ -ใฎใฃใ -ใฎใฐใ™ -ใฎใฏใ‚‰ -ใฎในใ‚‹ -ใฎใผใ‚‹ -ใฎใ‚€ -ใฎใ‚„ใพ -ใฎใ‚‰ใ„ใฌ -ใฎใ‚‰ใญใ“ -ใฎใ‚Š -ใฎใ‚‹ -ใฎใ‚Œใ‚“ -ใฎใ‚“ใ -ใฐใ‚ใ„ -ใฏใ‚ใ -ใฐใ‚ใ•ใ‚“ -ใฏใ„ -ใฐใ„ใ‹ -ใฐใ„ใ -ใฏใ„ใ‘ใ‚“ -ใฏใ„ใ” -ใฏใ„ใ“ใ† -ใฏใ„ใ— -ใฏใ„ใ—ใ‚…ใค -ใฏใ„ใ—ใ‚“ -ใฏใ„ใ™ใ„ -ใฏใ„ใ›ใค -ใฏใ„ใ›ใ‚“ -ใฏใ„ใใ† -ใฏใ„ใก -ใฐใ„ใฐใ„ -ใฏใ† -ใฏใˆ -ใฏใˆใ‚‹ -ใฏใŠใ‚‹ -ใฏใ‹ -ใฐใ‹ -ใฏใ‹ใ„ -ใฏใ‹ใ‚‹ -ใฏใ -ใฏใ -ใฏใใ—ใ‚… -ใฏใ‘ใ‚“ -ใฏใ“ -ใฏใ“ใถ -ใฏใ•ใฟ -ใฏใ•ใ‚“ -ใฏใ— -ใฏใ—ใ” -ใฏใ—ใ‚‹ -ใฐใ™ -ใฏใ›ใ‚‹ -ใฑใใ“ใ‚“ -ใฏใใ‚“ -ใฏใŸใ‚“ -ใฏใก -ใฏใกใฟใค -ใฏใฃใ‹ -ใฏใฃใ‹ใ -ใฏใฃใ -ใฏใฃใใ‚Š -ใฏใฃใใค -ใฏใฃใ‘ใ‚“ -ใฏใฃใ“ใ† -ใฏใฃใ•ใ‚“ -ใฏใฃใ—ใ‚ƒ -ใฏใฃใ—ใ‚“ -ใฏใฃใŸใค -ใฏใฃใกใ‚ƒใ -ใฏใฃใกใ‚…ใ† -ใฏใฃใฆใ‚“ -ใฏใฃใดใ‚‡ใ† -ใฏใฃใฝใ† -ใฏใฆ -ใฏใช -ใฏใชใ™ -ใฏใชใณ -ใฏใซใ‹ใ‚€ -ใฏใญ -ใฏใฏ -ใฏใถใ‚‰ใ— -ใฏใพ -ใฏใฟใŒใ -ใฏใ‚€ -ใฏใ‚€ใ‹ใ† -ใฏใ‚ใค -ใฏใ‚„ใ„ -ใฏใ‚‰ -ใฏใ‚‰ใ† -ใฏใ‚Š -ใฏใ‚‹ -ใฏใ‚Œ -ใฏใ‚ใ†ใƒใ‚“ -ใฏใ‚ใ„ -ใฏใ‚“ใ„ -ใฏใ‚“ใˆใ„ -ใฏใ‚“ใˆใ‚“ -ใฏใ‚“ใŠใ‚“ -ใฏใ‚“ใ‹ใ -ใฏใ‚“ใ‹ใก -ใฏใ‚“ใใ‚‡ใ† -ใฏใ‚“ใ“ -ใฏใ‚“ใ“ใ† -ใฏใ‚“ใ—ใ‚ƒ -ใฏใ‚“ใ—ใ‚“ -ใฏใ‚“ใ™ใ† -ใฏใ‚“ใŸใ„ -ใฏใ‚“ใ ใ‚“ -ใฑใ‚“ใก -ใฑใ‚“ใค -ใฏใ‚“ใฆใ„ -ใฏใ‚“ใฆใ‚“ -ใฏใ‚“ใจใ— -ใฏใ‚“ใฎใ† -ใฏใ‚“ใฑ -ใฏใ‚“ใถใ‚“ -ใฏใ‚“ใบใ‚“ -ใฏใ‚“ใผใ†ใ -ใฏใ‚“ใ‚ใ„ -ใฏใ‚“ใ‚ใ‚“ -ใฏใ‚“ใ‚‰ใ‚“ -ใฏใ‚“ใ‚ใ‚“ -ใฒใ„ใ -ใฒใ†ใ‚“ -ใฒใˆใ‚‹ -ใฒใ‹ใ -ใฒใ‹ใ‚Š -ใฒใ‹ใ‚“ -ใฒใ -ใฒใใ„ -ใฒใ‘ใค -ใฒใ“ใ†ใ -ใฒใ“ใ -ใฒใ– -ใดใ– -ใฒใ•ใ„ -ใฒใ•ใ—ใถใ‚Š -ใฒใ•ใ‚“ -ใฒใ— -ใฒใ˜ -ใฒใ—ใ‚‡ -ใฒใ˜ใ‚‡ใ† -ใฒใใ‹ -ใฒใใ‚€ -ใฒใŸใ‚€ใ -ใฒใŸใ‚‹ -ใฒใคใŽ -ใฒใฃใ“ใ— -ใฒใฃใ— -ใฒใฃใ™ -ใฒใคใœใ‚“ -ใฒใคใ‚ˆใ† -ใฒใฆใ„ -ใฒใจ -ใฒใจใ”ใฟ -ใฒใช -ใฒใชใ‚“ -ใฒใญใ‚‹ -ใฒใฏใ‚“ -ใฒใณใ -ใฒใฒใ‚‡ใ† -ใฒใต -ใฒใปใ† -ใฒใพ -ใฒใพใ‚“ -ใฒใฟใค -ใฒใ‚ -ใฒใ‚ใ„ -ใฒใ‚ใ˜ใ— -ใฒใ‚‚ -ใฒใ‚„ใ‘ -ใฒใ‚„ใ™ -ใฒใ‚† -ใฒใ‚ˆใ† -ใณใ‚‡ใ†ใ -ใฒใ‚‰ใ -ใฒใ‚Šใค -ใฒใ‚Šใ‚‡ใ† -ใฒใ‚‹ -ใฒใ‚Œใ„ -ใฒใ‚ใ„ -ใฒใ‚ใ† -ใฒใ‚ -ใฒใ‚“ใ‹ใ -ใฒใ‚“ใ‘ใค -ใฒใ‚“ใ“ใ‚“ -ใฒใ‚“ใ— -ใฒใ‚“ใ—ใค -ใฒใ‚“ใ—ใ‚… -ใฒใ‚“ใใ† -ใดใ‚“ใก -ใฒใ‚“ใฑใ‚“ -ใณใ‚“ใผใ† -ใตใ‚ใ‚“ -ใตใ„ใ†ใก -ใตใ†ใ‘ใ„ -ใตใ†ใ›ใ‚“ -ใตใ†ใจใ† -ใตใ†ใต -ใตใˆ -ใตใˆใ‚‹ -ใตใŠใ‚“ -ใตใ‹ -ใตใ‹ใ„ -ใตใใ‚“ -ใตใ -ใตใใ–ใค -ใตใ“ใ† -ใตใ•ใ„ -ใตใ–ใ„ -ใตใ—ใŽ -ใตใ˜ใฟ -ใตใ™ใพ -ใตใ›ใ„ -ใตใ›ใ -ใตใใ -ใตใŸ -ใตใŸใ‚“ -ใตใก -ใตใกใ‚‡ใ† -ใตใคใ† -ใตใฃใ‹ใค -ใตใฃใ -ใตใฃใใ‚“ -ใตใฃใ“ใ -ใตใจใ‚‹ -ใตใจใ‚“ -ใตใญ -ใตใฎใ† -ใตใฏใ„ -ใตใฒใ‚‡ใ† -ใตใธใ‚“ -ใตใพใ‚“ -ใตใฟใ‚“ -ใตใ‚€ -ใตใ‚ใค -ใตใ‚ใ‚“ -ใตใ‚† -ใตใ‚ˆใ† -ใตใ‚Šใ“ -ใตใ‚Šใ‚‹ -ใตใ‚‹ -ใตใ‚‹ใ„ -ใตใ‚ -ใตใ‚“ใ„ใ -ใตใ‚“ใ‹ -ใถใ‚“ใ‹ -ใถใ‚“ใ -ใตใ‚“ใ—ใค -ใถใ‚“ใ›ใ -ใตใ‚“ใใ† -ใธใ„ -ใธใ„ใ -ใธใ„ใ• -ใธใ„ใ‚ -ใธใใŒ -ใธใ“ใ‚€ -ใธใ -ใธใŸ -ในใค -ในใฃใฉ -ใบใฃใจ -ใธใณ -ใธใ‚„ -ใธใ‚‹ -ใธใ‚“ใ‹ -ใธใ‚“ใ‹ใ‚“ -ใธใ‚“ใใ‚ƒใ -ใธใ‚“ใใ‚“ -ใธใ‚“ใ•ใ„ -ใธใ‚“ใŸใ„ -ใปใ‚ใ‚“ -ใปใ„ใ -ใปใ†ใปใ† -ใปใˆใ‚‹ -ใปใŠใ‚“ -ใปใ‹ใ‚“ -ใปใใ‚‡ใ† -ใผใใ‚“ -ใปใใ‚ -ใปใ‘ใค -ใปใ‘ใ‚“ -ใปใ“ใ† -ใปใ“ใ‚‹ -ใปใ• -ใปใ— -ใปใ—ใค -ใปใ—ใ‚… -ใปใ—ใ‚‡ใ† -ใปใ™ -ใปใ›ใ„ -ใผใ›ใ„ -ใปใใ„ -ใปใใ -ใปใŸใฆ -ใปใŸใ‚‹ -ใผใก -ใปใฃใใ‚‡ใ -ใปใฃใ• -ใปใฃใŸใ‚“ -ใปใจใ‚“ใฉ -ใปใ‚ใ‚‹ -ใปใ‚‹ -ใปใ‚“ใ„ -ใปใ‚“ใ -ใปใ‚“ใ‘ -ใปใ‚“ใ—ใค -ใพใ„ใซใก -ใพใ† -ใพใ‹ใ„ -ใพใ‹ใ›ใ‚‹ -ใพใ -ใพใ‘ใ‚‹ -ใพใ“ใจ -ใพใ•ใค -ใพใ™ใ -ใพใœใ‚‹ -ใพใก -ใพใค -ใพใคใ‚Š -ใพใจใ‚ -ใพใชใถ -ใพใฌใ‘ -ใพใญ -ใพใญใ -ใพใฒ -ใพใปใ† -ใพใ‚ -ใพใ‚‚ใ‚‹ -ใพใ‚†ใ’ -ใพใ‚ˆใ† -ใพใ‚‹ -ใพใ‚ใ‚„ใ‹ -ใพใ‚ใ™ -ใพใ‚ใ‚Š -ใพใ‚“ใŒ -ใพใ‚“ใ‹ใ„ -ใพใ‚“ใใค -ใพใ‚“ใžใ -ใฟใ„ใ‚‰ -ใฟใ†ใก -ใฟใ‹ใŸ -ใฟใ‹ใ‚“ -ใฟใŽ -ใฟใ‘ใ‚“ -ใฟใ“ใ‚“ -ใฟใ™ใ„ -ใฟใ™ใˆใ‚‹ -ใฟใ› -ใฟใ -ใฟใก -ใฟใฆใ„ -ใฟใจใ‚ใ‚‹ -ใฟใชใฟใ‹ใ•ใ„ -ใฟใญใ‚‰ใ‚‹ -ใฟใฎใ† -ใฟใปใ‚“ -ใฟใฟ -ใฟใ‚‚ใจ -ใฟใ‚„ใ’ -ใฟใ‚‰ใ„ -ใฟใ‚Šใ‚‡ใ -ใฟใ‚‹ -ใฟใ‚ใ -ใ‚€ใˆใ -ใ‚€ใˆใ‚“ -ใ‚€ใ‹ใ— -ใ‚€ใ -ใ‚€ใ“ -ใ‚€ใ•ใผใ‚‹ -ใ‚€ใ— -ใ‚€ใ™ใ“ -ใ‚€ใ™ใ‚ -ใ‚€ใ›ใ‚‹ -ใ‚€ใ›ใ‚“ -ใ‚€ใ  -ใ‚€ใก -ใ‚€ใชใ—ใ„ -ใ‚€ใญ -ใ‚€ใฎใ† -ใ‚€ใ‚„ใฟ -ใ‚€ใ‚ˆใ† -ใ‚€ใ‚‰ -ใ‚€ใ‚Š -ใ‚€ใ‚Šใ‚‡ใ† -ใ‚€ใ‚Œ -ใ‚€ใ‚ใ‚“ -ใ‚‚ใ†ใฉใ†ใ‘ใ‚“ -ใ‚‚ใˆใ‚‹ -ใ‚‚ใŽ -ใ‚‚ใใ— -ใ‚‚ใใฆใ -ใ‚‚ใ— -ใ‚‚ใ‚“ใ -ใ‚‚ใ‚“ใ ใ„ -ใ‚„ใ™ใ„ -ใ‚„ใ™ใฟ -ใ‚„ใใ† -ใ‚„ใŸใ„ -ใ‚„ใกใ‚“ -ใ‚„ใญ -ใ‚„ใถใ‚‹ -ใ‚„ใพ -ใ‚„ใฟ -ใ‚„ใ‚ใ‚‹ -ใ‚„ใ‚„ใ“ใ—ใ„ -ใ‚„ใ‚ˆใ„ -ใ‚„ใ‚Š -ใ‚„ใ‚ใ‚‰ใ‹ใ„ -ใ‚†ใ‘ใค -ใ‚†ใ—ใ‚…ใค -ใ‚†ใ›ใ‚“ -ใ‚†ใใ† -ใ‚†ใŸใ‹ -ใ‚†ใกใ‚ƒใ -ใ‚†ใงใ‚‹ -ใ‚†ใณ -ใ‚†ใณใ‚ -ใ‚†ใ‚ -ใ‚†ใ‚Œใ‚‹ -ใ‚ˆใ† -ใ‚ˆใ‹ใœ -ใ‚ˆใ‹ใ‚“ -ใ‚ˆใใ‚“ -ใ‚ˆใใ›ใ„ -ใ‚ˆใใผใ† -ใ‚ˆใ‘ใ„ -ใ‚ˆใ•ใ‚“ -ใ‚ˆใใ† -ใ‚ˆใใ -ใ‚ˆใก -ใ‚ˆใฆใ„ -ใ‚ˆใฉใŒใ‚ใ -ใ‚ˆใญใค -ใ‚ˆใ‚€ -ใ‚ˆใ‚ -ใ‚ˆใ‚„ใ -ใ‚ˆใ‚†ใ† -ใ‚ˆใ‚‹ -ใ‚ˆใ‚ใ“ใถ -ใ‚‰ใ„ใ† -ใ‚‰ใใŒใ -ใ‚‰ใใ” -ใ‚‰ใใ•ใค -ใ‚‰ใใ  -ใ‚‰ใใŸใ‚“ -ใ‚‰ใ—ใ‚“ใฐใ‚“ -ใ‚‰ใ›ใ‚“ -ใ‚‰ใžใ -ใ‚‰ใŸใ„ -ใ‚‰ใก -ใ‚‰ใฃใ‹ -ใ‚‰ใฃใ‹ใ›ใ„ -ใ‚‰ใ‚Œใค -ใ‚Šใˆใ -ใ‚Šใ‹ -ใ‚Šใ‹ใ„ -ใ‚Šใใ•ใ -ใ‚Šใใ›ใค -ใ‚Šใ -ใ‚Šใใใ‚“ -ใ‚Šใใค -ใ‚Šใ‘ใ‚“ -ใ‚Šใ“ใ† -ใ‚Šใ— -ใ‚Šใ™ -ใ‚Šใ›ใ„ -ใ‚Šใใ† -ใ‚Šใใ -ใ‚Šใฆใ‚“ -ใ‚Šใญใ‚“ -ใ‚Šใ‚…ใ† -ใ‚Šใ‚†ใ† -ใ‚Šใ‚…ใ†ใŒใ -ใ‚Šใ‚…ใ†ใ“ใ† -ใ‚Šใ‚…ใ†ใ— -ใ‚Šใ‚…ใ†ใญใ‚“ -ใ‚Šใ‚ˆใ† -ใ‚Šใ‚‡ใ†ใ‹ใ„ -ใ‚Šใ‚‡ใ†ใใ‚“ -ใ‚Šใ‚‡ใ†ใ—ใ‚“ -ใ‚Šใ‚‡ใ†ใฆ -ใ‚Šใ‚‡ใ†ใฉ -ใ‚Šใ‚‡ใ†ใปใ† -ใ‚Šใ‚‡ใ†ใ‚Š -ใ‚Šใ‚Šใ -ใ‚Šใ‚Œใ -ใ‚Šใ‚ใ‚“ -ใ‚Šใ‚“ใ” -ใ‚‹ใ„ใ˜ -ใ‚‹ใ™ -ใ‚Œใ„ใ‹ใ‚“ -ใ‚Œใ„ใŽ -ใ‚Œใ„ใ›ใ„ -ใ‚Œใ„ใžใ†ใ“ -ใ‚Œใ„ใจใ† -ใ‚Œใใ— -ใ‚Œใใ ใ„ -ใ‚Œใ‚“ใ‚ใ„ -ใ‚Œใ‚“ใ‘ใ„ -ใ‚Œใ‚“ใ‘ใค -ใ‚Œใ‚“ใ“ใ† -ใ‚Œใ‚“ใ“ใ‚“ -ใ‚Œใ‚“ใ• -ใ‚Œใ‚“ใ•ใ„ -ใ‚Œใ‚“ใ•ใ -ใ‚Œใ‚“ใ—ใ‚ƒ -ใ‚Œใ‚“ใ—ใ‚…ใ† -ใ‚Œใ‚“ใžใ -ใ‚ใ†ใ‹ -ใ‚ใ†ใ” -ใ‚ใ†ใ˜ใ‚“ -ใ‚ใ†ใใ -ใ‚ใ‹ -ใ‚ใใŒ -ใ‚ใ“ใค -ใ‚ใ—ใ‚…ใค -ใ‚ใ›ใ‚“ -ใ‚ใฆใ‚“ -ใ‚ใ‚ใ‚“ -ใ‚ใ‚Œใค -ใ‚ใ‚“ใŽ -ใ‚ใ‚“ใฑ -ใ‚ใ‚“ใถใ‚“ -ใ‚ใ‚“ใ‚Š -ใ‚ใ˜ใพใ— diff --git a/src/mnemonics/wordlists/languages/portuguese b/src/mnemonics/wordlists/languages/portuguese deleted file mode 100644 index 126fd2740..000000000 --- a/src/mnemonics/wordlists/languages/portuguese +++ /dev/null @@ -1,1626 +0,0 @@ -abaular -abdominal -abeto -abissinio -abjeto -ablucao -abnegar -abotoar -abrutalhar -absurdo -abutre -acautelar -accessorios -acetona -achocolatado -acirrar -acne -acovardar -acrostico -actinomicete -acustico -adaptavel -adeus -adivinho -adjunto -admoestar -adnominal -adotivo -adquirir -adriatico -adsorcao -adutora -advogar -aerossol -afazeres -afetuoso -afixo -afluir -afortunar -afrouxar -aftosa -afunilar -agentes -agito -aglutinar -aiatola -aimore -aino -aipo -airoso -ajeitar -ajoelhar -ajudante -ajuste -alazao -albumina -alcunha -alegria -alexandre -alforriar -alguns -alhures -alivio -almoxarife -alotropico -alpiste -alquimista -alsaciano -altura -aluviao -alvura -amazonico -ambulatorio -ametodico -amizades -amniotico -amovivel -amurada -anatomico -ancorar -anexo -anfora -aniversario -anjo -anotar -ansioso -anturio -anuviar -anverso -anzol -aonde -apaziguar -apito -aplicavel -apoteotico -aprimorar -aprumo -apto -apuros -aquoso -arauto -arbusto -arduo -aresta -arfar -arguto -aritmetico -arlequim -armisticio -aromatizar -arpoar -arquivo -arrumar -arsenio -arturiano -aruaque -arvores -asbesto -ascorbico -aspirina -asqueroso -assustar -astuto -atazanar -ativo -atletismo -atmosferico -atormentar -atroz -aturdir -audivel -auferir -augusto -aula -aumento -aurora -autuar -avatar -avexar -avizinhar -avolumar -avulso -axiomatico -azerbaijano -azimute -azoto -azulejo -bacteriologista -badulaque -baforada -baixote -bajular -balzaquiana -bambuzal -banzo -baoba -baqueta -barulho -bastonete -batuta -bauxita -bavaro -bazuca -bcrepuscular -beato -beduino -begonia -behaviorista -beisebol -belzebu -bemol -benzido -beocio -bequer -berro -besuntar -betume -bexiga -bezerro -biatlon -biboca -bicuspide -bidirecional -bienio -bifurcar -bigorna -bijuteria -bimotor -binormal -bioxido -bipolarizacao -biquini -birutice -bisturi -bituca -biunivoco -bivalve -bizarro -blasfemo -blenorreia -blindar -bloqueio -blusao -boazuda -bofete -bojudo -bolso -bombordo -bonzo -botina -boquiaberto -bostoniano -botulismo -bourbon -bovino -boximane -bravura -brevidade -britar -broxar -bruno -bruxuleio -bubonico -bucolico -buda -budista -bueiro -buffer -bugre -bujao -bumerangue -burundines -busto -butique -buzios -caatinga -cabuqui -cacunda -cafuzo -cajueiro -camurca -canudo -caquizeiro -carvoeiro -casulo -catuaba -cauterizar -cebolinha -cedula -ceifeiro -celulose -cerzir -cesto -cetro -ceus -cevar -chavena -cheroqui -chita -chovido -chuvoso -ciatico -cibernetico -cicuta -cidreira -cientistas -cifrar -cigarro -cilio -cimo -cinzento -cioso -cipriota -cirurgico -cisto -citrico -ciumento -civismo -clavicula -clero -clitoris -cluster -coaxial -cobrir -cocota -codorniz -coexistir -cogumelo -coito -colusao -compaixao -comutativo -contentamento -convulsivo -coordenativa -coquetel -correto -corvo -costureiro -cotovia -covil -cozinheiro -cretino -cristo -crivo -crotalo -cruzes -cubo -cucuia -cueiro -cuidar -cujo -cultural -cunilingua -cupula -curvo -custoso -cutucar -czarismo -dablio -dacota -dados -daguerreotipo -daiquiri -daltonismo -damista -dantesco -daquilo -darwinista -dasein -dativo -deao -debutantes -decurso -deduzir -defunto -degustar -dejeto -deltoide -demover -denunciar -deputado -deque -dervixe -desvirtuar -deturpar -deuteronomio -devoto -dextrose -dezoito -diatribe -dicotomico -didatico -dietista -difuso -digressao -diluvio -diminuto -dinheiro -dinossauro -dioxido -diplomatico -dique -dirimivel -disturbio -diurno -divulgar -dizivel -doar -dobro -docura -dodoi -doer -dogue -doloso -domo -donzela -doping -dorsal -dossie -dote -doutro -doze -dravidico -dreno -driver -dropes -druso -dubnio -ducto -dueto -dulija -dundum -duodeno -duquesa -durou -duvidoso -duzia -ebano -ebrio -eburneo -echarpe -eclusa -ecossistema -ectoplasma -ecumenismo -eczema -eden -editorial -edredom -edulcorar -efetuar -efigie -efluvio -egiptologo -egresso -egua -einsteiniano -eira -eivar -eixos -ejetar -elastomero -eldorado -elixir -elmo -eloquente -elucidativo -emaranhar -embutir -emerito -emfa -emitir -emotivo -empuxo -emulsao -enamorar -encurvar -enduro -enevoar -enfurnar -enguico -enho -enigmista -enlutar -enormidade -enpreendimento -enquanto -enriquecer -enrugar -entusiastico -enunciar -envolvimento -enxuto -enzimatico -eolico -epiteto -epoxi -epura -equivoco -erario -erbio -ereto -erguido -erisipela -ermo -erotizar -erros -erupcao -ervilha -esburacar -escutar -esfuziante -esguio -esloveno -esmurrar -esoterismo -esperanca -espirito -espurio -essencialmente -esturricar -esvoacar -etario -eterno -etiquetar -etnologo -etos -etrusco -euclidiano -euforico -eugenico -eunuco -europio -eustaquio -eutanasia -evasivo -eventualidade -evitavel -evoluir -exaustor -excursionista -exercito -exfoliado -exito -exotico -expurgo -exsudar -extrusora -exumar -fabuloso -facultativo -fado -fagulha -faixas -fajuto -faltoso -famoso -fanzine -fapesp -faquir -fartura -fastio -faturista -fausto -favorito -faxineira -fazer -fealdade -febril -fecundo -fedorento -feerico -feixe -felicidade -felipe -feltro -femur -fenotipo -fervura -festivo -feto -feudo -fevereiro -fezinha -fiasco -fibra -ficticio -fiduciario -fiesp -fifa -figurino -fijiano -filtro -finura -fiorde -fiquei -firula -fissurar -fitoteca -fivela -fixo -flavio -flexor -flibusteiro -flotilha -fluxograma -fobos -foco -fofura -foguista -foie -foliculo -fominha -fonte -forum -fosso -fotossintese -foxtrote -fraudulento -frevo -frivolo -frouxo -frutose -fuba -fucsia -fugitivo -fuinha -fujao -fulustreco -fumo -funileiro -furunculo -fustigar -futurologo -fuxico -fuzue -gabriel -gado -gaelico -gafieira -gaguejo -gaivota -gajo -galvanoplastico -gamo -ganso -garrucha -gastronomo -gatuno -gaussiano -gaviao -gaxeta -gazeteiro -gear -geiser -geminiano -generoso -genuino -geossinclinal -gerundio -gestual -getulista -gibi -gigolo -gilete -ginseng -giroscopio -glaucio -glacial -gleba -glifo -glote -glutonia -gnostico -goela -gogo -goitaca -golpista -gomo -gonzo -gorro -gostou -goticula -gourmet -governo -gozo -graxo -grevista -grito -grotesco -gruta -guaxinim -gude -gueto -guizo -guloso -gume -guru -gustativo -gustavo -gutural -habitue -haitiano -halterofilista -hamburguer -hanseniase -happening -harpista -hastear -haveres -hebreu -hectometro -hedonista -hegira -helena -helminto -hemorroidas -henrique -heptassilabo -hertziano -hesitar -heterossexual -heuristico -hexagono -hiato -hibrido -hidrostatico -hieroglifo -hifenizar -higienizar -hilario -himen -hino -hippie -hirsuto -historiografia -hitlerista -hodometro -hoje -holograma -homus -honroso -hoquei -horto -hostilizar -hotentote -huguenote -humilde -huno -hurra -hutu -iaia -ialorixa -iambico -iansa -iaque -iara -iatista -iberico -ibis -icar -iceberg -icosagono -idade -ideologo -idiotice -idoso -iemenita -iene -igarape -iglu -ignorar -igreja -iguaria -iidiche -ilativo -iletrado -ilharga -ilimitado -ilogismo -ilustrissimo -imaturo -imbuzeiro -imerso -imitavel -imovel -imputar -imutavel -inaveriguavel -incutir -induzir -inextricavel -infusao -ingua -inhame -iniquo -injusto -inning -inoxidavel -inquisitorial -insustentavel -intumescimento -inutilizavel -invulneravel -inzoneiro -iodo -iogurte -ioio -ionosfera -ioruba -iota -ipsilon -irascivel -iris -irlandes -irmaos -iroques -irrupcao -isca -isento -islandes -isotopo -isqueiro -israelita -isso -isto -iterbio -itinerario -itrio -iuane -iugoslavo -jabuticabeira -jacutinga -jade -jagunco -jainista -jaleco -jambo -jantarada -japones -jaqueta -jarro -jasmim -jato -jaula -javel -jazz -jegue -jeitoso -jejum -jenipapo -jeova -jequitiba -jersei -jesus -jetom -jiboia -jihad -jilo -jingle -jipe -jocoso -joelho -joguete -joio -jojoba -jorro -jota -joule -joviano -jubiloso -judoca -jugular -juizo -jujuba -juliano -jumento -junto -jururu -justo -juta -juventude -labutar -laguna -laico -lajota -lanterninha -lapso -laquear -lastro -lauto -lavrar -laxativo -lazer -leasing -lebre -lecionar -ledo -leguminoso -leitura -lele -lemure -lento -leonardo -leopardo -lepton -leque -leste -letreiro -leucocito -levitico -lexicologo -lhama -lhufas -liame -licoroso -lidocaina -liliputiano -limusine -linotipo -lipoproteina -liquidos -lirismo -lisura -liturgico -livros -lixo -lobulo -locutor -lodo -logro -lojista -lombriga -lontra -loop -loquaz -lorota -losango -lotus -louvor -luar -lubrificavel -lucros -lugubre -luis -luminoso -luneta -lustroso -luto -luvas -luxuriante -luzeiro -maduro -maestro -mafioso -magro -maiuscula -majoritario -malvisto -mamute -manutencao -mapoteca -maquinista -marzipa -masturbar -matuto -mausoleu -mavioso -maxixe -mazurca -meandro -mecha -medusa -mefistofelico -megera -meirinho -melro -memorizar -menu -mequetrefe -mertiolate -mestria -metroviario -mexilhao -mezanino -miau -microssegundo -midia -migratorio -mimosa -minuto -miosotis -mirtilo -misturar -mitzvah -miudos -mixuruca -mnemonico -moagem -mobilizar -modulo -moer -mofo -mogno -moita -molusco -monumento -moqueca -morubixaba -mostruario -motriz -mouse -movivel -mozarela -muarra -muculmano -mudo -mugir -muitos -mumunha -munir -muon -muquira -murros -musselina -nacoes -nado -naftalina -nago -naipe -naja -nalgum -namoro -nanquim -napolitano -naquilo -nascimento -nautilo -navios -nazista -nebuloso -nectarina -nefrologo -negus -nelore -nenufar -nepotismo -nervura -neste -netuno -neutron -nevoeiro -newtoniano -nexo -nhenhenhem -nhoque -nigeriano -niilista -ninho -niobio -niponico -niquelar -nirvana -nisto -nitroglicerina -nivoso -nobreza -nocivo -noel -nogueira -noivo -nojo -nominativo -nonuplo -noruegues -nostalgico -noturno -nouveau -nuanca -nublar -nucleotideo -nudista -nulo -numismatico -nunquinha -nupcias -nutritivo -nuvens -oasis -obcecar -obeso -obituario -objetos -oblongo -obnoxio -obrigatorio -obstruir -obtuso -obus -obvio -ocaso -occipital -oceanografo -ocioso -oclusivo -ocorrer -ocre -octogono -odalisca -odisseia -odorifico -oersted -oeste -ofertar -ofidio -oftalmologo -ogiva -ogum -oigale -oitavo -oitocentos -ojeriza -olaria -oleoso -olfato -olhos -oliveira -olmo -olor -olvidavel -ombudsman -omeleteira -omitir -omoplata -onanismo -ondular -oneroso -onomatopeico -ontologico -onus -onze -opalescente -opcional -operistico -opio -oposto -oprobrio -optometrista -opusculo -oratorio -orbital -orcar -orfao -orixa -orla -ornitologo -orquidea -ortorrombico -orvalho -osculo -osmotico -ossudo -ostrogodo -otario -otite -ouro -ousar -outubro -ouvir -ovario -overnight -oviparo -ovni -ovoviviparo -ovulo -oxala -oxente -oxiuro -oxossi -ozonizar -paciente -pactuar -padronizar -paete -pagodeiro -paixao -pajem -paludismo -pampas -panturrilha -papudo -paquistanes -pastoso -patua -paulo -pauzinhos -pavoroso -paxa -pazes -peao -pecuniario -pedunculo -pegaso -peixinho -pejorativo -pelvis -penuria -pequno -petunia -pezada -piauiense -pictorico -pierro -pigmeu -pijama -pilulas -pimpolho -pintura -piorar -pipocar -piqueteiro -pirulito -pistoleiro -pituitaria -pivotar -pixote -pizzaria -plistoceno -plotar -pluviometrico -pneumonico -poco -podridao -poetisa -pogrom -pois -polvorosa -pomposo -ponderado -pontudo -populoso -poquer -porvir -posudo -potro -pouso -povoar -prazo -prezar -privilegios -proximo -prussiano -pseudopode -psoriase -pterossauros -ptialina -ptolemaico -pudor -pueril -pufe -pugilista -puir -pujante -pulverizar -pumba -punk -purulento -pustula -putsch -puxe -quatrocentos -quetzal -quixotesco -quotizavel -rabujice -racista -radonio -rafia -ragu -rajado -ralo -rampeiro -ranzinza -raptor -raquitismo -raro -rasurar -ratoeira -ravioli -razoavel -reavivar -rebuscar -recusavel -reduzivel -reexposicao -refutavel -regurgitar -reivindicavel -rejuvenescimento -relva -remuneravel -renunciar -reorientar -repuxo -requisito -resumo -returno -reutilizar -revolvido -rezonear -riacho -ribossomo -ricota -ridiculo -rifle -rigoroso -rijo -rimel -rins -rios -riqueza -riquixa -rissole -ritualistico -rivalizar -rixa -robusto -rococo -rodoviario -roer -rogo -rojao -rolo -rompimento -ronronar -roqueiro -rorqual -rosto -rotundo -rouxinol -roxo -royal -ruas -rucula -rudimentos -ruela -rufo -rugoso -ruivo -rule -rumoroso -runico -ruptura -rural -rustico -rutilar -saariano -sabujo -sacudir -sadomasoquista -safra -sagui -sais -samurai -santuario -sapo -saquear -sartriano -saturno -saude -sauva -saveiro -saxofonista -sazonal -scherzo -script -seara -seborreia -secura -seduzir -sefardim -seguro -seja -selvas -sempre -senzala -sepultura -sequoia -sestercio -setuplo -seus -seviciar -sezonismo -shalom -siames -sibilante -sicrano -sidra -sifilitico -signos -silvo -simultaneo -sinusite -sionista -sirio -sisudo -situar -sivan -slide -slogan -soar -sobrio -socratico -sodomizar -soerguer -software -sogro -soja -solver -somente -sonso -sopro -soquete -sorveteiro -sossego -soturno -sousafone -sovinice -sozinho -suavizar -subverter -sucursal -sudoriparo -sufragio -sugestoes -suite -sujo -sultao -sumula -suntuoso -suor -supurar -suruba -susto -suturar -suvenir -tabuleta -taco -tadjique -tafeta -tagarelice -taitiano -talvez -tampouco -tanzaniano -taoista -tapume -taquion -tarugo -tascar -tatuar -tautologico -tavola -taxionomista -tchecoslovaco -teatrologo -tectonismo -tedioso -teflon -tegumento -teixo -telurio -temporas -tenue -teosofico -tepido -tequila -terrorista -testosterona -tetrico -teutonico -teve -texugo -tiara -tibia -tiete -tifoide -tigresa -tijolo -tilintar -timpano -tintureiro -tiquete -tiroteio -tisico -titulos -tive -toar -toboga -tofu -togoles -toicinho -tolueno -tomografo -tontura -toponimo -toquio -torvelinho -tostar -toto -touro -toxina -trazer -trezentos -trivialidade -trovoar -truta -tuaregue -tubular -tucano -tudo -tufo -tuiste -tulipa -tumultuoso -tunisino -tupiniquim -turvo -tutu -ucraniano -udenista -ufanista -ufologo -ugaritico -uiste -uivo -ulceroso -ulema -ultravioleta -umbilical -umero -umido -umlaut -unanimidade -unesco -ungulado -unheiro -univoco -untuoso -urano -urbano -urdir -uretra -urgente -urinol -urna -urologo -urro -ursulina -urtiga -urupe -usavel -usbeque -usei -usineiro -usurpar -utero -utilizar -utopico -uvular -uxoricidio -vacuo -vadio -vaguear -vaivem -valvula -vampiro -vantajoso -vaporoso -vaquinha -varziano -vasto -vaticinio -vaudeville -vazio -veado -vedico -veemente -vegetativo -veio -veja -veludo -venusiano -verdade -verve -vestuario -vetusto -vexatorio -vezes -viavel -vibratorio -victor -vicunha -vidros -vietnamita -vigoroso -vilipendiar -vime -vintem -violoncelo -viquingue -virus -visualizar -vituperio -viuvo -vivo -vizir -voar -vociferar -vodu -vogar -voile -volver -vomito -vontade -vortice -vosso -voto -vovozinha -voyeuse -vozes -vulva -vupt -western -xadrez -xale -xampu -xango -xarope -xaual -xavante -xaxim -xenonio -xepa -xerox -xicara -xifopago -xiita -xilogravura -xinxim -xistoso -xixi -xodo -xogum -xucro -zabumba -zagueiro -zambiano -zanzar -zarpar -zebu -zefiro -zeloso -zenite -zumbi diff --git a/src/mnemonics/wordlists/languages/spanish b/src/mnemonics/wordlists/languages/spanish deleted file mode 100644 index 29f5b3a73..000000000 --- a/src/mnemonics/wordlists/languages/spanish +++ /dev/null @@ -1,2049 +0,0 @@ -# Originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin -รกbaco -abdomen -abeja -abierto -abogado -abono -aborto -abrazo -abrir -abuelo -abuso -acabar -academia -acceso -acciรณn -aceite -acelga -acento -aceptar -รกcido -aclarar -acnรฉ -acoger -acoso -activo -acto -actriz -actuar -acudir -acuerdo -acusar -adicto -admitir -adoptar -adorno -aduana -adulto -aรฉreo -afectar -aficiรณn -afinar -afirmar -รกgil -agitar -agonรญa -agosto -agotar -agregar -agrio -agua -agudo -รกguila -aguja -ahogo -ahorro -aire -aislar -ajedrez -ajeno -ajuste -alacrรกn -alambre -alarma -alba -รกlbum -alcalde -aldea -alegre -alejar -alerta -aleta -alfiler -alga -algodรณn -aliado -aliento -alivio -alma -almeja -almรญbar -altar -alteza -altivo -alto -altura -alumno -alzar -amable -amante -amapola -amargo -amasar -รกmbar -รกmbito -ameno -amigo -amistad -amor -amparo -amplio -ancho -anciano -ancla -andar -andรฉn -anemia -รกngulo -anillo -รกnimo -anรญs -anotar -antena -antiguo -antojo -anual -anular -anuncio -aรฑadir -aรฑejo -aรฑo -apagar -aparato -apetito -apio -aplicar -apodo -aporte -apoyo -aprender -aprobar -apuesta -apuro -arado -araรฑa -arar -รกrbitro -รกrbol -arbusto -archivo -arco -arder -ardilla -arduo -รกrea -รกrido -aries -armonรญa -arnรฉs -aroma -arpa -arpรณn -arreglo -arroz -arruga -arte -artista -asa -asado -asalto -ascenso -asegurar -aseo -asesor -asiento -asilo -asistir -asno -asombro -รกspero -astilla -astro -astuto -asumir -asunto -atajo -ataque -atar -atento -ateo -รกtico -atleta -รกtomo -atraer -atroz -atรบn -audaz -audio -auge -aula -aumento -ausente -autor -aval -avance -avaro -ave -avellana -avena -avestruz -aviรณn -aviso -ayer -ayuda -ayuno -azafrรกn -azar -azote -azรบcar -azufre -azul -baba -babor -bache -bahรญa -baile -bajar -balanza -balcรณn -balde -bambรบ -banco -banda -baรฑo -barba -barco -barniz -barro -bรกscula -bastรณn -basura -batalla -baterรญa -batir -batuta -baรบl -bazar -bebรฉ -bebida -bello -besar -beso -bestia -bicho -bien -bingo -blanco -bloque -blusa -boa -bobina -bobo -boca -bocina -boda -bodega -boina -bola -bolero -bolsa -bomba -bondad -bonito -bono -bonsรกi -borde -borrar -bosque -bote -botรญn -bรณveda -bozal -bravo -brazo -brecha -breve -brillo -brinco -brisa -broca -broma -bronce -brote -bruja -brusco -bruto -buceo -bucle -bueno -buey -bufanda -bufรณn -bรบho -buitre -bulto -burbuja -burla -burro -buscar -butaca -buzรณn -caballo -cabeza -cabina -cabra -cacao -cadรกver -cadena -caer -cafรฉ -caรญda -caimรกn -caja -cajรณn -cal -calamar -calcio -caldo -calidad -calle -calma -calor -calvo -cama -cambio -camello -camino -campo -cรกncer -candil -canela -canguro -canica -canto -caรฑa -caรฑรณn -caoba -caos -capaz -capitรกn -capote -captar -capucha -cara -carbรณn -cรกrcel -careta -carga -cariรฑo -carne -carpeta -carro -carta -casa -casco -casero -caspa -castor -catorce -catre -caudal -causa -cazo -cebolla -ceder -cedro -celda -cรฉlebre -celoso -cรฉlula -cemento -ceniza -centro -cerca -cerdo -cereza -cero -cerrar -certeza -cรฉsped -cetro -chacal -chaleco -champรบ -chancla -chapa -charla -chico -chiste -chivo -choque -choza -chuleta -chupar -ciclรณn -ciego -cielo -cien -cierto -cifra -cigarro -cima -cinco -cine -cinta -ciprรฉs -circo -ciruela -cisne -cita -ciudad -clamor -clan -claro -clase -clave -cliente -clima -clรญnica -cobre -cocciรณn -cochino -cocina -coco -cรณdigo -codo -cofre -coger -cohete -cojรญn -cojo -cola -colcha -colegio -colgar -colina -collar -colmo -columna -combate -comer -comida -cรณmodo -compra -conde -conejo -conga -conocer -consejo -contar -copa -copia -corazรณn -corbata -corcho -cordรณn -corona -correr -coser -cosmos -costa -crรกneo -crรกter -crear -crecer -creรญdo -crema -crรญa -crimen -cripta -crisis -cromo -crรณnica -croqueta -crudo -cruz -cuadro -cuarto -cuatro -cubo -cubrir -cuchara -cuello -cuento -cuerda -cuesta -cueva -cuidar -culebra -culpa -culto -cumbre -cumplir -cuna -cuneta -cuota -cupรณn -cรบpula -curar -curioso -curso -curva -cutis -dama -danza -dar -dardo -dรกtil -deber -dรฉbil -dรฉcada -decir -dedo -defensa -definir -dejar -delfรญn -delgado -delito -demora -denso -dental -deporte -derecho -derrota -desayuno -deseo -desfile -desnudo -destino -desvรญo -detalle -detener -deuda -dรญa -diablo -diadema -diamante -diana -diario -dibujo -dictar -diente -dieta -diez -difรญcil -digno -dilema -diluir -dinero -directo -dirigir -disco -diseรฑo -disfraz -diva -divino -doble -doce -dolor -domingo -don -donar -dorado -dormir -dorso -dos -dosis -dragรณn -droga -ducha -duda -duelo -dueรฑo -dulce -dรบo -duque -durar -dureza -duro -รฉbano -ebrio -echar -eco -ecuador -edad -ediciรณn -edificio -editor -educar -efecto -eficaz -eje -ejemplo -elefante -elegir -elemento -elevar -elipse -รฉlite -elixir -elogio -eludir -embudo -emitir -emociรณn -empate -empeรฑo -empleo -empresa -enano -encargo -enchufe -encรญa -enemigo -enero -enfado -enfermo -engaรฑo -enigma -enlace -enorme -enredo -ensayo -enseรฑar -entero -entrar -envase -envรญo -รฉpoca -equipo -erizo -escala -escena -escolar -escribir -escudo -esencia -esfera -esfuerzo -espada -espejo -espรญa -esposa -espuma -esquรญ -estar -este -estilo -estufa -etapa -eterno -รฉtica -etnia -evadir -evaluar -evento -evitar -exacto -examen -exceso -excusa -exento -exigir -exilio -existir -รฉxito -experto -explicar -exponer -extremo -fรกbrica -fรกbula -fachada -fรกcil -factor -faena -faja -falda -fallo -falso -faltar -fama -familia -famoso -faraรณn -farmacia -farol -farsa -fase -fatiga -fauna -favor -fax -febrero -fecha -feliz -feo -feria -feroz -fรฉrtil -fervor -festรญn -fiable -fianza -fiar -fibra -ficciรณn -ficha -fideo -fiebre -fiel -fiera -fiesta -figura -fijar -fijo -fila -filete -filial -filtro -fin -finca -fingir -finito -firma -flaco -flauta -flecha -flor -flota -fluir -flujo -flรบor -fobia -foca -fogata -fogรณn -folio -folleto -fondo -forma -forro -fortuna -forzar -fosa -foto -fracaso -frรกgil -franja -frase -fraude -freรญr -freno -fresa -frรญo -frito -fruta -fuego -fuente -fuerza -fuga -fumar -funciรณn -funda -furgรณn -furia -fusil -fรบtbol -futuro -gacela -gafas -gaita -gajo -gala -galerรญa -gallo -gamba -ganar -gancho -ganga -ganso -garaje -garza -gasolina -gastar -gato -gavilรกn -gemelo -gemir -gen -gรฉnero -genio -gente -geranio -gerente -germen -gesto -gigante -gimnasio -girar -giro -glaciar -globo -gloria -gol -golfo -goloso -golpe -goma -gordo -gorila -gorra -gota -goteo -gozar -grada -grรกfico -grano -grasa -gratis -grave -grieta -grillo -gripe -gris -grito -grosor -grรบa -grueso -grumo -grupo -guante -guapo -guardia -guerra -guรญa -guiรฑo -guion -guiso -guitarra -gusano -gustar -haber -hรกbil -hablar -hacer -hacha -hada -hallar -hamaca -harina -haz -hazaรฑa -hebilla -hebra -hecho -helado -helio -hembra -herir -hermano -hรฉroe -hervir -hielo -hierro -hรญgado -higiene -hijo -himno -historia -hocico -hogar -hoguera -hoja -hombre -hongo -honor -honra -hora -hormiga -horno -hostil -hoyo -hueco -huelga -huerta -hueso -huevo -huida -huir -humano -hรบmedo -humilde -humo -hundir -huracรกn -hurto -icono -ideal -idioma -รญdolo -iglesia -iglรบ -igual -ilegal -ilusiรณn -imagen -imรกn -imitar -impar -imperio -imponer -impulso -incapaz -รญndice -inerte -infiel -informe -ingenio -inicio -inmenso -inmune -innato -insecto -instante -interรฉs -รญntimo -intuir -inรบtil -invierno -ira -iris -ironรญa -isla -islote -jabalรญ -jabรณn -jamรณn -jarabe -jardรญn -jarra -jaula -jazmรญn -jefe -jeringa -jinete -jornada -joroba -joven -joya -juerga -jueves -juez -jugador -jugo -juguete -juicio -junco -jungla -junio -juntar -jรบpiter -jurar -justo -juvenil -juzgar -kilo -koala -labio -lacio -lacra -lado -ladrรณn -lagarto -lรกgrima -laguna -laico -lamer -lรกmina -lรกmpara -lana -lancha -langosta -lanza -lรกpiz -largo -larva -lรกstima -lata -lรกtex -latir -laurel -lavar -lazo -leal -lecciรณn -leche -lector -leer -legiรณn -legumbre -lejano -lengua -lento -leรฑa -leรณn -leopardo -lesiรณn -letal -letra -leve -leyenda -libertad -libro -licor -lรญder -lidiar -lienzo -liga -ligero -lima -lรญmite -limรณn -limpio -lince -lindo -lรญnea -lingote -lino -linterna -lรญquido -liso -lista -litera -litio -litro -llaga -llama -llanto -llave -llegar -llenar -llevar -llorar -llover -lluvia -lobo -lociรณn -loco -locura -lรณgica -logro -lombriz -lomo -lonja -lote -lucha -lucir -lugar -lujo -luna -lunes -lupa -lustro -luto -luz -maceta -macho -madera -madre -maduro -maestro -mafia -magia -mago -maรญz -maldad -maleta -malla -malo -mamรก -mambo -mamut -manco -mando -manejar -manga -maniquรญ -manjar -mano -manso -manta -maรฑana -mapa -mรกquina -mar -marco -marea -marfil -margen -marido -mรกrmol -marrรณn -martes -marzo -masa -mรกscara -masivo -matar -materia -matiz -matriz -mรกximo -mayor -mazorca -mecha -medalla -medio -mรฉdula -mejilla -mejor -melena -melรณn -memoria -menor -mensaje -mente -menรบ -mercado -merengue -mรฉrito -mes -mesรณn -meta -meter -mรฉtodo -metro -mezcla -miedo -miel -miembro -miga -mil -milagro -militar -millรณn -mimo -mina -minero -mรญnimo -minuto -miope -mirar -misa -miseria -misil -mismo -mitad -mito -mochila -mociรณn -moda -modelo -moho -mojar -molde -moler -molino -momento -momia -monarca -moneda -monja -monto -moรฑo -morada -morder -moreno -morir -morro -morsa -mortal -mosca -mostrar -motivo -mover -mรณvil -mozo -mucho -mudar -mueble -muela -muerte -muestra -mugre -mujer -mula -muleta -multa -mundo -muรฑeca -mural -muro -mรบsculo -museo -musgo -mรบsica -muslo -nรกcar -naciรณn -nadar -naipe -naranja -nariz -narrar -nasal -natal -nativo -natural -nรกusea -naval -nave -navidad -necio -nรฉctar -negar -negocio -negro -neรณn -nervio -neto -neutro -nevar -nevera -nicho -nido -niebla -nieto -niรฑez -niรฑo -nรญtido -nivel -nobleza -noche -nรณmina -noria -norma -norte -nota -noticia -novato -novela -novio -nube -nuca -nรบcleo -nudillo -nudo -nuera -nueve -nuez -nulo -nรบmero -nutria -oasis -obeso -obispo -objeto -obra -obrero -observar -obtener -obvio -oca -ocaso -ocรฉano -ochenta -ocho -ocio -ocre -octavo -octubre -oculto -ocupar -ocurrir -odiar -odio -odisea -oeste -ofensa -oferta -oficio -ofrecer -ogro -oรญdo -oรญr -ojo -ola -oleada -olfato -olivo -olla -olmo -olor -olvido -ombligo -onda -onza -opaco -opciรณn -รณpera -opinar -oponer -optar -รณptica -opuesto -oraciรณn -orador -oral -รณrbita -orca -orden -oreja -รณrgano -orgรญa -orgullo -oriente -origen -orilla -oro -orquesta -oruga -osadรญa -oscuro -osezno -oso -ostra -otoรฑo -otro -oveja -รณvulo -รณxido -oxรญgeno -oyente -ozono -pacto -padre -paella -pรกgina -pago -paรญs -pรกjaro -palabra -palco -paleta -pรกlido -palma -paloma -palpar -pan -panal -pรกnico -pantera -paรฑuelo -papรก -papel -papilla -paquete -parar -parcela -pared -parir -paro -pรกrpado -parque -pรกrrafo -parte -pasar -paseo -pasiรณn -paso -pasta -pata -patio -patria -pausa -pauta -pavo -payaso -peatรณn -pecado -pecera -pecho -pedal -pedir -pegar -peine -pelar -peldaรฑo -pelea -peligro -pellejo -pelo -peluca -pena -pensar -peรฑรณn -peรณn -peor -pepino -pequeรฑo -pera -percha -perder -pereza -perfil -perico -perla -permiso -perro -persona -pesa -pesca -pรฉsimo -pestaรฑa -pรฉtalo -petrรณleo -pez -pezuรฑa -picar -pichรณn -pie -piedra -pierna -pieza -pijama -pilar -piloto -pimienta -pino -pintor -pinza -piรฑa -piojo -pipa -pirata -pisar -piscina -piso -pista -pitรณn -pizca -placa -plan -plata -playa -plaza -pleito -pleno -plomo -pluma -plural -pobre -poco -poder -podio -poema -poesรญa -poeta -polen -policรญa -pollo -polvo -pomada -pomelo -pomo -pompa -poner -porciรณn -portal -posada -poseer -posible -poste -potencia -potro -pozo -prado -precoz -pregunta -premio -prensa -preso -previo -primo -prรญncipe -prisiรณn -privar -proa -probar -proceso -producto -proeza -profesor -programa -prole -promesa -pronto -propio -prรณximo -prueba -pรบblico -puchero -pudor -pueblo -puerta -puesto -pulga -pulir -pulmรณn -pulpo -pulso -puma -punto -puรฑal -puรฑo -pupa -pupila -purรฉ -quedar -queja -quemar -querer -queso -quieto -quรญmica -quince -quitar -rรกbano -rabia -rabo -raciรณn -radical -raรญz -rama -rampa -rancho -rango -rapaz -rรกpido -rapto -rasgo -raspa -rato -rayo -raza -razรณn -reacciรณn -realidad -rebaรฑo -rebote -recaer -receta -rechazo -recoger -recreo -recto -recurso -red -redondo -reducir -reflejo -reforma -refrรกn -refugio -regalo -regir -regla -regreso -rehรฉn -reino -reรญr -reja -relato -relevo -relieve -relleno -reloj -remar -remedio -remo -rencor -rendir -renta -reparto -repetir -reposo -reptil -res -rescate -resina -respeto -resto -resumen -retiro -retorno -retrato -reunir -revรฉs -revista -rey -rezar -rico -riego -rienda -riesgo -rifa -rรญgido -rigor -rincรณn -riรฑรณn -rรญo -riqueza -risa -ritmo -rito -rizo -roble -roce -rociar -rodar -rodeo -rodilla -roer -rojizo -rojo -romero -romper -ron -ronco -ronda -ropa -ropero -rosa -rosca -rostro -rotar -rubรญ -rubor -rudo -rueda -rugir -ruido -ruina -ruleta -rulo -rumbo -rumor -ruptura -ruta -rutina -sรกbado -saber -sabio -sable -sacar -sagaz -sagrado -sala -saldo -salero -salir -salmรณn -salรณn -salsa -salto -salud -salvar -samba -sanciรณn -sandรญa -sanear -sangre -sanidad -sano -santo -sapo -saque -sardina -sartรฉn -sastre -satรกn -sauna -saxofรณn -secciรณn -seco -secreto -secta -sed -seguir -seis -sello -selva -semana -semilla -senda -sensor -seรฑal -seรฑor -separar -sepia -sequรญa -ser -serie -sermรณn -servir -sesenta -sesiรณn -seta -setenta -severo -sexo -sexto -sidra -siesta -siete -siglo -signo -sรญlaba -silbar -silencio -silla -sรญmbolo -simio -sirena -sistema -sitio -situar -sobre -socio -sodio -sol -solapa -soldado -soledad -sรณlido -soltar -soluciรณn -sombra -sondeo -sonido -sonoro -sonrisa -sopa -soplar -soporte -sordo -sorpresa -sorteo -sostรฉn -sรณtano -suave -subir -suceso -sudor -suegra -suelo -sueรฑo -suerte -sufrir -sujeto -sultรกn -sumar -superar -suplir -suponer -supremo -sur -surco -sureรฑo -surgir -susto -sutil -tabaco -tabique -tabla -tabรบ -taco -tacto -tajo -talar -talco -talento -talla -talรณn -tamaรฑo -tambor -tango -tanque -tapa -tapete -tapia -tapรณn -taquilla -tarde -tarea -tarifa -tarjeta -tarot -tarro -tarta -tatuaje -tauro -taza -tazรณn -teatro -techo -tecla -tรฉcnica -tejado -tejer -tejido -tela -telรฉfono -tema -temor -templo -tenaz -tender -tener -tenis -tenso -teorรญa -terapia -terco -tรฉrmino -ternura -terror -tesis -tesoro -testigo -tetera -texto -tez -tibio -tiburรณn -tiempo -tienda -tierra -tieso -tigre -tijera -tilde -timbre -tรญmido -timo -tinta -tรญo -tรญpico -tipo -tira -tirรณn -titรกn -tรญtere -tรญtulo -tiza -toalla -tobillo -tocar -tocino -todo -toga -toldo -tomar -tono -tonto -topar -tope -toque -tรณrax -torero -tormenta -torneo -toro -torpedo -torre -torso -tortuga -tos -tosco -toser -tรณxico -trabajo -tractor -traer -trรกfico -trago -traje -tramo -trance -trato -trauma -trazar -trรฉbol -tregua -treinta -tren -trepar -tres -tribu -trigo -tripa -triste -triunfo -trofeo -trompa -tronco -tropa -trote -trozo -truco -trueno -trufa -tuberรญa -tubo -tuerto -tumba -tumor -tรบnel -tรบnica -turbina -turismo -turno -tutor -ubicar -รบlcera -umbral -unidad -unir -universo -uno -untar -uรฑa -urbano -urbe -urgente -urna -usar -usuario -รบtil -utopรญa -uva -vaca -vacรญo -vacuna -vagar -vago -vaina -vajilla -vale -vรกlido -valle -valor -vรกlvula -vampiro -vara -variar -varรณn -vaso -vecino -vector -vehรญculo -veinte -vejez -vela -velero -veloz -vena -vencer -venda -veneno -vengar -venir -venta -venus -ver -verano -verbo -verde -vereda -verja -verso -verter -vรญa -viaje -vibrar -vicio -vรญctima -vida -vรญdeo -vidrio -viejo -viernes -vigor -vil -villa -vinagre -vino -viรฑedo -violรญn -viral -virgo -virtud -visor -vรญspera -vista -vitamina -viudo -vivaz -vivero -vivir -vivo -volcรกn -volumen -volver -voraz -votar -voto -voz -vuelo -vulgar -yacer -yate -yegua -yema -yerno -yeso -yodo -yoga -yogur -zafiro -zanja -zapato -zarza -zona -zorro -zumo -zurdo diff --git a/src/mnemonics/wordlists/old-word-list b/src/mnemonics/wordlists/old-word-list deleted file mode 100644 index a5184a9ce..000000000 --- a/src/mnemonics/wordlists/old-word-list +++ /dev/null @@ -1,1626 +0,0 @@ -like -just -love -know -never -want -time -out -there -make -look -eye -down -only -think -heart -back -then -into -about -more -away -still -them -take -thing -even -through -long -always -world -too -friend -tell -try -hand -thought -over -here -other -need -smile -again -much -cry -been -night -ever -little -said -end -some -those -around -mind -people -girl -leave -dream -left -turn -myself -give -nothing -really -off -before -something -find -walk -wish -good -once -place -ask -stop -keep -watch -seem -everything -wait -got -yet -made -remember -start -alone -run -hope -maybe -believe -body -hate -after -close -talk -stand -own -each -hurt -help -home -god -soul -new -many -two -inside -should -true -first -fear -mean -better -play -another -gone -change -use -wonder -someone -hair -cold -open -best -any -behind -happen -water -dark -laugh -stay -forever -name -work -show -sky -break -came -deep -door -put -black -together -upon -happy -such -great -white -matter -fill -past -please -burn -cause -enough -touch -moment -soon -voice -scream -anything -stare -sound -red -everyone -hide -kiss -truth -death -beautiful -mine -blood -broken -very -pass -next -forget -tree -wrong -air -mother -understand -lip -hit -wall -memory -sleep -free -high -realize -school -might -skin -sweet -perfect -blue -kill -breath -dance -against -fly -between -grow -strong -under -listen -bring -sometimes -speak -pull -person -become -family -begin -ground -real -small -father -sure -feet -rest -young -finally -land -across -today -different -guy -line -fire -reason -reach -second -slowly -write -eat -smell -mouth -step -learn -three -floor -promise -breathe -darkness -push -earth -guess -save -song -above -along -both -color -house -almost -sorry -anymore -brother -okay -dear -game -fade -already -apart -warm -beauty -heard -notice -question -shine -began -piece -whole -shadow -secret -street -within -finger -point -morning -whisper -child -moon -green -story -glass -kid -silence -since -soft -yourself -empty -shall -angel -answer -baby -bright -dad -path -worry -hour -drop -follow -power -war -half -flow -heaven -act -chance -fact -least -tired -children -near -quite -afraid -rise -sea -taste -window -cover -nice -trust -lot -sad -cool -force -peace -return -blind -easy -ready -roll -rose -drive -held -music -beneath -hang -mom -paint -emotion -quiet -clear -cloud -few -pretty -bird -outside -paper -picture -front -rock -simple -anyone -meant -reality -road -sense -waste -bit -leaf -thank -happiness -meet -men -smoke -truly -decide -self -age -book -form -alive -carry -escape -damn -instead -able -ice -minute -throw -catch -leg -ring -course -goodbye -lead -poem -sick -corner -desire -known -problem -remind -shoulder -suppose -toward -wave -drink -jump -woman -pretend -sister -week -human -joy -crack -grey -pray -surprise -dry -knee -less -search -bleed -caught -clean -embrace -future -king -son -sorrow -chest -hug -remain -sat -worth -blow -daddy -final -parent -tight -also -create -lonely -safe -cross -dress -evil -silent -bone -fate -perhaps -anger -class -scar -snow -tiny -tonight -continue -control -dog -edge -mirror -month -suddenly -comfort -given -loud -quickly -gaze -plan -rush -stone -town -battle -ignore -spirit -stood -stupid -yours -brown -build -dust -hey -kept -pay -phone -twist -although -ball -beyond -hidden -nose -taken -fail -float -pure -somehow -wash -wrap -angry -cheek -creature -forgotten -heat -rip -single -space -special -weak -whatever -yell -anyway -blame -job -choose -country -curse -drift -echo -figure -grew -laughter -neck -suffer -worse -yeah -disappear -foot -forward -knife -mess -somewhere -stomach -storm -beg -idea -lift -offer -breeze -field -five -often -simply -stuck -win -allow -confuse -enjoy -except -flower -seek -strength -calm -grin -gun -heavy -hill -large -ocean -shoe -sigh -straight -summer -tongue -accept -crazy -everyday -exist -grass -mistake -sent -shut -surround -table -ache -brain -destroy -heal -nature -shout -sign -stain -choice -doubt -glance -glow -mountain -queen -stranger -throat -tomorrow -city -either -fish -flame -rather -shape -spin -spread -ash -distance -finish -image -imagine -important -nobody -shatter -warmth -became -feed -flesh -funny -lust -shirt -trouble -yellow -attention -bare -bite -money -protect -amaze -appear -born -choke -completely -daughter -fresh -friendship -gentle -probably -six -deserve -expect -grab -middle -nightmare -river -thousand -weight -worst -wound -barely -bottle -cream -regret -relationship -stick -test -crush -endless -fault -itself -rule -spill -art -circle -join -kick -mask -master -passion -quick -raise -smooth -unless -wander -actually -broke -chair -deal -favorite -gift -note -number -sweat -box -chill -clothes -lady -mark -park -poor -sadness -tie -animal -belong -brush -consume -dawn -forest -innocent -pen -pride -stream -thick -clay -complete -count -draw -faith -press -silver -struggle -surface -taught -teach -wet -bless -chase -climb -enter -letter -melt -metal -movie -stretch -swing -vision -wife -beside -crash -forgot -guide -haunt -joke -knock -plant -pour -prove -reveal -steal -stuff -trip -wood -wrist -bother -bottom -crawl -crowd -fix -forgive -frown -grace -loose -lucky -party -release -surely -survive -teacher -gently -grip -speed -suicide -travel -treat -vein -written -cage -chain -conversation -date -enemy -however -interest -million -page -pink -proud -sway -themselves -winter -church -cruel -cup -demon -experience -freedom -pair -pop -purpose -respect -shoot -softly -state -strange -bar -birth -curl -dirt -excuse -lord -lovely -monster -order -pack -pants -pool -scene -seven -shame -slide -ugly -among -blade -blonde -closet -creek -deny -drug -eternity -gain -grade -handle -key -linger -pale -prepare -swallow -swim -tremble -wheel -won -cast -cigarette -claim -college -direction -dirty -gather -ghost -hundred -loss -lung -orange -present -swear -swirl -twice -wild -bitter -blanket -doctor -everywhere -flash -grown -knowledge -numb -pressure -radio -repeat -ruin -spend -unknown -buy -clock -devil -early -false -fantasy -pound -precious -refuse -sheet -teeth -welcome -add -ahead -block -bury -caress -content -depth -despite -distant -marry -purple -threw -whenever -bomb -dull -easily -grasp -hospital -innocence -normal -receive -reply -rhyme -shade -someday -sword -toe -visit -asleep -bought -center -consider -flat -hero -history -ink -insane -muscle -mystery -pocket -reflection -shove -silently -smart -soldier -spot -stress -train -type -view -whether -bus -energy -explain -holy -hunger -inch -magic -mix -noise -nowhere -prayer -presence -shock -snap -spider -study -thunder -trail -admit -agree -bag -bang -bound -butterfly -cute -exactly -explode -familiar -fold -further -pierce -reflect -scent -selfish -sharp -sink -spring -stumble -universe -weep -women -wonderful -action -ancient -attempt -avoid -birthday -branch -chocolate -core -depress -drunk -especially -focus -fruit -honest -match -palm -perfectly -pillow -pity -poison -roar -shift -slightly -thump -truck -tune -twenty -unable -wipe -wrote -coat -constant -dinner -drove -egg -eternal -flight -flood -frame -freak -gasp -glad -hollow -motion -peer -plastic -root -screen -season -sting -strike -team -unlike -victim -volume -warn -weird -attack -await -awake -built -charm -crave -despair -fought -grant -grief -horse -limit -message -ripple -sanity -scatter -serve -split -string -trick -annoy -blur -boat -brave -clearly -cling -connect -fist -forth -imagination -iron -jock -judge -lesson -milk -misery -nail -naked -ourselves -poet -possible -princess -sail -size -snake -society -stroke -torture -toss -trace -wise -bloom -bullet -cell -check -cost -darling -during -footstep -fragile -hallway -hardly -horizon -invisible -journey -midnight -mud -nod -pause -relax -shiver -sudden -value -youth -abuse -admire -blink -breast -bruise -constantly -couple -creep -curve -difference -dumb -emptiness -gotta -honor -plain -planet -recall -rub -ship -slam -soar -somebody -tightly -weather -adore -approach -bond -bread -burst -candle -coffee -cousin -crime -desert -flutter -frozen -grand -heel -hello -language -level -movement -pleasure -powerful -random -rhythm -settle -silly -slap -sort -spoken -steel -threaten -tumble -upset -aside -awkward -bee -blank -board -button -card -carefully -complain -crap -deeply -discover -drag -dread -effort -entire -fairy -giant -gotten -greet -illusion -jeans -leap -liquid -march -mend -nervous -nine -replace -rope -spine -stole -terror -accident -apple -balance -boom -childhood -collect -demand -depression -eventually -faint -glare -goal -group -honey -kitchen -laid -limb -machine -mere -mold -murder -nerve -painful -poetry -prince -rabbit -shelter -shore -shower -soothe -stair -steady -sunlight -tangle -tease -treasure -uncle -begun -bliss -canvas -cheer -claw -clutch -commit -crimson -crystal -delight -doll -existence -express -fog -football -gay -goose -guard -hatred -illuminate -mass -math -mourn -rich -rough -skip -stir -student -style -support -thorn -tough -yard -yearn -yesterday -advice -appreciate -autumn -bank -beam -bowl -capture -carve -collapse -confusion -creation -dove -feather -girlfriend -glory -government -harsh -hop -inner -loser -moonlight -neighbor -neither -peach -pig -praise -screw -shield -shimmer -sneak -stab -subject -throughout -thrown -tower -twirl -wow -army -arrive -bathroom -bump -cease -cookie -couch -courage -dim -guilt -howl -hum -husband -insult -led -lunch -mock -mostly -natural -nearly -needle -nerd -peaceful -perfection -pile -price -remove -roam -sanctuary -serious -shiny -shook -sob -stolen -tap -vain -void -warrior -wrinkle -affection -apologize -blossom -bounce -bridge -cheap -crumble -decision -descend -desperately -dig -dot -flip -frighten -heartbeat -huge -lazy -lick -odd -opinion -process -puzzle -quietly -retreat -score -sentence -separate -situation -skill -soak -square -stray -taint -task -tide -underneath -veil -whistle -anywhere -bedroom -bid -bloody -burden -careful -compare -concern -curtain -decay -defeat -describe -double -dreamer -driver -dwell -evening -flare -flicker -grandma -guitar -harm -horrible -hungry -indeed -lace -melody -monkey -nation -object -obviously -rainbow -salt -scratch -shown -shy -stage -stun -third -tickle -useless -weakness -worship -worthless -afternoon -beard -boyfriend -bubble -busy -certain -chin -concrete -desk -diamond -doom -drawn -due -felicity -freeze -frost -garden -glide -harmony -hopefully -hunt -jealous -lightning -mama -mercy -peel -physical -position -pulse -punch -quit -rant -respond -salty -sane -satisfy -savior -sheep -slept -social -sport -tuck -utter -valley -wolf -aim -alas -alter -arrow -awaken -beaten -belief -brand -ceiling -cheese -clue -confidence -connection -daily -disguise -eager -erase -essence -everytime -expression -fan -flag -flirt -foul -fur -giggle -glorious -ignorance -law -lifeless -measure -mighty -muse -north -opposite -paradise -patience -patient -pencil -petal -plate -ponder -possibly -practice -slice -spell -stock -strife -strip -suffocate -suit -tender -tool -trade -velvet -verse -waist -witch -aunt -bench -bold -cap -certainly -click -companion -creator -dart -delicate -determine -dish -dragon -drama -drum -dude -everybody -feast -forehead -former -fright -fully -gas -hook -hurl -invite -juice -manage -moral -possess -raw -rebel -royal -scale -scary -several -slight -stubborn -swell -talent -tea -terrible -thread -torment -trickle -usually -vast -violence -weave -acid -agony -ashamed -awe -belly -blend -blush -character -cheat -common -company -coward -creak -danger -deadly -defense -define -depend -desperate -destination -dew -duck -dusty -embarrass -engine -example -explore -foe -freely -frustrate -generation -glove -guilty -health -hurry -idiot -impossible -inhale -jaw -kingdom -mention -mist -moan -mumble -mutter -observe -ode -pathetic -pattern -pie -prefer -puff -rape -rare -revenge -rude -scrape -spiral -squeeze -strain -sunset -suspend -sympathy -thigh -throne -total -unseen -weapon -weary -- cgit v1.2.3 From 3e6b6bad2d731ca778da9c3bcfdb1b1001a85cd7 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Thu, 2 Oct 2014 22:36:02 +0530 Subject: Had missed const and had to use .at instead of [] --- src/mnemonics/electrum-words.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 053941194..4b1116815 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -100,8 +100,8 @@ namespace for (std::vector::iterator it1 = language_instances.begin(); it1 != language_instances.end(); it1++) { - std::unordered_map &word_map = (*it1)->get_word_map(); - std::unordered_map &trimmed_word_map = (*it1)->get_trimmed_word_map(); + const std::unordered_map &word_map = (*it1)->get_word_map(); + const std::unordered_map &trimmed_word_map = (*it1)->get_trimmed_word_map(); // To iterate through seed words std::vector::const_iterator it2; // To iterate through trimmed seed words @@ -120,7 +120,7 @@ namespace full_match = false; break; } - matched_indices.push_back(trimmed_word_map[*it3]); + matched_indices.push_back(trimmed_word_map.at(*it3)); } else { @@ -129,7 +129,7 @@ namespace full_match = false; break; } - matched_indices.push_back(word_map[*it2]); + matched_indices.push_back(word_map.at(*it2)); } } if (full_match) @@ -305,7 +305,7 @@ namespace crypto { return false; } - std::vector &word_list = language->get_word_list(); + const std::vector &word_list = language->get_word_list(); // To store the words for random access to add the checksum word later. std::vector words_store; -- cgit v1.2.3 From 443d46a6f1569e64b606c921298c4f3bf69d8dd9 Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Fri, 3 Oct 2014 16:25:44 +0530 Subject: Don't show Old English as an available option --- src/mnemonics/electrum-words.cpp | 3 +- src/mnemonics/electrum-words.h | 1 + src/mnemonics/japanese.h | 3278 +++++++++++++++++++------------------- src/mnemonics/language_base.h | 146 +- src/mnemonics/old_english.h | 3278 +++++++++++++++++++------------------- src/mnemonics/portuguese.h | 3278 +++++++++++++++++++------------------- src/mnemonics/singleton.h | 42 +- src/mnemonics/spanish.h | 3278 +++++++++++++++++++------------------- 8 files changed, 6652 insertions(+), 6652 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/electrum-words.cpp b/src/mnemonics/electrum-words.cpp index 4b1116815..b204e81cf 100644 --- a/src/mnemonics/electrum-words.cpp +++ b/src/mnemonics/electrum-words.cpp @@ -349,8 +349,7 @@ namespace crypto Language::Singleton::instance(), Language::Singleton::instance(), Language::Singleton::instance(), - Language::Singleton::instance(), - Language::Singleton::instance() + Language::Singleton::instance() }); for (std::vector::iterator it = language_instances.begin(); it != language_instances.end(); it++) diff --git a/src/mnemonics/electrum-words.h b/src/mnemonics/electrum-words.h index 3be4b1ccc..b822e7740 100644 --- a/src/mnemonics/electrum-words.h +++ b/src/mnemonics/electrum-words.h @@ -59,6 +59,7 @@ namespace crypto namespace ElectrumWords { + const std::string old_language_name = "OldEnglish"; /*! * \brief Converts seed words to bytes (secret key). * \param words String containing the words separated by spaces. diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h index 2e77aa257..40d99b2a4 100644 --- a/src/mnemonics/japanese.h +++ b/src/mnemonics/japanese.h @@ -47,1645 +47,1645 @@ */ namespace Language { - class Japanese: public Base - { - public: - Japanese() - { - word_list = new std::vector({ - "ใ‚ใ„", - "ใ‚ใ„ใ“ใใ—ใ‚“", - "ใ‚ใ†", - "ใ‚ใŠ", - "ใ‚ใŠใžใ‚‰", - "ใ‚ใ‹", - "ใ‚ใ‹ใกใ‚ƒใ‚“", - "ใ‚ใ", - "ใ‚ใใ‚‹", - "ใ‚ใ", - "ใ‚ใ•", - "ใ‚ใ•ใฒ", - "ใ‚ใ—", - "ใ‚ใšใ", - "ใ‚ใ›", - "ใ‚ใใถ", - "ใ‚ใŸใ‚‹", - "ใ‚ใคใ„", - "ใ‚ใช", - "ใ‚ใซ", - "ใ‚ใญ", - "ใ‚ใฒใ‚‹", - "ใ‚ใพใ„", - "ใ‚ใฟ", - "ใ‚ใ‚", - "ใ‚ใ‚ใ‚Šใ‹", - "ใ‚ใ‚„ใพใ‚‹", - "ใ‚ใ‚†ใ‚€", - "ใ‚ใ‚‰ใ„ใใพ", - "ใ‚ใ‚‰ใ—", - "ใ‚ใ‚Š", - "ใ‚ใ‚‹", - "ใ‚ใ‚Œ", - "ใ‚ใ‚", - "ใ‚ใ‚“ใ“", - "ใ„ใ†", - "ใ„ใˆ", - "ใ„ใŠใ‚“", - "ใ„ใ‹", - "ใ„ใŒใ„", - "ใ„ใ‹ใ„ใ‚ˆใ†", - "ใ„ใ‘", - "ใ„ใ‘ใ‚“", - "ใ„ใ“ใ", - "ใ„ใ“ใค", - "ใ„ใ•ใ‚“", - "ใ„ใ—", - "ใ„ใ˜ใ‚…ใ†", - "ใ„ใ™", - "ใ„ใ›ใ„", - "ใ„ใ›ใˆใณ", - "ใ„ใ›ใ‹ใ„", - "ใ„ใ›ใ", - "ใ„ใใ†ใ‚ใ†", - "ใ„ใใŒใ—ใ„", - "ใ„ใŸใ‚Šใ‚", - "ใ„ใฆใ–", - "ใ„ใฆใ‚“", - "ใ„ใจ", - "ใ„ใชใ„", - "ใ„ใชใ‹", - "ใ„ใฌ", - "ใ„ใญ", - "ใ„ใฎใก", - "ใ„ใฎใ‚‹", - "ใ„ใฏใค", - "ใ„ใฏใ‚“", - "ใ„ใณใ", - "ใ„ใฒใ‚“", - "ใ„ใตใ", - "ใ„ใธใ‚“", - "ใ„ใปใ†", - "ใ„ใพ", - "ใ„ใฟ", - "ใ„ใฟใ‚“", - "ใ„ใ‚‚", - "ใ„ใ‚‚ใ†ใจ", - "ใ„ใ‚‚ใŸใ‚Œ", - "ใ„ใ‚‚ใ‚Š", - "ใ„ใ‚„", - "ใ„ใ‚„ใ™", - "ใ„ใ‚ˆใ‹ใ‚“", - "ใ„ใ‚ˆใ", - "ใ„ใ‚‰ใ„", - "ใ„ใ‚‰ใ™ใจ", - "ใ„ใ‚Šใใก", - "ใ„ใ‚Šใ‚‡ใ†", - "ใ„ใ‚Šใ‚‡ใ†ใฒ", - "ใ„ใ‚‹", - "ใ„ใ‚Œใ„", - "ใ„ใ‚Œใ‚‚ใฎ", - "ใ„ใ‚Œใ‚‹", - "ใ„ใ‚", - "ใ„ใ‚ใˆใ‚“ใดใค", - "ใ„ใ‚", - "ใ„ใ‚ใ†", - "ใ„ใ‚ใ‹ใ‚“", - "ใ„ใ‚“ใ’ใ‚“ใพใ‚", - "ใ†ใˆ", - "ใ†ใŠใ–", - "ใ†ใ‹ใถ", - "ใ†ใใ‚", - "ใ†ใ", - "ใ†ใใ‚‰ใ„ใช", - "ใ†ใใ‚Œใ‚Œ", - "ใ†ใ‘ใคใ", - "ใ†ใ‘ใคใ‘", - "ใ†ใ‘ใ‚‹", - "ใ†ใ”ใ", - "ใ†ใ“ใ‚“", - "ใ†ใ•ใŽ", - "ใ†ใ—", - "ใ†ใ—ใชใ†", - "ใ†ใ—ใ‚", - "ใ†ใ—ใ‚ใŒใฟ", - "ใ†ใ™ใ„", - "ใ†ใ™ใŽ", - "ใ†ใ›ใค", - "ใ†ใ", - "ใ†ใŸ", - "ใ†ใกใ‚ใ‚ใ›", - "ใ†ใกใŒใ‚", - "ใ†ใกใ", - "ใ†ใค", - "ใ†ใชใŽ", - "ใ†ใชใ˜", - "ใ†ใซ", - "ใ†ใญใ‚‹", - "ใ†ใฎใ†", - "ใ†ใถใ’", - "ใ†ใถใ”ใˆ", - "ใ†ใพ", - "ใ†ใพใ‚Œใ‚‹", - "ใ†ใฟ", - "ใ†ใ‚€", - "ใ†ใ‚", - "ใ†ใ‚ใ‚‹", - "ใ†ใ‚‚ใ†", - "ใ†ใ‚„ใพใ†", - "ใ†ใ‚ˆใ", - "ใ†ใ‚‰", - "ใ†ใ‚‰ใชใ„", - "ใ†ใ‚‹", - "ใ†ใ‚‹ใ•ใ„", - "ใ†ใ‚Œใ—ใ„", - "ใ†ใ‚ใ“", - "ใ†ใ‚ใ", - "ใ†ใ‚ใ•", - "ใˆใ„", - "ใˆใ„ใˆใ‚“", - "ใˆใ„ใŒ", - "ใˆใ„ใŽใ‚‡ใ†", - "ใˆใ„ใ”", - "ใˆใŠใ‚Š", - "ใˆใ", - "ใˆใใŸใ„", - "ใˆใใ›ใ‚‹", - "ใˆใ•", - "ใˆใ—ใ‚ƒใ", - "ใˆใ™ใฆ", - "ใˆใคใ‚‰ใ‚“", - "ใˆใจ", - "ใˆใฎใ", - "ใˆใณ", - "ใˆใปใ†ใพใ", - "ใˆใปใ‚“", - "ใˆใพ", - "ใˆใพใ", - "ใˆใ‚‚ใ˜", - "ใˆใ‚‚ใฎ", - "ใˆใ‚‰ใ„", - "ใˆใ‚‰ใถ", - "ใˆใ‚Š", - "ใˆใ‚Šใ‚", - "ใˆใ‚‹", - "ใˆใ‚“", - "ใˆใ‚“ใˆใ‚“", - "ใŠใใ‚‹", - "ใŠใ", - "ใŠใ‘", - "ใŠใ“ใ‚‹", - "ใŠใ—ใˆใ‚‹", - "ใŠใ‚„ใ‚†ใณ", - "ใŠใ‚‰ใ‚“ใ ", - "ใ‹ใ‚ใค", - "ใ‹ใ„", - "ใ‹ใ†", - "ใ‹ใŠ", - "ใ‹ใŒใ—", - "ใ‹ใ", - "ใ‹ใ", - "ใ‹ใ“", - "ใ‹ใ•", - "ใ‹ใ™", - "ใ‹ใก", - "ใ‹ใค", - "ใ‹ใชใ–ใ‚ใ—", - "ใ‹ใซ", - "ใ‹ใญ", - "ใ‹ใฎใ†", - "ใ‹ใปใ†", - "ใ‹ใปใ”", - "ใ‹ใพใผใ“", - "ใ‹ใฟ", - "ใ‹ใ‚€", - "ใ‹ใ‚ใ‚ŒใŠใ‚“", - "ใ‹ใ‚‚", - "ใ‹ใ‚†ใ„", - "ใ‹ใ‚‰ใ„", - "ใ‹ใ‚‹ใ„", - "ใ‹ใ‚ใ†", - "ใ‹ใ‚", - "ใ‹ใ‚ใ‚‰", - "ใใ‚ใ„", - "ใใ‚ใค", - "ใใ„ใ‚", - "ใŽใ„ใ‚“", - "ใใ†ใ„", - "ใใ†ใ‚“", - "ใใˆใ‚‹", - "ใใŠใ†", - "ใใŠใ", - "ใใŠใก", - "ใใŠใ‚“", - "ใใ‹", - "ใใ‹ใ„", - "ใใ‹ใ", - "ใใ‹ใ‚“", - "ใใ‹ใ‚“ใ—ใ‚ƒ", - "ใใŽ", - "ใใใฆ", - "ใใ", - "ใใใฐใ‚Š", - "ใใใ‚‰ใ’", - "ใใ‘ใ‚“", - "ใใ‘ใ‚“ใ›ใ„", - "ใใ“ใ†", - "ใใ“ใˆใ‚‹", - "ใใ“ใ", - "ใใ•ใ„", - "ใใ•ใ", - "ใใ•ใพ", - "ใใ•ใ‚‰ใŽ", - "ใใ—", - "ใใ—ใ‚…", - "ใใ™", - "ใใ™ใ†", - "ใใ›ใ„", - "ใใ›ใ", - "ใใ›ใค", - "ใใ", - "ใใใ†", - "ใใใ", - "ใใžใ", - "ใŽใใ", - "ใใžใ‚“", - "ใใŸ", - "ใใŸใˆใ‚‹", - "ใใก", - "ใใกใ‚‡ใ†", - "ใใคใˆใ‚“", - "ใใคใคใ", - "ใใคใญ", - "ใใฆใ„", - "ใใฉใ†", - "ใใฉใ", - "ใใชใ„", - "ใใชใŒ", - "ใใฌ", - "ใใฌใ”ใ—", - "ใใญใ‚“", - "ใใฎใ†", - "ใใฏใ", - "ใใณใ—ใ„", - "ใใฒใ‚“", - "ใใต", - "ใŽใต", - "ใใตใ", - "ใŽใผ", - "ใใปใ†", - "ใใผใ†", - "ใใปใ‚“", - "ใใพใ‚‹", - "ใใฟ", - "ใใฟใค", - "ใŽใ‚€", - "ใใ‚€ใšใ‹ใ—ใ„", - "ใใ‚", - "ใใ‚ใ‚‹", - "ใใ‚‚ใ ใ‚ใ—", - "ใใ‚‚ใก", - "ใใ‚„ใ", - "ใใ‚ˆใ†", - "ใใ‚‰ใ„", - "ใใ‚‰ใ", - "ใใ‚Š", - "ใใ‚‹", - "ใใ‚Œใ„", - "ใใ‚Œใค", - "ใใ‚ใ", - "ใŽใ‚ใ‚“", - "ใใ‚ใ‚ใ‚‹", - "ใใ‚ใ„", - "ใใ„", - "ใใ„ใš", - "ใใ†ใ‹ใ‚“", - "ใใ†ใ", - "ใใ†ใใ‚“", - "ใใ†ใ“ใ†", - "ใใ†ใใ†", - "ใใ†ใตใ", - "ใใ†ใผ", - "ใใ‹ใ‚“", - "ใใ", - "ใใใ‚‡ใ†", - "ใใ’ใ‚“", - "ใใ“ใ†", - "ใใ•", - "ใใ•ใ„", - "ใใ•ใ", - "ใใ•ใฐใช", - "ใใ•ใ‚‹", - "ใใ—", - "ใใ—ใ‚ƒใฟ", - "ใใ—ใ‚‡ใ†", - "ใใ™ใฎใ", - "ใใ™ใ‚Š", - "ใใ™ใ‚Šใ‚†ใณ", - "ใใ›", - "ใใ›ใ’", - "ใใ›ใ‚“", - "ใใŸใณใ‚Œใ‚‹", - "ใใก", - "ใใกใ“ใฟ", - "ใใกใ•ใ", - "ใใค", - "ใใคใ—ใŸ", - "ใใคใ‚ใ", - "ใใจใ†ใฆใ‚“", - "ใใฉใ", - "ใใชใ‚“", - "ใใซ", - "ใใญใใญ", - "ใใฎใ†", - "ใใตใ†", - "ใใพ", - "ใใฟใ‚ใ‚ใ›", - "ใใฟใŸใฆใ‚‹", - "ใใ‚€", - "ใใ‚ใ‚‹", - "ใใ‚„ใใ—ใ‚‡", - "ใใ‚‰ใ™", - "ใใ‚Š", - "ใใ‚Œใ‚‹", - "ใใ‚", - "ใใ‚ใ†", - "ใใ‚ใ—ใ„", - "ใใ‚“ใ˜ใ‚‡", - "ใ‘ใ‚ใช", - "ใ‘ใ„ใ‘ใ‚“", - "ใ‘ใ„ใ“", - "ใ‘ใ„ใ•ใ„", - "ใ‘ใ„ใ•ใค", - "ใ’ใ„ใฎใ†ใ˜ใ‚“", - "ใ‘ใ„ใ‚Œใ", - "ใ‘ใ„ใ‚Œใค", - "ใ‘ใ„ใ‚Œใ‚“", - "ใ‘ใ„ใ‚", - "ใ‘ใŠใจใ™", - "ใ‘ใŠใ‚Šใ‚‚ใฎ", - "ใ‘ใŒ", - "ใ’ใ", - "ใ’ใใ‹", - "ใ’ใใ’ใ‚“", - "ใ’ใใ ใ‚“", - "ใ’ใใกใ‚“", - "ใ’ใใฉ", - "ใ’ใใฏ", - "ใ’ใใ‚„ใ", - "ใ’ใ“ใ†", - "ใ’ใ“ใใ˜ใ‚‡ใ†", - "ใ‘ใ•", - "ใ’ใ–ใ„", - "ใ‘ใ•ใ", - "ใ’ใ–ใ‚“", - "ใ‘ใ—ใ", - "ใ‘ใ—ใ”ใ‚€", - "ใ‘ใ—ใ‚‡ใ†", - "ใ‘ใ™", - "ใ’ใ™ใจ", - "ใ‘ใŸ", - "ใ’ใŸ", - "ใ‘ใŸใฐ", - "ใ‘ใก", - "ใ‘ใกใ‚ƒใฃใท", - "ใ‘ใกใ‚‰ใ™", - "ใ‘ใค", - "ใ‘ใคใ‚ใค", - "ใ‘ใคใ„", - "ใ‘ใคใˆใ", - "ใ‘ใฃใ“ใ‚“", - "ใ‘ใคใ˜ใ‚‡", - "ใ‘ใฃใฆใ„", - "ใ‘ใคใพใค", - "ใ’ใคใ‚ˆใ†ใณ", - "ใ’ใคใ‚Œใ„", - "ใ‘ใคใ‚ใ‚“", - "ใ’ใฉใ", - "ใ‘ใจใฐใ™", - "ใ‘ใจใ‚‹", - "ใ‘ใชใ’", - "ใ‘ใชใ™", - "ใ‘ใชใฟ", - "ใ‘ใฌใ", - "ใ’ใญใค", - "ใ‘ใญใ‚“", - "ใ‘ใฏใ„", - "ใ’ใฒใ‚“", - "ใ‘ใถใ‹ใ„", - "ใ’ใผใ", - "ใ‘ใพใ‚Š", - "ใ‘ใฟใ‹ใ‚‹", - "ใ‘ใ‚€ใ—", - "ใ‘ใ‚€ใ‚Š", - "ใ‘ใ‚‚ใฎ", - "ใ‘ใ‚‰ใ„", - "ใ‘ใ‚‹", - "ใ’ใ‚", - "ใ‘ใ‚ใ‘ใ‚", - "ใ‘ใ‚ใ—ใ„", - "ใ‘ใ‚“ใ„", - "ใ‘ใ‚“ใˆใค", - "ใ‘ใ‚“ใŠ", - "ใ‘ใ‚“ใ‹", - "ใ’ใ‚“ใ", - "ใ‘ใ‚“ใใ‚…ใ†", - "ใ‘ใ‚“ใใ‚‡", - "ใ‘ใ‚“ใ‘ใ„", - "ใ‘ใ‚“ใ‘ใค", - "ใ‘ใ‚“ใ’ใ‚“", - "ใ‘ใ‚“ใ“ใ†", - "ใ‘ใ‚“ใ•", - "ใ‘ใ‚“ใ•ใ", - "ใ‘ใ‚“ใ—ใ‚…ใ†", - "ใ‘ใ‚“ใ—ใ‚…ใค", - "ใ‘ใ‚“ใ—ใ‚“", - "ใ‘ใ‚“ใ™ใ†", - "ใ‘ใ‚“ใใ†", - "ใ’ใ‚“ใใ†", - "ใ‘ใ‚“ใใ‚“", - "ใ’ใ‚“ใก", - "ใ‘ใ‚“ใกใ", - "ใ‘ใ‚“ใฆใ„", - "ใ’ใ‚“ใฆใ„", - "ใ‘ใ‚“ใจใ†", - "ใ‘ใ‚“ใชใ„", - "ใ‘ใ‚“ใซใ‚“", - "ใ’ใ‚“ใถใค", - "ใ‘ใ‚“ใพ", - "ใ‘ใ‚“ใฟใ‚“", - "ใ‘ใ‚“ใ‚ใ„", - "ใ‘ใ‚“ใ‚‰ใ‚“", - "ใ‘ใ‚“ใ‚Š", - "ใ‘ใ‚“ใ‚Šใค", - "ใ“ใ‚ใใพ", - "ใ“ใ„", - "ใ”ใ„", - "ใ“ใ„ใณใจ", - "ใ“ใ†ใ„", - "ใ“ใ†ใˆใ‚“", - "ใ“ใ†ใ‹", - "ใ“ใ†ใ‹ใ„", - "ใ“ใ†ใ‹ใ‚“", - "ใ“ใ†ใ•ใ„", - "ใ“ใ†ใ•ใ‚“", - "ใ“ใ†ใ—ใ‚“", - "ใ“ใ†ใš", - "ใ“ใ†ใ™ใ„", - "ใ“ใ†ใ›ใ‚“", - "ใ“ใ†ใใ†", - "ใ“ใ†ใใ", - "ใ“ใ†ใŸใ„", - "ใ“ใ†ใกใ‚ƒ", - "ใ“ใ†ใคใ†", - "ใ“ใ†ใฆใ„", - "ใ“ใ†ใจใ†ใถ", - "ใ“ใ†ใชใ„", - "ใ“ใ†ใฏใ„", - "ใ“ใ†ใฏใ‚“", - "ใ“ใ†ใ‚‚ใ", - "ใ“ใˆ", - "ใ“ใˆใ‚‹", - "ใ“ใŠใ‚Š", - "ใ”ใŒใค", - "ใ“ใ‹ใ‚“", - "ใ“ใ", - "ใ“ใใ”", - "ใ“ใใชใ„", - "ใ“ใใฏใ", - "ใ“ใ‘ใ„", - "ใ“ใ‘ใ‚‹", - "ใ“ใ“", - "ใ“ใ“ใ‚", - "ใ”ใ•", - "ใ“ใ•ใ‚", - "ใ“ใ—", - "ใ“ใ—ใค", - "ใ“ใ™", - "ใ“ใ™ใ†", - "ใ“ใ›ใ„", - "ใ“ใ›ใ", - "ใ“ใœใ‚“", - "ใ“ใใ ใฆ", - "ใ“ใŸใ„", - "ใ“ใŸใˆใ‚‹", - "ใ“ใŸใค", - "ใ“ใกใ‚‡ใ†", - "ใ“ใฃใ‹", - "ใ“ใคใ“ใค", - "ใ“ใคใฐใ‚“", - "ใ“ใคใถ", - "ใ“ใฆใ„", - "ใ“ใฆใ‚“", - "ใ“ใจ", - "ใ“ใจใŒใ‚‰", - "ใ“ใจใ—", - "ใ“ใชใ”ใช", - "ใ“ใญใ“ใญ", - "ใ“ใฎใพใพ", - "ใ“ใฎใฟ", - "ใ“ใฎใ‚ˆ", - "ใ“ใฏใ‚“", - "ใ”ใฏใ‚“", - "ใ”ใณ", - "ใ“ใฒใคใ˜", - "ใ“ใตใ†", - "ใ“ใตใ‚“", - "ใ“ใผใ‚Œใ‚‹", - "ใ”ใพ", - "ใ“ใพใ‹ใ„", - "ใ“ใพใคใ—", - "ใ“ใพใคใช", - "ใ“ใพใ‚‹", - "ใ“ใ‚€", - "ใ“ใ‚€ใŽใ“", - "ใ“ใ‚", - "ใ“ใ‚‚ใ˜", - "ใ“ใ‚‚ใก", - "ใ“ใ‚‚ใฎ", - "ใ“ใ‚‚ใ‚“", - "ใ“ใ‚„", - "ใ“ใ‚„ใ", - "ใ“ใ‚„ใพ", - "ใ“ใ‚†ใ†", - "ใ“ใ‚†ใณ", - "ใ“ใ‚ˆใ„", - "ใ“ใ‚ˆใ†", - "ใ“ใ‚Šใ‚‹", - "ใ“ใ‚‹", - "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", - "ใ“ใ‚ใฃใ‘", - "ใ“ใ‚ใ‚‚ใฆ", - "ใ“ใ‚ใ‚Œใ‚‹", - "ใ“ใ‚“", - "ใ“ใ‚“ใ„ใ‚“", - "ใ“ใ‚“ใ‹ใ„", - "ใ“ใ‚“ใ", - "ใ“ใ‚“ใ—ใ‚…ใ†", - "ใ“ใ‚“ใ—ใ‚…ใ‚“", - "ใ“ใ‚“ใ™ใ„", - "ใ“ใ‚“ใ ใฆ", - "ใ“ใ‚“ใ ใ‚“", - "ใ“ใ‚“ใจใ‚“", - "ใ“ใ‚“ใชใ‚“", - "ใ“ใ‚“ใณใซ", - "ใ“ใ‚“ใฝใ†", - "ใ“ใ‚“ใฝใ‚“", - "ใ“ใ‚“ใพใ‘", - "ใ“ใ‚“ใ‚„", - "ใ“ใ‚“ใ‚„ใ", - "ใ“ใ‚“ใ‚Œใ„", - "ใ“ใ‚“ใ‚ใ", - "ใ•ใ„ใ‹ใ„", - "ใ•ใ„ใŒใ„", - "ใ•ใ„ใใ‚“", - "ใ•ใ„ใ”", - "ใ•ใ„ใ“ใ‚“", - "ใ•ใ„ใ—ใ‚‡", - "ใ•ใ†ใช", - "ใ•ใŠ", - "ใ•ใ‹ใ„ใ—", - "ใ•ใ‹ใช", - "ใ•ใ‹ใฟใก", - "ใ•ใ", - "ใ•ใ", - "ใ•ใใ—", - "ใ•ใใ˜ใ‚‡", - "ใ•ใใฒใ‚“", - "ใ•ใใ‚‰", - "ใ•ใ‘", - "ใ•ใ“ใ", - "ใ•ใ“ใค", - "ใ•ใŸใ‚“", - "ใ•ใคใˆใ„", - "ใ•ใฃใ‹", - "ใ•ใฃใใ‚‡ใ", - "ใ•ใคใ˜ใ‚“", - "ใ•ใคใŸใฐ", - "ใ•ใคใพใ„ใ‚‚", - "ใ•ใฆใ„", - "ใ•ใจใ„ใ‚‚", - "ใ•ใจใ†", - "ใ•ใจใŠใ‚„", - "ใ•ใจใ‚‹", - "ใ•ใฎใ†", - "ใ•ใฐ", - "ใ•ใฐใ", - "ใ•ในใค", - "ใ•ใปใ†", - "ใ•ใปใฉ", - "ใ•ใพใ™", - "ใ•ใฟใ—ใ„", - "ใ•ใฟใ ใ‚Œ", - "ใ•ใ‚€ใ‘", - "ใ•ใ‚", - "ใ•ใ‚ใ‚‹", - "ใ•ใ‚„ใˆใ‚“ใฉใ†", - "ใ•ใ‚†ใ†", - "ใ•ใ‚ˆใ†", - "ใ•ใ‚ˆใ", - "ใ•ใ‚‰", - "ใ•ใ‚‰ใ ", - "ใ•ใ‚‹", - "ใ•ใ‚ใ‚„ใ‹", - "ใ•ใ‚ใ‚‹", - "ใ•ใ‚“ใ„ใ‚“", - "ใ•ใ‚“ใ‹", - "ใ•ใ‚“ใใ‚ƒใ", - "ใ•ใ‚“ใ“ใ†", - "ใ•ใ‚“ใ•ใ„", - "ใ•ใ‚“ใ–ใ‚“", - "ใ•ใ‚“ใ™ใ†", - "ใ•ใ‚“ใ›ใ„", - "ใ•ใ‚“ใ", - "ใ•ใ‚“ใใ‚“", - "ใ•ใ‚“ใก", - "ใ•ใ‚“ใกใ‚‡ใ†", - "ใ•ใ‚“ใพ", - "ใ•ใ‚“ใฟ", - "ใ•ใ‚“ใ‚‰ใ‚“", - "ใ—ใ‚ใ„", - "ใ—ใ‚ใ’", - "ใ—ใ‚ใ•ใฃใฆ", - "ใ—ใ‚ใ‚ใ›", - "ใ—ใ„ใ", - "ใ—ใ„ใ‚“", - "ใ—ใ†ใก", - "ใ—ใˆใ„", - "ใ—ใŠ", - "ใ—ใŠใ‘", - "ใ—ใ‹", - "ใ—ใ‹ใ„", - "ใ—ใ‹ใ", - "ใ˜ใ‹ใ‚“", - "ใ—ใŸ", - "ใ—ใŸใŽ", - "ใ—ใŸใฆ", - "ใ—ใŸใฟ", - "ใ—ใกใ‚‡ใ†", - "ใ—ใกใ‚‡ใ†ใใ‚“", - "ใ—ใกใ‚Šใ‚“", - "ใ˜ใคใ˜", - "ใ—ใฆใ„", - "ใ—ใฆใ", - "ใ—ใฆใค", - "ใ—ใฆใ‚“", - "ใ—ใจใ†", - "ใ˜ใฉใ†", - "ใ—ใชใŽใ‚Œ", - "ใ—ใชใ‚‚ใฎ", - "ใ—ใชใ‚“", - "ใ—ใญใพ", - "ใ—ใญใ‚“", - "ใ—ใฎใ", - "ใ—ใฎใถ", - "ใ—ใฏใ„", - "ใ—ใฐใ‹ใ‚Š", - "ใ—ใฏใค", - "ใ˜ใฏใค", - "ใ—ใฏใ‚‰ใ„", - "ใ—ใฏใ‚“", - "ใ—ใฒใ‚‡ใ†", - "ใ˜ใต", - "ใ—ใตใ", - "ใ˜ใถใ‚“", - "ใ—ใธใ„", - "ใ—ใปใ†", - "ใ—ใปใ‚“", - "ใ—ใพ", - "ใ—ใพใ†", - "ใ—ใพใ‚‹", - "ใ—ใฟ", - "ใ˜ใฟ", - "ใ—ใฟใ‚“", - "ใ˜ใ‚€", - "ใ—ใ‚€ใ‘ใ‚‹", - "ใ—ใ‚ใ„", - "ใ—ใ‚ใ‚‹", - "ใ—ใ‚‚ใ‚“", - "ใ—ใ‚ƒใ„ใ‚“", - "ใ—ใ‚ƒใ†ใ‚“", - "ใ—ใ‚ƒใŠใ‚“", - "ใ—ใ‚ƒใ‹ใ„", - "ใ˜ใ‚ƒใŒใ„ใ‚‚", - "ใ—ใ‚„ใใ—ใ‚‡", - "ใ—ใ‚ƒใใปใ†", - "ใ—ใ‚ƒใ‘ใ‚“", - "ใ—ใ‚ƒใ“", - "ใ—ใ‚ƒใ“ใ†", - "ใ—ใ‚ƒใ–ใ„", - "ใ—ใ‚ƒใ—ใ‚“", - "ใ—ใ‚ƒใ›ใ‚“", - "ใ—ใ‚ƒใใ†", - "ใ—ใ‚ƒใŸใ„", - "ใ—ใ‚ƒใŸใ", - "ใ—ใ‚ƒใกใ‚‡ใ†", - "ใ—ใ‚ƒใฃใใ‚“", - "ใ˜ใ‚ƒใพ", - "ใ˜ใ‚ƒใ‚Š", - "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", - "ใ—ใ‚ƒใ‚Šใ‚“", - "ใ—ใ‚ƒใ‚Œใ„", - "ใ—ใ‚…ใ†ใˆใ‚“", - "ใ—ใ‚…ใ†ใ‹ใ„", - "ใ—ใ‚…ใ†ใใ‚“", - "ใ—ใ‚…ใ†ใ‘ใ„", - "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", - "ใ—ใ‚…ใ‚‰ใฐ", - "ใ—ใ‚‡ใ†ใ‹", - "ใ—ใ‚‡ใ†ใ‹ใ„", - "ใ—ใ‚‡ใ†ใใ‚“", - "ใ—ใ‚‡ใ†ใ˜ใ", - "ใ—ใ‚‡ใใ–ใ„", - "ใ—ใ‚‡ใใŸใ", - "ใ—ใ‚‡ใฃใ‘ใ‚“", - "ใ—ใ‚‡ใฉใ†", - "ใ—ใ‚‡ใ‚‚ใค", - "ใ—ใ‚“", - "ใ—ใ‚“ใ‹", - "ใ—ใ‚“ใ“ใ†", - "ใ—ใ‚“ใ›ใ„ใ˜", - "ใ—ใ‚“ใกใ", - "ใ—ใ‚“ใ‚Šใ‚“", - "ใ™ใ‚ใ’", - "ใ™ใ‚ใ—", - "ใ™ใ‚ใช", - "ใšใ‚ใ‚“", - "ใ™ใ„ใ‹", - "ใ™ใ„ใจใ†", - "ใ™ใ†", - "ใ™ใ†ใŒใ", - "ใ™ใ†ใ˜ใค", - "ใ™ใ†ใ›ใ‚“", - "ใ™ใŠใฉใ‚Š", - "ใ™ใ", - "ใ™ใใพ", - "ใ™ใ", - "ใ™ใใ†", - "ใ™ใใชใ„", - "ใ™ใ‘ใ‚‹", - "ใ™ใ“ใ—", - "ใšใ•ใ‚“", - "ใ™ใ—", - "ใ™ใšใ—ใ„", - "ใ™ใ™ใ‚ใ‚‹", - "ใ™ใ", - "ใšใฃใ—ใ‚Š", - "ใšใฃใจ", - "ใ™ใง", - "ใ™ใฆใ", - "ใ™ใฆใ‚‹", - "ใ™ใช", - "ใ™ใชใฃใ", - "ใ™ใชใฃใท", - "ใ™ใญ", - "ใ™ใญใ‚‹", - "ใ™ใฎใ“", - "ใ™ใฏใ ", - "ใ™ใฐใ‚‰ใ—ใ„", - "ใšใฒใ‚‡ใ†", - "ใšใถใฌใ‚Œ", - "ใ™ใถใ‚Š", - "ใ™ใตใ‚Œ", - "ใ™ในใฆ", - "ใ™ในใ‚‹", - "ใšใปใ†", - "ใ™ใผใ‚“", - "ใ™ใพใ„", - "ใ™ใฟ", - "ใ™ใ‚€", - "ใ™ใ‚ใ—", - "ใ™ใ‚‚ใ†", - "ใ™ใ‚„ใ", - "ใ™ใ‚‰ใ„ใ™", - "ใ™ใ‚‰ใ„ใฉ", - "ใ™ใ‚‰ใ™ใ‚‰", - "ใ™ใ‚Š", - "ใ™ใ‚‹", - "ใ™ใ‚‹ใ‚", - "ใ™ใ‚ŒใกใŒใ†", - "ใ™ใ‚ใฃใจ", - "ใ™ใ‚ใ‚‹", - "ใ™ใ‚“ใœใ‚“", - "ใ™ใ‚“ใฝใ†", - "ใ›ใ‚ใถใ‚‰", - "ใ›ใ„ใ‹", - "ใ›ใ„ใ‹ใ„", - "ใ›ใ„ใ‹ใค", - "ใ›ใŠใ†", - "ใ›ใ‹ใ„", - "ใ›ใ‹ใ„ใ‹ใ‚“", - "ใ›ใ‹ใ„ใ—", - "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", - "ใ›ใ", - "ใ›ใใซใ‚“", - "ใ›ใใ‚€", - "ใ›ใใ‚†", - "ใ›ใใ‚‰ใ‚“ใ†ใ‚“", - "ใ›ใ‘ใ‚“", - "ใ›ใ“ใ†", - "ใ›ใ™ใ˜", - "ใ›ใŸใ„", - "ใ›ใŸใ‘", - "ใ›ใฃใ‹ใ„", - "ใ›ใฃใ‹ใ", - "ใ›ใฃใ", - "ใ›ใฃใใ‚ƒใ", - "ใ›ใฃใใ‚‡ใ", - "ใ›ใฃใใ‚“", - "ใœใฃใ", - "ใ›ใฃใ‘ใ‚“", - "ใ›ใฃใ“ใค", - "ใ›ใฃใ•ใŸใใพ", - "ใ›ใคใžใ", - "ใ›ใคใ ใ‚“", - "ใ›ใคใงใ‚“", - "ใ›ใฃใฑใ‚“", - "ใ›ใคใณ", - "ใ›ใคใถใ‚“", - "ใ›ใคใ‚ใ„", - "ใ›ใคใ‚Šใค", - "ใ›ใจ", - "ใ›ใชใ‹", - "ใ›ใฎใณ", - "ใ›ใฏใฐ", - "ใ›ใผใญ", - "ใ›ใพใ„", - "ใ›ใพใ‚‹", - "ใ›ใฟ", - "ใ›ใ‚ใ‚‹", - "ใ›ใ‚‚ใŸใ‚Œ", - "ใ›ใ‚Šใต", - "ใ›ใ‚", - "ใ›ใ‚“", - "ใœใ‚“ใ‚ใ", - "ใ›ใ‚“ใ„", - "ใ›ใ‚“ใˆใ„", - "ใ›ใ‚“ใ‹", - "ใ›ใ‚“ใใ‚‡", - "ใ›ใ‚“ใ", - "ใ›ใ‚“ใ‘ใค", - "ใ›ใ‚“ใ’ใ‚“", - "ใœใ‚“ใ”", - "ใ›ใ‚“ใ•ใ„", - "ใ›ใ‚“ใ—", - "ใ›ใ‚“ใ—ใ‚…", - "ใ›ใ‚“ใ™", - "ใ›ใ‚“ใ™ใ„", - "ใ›ใ‚“ใ›ใ„", - "ใ›ใ‚“ใž", - "ใ›ใ‚“ใใ†", - "ใ›ใ‚“ใŸใ", - "ใ›ใ‚“ใก", - "ใ›ใ‚“ใกใ‚ƒ", - "ใ›ใ‚“ใกใ‚ƒใ", - "ใ›ใ‚“ใกใ‚‡ใ†", - "ใ›ใ‚“ใฆใ„", - "ใ›ใ‚“ใจใ†", - "ใ›ใ‚“ใฌใ", - "ใ›ใ‚“ใญใ‚“", - "ใœใ‚“ใถ", - "ใ›ใ‚“ใทใ†ใ", - "ใ›ใ‚“ใทใ", - "ใœใ‚“ใฝใ†", - "ใ›ใ‚“ใ‚€", - "ใ›ใ‚“ใ‚ใ„", - "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", - "ใ›ใ‚“ใ‚‚ใ‚“", - "ใ›ใ‚“ใ‚„ใ", - "ใ›ใ‚“ใ‚†ใ†", - "ใ›ใ‚“ใ‚ˆใ†", - "ใœใ‚“ใ‚‰", - "ใœใ‚“ใ‚Šใ‚ƒใ", - "ใ›ใ‚“ใ‚Šใ‚‡ใ", - "ใ›ใ‚“ใ‚Œใ„", - "ใ›ใ‚“ใ‚", - "ใใ‚ใ", - "ใใ„ใจใ’ใ‚‹", - "ใใ„ใญ", - "ใใ†", - "ใžใ†", - "ใใ†ใŒใ‚“ใใ‚‡ใ†", - "ใใ†ใ", - "ใใ†ใ”", - "ใใ†ใชใ‚“", - "ใใ†ใณ", - "ใใ†ใฒใ‚‡ใ†", - "ใใ†ใ‚ใ‚“", - "ใใ†ใ‚Š", - "ใใ†ใ‚Šใ‚‡", - "ใใˆใ‚‚ใฎ", - "ใใˆใ‚“", - "ใใ‹ใ„", - "ใใŒใ„", - "ใใ", - "ใใ’ใ", - "ใใ“ใ†", - "ใใ“ใใ“", - "ใใ–ใ„", - "ใใ—", - "ใใ—ใช", - "ใใ›ใ„", - "ใใ›ใ‚“", - "ใใใ", - "ใใ ใฆใ‚‹", - "ใใคใ†", - "ใใคใˆใ‚“", - "ใใฃใ‹ใ‚“", - "ใใคใŽใ‚‡ใ†", - "ใใฃใ‘ใค", - "ใใฃใ“ใ†", - "ใใฃใ›ใ‚“", - "ใใฃใจ", - "ใใง", - "ใใจ", - "ใใจใŒใ‚", - "ใใจใฅใ‚‰", - "ใใชใˆใ‚‹", - "ใใชใŸ", - "ใใฐ", - "ใใต", - "ใใตใผ", - "ใใผ", - "ใใผใ", - "ใใผใ‚", - "ใใพใค", - "ใใพใ‚‹", - "ใใ‚€ใ", - "ใใ‚€ใ‚Šใˆ", - "ใใ‚ใ‚‹", - "ใใ‚‚ใใ‚‚", - "ใใ‚ˆใ‹ใœ", - "ใใ‚‰", - "ใใ‚‰ใพใ‚", - "ใใ‚Š", - "ใใ‚‹", - "ใใ‚ใ†", - "ใใ‚“ใ‹ใ„", - "ใใ‚“ใ‘ใ„", - "ใใ‚“ใ–ใ„", - "ใใ‚“ใ—ใค", - "ใใ‚“ใ—ใ‚‡ใ†", - "ใใ‚“ใžใ", - "ใใ‚“ใกใ‚‡ใ†", - "ใžใ‚“ใณ", - "ใžใ‚“ใถใ‚“", - "ใใ‚“ใฟใ‚“", - "ใŸใ‚ใ„", - "ใŸใ„ใ„ใ‚“", - "ใŸใ„ใ†ใ‚“", - "ใŸใ„ใˆใ", - "ใŸใ„ใŠใ†", - "ใ ใ„ใŠใ†", - "ใŸใ„ใ‹", - "ใŸใ„ใ‹ใ„", - "ใŸใ„ใ", - "ใŸใ„ใใ‘ใ‚“", - "ใŸใ„ใใ†", - "ใŸใ„ใใค", - "ใŸใ„ใ‘ใ„", - "ใŸใ„ใ‘ใค", - "ใŸใ„ใ‘ใ‚“", - "ใŸใ„ใ“", - "ใŸใ„ใ“ใ†", - "ใŸใ„ใ•", - "ใŸใ„ใ•ใ‚“", - "ใŸใ„ใ—ใ‚…ใค", - "ใ ใ„ใ˜ใ‚‡ใ†ใถ", - "ใŸใ„ใ—ใ‚‡ใ", - "ใ ใ„ใš", - "ใ ใ„ใ™ใ", - "ใŸใ„ใ›ใ„", - "ใŸใ„ใ›ใค", - "ใŸใ„ใ›ใ‚“", - "ใŸใ„ใใ†", - "ใŸใ„ใกใ‚‡ใ†", - "ใ ใ„ใกใ‚‡ใ†", - "ใŸใ„ใจใ†", - "ใŸใ„ใชใ„", - "ใŸใ„ใญใค", - "ใŸใ„ใฎใ†", - "ใŸใ„ใฏ", - "ใŸใ„ใฏใ‚“", - "ใŸใ„ใฒ", - "ใŸใ„ใตใ†", - "ใŸใ„ใธใ‚“", - "ใŸใ„ใป", - "ใŸใ„ใพใคใฐใช", - "ใŸใ„ใพใ‚“", - "ใŸใ„ใฟใ‚“ใ", - "ใŸใ„ใ‚€", - "ใŸใ„ใ‚ใ‚“", - "ใŸใ„ใ‚„ใ", - "ใŸใ„ใ‚„ใ", - "ใŸใ„ใ‚ˆใ†", - "ใŸใ„ใ‚‰", - "ใŸใ„ใ‚Šใ‚‡ใ†", - "ใŸใ„ใ‚Šใ‚‡ใ", - "ใŸใ„ใ‚‹", - "ใŸใ„ใ‚", - "ใŸใ„ใ‚ใ‚“", - "ใŸใ†ใˆ", - "ใŸใˆใ‚‹", - "ใŸใŠใ™", - "ใŸใŠใ‚‹", - "ใŸใ‹ใ„", - "ใŸใ‹ใญ", - "ใŸใ", - "ใŸใใณ", - "ใŸใใ•ใ‚“", - "ใŸใ‘", - "ใŸใ“", - "ใŸใ“ใ", - "ใŸใ“ใ‚„ใ", - "ใŸใ•ใ„", - "ใ ใ•ใ„", - "ใŸใ—ใ–ใ‚“", - "ใŸใ™", - "ใŸใ™ใ‘ใ‚‹", - "ใŸใใŒใ‚Œ", - "ใŸใŸใ‹ใ†", - "ใŸใŸใ", - "ใŸใกใฐ", - "ใŸใกใฐใช", - "ใŸใค", - "ใ ใฃใ‹ใ„", - "ใ ใฃใใ‚ƒใ", - "ใ ใฃใ“", - "ใ ใฃใ—ใ‚ใ‚“", - "ใ ใฃใ—ใ‚…ใค", - "ใ ใฃใŸใ„", - "ใŸใฆ", - "ใŸใฆใ‚‹", - "ใŸใจใˆใ‚‹", - "ใŸใช", - "ใŸใซใ‚“", - "ใŸใฌใ", - "ใŸใญ", - "ใŸใฎใ—ใฟ", - "ใŸใฏใค", - "ใŸใณ", - "ใŸใถใ‚“", - "ใŸในใ‚‹", - "ใŸใผใ†", - "ใŸใปใ†ใ‚ใ‚“", - "ใŸใพ", - "ใŸใพใ”", - "ใŸใพใ‚‹", - "ใ ใ‚€ใ‚‹", - "ใŸใ‚ใ„ใ", - "ใŸใ‚ใ™", - "ใŸใ‚ใ‚‹", - "ใŸใ‚‚ใค", - "ใŸใ‚„ใ™ใ„", - "ใŸใ‚ˆใ‚‹", - "ใŸใ‚‰", - "ใŸใ‚‰ใ™", - "ใŸใ‚Šใใปใ‚“ใŒใ‚“", - "ใŸใ‚Šใ‚‡ใ†", - "ใŸใ‚Šใ‚‹", - "ใŸใ‚‹", - "ใŸใ‚‹ใจ", - "ใŸใ‚Œใ‚‹", - "ใŸใ‚Œใ‚“ใจ", - "ใŸใ‚ใฃใจ", - "ใŸใ‚ใ‚€ใ‚Œใ‚‹", - "ใŸใ‚“", - "ใ ใ‚“ใ‚ใค", - "ใŸใ‚“ใ„", - "ใŸใ‚“ใŠใ‚“", - "ใŸใ‚“ใ‹", - "ใŸใ‚“ใ", - "ใŸใ‚“ใ‘ใ‚“", - "ใŸใ‚“ใ”", - "ใŸใ‚“ใ•ใ", - "ใŸใ‚“ใ•ใ‚“", - "ใŸใ‚“ใ—", - "ใŸใ‚“ใ—ใ‚…ใ", - "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", - "ใ ใ‚“ใ›ใ„", - "ใŸใ‚“ใใ", - "ใŸใ‚“ใŸใ„", - "ใŸใ‚“ใก", - "ใ ใ‚“ใก", - "ใŸใ‚“ใกใ‚‡ใ†", - "ใŸใ‚“ใฆใ„", - "ใŸใ‚“ใฆใ", - "ใŸใ‚“ใจใ†", - "ใ ใ‚“ใช", - "ใŸใ‚“ใซใ‚“", - "ใ ใ‚“ใญใค", - "ใŸใ‚“ใฎใ†", - "ใŸใ‚“ใดใ‚“", - "ใŸใ‚“ใพใค", - "ใŸใ‚“ใ‚ใ„", - "ใ ใ‚“ใ‚Œใค", - "ใ ใ‚“ใ‚", - "ใ ใ‚“ใ‚", - "ใกใ‚ใ„", - "ใกใ‚ใ‚“", - "ใกใ„", - "ใกใ„ใ", - "ใกใ„ใ•ใ„", - "ใกใˆ", - "ใกใˆใ‚“", - "ใกใ‹", - "ใกใ‹ใ„", - "ใกใใ‚…ใ†", - "ใกใใ‚“", - "ใกใ‘ใ„", - "ใกใ‘ใ„ใš", - "ใกใ‘ใ‚“", - "ใกใ“ใ", - "ใกใ•ใ„", - "ใกใ—ใ", - "ใกใ—ใ‚Šใ‚‡ใ†", - "ใกใš", - "ใกใ›ใ„", - "ใกใใ†", - "ใกใŸใ„", - "ใกใŸใ‚“", - "ใกใกใŠใ‚„", - "ใกใคใ˜ใ‚‡", - "ใกใฆใ", - "ใกใฆใ‚“", - "ใกใฌใ", - "ใกใฌใ‚Š", - "ใกใฎใ†", - "ใกใฒใ‚‡ใ†", - "ใกใธใ„ใ›ใ‚“", - "ใกใปใ†", - "ใกใพใŸ", - "ใกใฟใค", - "ใกใฟใฉใ‚", - "ใกใ‚ใ„ใฉ", - "ใกใ‚…ใ†ใ„", - "ใกใ‚…ใ†ใŠใ†", - "ใกใ‚…ใ†ใŠใ†ใ", - "ใกใ‚…ใ†ใŒใฃใ“ใ†", - "ใกใ‚…ใ†ใ”ใ", - "ใกใ‚†ใ‚Šใ‚‡ใ", - "ใกใ‚‡ใ†ใ•", - "ใกใ‚‡ใ†ใ—", - "ใกใ‚‰ใ—", - "ใกใ‚‰ใฟ", - "ใกใ‚Š", - "ใกใ‚ŠใŒใฟ", - "ใกใ‚‹", - "ใกใ‚‹ใฉ", - "ใกใ‚ใ‚", - "ใกใ‚“ใŸใ„", - "ใกใ‚“ใ‚‚ใ", - "ใคใ„ใ‹", - "ใคใ†ใ‹", - "ใคใ†ใ˜ใ‚‡ใ†", - "ใคใ†ใ˜ใ‚‹", - "ใคใ†ใฏใ‚“", - "ใคใ†ใ‚", - "ใคใˆ", - "ใคใ‹ใ†", - "ใคใ‹ใ‚Œใ‚‹", - "ใคใ", - "ใคใ", - "ใคใใญ", - "ใคใใ‚‹", - "ใคใ‘ใญ", - "ใคใ‘ใ‚‹", - "ใคใ”ใ†", - "ใคใŸ", - "ใคใŸใˆใ‚‹", - "ใคใก", - "ใคใคใ˜", - "ใคใจใ‚ใ‚‹", - "ใคใช", - "ใคใชใŒใ‚‹", - "ใคใชใฟ", - "ใคใญใฅใญ", - "ใคใฎ", - "ใคใฎใ‚‹", - "ใคใฐ", - "ใคใถ", - "ใคใถใ™", - "ใคใผ", - "ใคใพ", - "ใคใพใ‚‰ใชใ„", - "ใคใพใ‚‹", - "ใคใฟ", - "ใคใฟใ", - "ใคใ‚€", - "ใคใ‚ใŸใ„", - "ใคใ‚‚ใ‚‹", - "ใคใ‚„", - "ใคใ‚ˆใ„", - "ใคใ‚Š", - "ใคใ‚‹ใผ", - "ใคใ‚‹ใฟใ", - "ใคใ‚ใ‚‚ใฎ", - "ใคใ‚ใ‚Š", - "ใฆใ‚ใ—", - "ใฆใ‚ใฆ", - "ใฆใ‚ใฟ", - "ใฆใ„ใ‹", - "ใฆใ„ใ", - "ใฆใ„ใ‘ใ„", - "ใฆใ„ใ‘ใค", - "ใฆใ„ใ‘ใคใ‚ใค", - "ใฆใ„ใ“ใ", - "ใฆใ„ใ•ใค", - "ใฆใ„ใ—", - "ใฆใ„ใ—ใ‚ƒ", - "ใฆใ„ใ›ใ„", - "ใฆใ„ใŸใ„", - "ใฆใ„ใฉ", - "ใฆใ„ใญใ„", - "ใฆใ„ใฒใ‚‡ใ†", - "ใฆใ„ใธใ‚“", - "ใฆใ„ใผใ†", - "ใฆใ†ใก", - "ใฆใŠใใ‚Œ", - "ใฆใ", - "ใฆใใณ", - "ใฆใ“", - "ใฆใ•ใŽใ‚‡ใ†", - "ใฆใ•ใ’", - "ใงใ—", - "ใฆใ™ใ‚Š", - "ใฆใใ†", - "ใฆใกใŒใ„", - "ใฆใกใ‚‡ใ†", - "ใฆใคใŒใ", - "ใฆใคใฅใ", - "ใฆใคใ‚„", - "ใงใฌใ‹ใˆ", - "ใฆใฌใ", - "ใฆใฌใใ„", - "ใฆใฎใฒใ‚‰", - "ใฆใฏใ„", - "ใฆใตใ ", - "ใฆใปใฉใ", - "ใฆใปใ‚“", - "ใฆใพ", - "ใฆใพใˆ", - "ใฆใพใใšใ—", - "ใฆใฟใ˜ใ‹", - "ใฆใฟใ‚„ใ’", - "ใฆใ‚‰", - "ใฆใ‚‰ใ™", - "ใงใ‚‹", - "ใฆใ‚Œใณ", - "ใฆใ‚", - "ใฆใ‚ใ‘", - "ใฆใ‚ใŸใ—", - "ใงใ‚“ใ‚ใค", - "ใฆใ‚“ใ„", - "ใฆใ‚“ใ„ใ‚“", - "ใฆใ‚“ใ‹ใ„", - "ใฆใ‚“ใ", - "ใฆใ‚“ใ", - "ใฆใ‚“ใ‘ใ‚“", - "ใงใ‚“ใ’ใ‚“", - "ใฆใ‚“ใ”ใ", - "ใฆใ‚“ใ•ใ„", - "ใฆใ‚“ใ™ใ†", - "ใงใ‚“ใก", - "ใฆใ‚“ใฆใ", - "ใฆใ‚“ใจใ†", - "ใฆใ‚“ใชใ„", - "ใฆใ‚“ใท", - "ใฆใ‚“ใทใ‚‰", - "ใฆใ‚“ใผใ†ใ ใ„", - "ใฆใ‚“ใ‚ใค", - "ใฆใ‚“ใ‚‰ใ", - "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", - "ใงใ‚“ใ‚Šใ‚…ใ†", - "ใงใ‚“ใ‚Šใ‚‡ใ", - "ใงใ‚“ใ‚", - "ใฉใ‚", - "ใฉใ‚ใ„", - "ใจใ„ใ‚Œ", - "ใจใ†ใ‚€ใŽ", - "ใจใŠใ„", - "ใจใŠใ™", - "ใจใ‹ใ„", - "ใจใ‹ใ™", - "ใจใใŠใ‚Š", - "ใจใใฉใ", - "ใจใใ„", - "ใจใใฆใ„", - "ใจใใฆใ‚“", - "ใจใในใค", - "ใจใ‘ใ„", - "ใจใ‘ใ‚‹", - "ใจใ•ใ‹", - "ใจใ—", - "ใจใ—ใ‚‡ใ‹ใ‚“", - "ใจใใ†", - "ใจใŸใ‚“", - "ใจใก", - "ใจใกใ‚…ใ†", - "ใจใคใœใ‚“", - "ใจใคใซใ‚…ใ†", - "ใจใจใฎใˆใ‚‹", - "ใจใชใ„", - "ใจใชใˆใ‚‹", - "ใจใชใ‚Š", - "ใจใฎใ•ใพ", - "ใจใฐใ™", - "ใจใถ", - "ใจใป", - "ใจใปใ†", - "ใฉใพ", - "ใจใพใ‚‹", - "ใจใ‚‰", - "ใจใ‚Š", - "ใจใ‚‹", - "ใจใ‚“ใ‹ใค", - "ใชใ„", - "ใชใ„ใ‹", - "ใชใ„ใ‹ใ", - "ใชใ„ใ“ใ†", - "ใชใ„ใ—ใ‚‡", - "ใชใ„ใ™", - "ใชใ„ใ›ใ‚“", - "ใชใ„ใใ†", - "ใชใ„ใžใ†", - "ใชใŠใ™", - "ใชใ", - "ใชใ“ใ†ใฉ", - "ใชใ•ใ‘", - "ใชใ—", - "ใชใ™", - "ใชใœ", - "ใชใž", - "ใชใŸใงใ“ใ“", - "ใชใค", - "ใชใฃใจใ†", - "ใชใคใ‚„ใ™ใฟ", - "ใชใชใŠใ—", - "ใชใซใ”ใจ", - "ใชใซใ‚‚ใฎ", - "ใชใซใ‚", - "ใชใฏ", - "ใชใณ", - "ใชใตใ ", - "ใชใน", - "ใชใพใ„ใ", - "ใชใพใˆ", - "ใชใพใฟ", - "ใชใฟ", - "ใชใฟใ ", - "ใชใ‚ใ‚‰ใ‹", - "ใชใ‚ใ‚‹", - "ใชใ‚„ใ‚€", - "ใชใ‚‰ใถ", - "ใชใ‚‹", - "ใชใ‚Œใ‚‹", - "ใชใ‚", - "ใชใ‚ใจใณ", - "ใชใ‚ใฐใ‚Š", - "ใซใ‚ใ†", - "ใซใ„ใŒใŸ", - "ใซใ†ใ‘", - "ใซใŠใ„", - "ใซใ‹ใ„", - "ใซใŒใฆ", - "ใซใใณ", - "ใซใ", - "ใซใใ—ใฟ", - "ใซใใพใ‚“", - "ใซใ’ใ‚‹", - "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", - "ใซใ—", - "ใซใ—ใ", - "ใซใ™", - "ใซใ›ใ‚‚ใฎ", - "ใซใกใ˜", - "ใซใกใ˜ใ‚‡ใ†", - "ใซใกใ‚ˆใ†ใณ", - "ใซใฃใ‹", - "ใซใฃใ", - "ใซใฃใ‘ใ„", - "ใซใฃใ“ใ†", - "ใซใฃใ•ใ‚“", - "ใซใฃใ—ใ‚‡ใ", - "ใซใฃใ™ใ†", - "ใซใฃใ›ใ", - "ใซใฃใฆใ„", - "ใซใชใ†", - "ใซใปใ‚“", - "ใซใพใ‚", - "ใซใ‚‚ใค", - "ใซใ‚„ใ‚Š", - "ใซใ‚…ใ†ใ„ใ‚“", - "ใซใ‚…ใ†ใ‹", - "ใซใ‚…ใ†ใ—", - "ใซใ‚…ใ†ใ—ใ‚ƒ", - "ใซใ‚…ใ†ใ ใ‚“", - "ใซใ‚…ใ†ใถ", - "ใซใ‚‰", - "ใซใ‚Šใ‚“ใ—ใ‚ƒ", - "ใซใ‚‹", - "ใซใ‚", - "ใซใ‚ใจใ‚Š", - "ใซใ‚“ใ„", - "ใซใ‚“ใ‹", - "ใซใ‚“ใ", - "ใซใ‚“ใ’ใ‚“", - "ใซใ‚“ใ—ใ", - "ใซใ‚“ใ—ใ‚‡ใ†", - "ใซใ‚“ใ—ใ‚“", - "ใซใ‚“ใšใ†", - "ใซใ‚“ใใ†", - "ใซใ‚“ใŸใ„", - "ใซใ‚“ใก", - "ใซใ‚“ใฆใ„", - "ใซใ‚“ใซใ", - "ใซใ‚“ใท", - "ใซใ‚“ใพใ‚Š", - "ใซใ‚“ใ‚€", - "ใซใ‚“ใ‚ใ„", - "ใซใ‚“ใ‚ˆใ†", - "ใฌใ†", - "ใฌใ‹", - "ใฌใ", - "ใฌใใ‚‚ใ‚Š", - "ใฌใ—", - "ใฌใฎ", - "ใฌใพ", - "ใฌใ‚ใ‚Š", - "ใฌใ‚‰ใ™", - "ใฌใ‚‹", - "ใฌใ‚“ใกใ‚ƒใ", - "ใญใ‚ใ’", - "ใญใ„ใ", - "ใญใ„ใ‚‹", - "ใญใ„ใ‚", - "ใญใŽ", - "ใญใใ›", - "ใญใใŸใ„", - "ใญใใ‚‰", - "ใญใ“", - "ใญใ“ใœ", - "ใญใ“ใ‚€", - "ใญใ•ใ’", - "ใญใ™ใ”ใ™", - "ใญใในใ‚‹", - "ใญใคใ„", - "ใญใคใžใ†", - "ใญใฃใŸใ„", - "ใญใฃใŸใ„ใŽใ‚‡", - "ใญใถใใ", - "ใญใตใ ", - "ใญใผใ†", - "ใญใปใ‚Šใฏใปใ‚Š", - "ใญใพใ", - "ใญใพใ‚ใ—", - "ใญใฟใฟ", - "ใญใ‚€ใ„", - "ใญใ‚‚ใจ", - "ใญใ‚‰ใ†", - "ใญใ‚‹", - "ใญใ‚ใ–", - "ใญใ‚“ใ„ใ‚Š", - "ใญใ‚“ใŠใ—", - "ใญใ‚“ใ‹ใ‚“", - "ใญใ‚“ใ", - "ใญใ‚“ใใ‚“", - "ใญใ‚“ใ", - "ใญใ‚“ใ–", - "ใญใ‚“ใ—", - "ใญใ‚“ใกใ‚ƒใ", - "ใญใ‚“ใกใ‚‡ใ†", - "ใญใ‚“ใฉ", - "ใญใ‚“ใด", - "ใญใ‚“ใถใค", - "ใญใ‚“ใพใ", - "ใญใ‚“ใพใค", - "ใญใ‚“ใ‚Šใ", - "ใญใ‚“ใ‚Šใ‚‡ใ†", - "ใญใ‚“ใ‚Œใ„", - "ใฎใ„ใš", - "ใฎใ†", - "ใฎใŠใฅใพ", - "ใฎใŒใ™", - "ใฎใใชใฟ", - "ใฎใ“ใŽใ‚Š", - "ใฎใ“ใ™", - "ใฎใ›ใ‚‹", - "ใฎใžใ", - "ใฎใžใ‚€", - "ใฎใŸใพใ†", - "ใฎใกใปใฉ", - "ใฎใฃใ", - "ใฎใฐใ™", - "ใฎใฏใ‚‰", - "ใฎในใ‚‹", - "ใฎใผใ‚‹", - "ใฎใ‚€", - "ใฎใ‚„ใพ", - "ใฎใ‚‰ใ„ใฌ", - "ใฎใ‚‰ใญใ“", - "ใฎใ‚Š", - "ใฎใ‚‹", - "ใฎใ‚Œใ‚“", - "ใฎใ‚“ใ", - "ใฐใ‚ใ„", - "ใฏใ‚ใ", - "ใฐใ‚ใ•ใ‚“", - "ใฏใ„", - "ใฐใ„ใ‹", - "ใฐใ„ใ", - "ใฏใ„ใ‘ใ‚“", - "ใฏใ„ใ”", - "ใฏใ„ใ“ใ†", - "ใฏใ„ใ—", - "ใฏใ„ใ—ใ‚…ใค", - "ใฏใ„ใ—ใ‚“", - "ใฏใ„ใ™ใ„", - "ใฏใ„ใ›ใค", - "ใฏใ„ใ›ใ‚“", - "ใฏใ„ใใ†", - "ใฏใ„ใก", - "ใฐใ„ใฐใ„", - "ใฏใ†", - "ใฏใˆ", - "ใฏใˆใ‚‹", - "ใฏใŠใ‚‹", - "ใฏใ‹", - "ใฐใ‹", - "ใฏใ‹ใ„", - "ใฏใ‹ใ‚‹", - "ใฏใ", - "ใฏใ", - "ใฏใใ—ใ‚…", - "ใฏใ‘ใ‚“", - "ใฏใ“", - "ใฏใ“ใถ", - "ใฏใ•ใฟ", - "ใฏใ•ใ‚“", - "ใฏใ—", - "ใฏใ—ใ”", - "ใฏใ—ใ‚‹", - "ใฐใ™", - "ใฏใ›ใ‚‹", - "ใฑใใ“ใ‚“", - "ใฏใใ‚“", - "ใฏใŸใ‚“", - "ใฏใก", - "ใฏใกใฟใค", - "ใฏใฃใ‹", - "ใฏใฃใ‹ใ", - "ใฏใฃใ", - "ใฏใฃใใ‚Š", - "ใฏใฃใใค", - "ใฏใฃใ‘ใ‚“", - "ใฏใฃใ“ใ†", - "ใฏใฃใ•ใ‚“", - "ใฏใฃใ—ใ‚ƒ", - "ใฏใฃใ—ใ‚“", - "ใฏใฃใŸใค", - "ใฏใฃใกใ‚ƒใ", - "ใฏใฃใกใ‚…ใ†", - "ใฏใฃใฆใ‚“", - "ใฏใฃใดใ‚‡ใ†", - "ใฏใฃใฝใ†", - "ใฏใฆ", - "ใฏใช", - "ใฏใชใ™", - "ใฏใชใณ", - "ใฏใซใ‹ใ‚€", - "ใฏใญ", - "ใฏใฏ", - "ใฏใถใ‚‰ใ—", - "ใฏใพ", - "ใฏใฟใŒใ", - "ใฏใ‚€", - "ใฏใ‚€ใ‹ใ†", - "ใฏใ‚ใค", - "ใฏใ‚„ใ„", - "ใฏใ‚‰", - "ใฏใ‚‰ใ†", - "ใฏใ‚Š", - "ใฏใ‚‹", - "ใฏใ‚Œ", - "ใฏใ‚ใ†ใƒใ‚“", - "ใฏใ‚ใ„", - "ใฏใ‚“ใ„", - "ใฏใ‚“ใˆใ„", - "ใฏใ‚“ใˆใ‚“", - "ใฏใ‚“ใŠใ‚“", - "ใฏใ‚“ใ‹ใ", - "ใฏใ‚“ใ‹ใก", - "ใฏใ‚“ใใ‚‡ใ†", - "ใฏใ‚“ใ“", - "ใฏใ‚“ใ“ใ†", - "ใฏใ‚“ใ—ใ‚ƒ" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "Japanese"; - populate_maps(); - } - }; + class Japanese: public Base + { + public: + Japanese() + { + word_list = new std::vector({ + "ใ‚ใ„", + "ใ‚ใ„ใ“ใใ—ใ‚“", + "ใ‚ใ†", + "ใ‚ใŠ", + "ใ‚ใŠใžใ‚‰", + "ใ‚ใ‹", + "ใ‚ใ‹ใกใ‚ƒใ‚“", + "ใ‚ใ", + "ใ‚ใใ‚‹", + "ใ‚ใ", + "ใ‚ใ•", + "ใ‚ใ•ใฒ", + "ใ‚ใ—", + "ใ‚ใšใ", + "ใ‚ใ›", + "ใ‚ใใถ", + "ใ‚ใŸใ‚‹", + "ใ‚ใคใ„", + "ใ‚ใช", + "ใ‚ใซ", + "ใ‚ใญ", + "ใ‚ใฒใ‚‹", + "ใ‚ใพใ„", + "ใ‚ใฟ", + "ใ‚ใ‚", + "ใ‚ใ‚ใ‚Šใ‹", + "ใ‚ใ‚„ใพใ‚‹", + "ใ‚ใ‚†ใ‚€", + "ใ‚ใ‚‰ใ„ใใพ", + "ใ‚ใ‚‰ใ—", + "ใ‚ใ‚Š", + "ใ‚ใ‚‹", + "ใ‚ใ‚Œ", + "ใ‚ใ‚", + "ใ‚ใ‚“ใ“", + "ใ„ใ†", + "ใ„ใˆ", + "ใ„ใŠใ‚“", + "ใ„ใ‹", + "ใ„ใŒใ„", + "ใ„ใ‹ใ„ใ‚ˆใ†", + "ใ„ใ‘", + "ใ„ใ‘ใ‚“", + "ใ„ใ“ใ", + "ใ„ใ“ใค", + "ใ„ใ•ใ‚“", + "ใ„ใ—", + "ใ„ใ˜ใ‚…ใ†", + "ใ„ใ™", + "ใ„ใ›ใ„", + "ใ„ใ›ใˆใณ", + "ใ„ใ›ใ‹ใ„", + "ใ„ใ›ใ", + "ใ„ใใ†ใ‚ใ†", + "ใ„ใใŒใ—ใ„", + "ใ„ใŸใ‚Šใ‚", + "ใ„ใฆใ–", + "ใ„ใฆใ‚“", + "ใ„ใจ", + "ใ„ใชใ„", + "ใ„ใชใ‹", + "ใ„ใฌ", + "ใ„ใญ", + "ใ„ใฎใก", + "ใ„ใฎใ‚‹", + "ใ„ใฏใค", + "ใ„ใฏใ‚“", + "ใ„ใณใ", + "ใ„ใฒใ‚“", + "ใ„ใตใ", + "ใ„ใธใ‚“", + "ใ„ใปใ†", + "ใ„ใพ", + "ใ„ใฟ", + "ใ„ใฟใ‚“", + "ใ„ใ‚‚", + "ใ„ใ‚‚ใ†ใจ", + "ใ„ใ‚‚ใŸใ‚Œ", + "ใ„ใ‚‚ใ‚Š", + "ใ„ใ‚„", + "ใ„ใ‚„ใ™", + "ใ„ใ‚ˆใ‹ใ‚“", + "ใ„ใ‚ˆใ", + "ใ„ใ‚‰ใ„", + "ใ„ใ‚‰ใ™ใจ", + "ใ„ใ‚Šใใก", + "ใ„ใ‚Šใ‚‡ใ†", + "ใ„ใ‚Šใ‚‡ใ†ใฒ", + "ใ„ใ‚‹", + "ใ„ใ‚Œใ„", + "ใ„ใ‚Œใ‚‚ใฎ", + "ใ„ใ‚Œใ‚‹", + "ใ„ใ‚", + "ใ„ใ‚ใˆใ‚“ใดใค", + "ใ„ใ‚", + "ใ„ใ‚ใ†", + "ใ„ใ‚ใ‹ใ‚“", + "ใ„ใ‚“ใ’ใ‚“ใพใ‚", + "ใ†ใˆ", + "ใ†ใŠใ–", + "ใ†ใ‹ใถ", + "ใ†ใใ‚", + "ใ†ใ", + "ใ†ใใ‚‰ใ„ใช", + "ใ†ใใ‚Œใ‚Œ", + "ใ†ใ‘ใคใ", + "ใ†ใ‘ใคใ‘", + "ใ†ใ‘ใ‚‹", + "ใ†ใ”ใ", + "ใ†ใ“ใ‚“", + "ใ†ใ•ใŽ", + "ใ†ใ—", + "ใ†ใ—ใชใ†", + "ใ†ใ—ใ‚", + "ใ†ใ—ใ‚ใŒใฟ", + "ใ†ใ™ใ„", + "ใ†ใ™ใŽ", + "ใ†ใ›ใค", + "ใ†ใ", + "ใ†ใŸ", + "ใ†ใกใ‚ใ‚ใ›", + "ใ†ใกใŒใ‚", + "ใ†ใกใ", + "ใ†ใค", + "ใ†ใชใŽ", + "ใ†ใชใ˜", + "ใ†ใซ", + "ใ†ใญใ‚‹", + "ใ†ใฎใ†", + "ใ†ใถใ’", + "ใ†ใถใ”ใˆ", + "ใ†ใพ", + "ใ†ใพใ‚Œใ‚‹", + "ใ†ใฟ", + "ใ†ใ‚€", + "ใ†ใ‚", + "ใ†ใ‚ใ‚‹", + "ใ†ใ‚‚ใ†", + "ใ†ใ‚„ใพใ†", + "ใ†ใ‚ˆใ", + "ใ†ใ‚‰", + "ใ†ใ‚‰ใชใ„", + "ใ†ใ‚‹", + "ใ†ใ‚‹ใ•ใ„", + "ใ†ใ‚Œใ—ใ„", + "ใ†ใ‚ใ“", + "ใ†ใ‚ใ", + "ใ†ใ‚ใ•", + "ใˆใ„", + "ใˆใ„ใˆใ‚“", + "ใˆใ„ใŒ", + "ใˆใ„ใŽใ‚‡ใ†", + "ใˆใ„ใ”", + "ใˆใŠใ‚Š", + "ใˆใ", + "ใˆใใŸใ„", + "ใˆใใ›ใ‚‹", + "ใˆใ•", + "ใˆใ—ใ‚ƒใ", + "ใˆใ™ใฆ", + "ใˆใคใ‚‰ใ‚“", + "ใˆใจ", + "ใˆใฎใ", + "ใˆใณ", + "ใˆใปใ†ใพใ", + "ใˆใปใ‚“", + "ใˆใพ", + "ใˆใพใ", + "ใˆใ‚‚ใ˜", + "ใˆใ‚‚ใฎ", + "ใˆใ‚‰ใ„", + "ใˆใ‚‰ใถ", + "ใˆใ‚Š", + "ใˆใ‚Šใ‚", + "ใˆใ‚‹", + "ใˆใ‚“", + "ใˆใ‚“ใˆใ‚“", + "ใŠใใ‚‹", + "ใŠใ", + "ใŠใ‘", + "ใŠใ“ใ‚‹", + "ใŠใ—ใˆใ‚‹", + "ใŠใ‚„ใ‚†ใณ", + "ใŠใ‚‰ใ‚“ใ ", + "ใ‹ใ‚ใค", + "ใ‹ใ„", + "ใ‹ใ†", + "ใ‹ใŠ", + "ใ‹ใŒใ—", + "ใ‹ใ", + "ใ‹ใ", + "ใ‹ใ“", + "ใ‹ใ•", + "ใ‹ใ™", + "ใ‹ใก", + "ใ‹ใค", + "ใ‹ใชใ–ใ‚ใ—", + "ใ‹ใซ", + "ใ‹ใญ", + "ใ‹ใฎใ†", + "ใ‹ใปใ†", + "ใ‹ใปใ”", + "ใ‹ใพใผใ“", + "ใ‹ใฟ", + "ใ‹ใ‚€", + "ใ‹ใ‚ใ‚ŒใŠใ‚“", + "ใ‹ใ‚‚", + "ใ‹ใ‚†ใ„", + "ใ‹ใ‚‰ใ„", + "ใ‹ใ‚‹ใ„", + "ใ‹ใ‚ใ†", + "ใ‹ใ‚", + "ใ‹ใ‚ใ‚‰", + "ใใ‚ใ„", + "ใใ‚ใค", + "ใใ„ใ‚", + "ใŽใ„ใ‚“", + "ใใ†ใ„", + "ใใ†ใ‚“", + "ใใˆใ‚‹", + "ใใŠใ†", + "ใใŠใ", + "ใใŠใก", + "ใใŠใ‚“", + "ใใ‹", + "ใใ‹ใ„", + "ใใ‹ใ", + "ใใ‹ใ‚“", + "ใใ‹ใ‚“ใ—ใ‚ƒ", + "ใใŽ", + "ใใใฆ", + "ใใ", + "ใใใฐใ‚Š", + "ใใใ‚‰ใ’", + "ใใ‘ใ‚“", + "ใใ‘ใ‚“ใ›ใ„", + "ใใ“ใ†", + "ใใ“ใˆใ‚‹", + "ใใ“ใ", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใพ", + "ใใ•ใ‚‰ใŽ", + "ใใ—", + "ใใ—ใ‚…", + "ใใ™", + "ใใ™ใ†", + "ใใ›ใ„", + "ใใ›ใ", + "ใใ›ใค", + "ใใ", + "ใใใ†", + "ใใใ", + "ใใžใ", + "ใŽใใ", + "ใใžใ‚“", + "ใใŸ", + "ใใŸใˆใ‚‹", + "ใใก", + "ใใกใ‚‡ใ†", + "ใใคใˆใ‚“", + "ใใคใคใ", + "ใใคใญ", + "ใใฆใ„", + "ใใฉใ†", + "ใใฉใ", + "ใใชใ„", + "ใใชใŒ", + "ใใฌ", + "ใใฌใ”ใ—", + "ใใญใ‚“", + "ใใฎใ†", + "ใใฏใ", + "ใใณใ—ใ„", + "ใใฒใ‚“", + "ใใต", + "ใŽใต", + "ใใตใ", + "ใŽใผ", + "ใใปใ†", + "ใใผใ†", + "ใใปใ‚“", + "ใใพใ‚‹", + "ใใฟ", + "ใใฟใค", + "ใŽใ‚€", + "ใใ‚€ใšใ‹ใ—ใ„", + "ใใ‚", + "ใใ‚ใ‚‹", + "ใใ‚‚ใ ใ‚ใ—", + "ใใ‚‚ใก", + "ใใ‚„ใ", + "ใใ‚ˆใ†", + "ใใ‚‰ใ„", + "ใใ‚‰ใ", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚Œใ„", + "ใใ‚Œใค", + "ใใ‚ใ", + "ใŽใ‚ใ‚“", + "ใใ‚ใ‚ใ‚‹", + "ใใ‚ใ„", + "ใใ„", + "ใใ„ใš", + "ใใ†ใ‹ใ‚“", + "ใใ†ใ", + "ใใ†ใใ‚“", + "ใใ†ใ“ใ†", + "ใใ†ใใ†", + "ใใ†ใตใ", + "ใใ†ใผ", + "ใใ‹ใ‚“", + "ใใ", + "ใใใ‚‡ใ†", + "ใใ’ใ‚“", + "ใใ“ใ†", + "ใใ•", + "ใใ•ใ„", + "ใใ•ใ", + "ใใ•ใฐใช", + "ใใ•ใ‚‹", + "ใใ—", + "ใใ—ใ‚ƒใฟ", + "ใใ—ใ‚‡ใ†", + "ใใ™ใฎใ", + "ใใ™ใ‚Š", + "ใใ™ใ‚Šใ‚†ใณ", + "ใใ›", + "ใใ›ใ’", + "ใใ›ใ‚“", + "ใใŸใณใ‚Œใ‚‹", + "ใใก", + "ใใกใ“ใฟ", + "ใใกใ•ใ", + "ใใค", + "ใใคใ—ใŸ", + "ใใคใ‚ใ", + "ใใจใ†ใฆใ‚“", + "ใใฉใ", + "ใใชใ‚“", + "ใใซ", + "ใใญใใญ", + "ใใฎใ†", + "ใใตใ†", + "ใใพ", + "ใใฟใ‚ใ‚ใ›", + "ใใฟใŸใฆใ‚‹", + "ใใ‚€", + "ใใ‚ใ‚‹", + "ใใ‚„ใใ—ใ‚‡", + "ใใ‚‰ใ™", + "ใใ‚Š", + "ใใ‚Œใ‚‹", + "ใใ‚", + "ใใ‚ใ†", + "ใใ‚ใ—ใ„", + "ใใ‚“ใ˜ใ‚‡", + "ใ‘ใ‚ใช", + "ใ‘ใ„ใ‘ใ‚“", + "ใ‘ใ„ใ“", + "ใ‘ใ„ใ•ใ„", + "ใ‘ใ„ใ•ใค", + "ใ’ใ„ใฎใ†ใ˜ใ‚“", + "ใ‘ใ„ใ‚Œใ", + "ใ‘ใ„ใ‚Œใค", + "ใ‘ใ„ใ‚Œใ‚“", + "ใ‘ใ„ใ‚", + "ใ‘ใŠใจใ™", + "ใ‘ใŠใ‚Šใ‚‚ใฎ", + "ใ‘ใŒ", + "ใ’ใ", + "ใ’ใใ‹", + "ใ’ใใ’ใ‚“", + "ใ’ใใ ใ‚“", + "ใ’ใใกใ‚“", + "ใ’ใใฉ", + "ใ’ใใฏ", + "ใ’ใใ‚„ใ", + "ใ’ใ“ใ†", + "ใ’ใ“ใใ˜ใ‚‡ใ†", + "ใ‘ใ•", + "ใ’ใ–ใ„", + "ใ‘ใ•ใ", + "ใ’ใ–ใ‚“", + "ใ‘ใ—ใ", + "ใ‘ใ—ใ”ใ‚€", + "ใ‘ใ—ใ‚‡ใ†", + "ใ‘ใ™", + "ใ’ใ™ใจ", + "ใ‘ใŸ", + "ใ’ใŸ", + "ใ‘ใŸใฐ", + "ใ‘ใก", + "ใ‘ใกใ‚ƒใฃใท", + "ใ‘ใกใ‚‰ใ™", + "ใ‘ใค", + "ใ‘ใคใ‚ใค", + "ใ‘ใคใ„", + "ใ‘ใคใˆใ", + "ใ‘ใฃใ“ใ‚“", + "ใ‘ใคใ˜ใ‚‡", + "ใ‘ใฃใฆใ„", + "ใ‘ใคใพใค", + "ใ’ใคใ‚ˆใ†ใณ", + "ใ’ใคใ‚Œใ„", + "ใ‘ใคใ‚ใ‚“", + "ใ’ใฉใ", + "ใ‘ใจใฐใ™", + "ใ‘ใจใ‚‹", + "ใ‘ใชใ’", + "ใ‘ใชใ™", + "ใ‘ใชใฟ", + "ใ‘ใฌใ", + "ใ’ใญใค", + "ใ‘ใญใ‚“", + "ใ‘ใฏใ„", + "ใ’ใฒใ‚“", + "ใ‘ใถใ‹ใ„", + "ใ’ใผใ", + "ใ‘ใพใ‚Š", + "ใ‘ใฟใ‹ใ‚‹", + "ใ‘ใ‚€ใ—", + "ใ‘ใ‚€ใ‚Š", + "ใ‘ใ‚‚ใฎ", + "ใ‘ใ‚‰ใ„", + "ใ‘ใ‚‹", + "ใ’ใ‚", + "ใ‘ใ‚ใ‘ใ‚", + "ใ‘ใ‚ใ—ใ„", + "ใ‘ใ‚“ใ„", + "ใ‘ใ‚“ใˆใค", + "ใ‘ใ‚“ใŠ", + "ใ‘ใ‚“ใ‹", + "ใ’ใ‚“ใ", + "ใ‘ใ‚“ใใ‚…ใ†", + "ใ‘ใ‚“ใใ‚‡", + "ใ‘ใ‚“ใ‘ใ„", + "ใ‘ใ‚“ใ‘ใค", + "ใ‘ใ‚“ใ’ใ‚“", + "ใ‘ใ‚“ใ“ใ†", + "ใ‘ใ‚“ใ•", + "ใ‘ใ‚“ใ•ใ", + "ใ‘ใ‚“ใ—ใ‚…ใ†", + "ใ‘ใ‚“ใ—ใ‚…ใค", + "ใ‘ใ‚“ใ—ใ‚“", + "ใ‘ใ‚“ใ™ใ†", + "ใ‘ใ‚“ใใ†", + "ใ’ใ‚“ใใ†", + "ใ‘ใ‚“ใใ‚“", + "ใ’ใ‚“ใก", + "ใ‘ใ‚“ใกใ", + "ใ‘ใ‚“ใฆใ„", + "ใ’ใ‚“ใฆใ„", + "ใ‘ใ‚“ใจใ†", + "ใ‘ใ‚“ใชใ„", + "ใ‘ใ‚“ใซใ‚“", + "ใ’ใ‚“ใถใค", + "ใ‘ใ‚“ใพ", + "ใ‘ใ‚“ใฟใ‚“", + "ใ‘ใ‚“ใ‚ใ„", + "ใ‘ใ‚“ใ‚‰ใ‚“", + "ใ‘ใ‚“ใ‚Š", + "ใ‘ใ‚“ใ‚Šใค", + "ใ“ใ‚ใใพ", + "ใ“ใ„", + "ใ”ใ„", + "ใ“ใ„ใณใจ", + "ใ“ใ†ใ„", + "ใ“ใ†ใˆใ‚“", + "ใ“ใ†ใ‹", + "ใ“ใ†ใ‹ใ„", + "ใ“ใ†ใ‹ใ‚“", + "ใ“ใ†ใ•ใ„", + "ใ“ใ†ใ•ใ‚“", + "ใ“ใ†ใ—ใ‚“", + "ใ“ใ†ใš", + "ใ“ใ†ใ™ใ„", + "ใ“ใ†ใ›ใ‚“", + "ใ“ใ†ใใ†", + "ใ“ใ†ใใ", + "ใ“ใ†ใŸใ„", + "ใ“ใ†ใกใ‚ƒ", + "ใ“ใ†ใคใ†", + "ใ“ใ†ใฆใ„", + "ใ“ใ†ใจใ†ใถ", + "ใ“ใ†ใชใ„", + "ใ“ใ†ใฏใ„", + "ใ“ใ†ใฏใ‚“", + "ใ“ใ†ใ‚‚ใ", + "ใ“ใˆ", + "ใ“ใˆใ‚‹", + "ใ“ใŠใ‚Š", + "ใ”ใŒใค", + "ใ“ใ‹ใ‚“", + "ใ“ใ", + "ใ“ใใ”", + "ใ“ใใชใ„", + "ใ“ใใฏใ", + "ใ“ใ‘ใ„", + "ใ“ใ‘ใ‚‹", + "ใ“ใ“", + "ใ“ใ“ใ‚", + "ใ”ใ•", + "ใ“ใ•ใ‚", + "ใ“ใ—", + "ใ“ใ—ใค", + "ใ“ใ™", + "ใ“ใ™ใ†", + "ใ“ใ›ใ„", + "ใ“ใ›ใ", + "ใ“ใœใ‚“", + "ใ“ใใ ใฆ", + "ใ“ใŸใ„", + "ใ“ใŸใˆใ‚‹", + "ใ“ใŸใค", + "ใ“ใกใ‚‡ใ†", + "ใ“ใฃใ‹", + "ใ“ใคใ“ใค", + "ใ“ใคใฐใ‚“", + "ใ“ใคใถ", + "ใ“ใฆใ„", + "ใ“ใฆใ‚“", + "ใ“ใจ", + "ใ“ใจใŒใ‚‰", + "ใ“ใจใ—", + "ใ“ใชใ”ใช", + "ใ“ใญใ“ใญ", + "ใ“ใฎใพใพ", + "ใ“ใฎใฟ", + "ใ“ใฎใ‚ˆ", + "ใ“ใฏใ‚“", + "ใ”ใฏใ‚“", + "ใ”ใณ", + "ใ“ใฒใคใ˜", + "ใ“ใตใ†", + "ใ“ใตใ‚“", + "ใ“ใผใ‚Œใ‚‹", + "ใ”ใพ", + "ใ“ใพใ‹ใ„", + "ใ“ใพใคใ—", + "ใ“ใพใคใช", + "ใ“ใพใ‚‹", + "ใ“ใ‚€", + "ใ“ใ‚€ใŽใ“", + "ใ“ใ‚", + "ใ“ใ‚‚ใ˜", + "ใ“ใ‚‚ใก", + "ใ“ใ‚‚ใฎ", + "ใ“ใ‚‚ใ‚“", + "ใ“ใ‚„", + "ใ“ใ‚„ใ", + "ใ“ใ‚„ใพ", + "ใ“ใ‚†ใ†", + "ใ“ใ‚†ใณ", + "ใ“ใ‚ˆใ„", + "ใ“ใ‚ˆใ†", + "ใ“ใ‚Šใ‚‹", + "ใ“ใ‚‹", + "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", + "ใ“ใ‚ใฃใ‘", + "ใ“ใ‚ใ‚‚ใฆ", + "ใ“ใ‚ใ‚Œใ‚‹", + "ใ“ใ‚“", + "ใ“ใ‚“ใ„ใ‚“", + "ใ“ใ‚“ใ‹ใ„", + "ใ“ใ‚“ใ", + "ใ“ใ‚“ใ—ใ‚…ใ†", + "ใ“ใ‚“ใ—ใ‚…ใ‚“", + "ใ“ใ‚“ใ™ใ„", + "ใ“ใ‚“ใ ใฆ", + "ใ“ใ‚“ใ ใ‚“", + "ใ“ใ‚“ใจใ‚“", + "ใ“ใ‚“ใชใ‚“", + "ใ“ใ‚“ใณใซ", + "ใ“ใ‚“ใฝใ†", + "ใ“ใ‚“ใฝใ‚“", + "ใ“ใ‚“ใพใ‘", + "ใ“ใ‚“ใ‚„", + "ใ“ใ‚“ใ‚„ใ", + "ใ“ใ‚“ใ‚Œใ„", + "ใ“ใ‚“ใ‚ใ", + "ใ•ใ„ใ‹ใ„", + "ใ•ใ„ใŒใ„", + "ใ•ใ„ใใ‚“", + "ใ•ใ„ใ”", + "ใ•ใ„ใ“ใ‚“", + "ใ•ใ„ใ—ใ‚‡", + "ใ•ใ†ใช", + "ใ•ใŠ", + "ใ•ใ‹ใ„ใ—", + "ใ•ใ‹ใช", + "ใ•ใ‹ใฟใก", + "ใ•ใ", + "ใ•ใ", + "ใ•ใใ—", + "ใ•ใใ˜ใ‚‡", + "ใ•ใใฒใ‚“", + "ใ•ใใ‚‰", + "ใ•ใ‘", + "ใ•ใ“ใ", + "ใ•ใ“ใค", + "ใ•ใŸใ‚“", + "ใ•ใคใˆใ„", + "ใ•ใฃใ‹", + "ใ•ใฃใใ‚‡ใ", + "ใ•ใคใ˜ใ‚“", + "ใ•ใคใŸใฐ", + "ใ•ใคใพใ„ใ‚‚", + "ใ•ใฆใ„", + "ใ•ใจใ„ใ‚‚", + "ใ•ใจใ†", + "ใ•ใจใŠใ‚„", + "ใ•ใจใ‚‹", + "ใ•ใฎใ†", + "ใ•ใฐ", + "ใ•ใฐใ", + "ใ•ในใค", + "ใ•ใปใ†", + "ใ•ใปใฉ", + "ใ•ใพใ™", + "ใ•ใฟใ—ใ„", + "ใ•ใฟใ ใ‚Œ", + "ใ•ใ‚€ใ‘", + "ใ•ใ‚", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚„ใˆใ‚“ใฉใ†", + "ใ•ใ‚†ใ†", + "ใ•ใ‚ˆใ†", + "ใ•ใ‚ˆใ", + "ใ•ใ‚‰", + "ใ•ใ‚‰ใ ", + "ใ•ใ‚‹", + "ใ•ใ‚ใ‚„ใ‹", + "ใ•ใ‚ใ‚‹", + "ใ•ใ‚“ใ„ใ‚“", + "ใ•ใ‚“ใ‹", + "ใ•ใ‚“ใใ‚ƒใ", + "ใ•ใ‚“ใ“ใ†", + "ใ•ใ‚“ใ•ใ„", + "ใ•ใ‚“ใ–ใ‚“", + "ใ•ใ‚“ใ™ใ†", + "ใ•ใ‚“ใ›ใ„", + "ใ•ใ‚“ใ", + "ใ•ใ‚“ใใ‚“", + "ใ•ใ‚“ใก", + "ใ•ใ‚“ใกใ‚‡ใ†", + "ใ•ใ‚“ใพ", + "ใ•ใ‚“ใฟ", + "ใ•ใ‚“ใ‚‰ใ‚“", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ’", + "ใ—ใ‚ใ•ใฃใฆ", + "ใ—ใ‚ใ‚ใ›", + "ใ—ใ„ใ", + "ใ—ใ„ใ‚“", + "ใ—ใ†ใก", + "ใ—ใˆใ„", + "ใ—ใŠ", + "ใ—ใŠใ‘", + "ใ—ใ‹", + "ใ—ใ‹ใ„", + "ใ—ใ‹ใ", + "ใ˜ใ‹ใ‚“", + "ใ—ใŸ", + "ใ—ใŸใŽ", + "ใ—ใŸใฆ", + "ใ—ใŸใฟ", + "ใ—ใกใ‚‡ใ†", + "ใ—ใกใ‚‡ใ†ใใ‚“", + "ใ—ใกใ‚Šใ‚“", + "ใ˜ใคใ˜", + "ใ—ใฆใ„", + "ใ—ใฆใ", + "ใ—ใฆใค", + "ใ—ใฆใ‚“", + "ใ—ใจใ†", + "ใ˜ใฉใ†", + "ใ—ใชใŽใ‚Œ", + "ใ—ใชใ‚‚ใฎ", + "ใ—ใชใ‚“", + "ใ—ใญใพ", + "ใ—ใญใ‚“", + "ใ—ใฎใ", + "ใ—ใฎใถ", + "ใ—ใฏใ„", + "ใ—ใฐใ‹ใ‚Š", + "ใ—ใฏใค", + "ใ˜ใฏใค", + "ใ—ใฏใ‚‰ใ„", + "ใ—ใฏใ‚“", + "ใ—ใฒใ‚‡ใ†", + "ใ˜ใต", + "ใ—ใตใ", + "ใ˜ใถใ‚“", + "ใ—ใธใ„", + "ใ—ใปใ†", + "ใ—ใปใ‚“", + "ใ—ใพ", + "ใ—ใพใ†", + "ใ—ใพใ‚‹", + "ใ—ใฟ", + "ใ˜ใฟ", + "ใ—ใฟใ‚“", + "ใ˜ใ‚€", + "ใ—ใ‚€ใ‘ใ‚‹", + "ใ—ใ‚ใ„", + "ใ—ใ‚ใ‚‹", + "ใ—ใ‚‚ใ‚“", + "ใ—ใ‚ƒใ„ใ‚“", + "ใ—ใ‚ƒใ†ใ‚“", + "ใ—ใ‚ƒใŠใ‚“", + "ใ—ใ‚ƒใ‹ใ„", + "ใ˜ใ‚ƒใŒใ„ใ‚‚", + "ใ—ใ‚„ใใ—ใ‚‡", + "ใ—ใ‚ƒใใปใ†", + "ใ—ใ‚ƒใ‘ใ‚“", + "ใ—ใ‚ƒใ“", + "ใ—ใ‚ƒใ“ใ†", + "ใ—ใ‚ƒใ–ใ„", + "ใ—ใ‚ƒใ—ใ‚“", + "ใ—ใ‚ƒใ›ใ‚“", + "ใ—ใ‚ƒใใ†", + "ใ—ใ‚ƒใŸใ„", + "ใ—ใ‚ƒใŸใ", + "ใ—ใ‚ƒใกใ‚‡ใ†", + "ใ—ใ‚ƒใฃใใ‚“", + "ใ˜ใ‚ƒใพ", + "ใ˜ใ‚ƒใ‚Š", + "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", + "ใ—ใ‚ƒใ‚Šใ‚“", + "ใ—ใ‚ƒใ‚Œใ„", + "ใ—ใ‚…ใ†ใˆใ‚“", + "ใ—ใ‚…ใ†ใ‹ใ„", + "ใ—ใ‚…ใ†ใใ‚“", + "ใ—ใ‚…ใ†ใ‘ใ„", + "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", + "ใ—ใ‚…ใ‚‰ใฐ", + "ใ—ใ‚‡ใ†ใ‹", + "ใ—ใ‚‡ใ†ใ‹ใ„", + "ใ—ใ‚‡ใ†ใใ‚“", + "ใ—ใ‚‡ใ†ใ˜ใ", + "ใ—ใ‚‡ใใ–ใ„", + "ใ—ใ‚‡ใใŸใ", + "ใ—ใ‚‡ใฃใ‘ใ‚“", + "ใ—ใ‚‡ใฉใ†", + "ใ—ใ‚‡ใ‚‚ใค", + "ใ—ใ‚“", + "ใ—ใ‚“ใ‹", + "ใ—ใ‚“ใ“ใ†", + "ใ—ใ‚“ใ›ใ„ใ˜", + "ใ—ใ‚“ใกใ", + "ใ—ใ‚“ใ‚Šใ‚“", + "ใ™ใ‚ใ’", + "ใ™ใ‚ใ—", + "ใ™ใ‚ใช", + "ใšใ‚ใ‚“", + "ใ™ใ„ใ‹", + "ใ™ใ„ใจใ†", + "ใ™ใ†", + "ใ™ใ†ใŒใ", + "ใ™ใ†ใ˜ใค", + "ใ™ใ†ใ›ใ‚“", + "ใ™ใŠใฉใ‚Š", + "ใ™ใ", + "ใ™ใใพ", + "ใ™ใ", + "ใ™ใใ†", + "ใ™ใใชใ„", + "ใ™ใ‘ใ‚‹", + "ใ™ใ“ใ—", + "ใšใ•ใ‚“", + "ใ™ใ—", + "ใ™ใšใ—ใ„", + "ใ™ใ™ใ‚ใ‚‹", + "ใ™ใ", + "ใšใฃใ—ใ‚Š", + "ใšใฃใจ", + "ใ™ใง", + "ใ™ใฆใ", + "ใ™ใฆใ‚‹", + "ใ™ใช", + "ใ™ใชใฃใ", + "ใ™ใชใฃใท", + "ใ™ใญ", + "ใ™ใญใ‚‹", + "ใ™ใฎใ“", + "ใ™ใฏใ ", + "ใ™ใฐใ‚‰ใ—ใ„", + "ใšใฒใ‚‡ใ†", + "ใšใถใฌใ‚Œ", + "ใ™ใถใ‚Š", + "ใ™ใตใ‚Œ", + "ใ™ในใฆ", + "ใ™ในใ‚‹", + "ใšใปใ†", + "ใ™ใผใ‚“", + "ใ™ใพใ„", + "ใ™ใฟ", + "ใ™ใ‚€", + "ใ™ใ‚ใ—", + "ใ™ใ‚‚ใ†", + "ใ™ใ‚„ใ", + "ใ™ใ‚‰ใ„ใ™", + "ใ™ใ‚‰ใ„ใฉ", + "ใ™ใ‚‰ใ™ใ‚‰", + "ใ™ใ‚Š", + "ใ™ใ‚‹", + "ใ™ใ‚‹ใ‚", + "ใ™ใ‚ŒใกใŒใ†", + "ใ™ใ‚ใฃใจ", + "ใ™ใ‚ใ‚‹", + "ใ™ใ‚“ใœใ‚“", + "ใ™ใ‚“ใฝใ†", + "ใ›ใ‚ใถใ‚‰", + "ใ›ใ„ใ‹", + "ใ›ใ„ใ‹ใ„", + "ใ›ใ„ใ‹ใค", + "ใ›ใŠใ†", + "ใ›ใ‹ใ„", + "ใ›ใ‹ใ„ใ‹ใ‚“", + "ใ›ใ‹ใ„ใ—", + "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", + "ใ›ใ", + "ใ›ใใซใ‚“", + "ใ›ใใ‚€", + "ใ›ใใ‚†", + "ใ›ใใ‚‰ใ‚“ใ†ใ‚“", + "ใ›ใ‘ใ‚“", + "ใ›ใ“ใ†", + "ใ›ใ™ใ˜", + "ใ›ใŸใ„", + "ใ›ใŸใ‘", + "ใ›ใฃใ‹ใ„", + "ใ›ใฃใ‹ใ", + "ใ›ใฃใ", + "ใ›ใฃใใ‚ƒใ", + "ใ›ใฃใใ‚‡ใ", + "ใ›ใฃใใ‚“", + "ใœใฃใ", + "ใ›ใฃใ‘ใ‚“", + "ใ›ใฃใ“ใค", + "ใ›ใฃใ•ใŸใใพ", + "ใ›ใคใžใ", + "ใ›ใคใ ใ‚“", + "ใ›ใคใงใ‚“", + "ใ›ใฃใฑใ‚“", + "ใ›ใคใณ", + "ใ›ใคใถใ‚“", + "ใ›ใคใ‚ใ„", + "ใ›ใคใ‚Šใค", + "ใ›ใจ", + "ใ›ใชใ‹", + "ใ›ใฎใณ", + "ใ›ใฏใฐ", + "ใ›ใผใญ", + "ใ›ใพใ„", + "ใ›ใพใ‚‹", + "ใ›ใฟ", + "ใ›ใ‚ใ‚‹", + "ใ›ใ‚‚ใŸใ‚Œ", + "ใ›ใ‚Šใต", + "ใ›ใ‚", + "ใ›ใ‚“", + "ใœใ‚“ใ‚ใ", + "ใ›ใ‚“ใ„", + "ใ›ใ‚“ใˆใ„", + "ใ›ใ‚“ใ‹", + "ใ›ใ‚“ใใ‚‡", + "ใ›ใ‚“ใ", + "ใ›ใ‚“ใ‘ใค", + "ใ›ใ‚“ใ’ใ‚“", + "ใœใ‚“ใ”", + "ใ›ใ‚“ใ•ใ„", + "ใ›ใ‚“ใ—", + "ใ›ใ‚“ใ—ใ‚…", + "ใ›ใ‚“ใ™", + "ใ›ใ‚“ใ™ใ„", + "ใ›ใ‚“ใ›ใ„", + "ใ›ใ‚“ใž", + "ใ›ใ‚“ใใ†", + "ใ›ใ‚“ใŸใ", + "ใ›ใ‚“ใก", + "ใ›ใ‚“ใกใ‚ƒ", + "ใ›ใ‚“ใกใ‚ƒใ", + "ใ›ใ‚“ใกใ‚‡ใ†", + "ใ›ใ‚“ใฆใ„", + "ใ›ใ‚“ใจใ†", + "ใ›ใ‚“ใฌใ", + "ใ›ใ‚“ใญใ‚“", + "ใœใ‚“ใถ", + "ใ›ใ‚“ใทใ†ใ", + "ใ›ใ‚“ใทใ", + "ใœใ‚“ใฝใ†", + "ใ›ใ‚“ใ‚€", + "ใ›ใ‚“ใ‚ใ„", + "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", + "ใ›ใ‚“ใ‚‚ใ‚“", + "ใ›ใ‚“ใ‚„ใ", + "ใ›ใ‚“ใ‚†ใ†", + "ใ›ใ‚“ใ‚ˆใ†", + "ใœใ‚“ใ‚‰", + "ใœใ‚“ใ‚Šใ‚ƒใ", + "ใ›ใ‚“ใ‚Šใ‚‡ใ", + "ใ›ใ‚“ใ‚Œใ„", + "ใ›ใ‚“ใ‚", + "ใใ‚ใ", + "ใใ„ใจใ’ใ‚‹", + "ใใ„ใญ", + "ใใ†", + "ใžใ†", + "ใใ†ใŒใ‚“ใใ‚‡ใ†", + "ใใ†ใ", + "ใใ†ใ”", + "ใใ†ใชใ‚“", + "ใใ†ใณ", + "ใใ†ใฒใ‚‡ใ†", + "ใใ†ใ‚ใ‚“", + "ใใ†ใ‚Š", + "ใใ†ใ‚Šใ‚‡", + "ใใˆใ‚‚ใฎ", + "ใใˆใ‚“", + "ใใ‹ใ„", + "ใใŒใ„", + "ใใ", + "ใใ’ใ", + "ใใ“ใ†", + "ใใ“ใใ“", + "ใใ–ใ„", + "ใใ—", + "ใใ—ใช", + "ใใ›ใ„", + "ใใ›ใ‚“", + "ใใใ", + "ใใ ใฆใ‚‹", + "ใใคใ†", + "ใใคใˆใ‚“", + "ใใฃใ‹ใ‚“", + "ใใคใŽใ‚‡ใ†", + "ใใฃใ‘ใค", + "ใใฃใ“ใ†", + "ใใฃใ›ใ‚“", + "ใใฃใจ", + "ใใง", + "ใใจ", + "ใใจใŒใ‚", + "ใใจใฅใ‚‰", + "ใใชใˆใ‚‹", + "ใใชใŸ", + "ใใฐ", + "ใใต", + "ใใตใผ", + "ใใผ", + "ใใผใ", + "ใใผใ‚", + "ใใพใค", + "ใใพใ‚‹", + "ใใ‚€ใ", + "ใใ‚€ใ‚Šใˆ", + "ใใ‚ใ‚‹", + "ใใ‚‚ใใ‚‚", + "ใใ‚ˆใ‹ใœ", + "ใใ‚‰", + "ใใ‚‰ใพใ‚", + "ใใ‚Š", + "ใใ‚‹", + "ใใ‚ใ†", + "ใใ‚“ใ‹ใ„", + "ใใ‚“ใ‘ใ„", + "ใใ‚“ใ–ใ„", + "ใใ‚“ใ—ใค", + "ใใ‚“ใ—ใ‚‡ใ†", + "ใใ‚“ใžใ", + "ใใ‚“ใกใ‚‡ใ†", + "ใžใ‚“ใณ", + "ใžใ‚“ใถใ‚“", + "ใใ‚“ใฟใ‚“", + "ใŸใ‚ใ„", + "ใŸใ„ใ„ใ‚“", + "ใŸใ„ใ†ใ‚“", + "ใŸใ„ใˆใ", + "ใŸใ„ใŠใ†", + "ใ ใ„ใŠใ†", + "ใŸใ„ใ‹", + "ใŸใ„ใ‹ใ„", + "ใŸใ„ใ", + "ใŸใ„ใใ‘ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใใค", + "ใŸใ„ใ‘ใ„", + "ใŸใ„ใ‘ใค", + "ใŸใ„ใ‘ใ‚“", + "ใŸใ„ใ“", + "ใŸใ„ใ“ใ†", + "ใŸใ„ใ•", + "ใŸใ„ใ•ใ‚“", + "ใŸใ„ใ—ใ‚…ใค", + "ใ ใ„ใ˜ใ‚‡ใ†ใถ", + "ใŸใ„ใ—ใ‚‡ใ", + "ใ ใ„ใš", + "ใ ใ„ใ™ใ", + "ใŸใ„ใ›ใ„", + "ใŸใ„ใ›ใค", + "ใŸใ„ใ›ใ‚“", + "ใŸใ„ใใ†", + "ใŸใ„ใกใ‚‡ใ†", + "ใ ใ„ใกใ‚‡ใ†", + "ใŸใ„ใจใ†", + "ใŸใ„ใชใ„", + "ใŸใ„ใญใค", + "ใŸใ„ใฎใ†", + "ใŸใ„ใฏ", + "ใŸใ„ใฏใ‚“", + "ใŸใ„ใฒ", + "ใŸใ„ใตใ†", + "ใŸใ„ใธใ‚“", + "ใŸใ„ใป", + "ใŸใ„ใพใคใฐใช", + "ใŸใ„ใพใ‚“", + "ใŸใ„ใฟใ‚“ใ", + "ใŸใ„ใ‚€", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚„ใ", + "ใŸใ„ใ‚ˆใ†", + "ใŸใ„ใ‚‰", + "ใŸใ„ใ‚Šใ‚‡ใ†", + "ใŸใ„ใ‚Šใ‚‡ใ", + "ใŸใ„ใ‚‹", + "ใŸใ„ใ‚", + "ใŸใ„ใ‚ใ‚“", + "ใŸใ†ใˆ", + "ใŸใˆใ‚‹", + "ใŸใŠใ™", + "ใŸใŠใ‚‹", + "ใŸใ‹ใ„", + "ใŸใ‹ใญ", + "ใŸใ", + "ใŸใใณ", + "ใŸใใ•ใ‚“", + "ใŸใ‘", + "ใŸใ“", + "ใŸใ“ใ", + "ใŸใ“ใ‚„ใ", + "ใŸใ•ใ„", + "ใ ใ•ใ„", + "ใŸใ—ใ–ใ‚“", + "ใŸใ™", + "ใŸใ™ใ‘ใ‚‹", + "ใŸใใŒใ‚Œ", + "ใŸใŸใ‹ใ†", + "ใŸใŸใ", + "ใŸใกใฐ", + "ใŸใกใฐใช", + "ใŸใค", + "ใ ใฃใ‹ใ„", + "ใ ใฃใใ‚ƒใ", + "ใ ใฃใ“", + "ใ ใฃใ—ใ‚ใ‚“", + "ใ ใฃใ—ใ‚…ใค", + "ใ ใฃใŸใ„", + "ใŸใฆ", + "ใŸใฆใ‚‹", + "ใŸใจใˆใ‚‹", + "ใŸใช", + "ใŸใซใ‚“", + "ใŸใฌใ", + "ใŸใญ", + "ใŸใฎใ—ใฟ", + "ใŸใฏใค", + "ใŸใณ", + "ใŸใถใ‚“", + "ใŸในใ‚‹", + "ใŸใผใ†", + "ใŸใปใ†ใ‚ใ‚“", + "ใŸใพ", + "ใŸใพใ”", + "ใŸใพใ‚‹", + "ใ ใ‚€ใ‚‹", + "ใŸใ‚ใ„ใ", + "ใŸใ‚ใ™", + "ใŸใ‚ใ‚‹", + "ใŸใ‚‚ใค", + "ใŸใ‚„ใ™ใ„", + "ใŸใ‚ˆใ‚‹", + "ใŸใ‚‰", + "ใŸใ‚‰ใ™", + "ใŸใ‚Šใใปใ‚“ใŒใ‚“", + "ใŸใ‚Šใ‚‡ใ†", + "ใŸใ‚Šใ‚‹", + "ใŸใ‚‹", + "ใŸใ‚‹ใจ", + "ใŸใ‚Œใ‚‹", + "ใŸใ‚Œใ‚“ใจ", + "ใŸใ‚ใฃใจ", + "ใŸใ‚ใ‚€ใ‚Œใ‚‹", + "ใŸใ‚“", + "ใ ใ‚“ใ‚ใค", + "ใŸใ‚“ใ„", + "ใŸใ‚“ใŠใ‚“", + "ใŸใ‚“ใ‹", + "ใŸใ‚“ใ", + "ใŸใ‚“ใ‘ใ‚“", + "ใŸใ‚“ใ”", + "ใŸใ‚“ใ•ใ", + "ใŸใ‚“ใ•ใ‚“", + "ใŸใ‚“ใ—", + "ใŸใ‚“ใ—ใ‚…ใ", + "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", + "ใ ใ‚“ใ›ใ„", + "ใŸใ‚“ใใ", + "ใŸใ‚“ใŸใ„", + "ใŸใ‚“ใก", + "ใ ใ‚“ใก", + "ใŸใ‚“ใกใ‚‡ใ†", + "ใŸใ‚“ใฆใ„", + "ใŸใ‚“ใฆใ", + "ใŸใ‚“ใจใ†", + "ใ ใ‚“ใช", + "ใŸใ‚“ใซใ‚“", + "ใ ใ‚“ใญใค", + "ใŸใ‚“ใฎใ†", + "ใŸใ‚“ใดใ‚“", + "ใŸใ‚“ใพใค", + "ใŸใ‚“ใ‚ใ„", + "ใ ใ‚“ใ‚Œใค", + "ใ ใ‚“ใ‚", + "ใ ใ‚“ใ‚", + "ใกใ‚ใ„", + "ใกใ‚ใ‚“", + "ใกใ„", + "ใกใ„ใ", + "ใกใ„ใ•ใ„", + "ใกใˆ", + "ใกใˆใ‚“", + "ใกใ‹", + "ใกใ‹ใ„", + "ใกใใ‚…ใ†", + "ใกใใ‚“", + "ใกใ‘ใ„", + "ใกใ‘ใ„ใš", + "ใกใ‘ใ‚“", + "ใกใ“ใ", + "ใกใ•ใ„", + "ใกใ—ใ", + "ใกใ—ใ‚Šใ‚‡ใ†", + "ใกใš", + "ใกใ›ใ„", + "ใกใใ†", + "ใกใŸใ„", + "ใกใŸใ‚“", + "ใกใกใŠใ‚„", + "ใกใคใ˜ใ‚‡", + "ใกใฆใ", + "ใกใฆใ‚“", + "ใกใฌใ", + "ใกใฌใ‚Š", + "ใกใฎใ†", + "ใกใฒใ‚‡ใ†", + "ใกใธใ„ใ›ใ‚“", + "ใกใปใ†", + "ใกใพใŸ", + "ใกใฟใค", + "ใกใฟใฉใ‚", + "ใกใ‚ใ„ใฉ", + "ใกใ‚…ใ†ใ„", + "ใกใ‚…ใ†ใŠใ†", + "ใกใ‚…ใ†ใŠใ†ใ", + "ใกใ‚…ใ†ใŒใฃใ“ใ†", + "ใกใ‚…ใ†ใ”ใ", + "ใกใ‚†ใ‚Šใ‚‡ใ", + "ใกใ‚‡ใ†ใ•", + "ใกใ‚‡ใ†ใ—", + "ใกใ‚‰ใ—", + "ใกใ‚‰ใฟ", + "ใกใ‚Š", + "ใกใ‚ŠใŒใฟ", + "ใกใ‚‹", + "ใกใ‚‹ใฉ", + "ใกใ‚ใ‚", + "ใกใ‚“ใŸใ„", + "ใกใ‚“ใ‚‚ใ", + "ใคใ„ใ‹", + "ใคใ†ใ‹", + "ใคใ†ใ˜ใ‚‡ใ†", + "ใคใ†ใ˜ใ‚‹", + "ใคใ†ใฏใ‚“", + "ใคใ†ใ‚", + "ใคใˆ", + "ใคใ‹ใ†", + "ใคใ‹ใ‚Œใ‚‹", + "ใคใ", + "ใคใ", + "ใคใใญ", + "ใคใใ‚‹", + "ใคใ‘ใญ", + "ใคใ‘ใ‚‹", + "ใคใ”ใ†", + "ใคใŸ", + "ใคใŸใˆใ‚‹", + "ใคใก", + "ใคใคใ˜", + "ใคใจใ‚ใ‚‹", + "ใคใช", + "ใคใชใŒใ‚‹", + "ใคใชใฟ", + "ใคใญใฅใญ", + "ใคใฎ", + "ใคใฎใ‚‹", + "ใคใฐ", + "ใคใถ", + "ใคใถใ™", + "ใคใผ", + "ใคใพ", + "ใคใพใ‚‰ใชใ„", + "ใคใพใ‚‹", + "ใคใฟ", + "ใคใฟใ", + "ใคใ‚€", + "ใคใ‚ใŸใ„", + "ใคใ‚‚ใ‚‹", + "ใคใ‚„", + "ใคใ‚ˆใ„", + "ใคใ‚Š", + "ใคใ‚‹ใผ", + "ใคใ‚‹ใฟใ", + "ใคใ‚ใ‚‚ใฎ", + "ใคใ‚ใ‚Š", + "ใฆใ‚ใ—", + "ใฆใ‚ใฆ", + "ใฆใ‚ใฟ", + "ใฆใ„ใ‹", + "ใฆใ„ใ", + "ใฆใ„ใ‘ใ„", + "ใฆใ„ใ‘ใค", + "ใฆใ„ใ‘ใคใ‚ใค", + "ใฆใ„ใ“ใ", + "ใฆใ„ใ•ใค", + "ใฆใ„ใ—", + "ใฆใ„ใ—ใ‚ƒ", + "ใฆใ„ใ›ใ„", + "ใฆใ„ใŸใ„", + "ใฆใ„ใฉ", + "ใฆใ„ใญใ„", + "ใฆใ„ใฒใ‚‡ใ†", + "ใฆใ„ใธใ‚“", + "ใฆใ„ใผใ†", + "ใฆใ†ใก", + "ใฆใŠใใ‚Œ", + "ใฆใ", + "ใฆใใณ", + "ใฆใ“", + "ใฆใ•ใŽใ‚‡ใ†", + "ใฆใ•ใ’", + "ใงใ—", + "ใฆใ™ใ‚Š", + "ใฆใใ†", + "ใฆใกใŒใ„", + "ใฆใกใ‚‡ใ†", + "ใฆใคใŒใ", + "ใฆใคใฅใ", + "ใฆใคใ‚„", + "ใงใฌใ‹ใˆ", + "ใฆใฌใ", + "ใฆใฌใใ„", + "ใฆใฎใฒใ‚‰", + "ใฆใฏใ„", + "ใฆใตใ ", + "ใฆใปใฉใ", + "ใฆใปใ‚“", + "ใฆใพ", + "ใฆใพใˆ", + "ใฆใพใใšใ—", + "ใฆใฟใ˜ใ‹", + "ใฆใฟใ‚„ใ’", + "ใฆใ‚‰", + "ใฆใ‚‰ใ™", + "ใงใ‚‹", + "ใฆใ‚Œใณ", + "ใฆใ‚", + "ใฆใ‚ใ‘", + "ใฆใ‚ใŸใ—", + "ใงใ‚“ใ‚ใค", + "ใฆใ‚“ใ„", + "ใฆใ‚“ใ„ใ‚“", + "ใฆใ‚“ใ‹ใ„", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ", + "ใฆใ‚“ใ‘ใ‚“", + "ใงใ‚“ใ’ใ‚“", + "ใฆใ‚“ใ”ใ", + "ใฆใ‚“ใ•ใ„", + "ใฆใ‚“ใ™ใ†", + "ใงใ‚“ใก", + "ใฆใ‚“ใฆใ", + "ใฆใ‚“ใจใ†", + "ใฆใ‚“ใชใ„", + "ใฆใ‚“ใท", + "ใฆใ‚“ใทใ‚‰", + "ใฆใ‚“ใผใ†ใ ใ„", + "ใฆใ‚“ใ‚ใค", + "ใฆใ‚“ใ‚‰ใ", + "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", + "ใงใ‚“ใ‚Šใ‚…ใ†", + "ใงใ‚“ใ‚Šใ‚‡ใ", + "ใงใ‚“ใ‚", + "ใฉใ‚", + "ใฉใ‚ใ„", + "ใจใ„ใ‚Œ", + "ใจใ†ใ‚€ใŽ", + "ใจใŠใ„", + "ใจใŠใ™", + "ใจใ‹ใ„", + "ใจใ‹ใ™", + "ใจใใŠใ‚Š", + "ใจใใฉใ", + "ใจใใ„", + "ใจใใฆใ„", + "ใจใใฆใ‚“", + "ใจใในใค", + "ใจใ‘ใ„", + "ใจใ‘ใ‚‹", + "ใจใ•ใ‹", + "ใจใ—", + "ใจใ—ใ‚‡ใ‹ใ‚“", + "ใจใใ†", + "ใจใŸใ‚“", + "ใจใก", + "ใจใกใ‚…ใ†", + "ใจใคใœใ‚“", + "ใจใคใซใ‚…ใ†", + "ใจใจใฎใˆใ‚‹", + "ใจใชใ„", + "ใจใชใˆใ‚‹", + "ใจใชใ‚Š", + "ใจใฎใ•ใพ", + "ใจใฐใ™", + "ใจใถ", + "ใจใป", + "ใจใปใ†", + "ใฉใพ", + "ใจใพใ‚‹", + "ใจใ‚‰", + "ใจใ‚Š", + "ใจใ‚‹", + "ใจใ‚“ใ‹ใค", + "ใชใ„", + "ใชใ„ใ‹", + "ใชใ„ใ‹ใ", + "ใชใ„ใ“ใ†", + "ใชใ„ใ—ใ‚‡", + "ใชใ„ใ™", + "ใชใ„ใ›ใ‚“", + "ใชใ„ใใ†", + "ใชใ„ใžใ†", + "ใชใŠใ™", + "ใชใ", + "ใชใ“ใ†ใฉ", + "ใชใ•ใ‘", + "ใชใ—", + "ใชใ™", + "ใชใœ", + "ใชใž", + "ใชใŸใงใ“ใ“", + "ใชใค", + "ใชใฃใจใ†", + "ใชใคใ‚„ใ™ใฟ", + "ใชใชใŠใ—", + "ใชใซใ”ใจ", + "ใชใซใ‚‚ใฎ", + "ใชใซใ‚", + "ใชใฏ", + "ใชใณ", + "ใชใตใ ", + "ใชใน", + "ใชใพใ„ใ", + "ใชใพใˆ", + "ใชใพใฟ", + "ใชใฟ", + "ใชใฟใ ", + "ใชใ‚ใ‚‰ใ‹", + "ใชใ‚ใ‚‹", + "ใชใ‚„ใ‚€", + "ใชใ‚‰ใถ", + "ใชใ‚‹", + "ใชใ‚Œใ‚‹", + "ใชใ‚", + "ใชใ‚ใจใณ", + "ใชใ‚ใฐใ‚Š", + "ใซใ‚ใ†", + "ใซใ„ใŒใŸ", + "ใซใ†ใ‘", + "ใซใŠใ„", + "ใซใ‹ใ„", + "ใซใŒใฆ", + "ใซใใณ", + "ใซใ", + "ใซใใ—ใฟ", + "ใซใใพใ‚“", + "ใซใ’ใ‚‹", + "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", + "ใซใ—", + "ใซใ—ใ", + "ใซใ™", + "ใซใ›ใ‚‚ใฎ", + "ใซใกใ˜", + "ใซใกใ˜ใ‚‡ใ†", + "ใซใกใ‚ˆใ†ใณ", + "ใซใฃใ‹", + "ใซใฃใ", + "ใซใฃใ‘ใ„", + "ใซใฃใ“ใ†", + "ใซใฃใ•ใ‚“", + "ใซใฃใ—ใ‚‡ใ", + "ใซใฃใ™ใ†", + "ใซใฃใ›ใ", + "ใซใฃใฆใ„", + "ใซใชใ†", + "ใซใปใ‚“", + "ใซใพใ‚", + "ใซใ‚‚ใค", + "ใซใ‚„ใ‚Š", + "ใซใ‚…ใ†ใ„ใ‚“", + "ใซใ‚…ใ†ใ‹", + "ใซใ‚…ใ†ใ—", + "ใซใ‚…ใ†ใ—ใ‚ƒ", + "ใซใ‚…ใ†ใ ใ‚“", + "ใซใ‚…ใ†ใถ", + "ใซใ‚‰", + "ใซใ‚Šใ‚“ใ—ใ‚ƒ", + "ใซใ‚‹", + "ใซใ‚", + "ใซใ‚ใจใ‚Š", + "ใซใ‚“ใ„", + "ใซใ‚“ใ‹", + "ใซใ‚“ใ", + "ใซใ‚“ใ’ใ‚“", + "ใซใ‚“ใ—ใ", + "ใซใ‚“ใ—ใ‚‡ใ†", + "ใซใ‚“ใ—ใ‚“", + "ใซใ‚“ใšใ†", + "ใซใ‚“ใใ†", + "ใซใ‚“ใŸใ„", + "ใซใ‚“ใก", + "ใซใ‚“ใฆใ„", + "ใซใ‚“ใซใ", + "ใซใ‚“ใท", + "ใซใ‚“ใพใ‚Š", + "ใซใ‚“ใ‚€", + "ใซใ‚“ใ‚ใ„", + "ใซใ‚“ใ‚ˆใ†", + "ใฌใ†", + "ใฌใ‹", + "ใฌใ", + "ใฌใใ‚‚ใ‚Š", + "ใฌใ—", + "ใฌใฎ", + "ใฌใพ", + "ใฌใ‚ใ‚Š", + "ใฌใ‚‰ใ™", + "ใฌใ‚‹", + "ใฌใ‚“ใกใ‚ƒใ", + "ใญใ‚ใ’", + "ใญใ„ใ", + "ใญใ„ใ‚‹", + "ใญใ„ใ‚", + "ใญใŽ", + "ใญใใ›", + "ใญใใŸใ„", + "ใญใใ‚‰", + "ใญใ“", + "ใญใ“ใœ", + "ใญใ“ใ‚€", + "ใญใ•ใ’", + "ใญใ™ใ”ใ™", + "ใญใในใ‚‹", + "ใญใคใ„", + "ใญใคใžใ†", + "ใญใฃใŸใ„", + "ใญใฃใŸใ„ใŽใ‚‡", + "ใญใถใใ", + "ใญใตใ ", + "ใญใผใ†", + "ใญใปใ‚Šใฏใปใ‚Š", + "ใญใพใ", + "ใญใพใ‚ใ—", + "ใญใฟใฟ", + "ใญใ‚€ใ„", + "ใญใ‚‚ใจ", + "ใญใ‚‰ใ†", + "ใญใ‚‹", + "ใญใ‚ใ–", + "ใญใ‚“ใ„ใ‚Š", + "ใญใ‚“ใŠใ—", + "ใญใ‚“ใ‹ใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใใ‚“", + "ใญใ‚“ใ", + "ใญใ‚“ใ–", + "ใญใ‚“ใ—", + "ใญใ‚“ใกใ‚ƒใ", + "ใญใ‚“ใกใ‚‡ใ†", + "ใญใ‚“ใฉ", + "ใญใ‚“ใด", + "ใญใ‚“ใถใค", + "ใญใ‚“ใพใ", + "ใญใ‚“ใพใค", + "ใญใ‚“ใ‚Šใ", + "ใญใ‚“ใ‚Šใ‚‡ใ†", + "ใญใ‚“ใ‚Œใ„", + "ใฎใ„ใš", + "ใฎใ†", + "ใฎใŠใฅใพ", + "ใฎใŒใ™", + "ใฎใใชใฟ", + "ใฎใ“ใŽใ‚Š", + "ใฎใ“ใ™", + "ใฎใ›ใ‚‹", + "ใฎใžใ", + "ใฎใžใ‚€", + "ใฎใŸใพใ†", + "ใฎใกใปใฉ", + "ใฎใฃใ", + "ใฎใฐใ™", + "ใฎใฏใ‚‰", + "ใฎในใ‚‹", + "ใฎใผใ‚‹", + "ใฎใ‚€", + "ใฎใ‚„ใพ", + "ใฎใ‚‰ใ„ใฌ", + "ใฎใ‚‰ใญใ“", + "ใฎใ‚Š", + "ใฎใ‚‹", + "ใฎใ‚Œใ‚“", + "ใฎใ‚“ใ", + "ใฐใ‚ใ„", + "ใฏใ‚ใ", + "ใฐใ‚ใ•ใ‚“", + "ใฏใ„", + "ใฐใ„ใ‹", + "ใฐใ„ใ", + "ใฏใ„ใ‘ใ‚“", + "ใฏใ„ใ”", + "ใฏใ„ใ“ใ†", + "ใฏใ„ใ—", + "ใฏใ„ใ—ใ‚…ใค", + "ใฏใ„ใ—ใ‚“", + "ใฏใ„ใ™ใ„", + "ใฏใ„ใ›ใค", + "ใฏใ„ใ›ใ‚“", + "ใฏใ„ใใ†", + "ใฏใ„ใก", + "ใฐใ„ใฐใ„", + "ใฏใ†", + "ใฏใˆ", + "ใฏใˆใ‚‹", + "ใฏใŠใ‚‹", + "ใฏใ‹", + "ใฐใ‹", + "ใฏใ‹ใ„", + "ใฏใ‹ใ‚‹", + "ใฏใ", + "ใฏใ", + "ใฏใใ—ใ‚…", + "ใฏใ‘ใ‚“", + "ใฏใ“", + "ใฏใ“ใถ", + "ใฏใ•ใฟ", + "ใฏใ•ใ‚“", + "ใฏใ—", + "ใฏใ—ใ”", + "ใฏใ—ใ‚‹", + "ใฐใ™", + "ใฏใ›ใ‚‹", + "ใฑใใ“ใ‚“", + "ใฏใใ‚“", + "ใฏใŸใ‚“", + "ใฏใก", + "ใฏใกใฟใค", + "ใฏใฃใ‹", + "ใฏใฃใ‹ใ", + "ใฏใฃใ", + "ใฏใฃใใ‚Š", + "ใฏใฃใใค", + "ใฏใฃใ‘ใ‚“", + "ใฏใฃใ“ใ†", + "ใฏใฃใ•ใ‚“", + "ใฏใฃใ—ใ‚ƒ", + "ใฏใฃใ—ใ‚“", + "ใฏใฃใŸใค", + "ใฏใฃใกใ‚ƒใ", + "ใฏใฃใกใ‚…ใ†", + "ใฏใฃใฆใ‚“", + "ใฏใฃใดใ‚‡ใ†", + "ใฏใฃใฝใ†", + "ใฏใฆ", + "ใฏใช", + "ใฏใชใ™", + "ใฏใชใณ", + "ใฏใซใ‹ใ‚€", + "ใฏใญ", + "ใฏใฏ", + "ใฏใถใ‚‰ใ—", + "ใฏใพ", + "ใฏใฟใŒใ", + "ใฏใ‚€", + "ใฏใ‚€ใ‹ใ†", + "ใฏใ‚ใค", + "ใฏใ‚„ใ„", + "ใฏใ‚‰", + "ใฏใ‚‰ใ†", + "ใฏใ‚Š", + "ใฏใ‚‹", + "ใฏใ‚Œ", + "ใฏใ‚ใ†ใƒใ‚“", + "ใฏใ‚ใ„", + "ใฏใ‚“ใ„", + "ใฏใ‚“ใˆใ„", + "ใฏใ‚“ใˆใ‚“", + "ใฏใ‚“ใŠใ‚“", + "ใฏใ‚“ใ‹ใ", + "ใฏใ‚“ใ‹ใก", + "ใฏใ‚“ใใ‚‡ใ†", + "ใฏใ‚“ใ“", + "ใฏใ‚“ใ“ใ†", + "ใฏใ‚“ใ—ใ‚ƒ" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Japanese"; + populate_maps(); + } + }; } #endif diff --git a/src/mnemonics/language_base.h b/src/mnemonics/language_base.h index 1d08095d7..5c988a436 100644 --- a/src/mnemonics/language_base.h +++ b/src/mnemonics/language_base.h @@ -17,79 +17,79 @@ */ namespace Language { - const int unique_prefix_length = 4; /*!< Length of the prefix of all words guaranteed to be unique */ - /*! - * \class Base - * \brief A base language class which all languages have to inherit from for - * Polymorphism. - */ - class Base - { - protected: - std::vector *word_list; /*!< A pointer to the array of words */ - std::unordered_map *word_map; /*!< hash table to find word's index */ - std::unordered_map *trimmed_word_map; /*!< hash table to find word's trimmed index */ - std::string language_name; /*!< Name of language */ - /*! - * \brief Populates the word maps after the list is ready. - */ - void populate_maps() - { - int ii; - std::vector::iterator it; - for (it = word_list->begin(), ii = 0; it != word_list->end(); it++, ii++) - { - (*word_map)[*it] = ii; - if (it->length() > unique_prefix_length) - { - (*trimmed_word_map)[it->substr(0, unique_prefix_length)] = ii; - } - else - { - (*trimmed_word_map)[*it] = ii; - } - } - } - public: - Base() - { - word_list = new std::vector; - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - } - /*! - * \brief Returns a pointer to the word list. - * \return A pointer to the word list. - */ - const std::vector& get_word_list() const - { - return *word_list; - } - /*! - * \brief Returns a pointer to the word map. - * \return A pointer to the word map. - */ - const std::unordered_map& get_word_map() const - { - return *word_map; - } - /*! - * \brief Returns a pointer to the trimmed word map. - * \return A pointer to the trimmed word map. - */ - const std::unordered_map& get_trimmed_word_map() const - { - return *trimmed_word_map; - } - /*! - * \brief Returns the name of the language. - * \return Name of the language. - */ - std::string get_language_name() const - { - return language_name; - } - }; + const int unique_prefix_length = 4; /*!< Length of the prefix of all words guaranteed to be unique */ + /*! + * \class Base + * \brief A base language class which all languages have to inherit from for + * Polymorphism. + */ + class Base + { + protected: + std::vector *word_list; /*!< A pointer to the array of words */ + std::unordered_map *word_map; /*!< hash table to find word's index */ + std::unordered_map *trimmed_word_map; /*!< hash table to find word's trimmed index */ + std::string language_name; /*!< Name of language */ + /*! + * \brief Populates the word maps after the list is ready. + */ + void populate_maps() + { + int ii; + std::vector::iterator it; + for (it = word_list->begin(), ii = 0; it != word_list->end(); it++, ii++) + { + (*word_map)[*it] = ii; + if (it->length() > unique_prefix_length) + { + (*trimmed_word_map)[it->substr(0, unique_prefix_length)] = ii; + } + else + { + (*trimmed_word_map)[*it] = ii; + } + } + } + public: + Base() + { + word_list = new std::vector; + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + } + /*! + * \brief Returns a pointer to the word list. + * \return A pointer to the word list. + */ + const std::vector& get_word_list() const + { + return *word_list; + } + /*! + * \brief Returns a pointer to the word map. + * \return A pointer to the word map. + */ + const std::unordered_map& get_word_map() const + { + return *word_map; + } + /*! + * \brief Returns a pointer to the trimmed word map. + * \return A pointer to the trimmed word map. + */ + const std::unordered_map& get_trimmed_word_map() const + { + return *trimmed_word_map; + } + /*! + * \brief Returns the name of the language. + * \return Name of the language. + */ + std::string get_language_name() const + { + return language_name; + } + }; } #endif diff --git a/src/mnemonics/old_english.h b/src/mnemonics/old_english.h index 21772cdc3..f62e3edeb 100644 --- a/src/mnemonics/old_english.h +++ b/src/mnemonics/old_english.h @@ -47,1645 +47,1645 @@ */ namespace Language { - class OldEnglish: public Base - { - public: - OldEnglish() - { - word_list = new std::vector({ - "like", - "just", - "love", - "know", - "never", - "want", - "time", - "out", - "there", - "make", - "look", - "eye", - "down", - "only", - "think", - "heart", - "back", - "then", - "into", - "about", - "more", - "away", - "still", - "them", - "take", - "thing", - "even", - "through", - "long", - "always", - "world", - "too", - "friend", - "tell", - "try", - "hand", - "thought", - "over", - "here", - "other", - "need", - "smile", - "again", - "much", - "cry", - "been", - "night", - "ever", - "little", - "said", - "end", - "some", - "those", - "around", - "mind", - "people", - "girl", - "leave", - "dream", - "left", - "turn", - "myself", - "give", - "nothing", - "really", - "off", - "before", - "something", - "find", - "walk", - "wish", - "good", - "once", - "place", - "ask", - "stop", - "keep", - "watch", - "seem", - "everything", - "wait", - "got", - "yet", - "made", - "remember", - "start", - "alone", - "run", - "hope", - "maybe", - "believe", - "body", - "hate", - "after", - "close", - "talk", - "stand", - "own", - "each", - "hurt", - "help", - "home", - "god", - "soul", - "new", - "many", - "two", - "inside", - "should", - "true", - "first", - "fear", - "mean", - "better", - "play", - "another", - "gone", - "change", - "use", - "wonder", - "someone", - "hair", - "cold", - "open", - "best", - "any", - "behind", - "happen", - "water", - "dark", - "laugh", - "stay", - "forever", - "name", - "work", - "show", - "sky", - "break", - "came", - "deep", - "door", - "put", - "black", - "together", - "upon", - "happy", - "such", - "great", - "white", - "matter", - "fill", - "past", - "please", - "burn", - "cause", - "enough", - "touch", - "moment", - "soon", - "voice", - "scream", - "anything", - "stare", - "sound", - "red", - "everyone", - "hide", - "kiss", - "truth", - "death", - "beautiful", - "mine", - "blood", - "broken", - "very", - "pass", - "next", - "forget", - "tree", - "wrong", - "air", - "mother", - "understand", - "lip", - "hit", - "wall", - "memory", - "sleep", - "free", - "high", - "realize", - "school", - "might", - "skin", - "sweet", - "perfect", - "blue", - "kill", - "breath", - "dance", - "against", - "fly", - "between", - "grow", - "strong", - "under", - "listen", - "bring", - "sometimes", - "speak", - "pull", - "person", - "become", - "family", - "begin", - "ground", - "real", - "small", - "father", - "sure", - "feet", - "rest", - "young", - "finally", - "land", - "across", - "today", - "different", - "guy", - "line", - "fire", - "reason", - "reach", - "second", - "slowly", - "write", - "eat", - "smell", - "mouth", - "step", - "learn", - "three", - "floor", - "promise", - "breathe", - "darkness", - "push", - "earth", - "guess", - "save", - "song", - "above", - "along", - "both", - "color", - "house", - "almost", - "sorry", - "anymore", - "brother", - "okay", - "dear", - "game", - "fade", - "already", - "apart", - "warm", - "beauty", - "heard", - "notice", - "question", - "shine", - "began", - "piece", - "whole", - "shadow", - "secret", - "street", - "within", - "finger", - "point", - "morning", - "whisper", - "child", - "moon", - "green", - "story", - "glass", - "kid", - "silence", - "since", - "soft", - "yourself", - "empty", - "shall", - "angel", - "answer", - "baby", - "bright", - "dad", - "path", - "worry", - "hour", - "drop", - "follow", - "power", - "war", - "half", - "flow", - "heaven", - "act", - "chance", - "fact", - "least", - "tired", - "children", - "near", - "quite", - "afraid", - "rise", - "sea", - "taste", - "window", - "cover", - "nice", - "trust", - "lot", - "sad", - "cool", - "force", - "peace", - "return", - "blind", - "easy", - "ready", - "roll", - "rose", - "drive", - "held", - "music", - "beneath", - "hang", - "mom", - "paint", - "emotion", - "quiet", - "clear", - "cloud", - "few", - "pretty", - "bird", - "outside", - "paper", - "picture", - "front", - "rock", - "simple", - "anyone", - "meant", - "reality", - "road", - "sense", - "waste", - "bit", - "leaf", - "thank", - "happiness", - "meet", - "men", - "smoke", - "truly", - "decide", - "self", - "age", - "book", - "form", - "alive", - "carry", - "escape", - "damn", - "instead", - "able", - "ice", - "minute", - "throw", - "catch", - "leg", - "ring", - "course", - "goodbye", - "lead", - "poem", - "sick", - "corner", - "desire", - "known", - "problem", - "remind", - "shoulder", - "suppose", - "toward", - "wave", - "drink", - "jump", - "woman", - "pretend", - "sister", - "week", - "human", - "joy", - "crack", - "grey", - "pray", - "surprise", - "dry", - "knee", - "less", - "search", - "bleed", - "caught", - "clean", - "embrace", - "future", - "king", - "son", - "sorrow", - "chest", - "hug", - "remain", - "sat", - "worth", - "blow", - "daddy", - "final", - "parent", - "tight", - "also", - "create", - "lonely", - "safe", - "cross", - "dress", - "evil", - "silent", - "bone", - "fate", - "perhaps", - "anger", - "class", - "scar", - "snow", - "tiny", - "tonight", - "continue", - "control", - "dog", - "edge", - "mirror", - "month", - "suddenly", - "comfort", - "given", - "loud", - "quickly", - "gaze", - "plan", - "rush", - "stone", - "town", - "battle", - "ignore", - "spirit", - "stood", - "stupid", - "yours", - "brown", - "build", - "dust", - "hey", - "kept", - "pay", - "phone", - "twist", - "although", - "ball", - "beyond", - "hidden", - "nose", - "taken", - "fail", - "float", - "pure", - "somehow", - "wash", - "wrap", - "angry", - "cheek", - "creature", - "forgotten", - "heat", - "rip", - "single", - "space", - "special", - "weak", - "whatever", - "yell", - "anyway", - "blame", - "job", - "choose", - "country", - "curse", - "drift", - "echo", - "figure", - "grew", - "laughter", - "neck", - "suffer", - "worse", - "yeah", - "disappear", - "foot", - "forward", - "knife", - "mess", - "somewhere", - "stomach", - "storm", - "beg", - "idea", - "lift", - "offer", - "breeze", - "field", - "five", - "often", - "simply", - "stuck", - "win", - "allow", - "confuse", - "enjoy", - "except", - "flower", - "seek", - "strength", - "calm", - "grin", - "gun", - "heavy", - "hill", - "large", - "ocean", - "shoe", - "sigh", - "straight", - "summer", - "tongue", - "accept", - "crazy", - "everyday", - "exist", - "grass", - "mistake", - "sent", - "shut", - "surround", - "table", - "ache", - "brain", - "destroy", - "heal", - "nature", - "shout", - "sign", - "stain", - "choice", - "doubt", - "glance", - "glow", - "mountain", - "queen", - "stranger", - "throat", - "tomorrow", - "city", - "either", - "fish", - "flame", - "rather", - "shape", - "spin", - "spread", - "ash", - "distance", - "finish", - "image", - "imagine", - "important", - "nobody", - "shatter", - "warmth", - "became", - "feed", - "flesh", - "funny", - "lust", - "shirt", - "trouble", - "yellow", - "attention", - "bare", - "bite", - "money", - "protect", - "amaze", - "appear", - "born", - "choke", - "completely", - "daughter", - "fresh", - "friendship", - "gentle", - "probably", - "six", - "deserve", - "expect", - "grab", - "middle", - "nightmare", - "river", - "thousand", - "weight", - "worst", - "wound", - "barely", - "bottle", - "cream", - "regret", - "relationship", - "stick", - "test", - "crush", - "endless", - "fault", - "itself", - "rule", - "spill", - "art", - "circle", - "join", - "kick", - "mask", - "master", - "passion", - "quick", - "raise", - "smooth", - "unless", - "wander", - "actually", - "broke", - "chair", - "deal", - "favorite", - "gift", - "note", - "number", - "sweat", - "box", - "chill", - "clothes", - "lady", - "mark", - "park", - "poor", - "sadness", - "tie", - "animal", - "belong", - "brush", - "consume", - "dawn", - "forest", - "innocent", - "pen", - "pride", - "stream", - "thick", - "clay", - "complete", - "count", - "draw", - "faith", - "press", - "silver", - "struggle", - "surface", - "taught", - "teach", - "wet", - "bless", - "chase", - "climb", - "enter", - "letter", - "melt", - "metal", - "movie", - "stretch", - "swing", - "vision", - "wife", - "beside", - "crash", - "forgot", - "guide", - "haunt", - "joke", - "knock", - "plant", - "pour", - "prove", - "reveal", - "steal", - "stuff", - "trip", - "wood", - "wrist", - "bother", - "bottom", - "crawl", - "crowd", - "fix", - "forgive", - "frown", - "grace", - "loose", - "lucky", - "party", - "release", - "surely", - "survive", - "teacher", - "gently", - "grip", - "speed", - "suicide", - "travel", - "treat", - "vein", - "written", - "cage", - "chain", - "conversation", - "date", - "enemy", - "however", - "interest", - "million", - "page", - "pink", - "proud", - "sway", - "themselves", - "winter", - "church", - "cruel", - "cup", - "demon", - "experience", - "freedom", - "pair", - "pop", - "purpose", - "respect", - "shoot", - "softly", - "state", - "strange", - "bar", - "birth", - "curl", - "dirt", - "excuse", - "lord", - "lovely", - "monster", - "order", - "pack", - "pants", - "pool", - "scene", - "seven", - "shame", - "slide", - "ugly", - "among", - "blade", - "blonde", - "closet", - "creek", - "deny", - "drug", - "eternity", - "gain", - "grade", - "handle", - "key", - "linger", - "pale", - "prepare", - "swallow", - "swim", - "tremble", - "wheel", - "won", - "cast", - "cigarette", - "claim", - "college", - "direction", - "dirty", - "gather", - "ghost", - "hundred", - "loss", - "lung", - "orange", - "present", - "swear", - "swirl", - "twice", - "wild", - "bitter", - "blanket", - "doctor", - "everywhere", - "flash", - "grown", - "knowledge", - "numb", - "pressure", - "radio", - "repeat", - "ruin", - "spend", - "unknown", - "buy", - "clock", - "devil", - "early", - "false", - "fantasy", - "pound", - "precious", - "refuse", - "sheet", - "teeth", - "welcome", - "add", - "ahead", - "block", - "bury", - "caress", - "content", - "depth", - "despite", - "distant", - "marry", - "purple", - "threw", - "whenever", - "bomb", - "dull", - "easily", - "grasp", - "hospital", - "innocence", - "normal", - "receive", - "reply", - "rhyme", - "shade", - "someday", - "sword", - "toe", - "visit", - "asleep", - "bought", - "center", - "consider", - "flat", - "hero", - "history", - "ink", - "insane", - "muscle", - "mystery", - "pocket", - "reflection", - "shove", - "silently", - "smart", - "soldier", - "spot", - "stress", - "train", - "type", - "view", - "whether", - "bus", - "energy", - "explain", - "holy", - "hunger", - "inch", - "magic", - "mix", - "noise", - "nowhere", - "prayer", - "presence", - "shock", - "snap", - "spider", - "study", - "thunder", - "trail", - "admit", - "agree", - "bag", - "bang", - "bound", - "butterfly", - "cute", - "exactly", - "explode", - "familiar", - "fold", - "further", - "pierce", - "reflect", - "scent", - "selfish", - "sharp", - "sink", - "spring", - "stumble", - "universe", - "weep", - "women", - "wonderful", - "action", - "ancient", - "attempt", - "avoid", - "birthday", - "branch", - "chocolate", - "core", - "depress", - "drunk", - "especially", - "focus", - "fruit", - "honest", - "match", - "palm", - "perfectly", - "pillow", - "pity", - "poison", - "roar", - "shift", - "slightly", - "thump", - "truck", - "tune", - "twenty", - "unable", - "wipe", - "wrote", - "coat", - "constant", - "dinner", - "drove", - "egg", - "eternal", - "flight", - "flood", - "frame", - "freak", - "gasp", - "glad", - "hollow", - "motion", - "peer", - "plastic", - "root", - "screen", - "season", - "sting", - "strike", - "team", - "unlike", - "victim", - "volume", - "warn", - "weird", - "attack", - "await", - "awake", - "built", - "charm", - "crave", - "despair", - "fought", - "grant", - "grief", - "horse", - "limit", - "message", - "ripple", - "sanity", - "scatter", - "serve", - "split", - "string", - "trick", - "annoy", - "blur", - "boat", - "brave", - "clearly", - "cling", - "connect", - "fist", - "forth", - "imagination", - "iron", - "jock", - "judge", - "lesson", - "milk", - "misery", - "nail", - "naked", - "ourselves", - "poet", - "possible", - "princess", - "sail", - "size", - "snake", - "society", - "stroke", - "torture", - "toss", - "trace", - "wise", - "bloom", - "bullet", - "cell", - "check", - "cost", - "darling", - "during", - "footstep", - "fragile", - "hallway", - "hardly", - "horizon", - "invisible", - "journey", - "midnight", - "mud", - "nod", - "pause", - "relax", - "shiver", - "sudden", - "value", - "youth", - "abuse", - "admire", - "blink", - "breast", - "bruise", - "constantly", - "couple", - "creep", - "curve", - "difference", - "dumb", - "emptiness", - "gotta", - "honor", - "plain", - "planet", - "recall", - "rub", - "ship", - "slam", - "soar", - "somebody", - "tightly", - "weather", - "adore", - "approach", - "bond", - "bread", - "burst", - "candle", - "coffee", - "cousin", - "crime", - "desert", - "flutter", - "frozen", - "grand", - "heel", - "hello", - "language", - "level", - "movement", - "pleasure", - "powerful", - "random", - "rhythm", - "settle", - "silly", - "slap", - "sort", - "spoken", - "steel", - "threaten", - "tumble", - "upset", - "aside", - "awkward", - "bee", - "blank", - "board", - "button", - "card", - "carefully", - "complain", - "crap", - "deeply", - "discover", - "drag", - "dread", - "effort", - "entire", - "fairy", - "giant", - "gotten", - "greet", - "illusion", - "jeans", - "leap", - "liquid", - "march", - "mend", - "nervous", - "nine", - "replace", - "rope", - "spine", - "stole", - "terror", - "accident", - "apple", - "balance", - "boom", - "childhood", - "collect", - "demand", - "depression", - "eventually", - "faint", - "glare", - "goal", - "group", - "honey", - "kitchen", - "laid", - "limb", - "machine", - "mere", - "mold", - "murder", - "nerve", - "painful", - "poetry", - "prince", - "rabbit", - "shelter", - "shore", - "shower", - "soothe", - "stair", - "steady", - "sunlight", - "tangle", - "tease", - "treasure", - "uncle", - "begun", - "bliss", - "canvas", - "cheer", - "claw", - "clutch", - "commit", - "crimson", - "crystal", - "delight", - "doll", - "existence", - "express", - "fog", - "football", - "gay", - "goose", - "guard", - "hatred", - "illuminate", - "mass", - "math", - "mourn", - "rich", - "rough", - "skip", - "stir", - "student", - "style", - "support", - "thorn", - "tough", - "yard", - "yearn", - "yesterday", - "advice", - "appreciate", - "autumn", - "bank", - "beam", - "bowl", - "capture", - "carve", - "collapse", - "confusion", - "creation", - "dove", - "feather", - "girlfriend", - "glory", - "government", - "harsh", - "hop", - "inner", - "loser", - "moonlight", - "neighbor", - "neither", - "peach", - "pig", - "praise", - "screw", - "shield", - "shimmer", - "sneak", - "stab", - "subject", - "throughout", - "thrown", - "tower", - "twirl", - "wow", - "army", - "arrive", - "bathroom", - "bump", - "cease", - "cookie", - "couch", - "courage", - "dim", - "guilt", - "howl", - "hum", - "husband", - "insult", - "led", - "lunch", - "mock", - "mostly", - "natural", - "nearly", - "needle", - "nerd", - "peaceful", - "perfection", - "pile", - "price", - "remove", - "roam", - "sanctuary", - "serious", - "shiny", - "shook", - "sob", - "stolen", - "tap", - "vain", - "void", - "warrior", - "wrinkle", - "affection", - "apologize", - "blossom", - "bounce", - "bridge", - "cheap", - "crumble", - "decision", - "descend", - "desperately", - "dig", - "dot", - "flip", - "frighten", - "heartbeat", - "huge", - "lazy", - "lick", - "odd", - "opinion", - "process", - "puzzle", - "quietly", - "retreat", - "score", - "sentence", - "separate", - "situation", - "skill", - "soak", - "square", - "stray", - "taint", - "task", - "tide", - "underneath", - "veil", - "whistle", - "anywhere", - "bedroom", - "bid", - "bloody", - "burden", - "careful", - "compare", - "concern", - "curtain", - "decay", - "defeat", - "describe", - "double", - "dreamer", - "driver", - "dwell", - "evening", - "flare", - "flicker", - "grandma", - "guitar", - "harm", - "horrible", - "hungry", - "indeed", - "lace", - "melody", - "monkey", - "nation", - "object", - "obviously", - "rainbow", - "salt", - "scratch", - "shown", - "shy", - "stage", - "stun", - "third", - "tickle", - "useless", - "weakness", - "worship", - "worthless", - "afternoon", - "beard", - "boyfriend", - "bubble", - "busy", - "certain", - "chin", - "concrete", - "desk", - "diamond", - "doom", - "drawn", - "due", - "felicity", - "freeze", - "frost", - "garden", - "glide", - "harmony", - "hopefully", - "hunt", - "jealous", - "lightning", - "mama", - "mercy", - "peel", - "physical", - "position", - "pulse", - "punch", - "quit", - "rant", - "respond", - "salty", - "sane", - "satisfy", - "savior", - "sheep", - "slept", - "social", - "sport", - "tuck", - "utter", - "valley", - "wolf", - "aim", - "alas", - "alter", - "arrow", - "awaken", - "beaten", - "belief", - "brand", - "ceiling", - "cheese", - "clue", - "confidence", - "connection", - "daily", - "disguise", - "eager", - "erase", - "essence", - "everytime", - "expression", - "fan", - "flag", - "flirt", - "foul", - "fur", - "giggle", - "glorious", - "ignorance", - "law", - "lifeless", - "measure", - "mighty", - "muse", - "north", - "opposite", - "paradise", - "patience", - "patient", - "pencil", - "petal", - "plate", - "ponder", - "possibly", - "practice", - "slice", - "spell", - "stock", - "strife", - "strip", - "suffocate", - "suit", - "tender", - "tool", - "trade", - "velvet", - "verse", - "waist", - "witch", - "aunt", - "bench", - "bold", - "cap", - "certainly", - "click", - "companion", - "creator", - "dart", - "delicate", - "determine", - "dish", - "dragon", - "drama", - "drum", - "dude", - "everybody", - "feast", - "forehead", - "former", - "fright", - "fully", - "gas", - "hook", - "hurl", - "invite", - "juice", - "manage", - "moral", - "possess", - "raw", - "rebel", - "royal", - "scale", - "scary", - "several", - "slight", - "stubborn", - "swell", - "talent", - "tea", - "terrible", - "thread", - "torment", - "trickle", - "usually", - "vast", - "violence", - "weave", - "acid", - "agony", - "ashamed", - "awe", - "belly", - "blend", - "blush", - "character", - "cheat", - "common", - "company", - "coward", - "creak", - "danger", - "deadly", - "defense", - "define", - "depend", - "desperate", - "destination", - "dew", - "duck", - "dusty", - "embarrass", - "engine", - "example", - "explore", - "foe", - "freely", - "frustrate", - "generation", - "glove", - "guilty", - "health", - "hurry", - "idiot", - "impossible", - "inhale", - "jaw", - "kingdom", - "mention", - "mist", - "moan", - "mumble", - "mutter", - "observe", - "ode", - "pathetic", - "pattern", - "pie", - "prefer", - "puff", - "rape", - "rare", - "revenge", - "rude", - "scrape", - "spiral", - "squeeze", - "strain", - "sunset", - "suspend", - "sympathy", - "thigh", - "throne", - "total", - "unseen", - "weapon", - "weary" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "OldEnglish"; - populate_maps(); - } - }; + class OldEnglish: public Base + { + public: + OldEnglish() + { + word_list = new std::vector({ + "like", + "just", + "love", + "know", + "never", + "want", + "time", + "out", + "there", + "make", + "look", + "eye", + "down", + "only", + "think", + "heart", + "back", + "then", + "into", + "about", + "more", + "away", + "still", + "them", + "take", + "thing", + "even", + "through", + "long", + "always", + "world", + "too", + "friend", + "tell", + "try", + "hand", + "thought", + "over", + "here", + "other", + "need", + "smile", + "again", + "much", + "cry", + "been", + "night", + "ever", + "little", + "said", + "end", + "some", + "those", + "around", + "mind", + "people", + "girl", + "leave", + "dream", + "left", + "turn", + "myself", + "give", + "nothing", + "really", + "off", + "before", + "something", + "find", + "walk", + "wish", + "good", + "once", + "place", + "ask", + "stop", + "keep", + "watch", + "seem", + "everything", + "wait", + "got", + "yet", + "made", + "remember", + "start", + "alone", + "run", + "hope", + "maybe", + "believe", + "body", + "hate", + "after", + "close", + "talk", + "stand", + "own", + "each", + "hurt", + "help", + "home", + "god", + "soul", + "new", + "many", + "two", + "inside", + "should", + "true", + "first", + "fear", + "mean", + "better", + "play", + "another", + "gone", + "change", + "use", + "wonder", + "someone", + "hair", + "cold", + "open", + "best", + "any", + "behind", + "happen", + "water", + "dark", + "laugh", + "stay", + "forever", + "name", + "work", + "show", + "sky", + "break", + "came", + "deep", + "door", + "put", + "black", + "together", + "upon", + "happy", + "such", + "great", + "white", + "matter", + "fill", + "past", + "please", + "burn", + "cause", + "enough", + "touch", + "moment", + "soon", + "voice", + "scream", + "anything", + "stare", + "sound", + "red", + "everyone", + "hide", + "kiss", + "truth", + "death", + "beautiful", + "mine", + "blood", + "broken", + "very", + "pass", + "next", + "forget", + "tree", + "wrong", + "air", + "mother", + "understand", + "lip", + "hit", + "wall", + "memory", + "sleep", + "free", + "high", + "realize", + "school", + "might", + "skin", + "sweet", + "perfect", + "blue", + "kill", + "breath", + "dance", + "against", + "fly", + "between", + "grow", + "strong", + "under", + "listen", + "bring", + "sometimes", + "speak", + "pull", + "person", + "become", + "family", + "begin", + "ground", + "real", + "small", + "father", + "sure", + "feet", + "rest", + "young", + "finally", + "land", + "across", + "today", + "different", + "guy", + "line", + "fire", + "reason", + "reach", + "second", + "slowly", + "write", + "eat", + "smell", + "mouth", + "step", + "learn", + "three", + "floor", + "promise", + "breathe", + "darkness", + "push", + "earth", + "guess", + "save", + "song", + "above", + "along", + "both", + "color", + "house", + "almost", + "sorry", + "anymore", + "brother", + "okay", + "dear", + "game", + "fade", + "already", + "apart", + "warm", + "beauty", + "heard", + "notice", + "question", + "shine", + "began", + "piece", + "whole", + "shadow", + "secret", + "street", + "within", + "finger", + "point", + "morning", + "whisper", + "child", + "moon", + "green", + "story", + "glass", + "kid", + "silence", + "since", + "soft", + "yourself", + "empty", + "shall", + "angel", + "answer", + "baby", + "bright", + "dad", + "path", + "worry", + "hour", + "drop", + "follow", + "power", + "war", + "half", + "flow", + "heaven", + "act", + "chance", + "fact", + "least", + "tired", + "children", + "near", + "quite", + "afraid", + "rise", + "sea", + "taste", + "window", + "cover", + "nice", + "trust", + "lot", + "sad", + "cool", + "force", + "peace", + "return", + "blind", + "easy", + "ready", + "roll", + "rose", + "drive", + "held", + "music", + "beneath", + "hang", + "mom", + "paint", + "emotion", + "quiet", + "clear", + "cloud", + "few", + "pretty", + "bird", + "outside", + "paper", + "picture", + "front", + "rock", + "simple", + "anyone", + "meant", + "reality", + "road", + "sense", + "waste", + "bit", + "leaf", + "thank", + "happiness", + "meet", + "men", + "smoke", + "truly", + "decide", + "self", + "age", + "book", + "form", + "alive", + "carry", + "escape", + "damn", + "instead", + "able", + "ice", + "minute", + "throw", + "catch", + "leg", + "ring", + "course", + "goodbye", + "lead", + "poem", + "sick", + "corner", + "desire", + "known", + "problem", + "remind", + "shoulder", + "suppose", + "toward", + "wave", + "drink", + "jump", + "woman", + "pretend", + "sister", + "week", + "human", + "joy", + "crack", + "grey", + "pray", + "surprise", + "dry", + "knee", + "less", + "search", + "bleed", + "caught", + "clean", + "embrace", + "future", + "king", + "son", + "sorrow", + "chest", + "hug", + "remain", + "sat", + "worth", + "blow", + "daddy", + "final", + "parent", + "tight", + "also", + "create", + "lonely", + "safe", + "cross", + "dress", + "evil", + "silent", + "bone", + "fate", + "perhaps", + "anger", + "class", + "scar", + "snow", + "tiny", + "tonight", + "continue", + "control", + "dog", + "edge", + "mirror", + "month", + "suddenly", + "comfort", + "given", + "loud", + "quickly", + "gaze", + "plan", + "rush", + "stone", + "town", + "battle", + "ignore", + "spirit", + "stood", + "stupid", + "yours", + "brown", + "build", + "dust", + "hey", + "kept", + "pay", + "phone", + "twist", + "although", + "ball", + "beyond", + "hidden", + "nose", + "taken", + "fail", + "float", + "pure", + "somehow", + "wash", + "wrap", + "angry", + "cheek", + "creature", + "forgotten", + "heat", + "rip", + "single", + "space", + "special", + "weak", + "whatever", + "yell", + "anyway", + "blame", + "job", + "choose", + "country", + "curse", + "drift", + "echo", + "figure", + "grew", + "laughter", + "neck", + "suffer", + "worse", + "yeah", + "disappear", + "foot", + "forward", + "knife", + "mess", + "somewhere", + "stomach", + "storm", + "beg", + "idea", + "lift", + "offer", + "breeze", + "field", + "five", + "often", + "simply", + "stuck", + "win", + "allow", + "confuse", + "enjoy", + "except", + "flower", + "seek", + "strength", + "calm", + "grin", + "gun", + "heavy", + "hill", + "large", + "ocean", + "shoe", + "sigh", + "straight", + "summer", + "tongue", + "accept", + "crazy", + "everyday", + "exist", + "grass", + "mistake", + "sent", + "shut", + "surround", + "table", + "ache", + "brain", + "destroy", + "heal", + "nature", + "shout", + "sign", + "stain", + "choice", + "doubt", + "glance", + "glow", + "mountain", + "queen", + "stranger", + "throat", + "tomorrow", + "city", + "either", + "fish", + "flame", + "rather", + "shape", + "spin", + "spread", + "ash", + "distance", + "finish", + "image", + "imagine", + "important", + "nobody", + "shatter", + "warmth", + "became", + "feed", + "flesh", + "funny", + "lust", + "shirt", + "trouble", + "yellow", + "attention", + "bare", + "bite", + "money", + "protect", + "amaze", + "appear", + "born", + "choke", + "completely", + "daughter", + "fresh", + "friendship", + "gentle", + "probably", + "six", + "deserve", + "expect", + "grab", + "middle", + "nightmare", + "river", + "thousand", + "weight", + "worst", + "wound", + "barely", + "bottle", + "cream", + "regret", + "relationship", + "stick", + "test", + "crush", + "endless", + "fault", + "itself", + "rule", + "spill", + "art", + "circle", + "join", + "kick", + "mask", + "master", + "passion", + "quick", + "raise", + "smooth", + "unless", + "wander", + "actually", + "broke", + "chair", + "deal", + "favorite", + "gift", + "note", + "number", + "sweat", + "box", + "chill", + "clothes", + "lady", + "mark", + "park", + "poor", + "sadness", + "tie", + "animal", + "belong", + "brush", + "consume", + "dawn", + "forest", + "innocent", + "pen", + "pride", + "stream", + "thick", + "clay", + "complete", + "count", + "draw", + "faith", + "press", + "silver", + "struggle", + "surface", + "taught", + "teach", + "wet", + "bless", + "chase", + "climb", + "enter", + "letter", + "melt", + "metal", + "movie", + "stretch", + "swing", + "vision", + "wife", + "beside", + "crash", + "forgot", + "guide", + "haunt", + "joke", + "knock", + "plant", + "pour", + "prove", + "reveal", + "steal", + "stuff", + "trip", + "wood", + "wrist", + "bother", + "bottom", + "crawl", + "crowd", + "fix", + "forgive", + "frown", + "grace", + "loose", + "lucky", + "party", + "release", + "surely", + "survive", + "teacher", + "gently", + "grip", + "speed", + "suicide", + "travel", + "treat", + "vein", + "written", + "cage", + "chain", + "conversation", + "date", + "enemy", + "however", + "interest", + "million", + "page", + "pink", + "proud", + "sway", + "themselves", + "winter", + "church", + "cruel", + "cup", + "demon", + "experience", + "freedom", + "pair", + "pop", + "purpose", + "respect", + "shoot", + "softly", + "state", + "strange", + "bar", + "birth", + "curl", + "dirt", + "excuse", + "lord", + "lovely", + "monster", + "order", + "pack", + "pants", + "pool", + "scene", + "seven", + "shame", + "slide", + "ugly", + "among", + "blade", + "blonde", + "closet", + "creek", + "deny", + "drug", + "eternity", + "gain", + "grade", + "handle", + "key", + "linger", + "pale", + "prepare", + "swallow", + "swim", + "tremble", + "wheel", + "won", + "cast", + "cigarette", + "claim", + "college", + "direction", + "dirty", + "gather", + "ghost", + "hundred", + "loss", + "lung", + "orange", + "present", + "swear", + "swirl", + "twice", + "wild", + "bitter", + "blanket", + "doctor", + "everywhere", + "flash", + "grown", + "knowledge", + "numb", + "pressure", + "radio", + "repeat", + "ruin", + "spend", + "unknown", + "buy", + "clock", + "devil", + "early", + "false", + "fantasy", + "pound", + "precious", + "refuse", + "sheet", + "teeth", + "welcome", + "add", + "ahead", + "block", + "bury", + "caress", + "content", + "depth", + "despite", + "distant", + "marry", + "purple", + "threw", + "whenever", + "bomb", + "dull", + "easily", + "grasp", + "hospital", + "innocence", + "normal", + "receive", + "reply", + "rhyme", + "shade", + "someday", + "sword", + "toe", + "visit", + "asleep", + "bought", + "center", + "consider", + "flat", + "hero", + "history", + "ink", + "insane", + "muscle", + "mystery", + "pocket", + "reflection", + "shove", + "silently", + "smart", + "soldier", + "spot", + "stress", + "train", + "type", + "view", + "whether", + "bus", + "energy", + "explain", + "holy", + "hunger", + "inch", + "magic", + "mix", + "noise", + "nowhere", + "prayer", + "presence", + "shock", + "snap", + "spider", + "study", + "thunder", + "trail", + "admit", + "agree", + "bag", + "bang", + "bound", + "butterfly", + "cute", + "exactly", + "explode", + "familiar", + "fold", + "further", + "pierce", + "reflect", + "scent", + "selfish", + "sharp", + "sink", + "spring", + "stumble", + "universe", + "weep", + "women", + "wonderful", + "action", + "ancient", + "attempt", + "avoid", + "birthday", + "branch", + "chocolate", + "core", + "depress", + "drunk", + "especially", + "focus", + "fruit", + "honest", + "match", + "palm", + "perfectly", + "pillow", + "pity", + "poison", + "roar", + "shift", + "slightly", + "thump", + "truck", + "tune", + "twenty", + "unable", + "wipe", + "wrote", + "coat", + "constant", + "dinner", + "drove", + "egg", + "eternal", + "flight", + "flood", + "frame", + "freak", + "gasp", + "glad", + "hollow", + "motion", + "peer", + "plastic", + "root", + "screen", + "season", + "sting", + "strike", + "team", + "unlike", + "victim", + "volume", + "warn", + "weird", + "attack", + "await", + "awake", + "built", + "charm", + "crave", + "despair", + "fought", + "grant", + "grief", + "horse", + "limit", + "message", + "ripple", + "sanity", + "scatter", + "serve", + "split", + "string", + "trick", + "annoy", + "blur", + "boat", + "brave", + "clearly", + "cling", + "connect", + "fist", + "forth", + "imagination", + "iron", + "jock", + "judge", + "lesson", + "milk", + "misery", + "nail", + "naked", + "ourselves", + "poet", + "possible", + "princess", + "sail", + "size", + "snake", + "society", + "stroke", + "torture", + "toss", + "trace", + "wise", + "bloom", + "bullet", + "cell", + "check", + "cost", + "darling", + "during", + "footstep", + "fragile", + "hallway", + "hardly", + "horizon", + "invisible", + "journey", + "midnight", + "mud", + "nod", + "pause", + "relax", + "shiver", + "sudden", + "value", + "youth", + "abuse", + "admire", + "blink", + "breast", + "bruise", + "constantly", + "couple", + "creep", + "curve", + "difference", + "dumb", + "emptiness", + "gotta", + "honor", + "plain", + "planet", + "recall", + "rub", + "ship", + "slam", + "soar", + "somebody", + "tightly", + "weather", + "adore", + "approach", + "bond", + "bread", + "burst", + "candle", + "coffee", + "cousin", + "crime", + "desert", + "flutter", + "frozen", + "grand", + "heel", + "hello", + "language", + "level", + "movement", + "pleasure", + "powerful", + "random", + "rhythm", + "settle", + "silly", + "slap", + "sort", + "spoken", + "steel", + "threaten", + "tumble", + "upset", + "aside", + "awkward", + "bee", + "blank", + "board", + "button", + "card", + "carefully", + "complain", + "crap", + "deeply", + "discover", + "drag", + "dread", + "effort", + "entire", + "fairy", + "giant", + "gotten", + "greet", + "illusion", + "jeans", + "leap", + "liquid", + "march", + "mend", + "nervous", + "nine", + "replace", + "rope", + "spine", + "stole", + "terror", + "accident", + "apple", + "balance", + "boom", + "childhood", + "collect", + "demand", + "depression", + "eventually", + "faint", + "glare", + "goal", + "group", + "honey", + "kitchen", + "laid", + "limb", + "machine", + "mere", + "mold", + "murder", + "nerve", + "painful", + "poetry", + "prince", + "rabbit", + "shelter", + "shore", + "shower", + "soothe", + "stair", + "steady", + "sunlight", + "tangle", + "tease", + "treasure", + "uncle", + "begun", + "bliss", + "canvas", + "cheer", + "claw", + "clutch", + "commit", + "crimson", + "crystal", + "delight", + "doll", + "existence", + "express", + "fog", + "football", + "gay", + "goose", + "guard", + "hatred", + "illuminate", + "mass", + "math", + "mourn", + "rich", + "rough", + "skip", + "stir", + "student", + "style", + "support", + "thorn", + "tough", + "yard", + "yearn", + "yesterday", + "advice", + "appreciate", + "autumn", + "bank", + "beam", + "bowl", + "capture", + "carve", + "collapse", + "confusion", + "creation", + "dove", + "feather", + "girlfriend", + "glory", + "government", + "harsh", + "hop", + "inner", + "loser", + "moonlight", + "neighbor", + "neither", + "peach", + "pig", + "praise", + "screw", + "shield", + "shimmer", + "sneak", + "stab", + "subject", + "throughout", + "thrown", + "tower", + "twirl", + "wow", + "army", + "arrive", + "bathroom", + "bump", + "cease", + "cookie", + "couch", + "courage", + "dim", + "guilt", + "howl", + "hum", + "husband", + "insult", + "led", + "lunch", + "mock", + "mostly", + "natural", + "nearly", + "needle", + "nerd", + "peaceful", + "perfection", + "pile", + "price", + "remove", + "roam", + "sanctuary", + "serious", + "shiny", + "shook", + "sob", + "stolen", + "tap", + "vain", + "void", + "warrior", + "wrinkle", + "affection", + "apologize", + "blossom", + "bounce", + "bridge", + "cheap", + "crumble", + "decision", + "descend", + "desperately", + "dig", + "dot", + "flip", + "frighten", + "heartbeat", + "huge", + "lazy", + "lick", + "odd", + "opinion", + "process", + "puzzle", + "quietly", + "retreat", + "score", + "sentence", + "separate", + "situation", + "skill", + "soak", + "square", + "stray", + "taint", + "task", + "tide", + "underneath", + "veil", + "whistle", + "anywhere", + "bedroom", + "bid", + "bloody", + "burden", + "careful", + "compare", + "concern", + "curtain", + "decay", + "defeat", + "describe", + "double", + "dreamer", + "driver", + "dwell", + "evening", + "flare", + "flicker", + "grandma", + "guitar", + "harm", + "horrible", + "hungry", + "indeed", + "lace", + "melody", + "monkey", + "nation", + "object", + "obviously", + "rainbow", + "salt", + "scratch", + "shown", + "shy", + "stage", + "stun", + "third", + "tickle", + "useless", + "weakness", + "worship", + "worthless", + "afternoon", + "beard", + "boyfriend", + "bubble", + "busy", + "certain", + "chin", + "concrete", + "desk", + "diamond", + "doom", + "drawn", + "due", + "felicity", + "freeze", + "frost", + "garden", + "glide", + "harmony", + "hopefully", + "hunt", + "jealous", + "lightning", + "mama", + "mercy", + "peel", + "physical", + "position", + "pulse", + "punch", + "quit", + "rant", + "respond", + "salty", + "sane", + "satisfy", + "savior", + "sheep", + "slept", + "social", + "sport", + "tuck", + "utter", + "valley", + "wolf", + "aim", + "alas", + "alter", + "arrow", + "awaken", + "beaten", + "belief", + "brand", + "ceiling", + "cheese", + "clue", + "confidence", + "connection", + "daily", + "disguise", + "eager", + "erase", + "essence", + "everytime", + "expression", + "fan", + "flag", + "flirt", + "foul", + "fur", + "giggle", + "glorious", + "ignorance", + "law", + "lifeless", + "measure", + "mighty", + "muse", + "north", + "opposite", + "paradise", + "patience", + "patient", + "pencil", + "petal", + "plate", + "ponder", + "possibly", + "practice", + "slice", + "spell", + "stock", + "strife", + "strip", + "suffocate", + "suit", + "tender", + "tool", + "trade", + "velvet", + "verse", + "waist", + "witch", + "aunt", + "bench", + "bold", + "cap", + "certainly", + "click", + "companion", + "creator", + "dart", + "delicate", + "determine", + "dish", + "dragon", + "drama", + "drum", + "dude", + "everybody", + "feast", + "forehead", + "former", + "fright", + "fully", + "gas", + "hook", + "hurl", + "invite", + "juice", + "manage", + "moral", + "possess", + "raw", + "rebel", + "royal", + "scale", + "scary", + "several", + "slight", + "stubborn", + "swell", + "talent", + "tea", + "terrible", + "thread", + "torment", + "trickle", + "usually", + "vast", + "violence", + "weave", + "acid", + "agony", + "ashamed", + "awe", + "belly", + "blend", + "blush", + "character", + "cheat", + "common", + "company", + "coward", + "creak", + "danger", + "deadly", + "defense", + "define", + "depend", + "desperate", + "destination", + "dew", + "duck", + "dusty", + "embarrass", + "engine", + "example", + "explore", + "foe", + "freely", + "frustrate", + "generation", + "glove", + "guilty", + "health", + "hurry", + "idiot", + "impossible", + "inhale", + "jaw", + "kingdom", + "mention", + "mist", + "moan", + "mumble", + "mutter", + "observe", + "ode", + "pathetic", + "pattern", + "pie", + "prefer", + "puff", + "rape", + "rare", + "revenge", + "rude", + "scrape", + "spiral", + "squeeze", + "strain", + "sunset", + "suspend", + "sympathy", + "thigh", + "throne", + "total", + "unseen", + "weapon", + "weary" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "OldEnglish"; + populate_maps(); + } + }; } #endif diff --git a/src/mnemonics/portuguese.h b/src/mnemonics/portuguese.h index 5b88a0686..c040a0415 100644 --- a/src/mnemonics/portuguese.h +++ b/src/mnemonics/portuguese.h @@ -46,1645 +46,1645 @@ */ namespace Language { - class Portuguese: public Base - { - public: - Portuguese() - { - word_list = new std::vector({ - "abaular", - "abdominal", - "abeto", - "abissinio", - "abjeto", - "ablucao", - "abnegar", - "abotoar", - "abrutalhar", - "absurdo", - "abutre", - "acautelar", - "accessorios", - "acetona", - "achocolatado", - "acirrar", - "acne", - "acovardar", - "acrostico", - "actinomicete", - "acustico", - "adaptavel", - "adeus", - "adivinho", - "adjunto", - "admoestar", - "adnominal", - "adotivo", - "adquirir", - "adriatico", - "adsorcao", - "adutora", - "advogar", - "aerossol", - "afazeres", - "afetuoso", - "afixo", - "afluir", - "afortunar", - "afrouxar", - "aftosa", - "afunilar", - "agentes", - "agito", - "aglutinar", - "aiatola", - "aimore", - "aino", - "aipo", - "airoso", - "ajeitar", - "ajoelhar", - "ajudante", - "ajuste", - "alazao", - "albumina", - "alcunha", - "alegria", - "alexandre", - "alforriar", - "alguns", - "alhures", - "alivio", - "almoxarife", - "alotropico", - "alpiste", - "alquimista", - "alsaciano", - "altura", - "aluviao", - "alvura", - "amazonico", - "ambulatorio", - "ametodico", - "amizades", - "amniotico", - "amovivel", - "amurada", - "anatomico", - "ancorar", - "anexo", - "anfora", - "aniversario", - "anjo", - "anotar", - "ansioso", - "anturio", - "anuviar", - "anverso", - "anzol", - "aonde", - "apaziguar", - "apito", - "aplicavel", - "apoteotico", - "aprimorar", - "aprumo", - "apto", - "apuros", - "aquoso", - "arauto", - "arbusto", - "arduo", - "aresta", - "arfar", - "arguto", - "aritmetico", - "arlequim", - "armisticio", - "aromatizar", - "arpoar", - "arquivo", - "arrumar", - "arsenio", - "arturiano", - "aruaque", - "arvores", - "asbesto", - "ascorbico", - "aspirina", - "asqueroso", - "assustar", - "astuto", - "atazanar", - "ativo", - "atletismo", - "atmosferico", - "atormentar", - "atroz", - "aturdir", - "audivel", - "auferir", - "augusto", - "aula", - "aumento", - "aurora", - "autuar", - "avatar", - "avexar", - "avizinhar", - "avolumar", - "avulso", - "axiomatico", - "azerbaijano", - "azimute", - "azoto", - "azulejo", - "bacteriologista", - "badulaque", - "baforada", - "baixote", - "bajular", - "balzaquiana", - "bambuzal", - "banzo", - "baoba", - "baqueta", - "barulho", - "bastonete", - "batuta", - "bauxita", - "bavaro", - "bazuca", - "bcrepuscular", - "beato", - "beduino", - "begonia", - "behaviorista", - "beisebol", - "belzebu", - "bemol", - "benzido", - "beocio", - "bequer", - "berro", - "besuntar", - "betume", - "bexiga", - "bezerro", - "biatlon", - "biboca", - "bicuspide", - "bidirecional", - "bienio", - "bifurcar", - "bigorna", - "bijuteria", - "bimotor", - "binormal", - "bioxido", - "bipolarizacao", - "biquini", - "birutice", - "bisturi", - "bituca", - "biunivoco", - "bivalve", - "bizarro", - "blasfemo", - "blenorreia", - "blindar", - "bloqueio", - "blusao", - "boazuda", - "bofete", - "bojudo", - "bolso", - "bombordo", - "bonzo", - "botina", - "boquiaberto", - "bostoniano", - "botulismo", - "bourbon", - "bovino", - "boximane", - "bravura", - "brevidade", - "britar", - "broxar", - "bruno", - "bruxuleio", - "bubonico", - "bucolico", - "buda", - "budista", - "bueiro", - "buffer", - "bugre", - "bujao", - "bumerangue", - "burundines", - "busto", - "butique", - "buzios", - "caatinga", - "cabuqui", - "cacunda", - "cafuzo", - "cajueiro", - "camurca", - "canudo", - "caquizeiro", - "carvoeiro", - "casulo", - "catuaba", - "cauterizar", - "cebolinha", - "cedula", - "ceifeiro", - "celulose", - "cerzir", - "cesto", - "cetro", - "ceus", - "cevar", - "chavena", - "cheroqui", - "chita", - "chovido", - "chuvoso", - "ciatico", - "cibernetico", - "cicuta", - "cidreira", - "cientistas", - "cifrar", - "cigarro", - "cilio", - "cimo", - "cinzento", - "cioso", - "cipriota", - "cirurgico", - "cisto", - "citrico", - "ciumento", - "civismo", - "clavicula", - "clero", - "clitoris", - "cluster", - "coaxial", - "cobrir", - "cocota", - "codorniz", - "coexistir", - "cogumelo", - "coito", - "colusao", - "compaixao", - "comutativo", - "contentamento", - "convulsivo", - "coordenativa", - "coquetel", - "correto", - "corvo", - "costureiro", - "cotovia", - "covil", - "cozinheiro", - "cretino", - "cristo", - "crivo", - "crotalo", - "cruzes", - "cubo", - "cucuia", - "cueiro", - "cuidar", - "cujo", - "cultural", - "cunilingua", - "cupula", - "curvo", - "custoso", - "cutucar", - "czarismo", - "dablio", - "dacota", - "dados", - "daguerreotipo", - "daiquiri", - "daltonismo", - "damista", - "dantesco", - "daquilo", - "darwinista", - "dasein", - "dativo", - "deao", - "debutantes", - "decurso", - "deduzir", - "defunto", - "degustar", - "dejeto", - "deltoide", - "demover", - "denunciar", - "deputado", - "deque", - "dervixe", - "desvirtuar", - "deturpar", - "deuteronomio", - "devoto", - "dextrose", - "dezoito", - "diatribe", - "dicotomico", - "didatico", - "dietista", - "difuso", - "digressao", - "diluvio", - "diminuto", - "dinheiro", - "dinossauro", - "dioxido", - "diplomatico", - "dique", - "dirimivel", - "disturbio", - "diurno", - "divulgar", - "dizivel", - "doar", - "dobro", - "docura", - "dodoi", - "doer", - "dogue", - "doloso", - "domo", - "donzela", - "doping", - "dorsal", - "dossie", - "dote", - "doutro", - "doze", - "dravidico", - "dreno", - "driver", - "dropes", - "druso", - "dubnio", - "ducto", - "dueto", - "dulija", - "dundum", - "duodeno", - "duquesa", - "durou", - "duvidoso", - "duzia", - "ebano", - "ebrio", - "eburneo", - "echarpe", - "eclusa", - "ecossistema", - "ectoplasma", - "ecumenismo", - "eczema", - "eden", - "editorial", - "edredom", - "edulcorar", - "efetuar", - "efigie", - "efluvio", - "egiptologo", - "egresso", - "egua", - "einsteiniano", - "eira", - "eivar", - "eixos", - "ejetar", - "elastomero", - "eldorado", - "elixir", - "elmo", - "eloquente", - "elucidativo", - "emaranhar", - "embutir", - "emerito", - "emfa", - "emitir", - "emotivo", - "empuxo", - "emulsao", - "enamorar", - "encurvar", - "enduro", - "enevoar", - "enfurnar", - "enguico", - "enho", - "enigmista", - "enlutar", - "enormidade", - "enpreendimento", - "enquanto", - "enriquecer", - "enrugar", - "entusiastico", - "enunciar", - "envolvimento", - "enxuto", - "enzimatico", - "eolico", - "epiteto", - "epoxi", - "epura", - "equivoco", - "erario", - "erbio", - "ereto", - "erguido", - "erisipela", - "ermo", - "erotizar", - "erros", - "erupcao", - "ervilha", - "esburacar", - "escutar", - "esfuziante", - "esguio", - "esloveno", - "esmurrar", - "esoterismo", - "esperanca", - "espirito", - "espurio", - "essencialmente", - "esturricar", - "esvoacar", - "etario", - "eterno", - "etiquetar", - "etnologo", - "etos", - "etrusco", - "euclidiano", - "euforico", - "eugenico", - "eunuco", - "europio", - "eustaquio", - "eutanasia", - "evasivo", - "eventualidade", - "evitavel", - "evoluir", - "exaustor", - "excursionista", - "exercito", - "exfoliado", - "exito", - "exotico", - "expurgo", - "exsudar", - "extrusora", - "exumar", - "fabuloso", - "facultativo", - "fado", - "fagulha", - "faixas", - "fajuto", - "faltoso", - "famoso", - "fanzine", - "fapesp", - "faquir", - "fartura", - "fastio", - "faturista", - "fausto", - "favorito", - "faxineira", - "fazer", - "fealdade", - "febril", - "fecundo", - "fedorento", - "feerico", - "feixe", - "felicidade", - "felipe", - "feltro", - "femur", - "fenotipo", - "fervura", - "festivo", - "feto", - "feudo", - "fevereiro", - "fezinha", - "fiasco", - "fibra", - "ficticio", - "fiduciario", - "fiesp", - "fifa", - "figurino", - "fijiano", - "filtro", - "finura", - "fiorde", - "fiquei", - "firula", - "fissurar", - "fitoteca", - "fivela", - "fixo", - "flavio", - "flexor", - "flibusteiro", - "flotilha", - "fluxograma", - "fobos", - "foco", - "fofura", - "foguista", - "foie", - "foliculo", - "fominha", - "fonte", - "forum", - "fosso", - "fotossintese", - "foxtrote", - "fraudulento", - "frevo", - "frivolo", - "frouxo", - "frutose", - "fuba", - "fucsia", - "fugitivo", - "fuinha", - "fujao", - "fulustreco", - "fumo", - "funileiro", - "furunculo", - "fustigar", - "futurologo", - "fuxico", - "fuzue", - "gabriel", - "gado", - "gaelico", - "gafieira", - "gaguejo", - "gaivota", - "gajo", - "galvanoplastico", - "gamo", - "ganso", - "garrucha", - "gastronomo", - "gatuno", - "gaussiano", - "gaviao", - "gaxeta", - "gazeteiro", - "gear", - "geiser", - "geminiano", - "generoso", - "genuino", - "geossinclinal", - "gerundio", - "gestual", - "getulista", - "gibi", - "gigolo", - "gilete", - "ginseng", - "giroscopio", - "glaucio", - "glacial", - "gleba", - "glifo", - "glote", - "glutonia", - "gnostico", - "goela", - "gogo", - "goitaca", - "golpista", - "gomo", - "gonzo", - "gorro", - "gostou", - "goticula", - "gourmet", - "governo", - "gozo", - "graxo", - "grevista", - "grito", - "grotesco", - "gruta", - "guaxinim", - "gude", - "gueto", - "guizo", - "guloso", - "gume", - "guru", - "gustativo", - "gustavo", - "gutural", - "habitue", - "haitiano", - "halterofilista", - "hamburguer", - "hanseniase", - "happening", - "harpista", - "hastear", - "haveres", - "hebreu", - "hectometro", - "hedonista", - "hegira", - "helena", - "helminto", - "hemorroidas", - "henrique", - "heptassilabo", - "hertziano", - "hesitar", - "heterossexual", - "heuristico", - "hexagono", - "hiato", - "hibrido", - "hidrostatico", - "hieroglifo", - "hifenizar", - "higienizar", - "hilario", - "himen", - "hino", - "hippie", - "hirsuto", - "historiografia", - "hitlerista", - "hodometro", - "hoje", - "holograma", - "homus", - "honroso", - "hoquei", - "horto", - "hostilizar", - "hotentote", - "huguenote", - "humilde", - "huno", - "hurra", - "hutu", - "iaia", - "ialorixa", - "iambico", - "iansa", - "iaque", - "iara", - "iatista", - "iberico", - "ibis", - "icar", - "iceberg", - "icosagono", - "idade", - "ideologo", - "idiotice", - "idoso", - "iemenita", - "iene", - "igarape", - "iglu", - "ignorar", - "igreja", - "iguaria", - "iidiche", - "ilativo", - "iletrado", - "ilharga", - "ilimitado", - "ilogismo", - "ilustrissimo", - "imaturo", - "imbuzeiro", - "imerso", - "imitavel", - "imovel", - "imputar", - "imutavel", - "inaveriguavel", - "incutir", - "induzir", - "inextricavel", - "infusao", - "ingua", - "inhame", - "iniquo", - "injusto", - "inning", - "inoxidavel", - "inquisitorial", - "insustentavel", - "intumescimento", - "inutilizavel", - "invulneravel", - "inzoneiro", - "iodo", - "iogurte", - "ioio", - "ionosfera", - "ioruba", - "iota", - "ipsilon", - "irascivel", - "iris", - "irlandes", - "irmaos", - "iroques", - "irrupcao", - "isca", - "isento", - "islandes", - "isotopo", - "isqueiro", - "israelita", - "isso", - "isto", - "iterbio", - "itinerario", - "itrio", - "iuane", - "iugoslavo", - "jabuticabeira", - "jacutinga", - "jade", - "jagunco", - "jainista", - "jaleco", - "jambo", - "jantarada", - "japones", - "jaqueta", - "jarro", - "jasmim", - "jato", - "jaula", - "javel", - "jazz", - "jegue", - "jeitoso", - "jejum", - "jenipapo", - "jeova", - "jequitiba", - "jersei", - "jesus", - "jetom", - "jiboia", - "jihad", - "jilo", - "jingle", - "jipe", - "jocoso", - "joelho", - "joguete", - "joio", - "jojoba", - "jorro", - "jota", - "joule", - "joviano", - "jubiloso", - "judoca", - "jugular", - "juizo", - "jujuba", - "juliano", - "jumento", - "junto", - "jururu", - "justo", - "juta", - "juventude", - "labutar", - "laguna", - "laico", - "lajota", - "lanterninha", - "lapso", - "laquear", - "lastro", - "lauto", - "lavrar", - "laxativo", - "lazer", - "leasing", - "lebre", - "lecionar", - "ledo", - "leguminoso", - "leitura", - "lele", - "lemure", - "lento", - "leonardo", - "leopardo", - "lepton", - "leque", - "leste", - "letreiro", - "leucocito", - "levitico", - "lexicologo", - "lhama", - "lhufas", - "liame", - "licoroso", - "lidocaina", - "liliputiano", - "limusine", - "linotipo", - "lipoproteina", - "liquidos", - "lirismo", - "lisura", - "liturgico", - "livros", - "lixo", - "lobulo", - "locutor", - "lodo", - "logro", - "lojista", - "lombriga", - "lontra", - "loop", - "loquaz", - "lorota", - "losango", - "lotus", - "louvor", - "luar", - "lubrificavel", - "lucros", - "lugubre", - "luis", - "luminoso", - "luneta", - "lustroso", - "luto", - "luvas", - "luxuriante", - "luzeiro", - "maduro", - "maestro", - "mafioso", - "magro", - "maiuscula", - "majoritario", - "malvisto", - "mamute", - "manutencao", - "mapoteca", - "maquinista", - "marzipa", - "masturbar", - "matuto", - "mausoleu", - "mavioso", - "maxixe", - "mazurca", - "meandro", - "mecha", - "medusa", - "mefistofelico", - "megera", - "meirinho", - "melro", - "memorizar", - "menu", - "mequetrefe", - "mertiolate", - "mestria", - "metroviario", - "mexilhao", - "mezanino", - "miau", - "microssegundo", - "midia", - "migratorio", - "mimosa", - "minuto", - "miosotis", - "mirtilo", - "misturar", - "mitzvah", - "miudos", - "mixuruca", - "mnemonico", - "moagem", - "mobilizar", - "modulo", - "moer", - "mofo", - "mogno", - "moita", - "molusco", - "monumento", - "moqueca", - "morubixaba", - "mostruario", - "motriz", - "mouse", - "movivel", - "mozarela", - "muarra", - "muculmano", - "mudo", - "mugir", - "muitos", - "mumunha", - "munir", - "muon", - "muquira", - "murros", - "musselina", - "nacoes", - "nado", - "naftalina", - "nago", - "naipe", - "naja", - "nalgum", - "namoro", - "nanquim", - "napolitano", - "naquilo", - "nascimento", - "nautilo", - "navios", - "nazista", - "nebuloso", - "nectarina", - "nefrologo", - "negus", - "nelore", - "nenufar", - "nepotismo", - "nervura", - "neste", - "netuno", - "neutron", - "nevoeiro", - "newtoniano", - "nexo", - "nhenhenhem", - "nhoque", - "nigeriano", - "niilista", - "ninho", - "niobio", - "niponico", - "niquelar", - "nirvana", - "nisto", - "nitroglicerina", - "nivoso", - "nobreza", - "nocivo", - "noel", - "nogueira", - "noivo", - "nojo", - "nominativo", - "nonuplo", - "noruegues", - "nostalgico", - "noturno", - "nouveau", - "nuanca", - "nublar", - "nucleotideo", - "nudista", - "nulo", - "numismatico", - "nunquinha", - "nupcias", - "nutritivo", - "nuvens", - "oasis", - "obcecar", - "obeso", - "obituario", - "objetos", - "oblongo", - "obnoxio", - "obrigatorio", - "obstruir", - "obtuso", - "obus", - "obvio", - "ocaso", - "occipital", - "oceanografo", - "ocioso", - "oclusivo", - "ocorrer", - "ocre", - "octogono", - "odalisca", - "odisseia", - "odorifico", - "oersted", - "oeste", - "ofertar", - "ofidio", - "oftalmologo", - "ogiva", - "ogum", - "oigale", - "oitavo", - "oitocentos", - "ojeriza", - "olaria", - "oleoso", - "olfato", - "olhos", - "oliveira", - "olmo", - "olor", - "olvidavel", - "ombudsman", - "omeleteira", - "omitir", - "omoplata", - "onanismo", - "ondular", - "oneroso", - "onomatopeico", - "ontologico", - "onus", - "onze", - "opalescente", - "opcional", - "operistico", - "opio", - "oposto", - "oprobrio", - "optometrista", - "opusculo", - "oratorio", - "orbital", - "orcar", - "orfao", - "orixa", - "orla", - "ornitologo", - "orquidea", - "ortorrombico", - "orvalho", - "osculo", - "osmotico", - "ossudo", - "ostrogodo", - "otario", - "otite", - "ouro", - "ousar", - "outubro", - "ouvir", - "ovario", - "overnight", - "oviparo", - "ovni", - "ovoviviparo", - "ovulo", - "oxala", - "oxente", - "oxiuro", - "oxossi", - "ozonizar", - "paciente", - "pactuar", - "padronizar", - "paete", - "pagodeiro", - "paixao", - "pajem", - "paludismo", - "pampas", - "panturrilha", - "papudo", - "paquistanes", - "pastoso", - "patua", - "paulo", - "pauzinhos", - "pavoroso", - "paxa", - "pazes", - "peao", - "pecuniario", - "pedunculo", - "pegaso", - "peixinho", - "pejorativo", - "pelvis", - "penuria", - "pequno", - "petunia", - "pezada", - "piauiense", - "pictorico", - "pierro", - "pigmeu", - "pijama", - "pilulas", - "pimpolho", - "pintura", - "piorar", - "pipocar", - "piqueteiro", - "pirulito", - "pistoleiro", - "pituitaria", - "pivotar", - "pixote", - "pizzaria", - "plistoceno", - "plotar", - "pluviometrico", - "pneumonico", - "poco", - "podridao", - "poetisa", - "pogrom", - "pois", - "polvorosa", - "pomposo", - "ponderado", - "pontudo", - "populoso", - "poquer", - "porvir", - "posudo", - "potro", - "pouso", - "povoar", - "prazo", - "prezar", - "privilegios", - "proximo", - "prussiano", - "pseudopode", - "psoriase", - "pterossauros", - "ptialina", - "ptolemaico", - "pudor", - "pueril", - "pufe", - "pugilista", - "puir", - "pujante", - "pulverizar", - "pumba", - "punk", - "purulento", - "pustula", - "putsch", - "puxe", - "quatrocentos", - "quetzal", - "quixotesco", - "quotizavel", - "rabujice", - "racista", - "radonio", - "rafia", - "ragu", - "rajado", - "ralo", - "rampeiro", - "ranzinza", - "raptor", - "raquitismo", - "raro", - "rasurar", - "ratoeira", - "ravioli", - "razoavel", - "reavivar", - "rebuscar", - "recusavel", - "reduzivel", - "reexposicao", - "refutavel", - "regurgitar", - "reivindicavel", - "rejuvenescimento", - "relva", - "remuneravel", - "renunciar", - "reorientar", - "repuxo", - "requisito", - "resumo", - "returno", - "reutilizar", - "revolvido", - "rezonear", - "riacho", - "ribossomo", - "ricota", - "ridiculo", - "rifle", - "rigoroso", - "rijo", - "rimel", - "rins", - "rios", - "riqueza", - "riquixa", - "rissole", - "ritualistico", - "rivalizar", - "rixa", - "robusto", - "rococo", - "rodoviario", - "roer", - "rogo", - "rojao", - "rolo", - "rompimento", - "ronronar", - "roqueiro", - "rorqual", - "rosto", - "rotundo", - "rouxinol", - "roxo", - "royal", - "ruas", - "rucula", - "rudimentos", - "ruela", - "rufo", - "rugoso", - "ruivo", - "rule", - "rumoroso", - "runico", - "ruptura", - "rural", - "rustico", - "rutilar", - "saariano", - "sabujo", - "sacudir", - "sadomasoquista", - "safra", - "sagui", - "sais", - "samurai", - "santuario", - "sapo", - "saquear", - "sartriano", - "saturno", - "saude", - "sauva", - "saveiro", - "saxofonista", - "sazonal", - "scherzo", - "script", - "seara", - "seborreia", - "secura", - "seduzir", - "sefardim", - "seguro", - "seja", - "selvas", - "sempre", - "senzala", - "sepultura", - "sequoia", - "sestercio", - "setuplo", - "seus", - "seviciar", - "sezonismo", - "shalom", - "siames", - "sibilante", - "sicrano", - "sidra", - "sifilitico", - "signos", - "silvo", - "simultaneo", - "sinusite", - "sionista", - "sirio", - "sisudo", - "situar", - "sivan", - "slide", - "slogan", - "soar", - "sobrio", - "socratico", - "sodomizar", - "soerguer", - "software", - "sogro", - "soja", - "solver", - "somente", - "sonso", - "sopro", - "soquete", - "sorveteiro", - "sossego", - "soturno", - "sousafone", - "sovinice", - "sozinho", - "suavizar", - "subverter", - "sucursal", - "sudoriparo", - "sufragio", - "sugestoes", - "suite", - "sujo", - "sultao", - "sumula", - "suntuoso", - "suor", - "supurar", - "suruba", - "susto", - "suturar", - "suvenir", - "tabuleta", - "taco", - "tadjique", - "tafeta", - "tagarelice", - "taitiano", - "talvez", - "tampouco", - "tanzaniano", - "taoista", - "tapume", - "taquion", - "tarugo", - "tascar", - "tatuar", - "tautologico", - "tavola", - "taxionomista", - "tchecoslovaco", - "teatrologo", - "tectonismo", - "tedioso", - "teflon", - "tegumento", - "teixo", - "telurio", - "temporas", - "tenue", - "teosofico", - "tepido", - "tequila", - "terrorista", - "testosterona", - "tetrico", - "teutonico", - "teve", - "texugo", - "tiara", - "tibia", - "tiete", - "tifoide", - "tigresa", - "tijolo", - "tilintar", - "timpano", - "tintureiro", - "tiquete", - "tiroteio", - "tisico", - "titulos", - "tive", - "toar", - "toboga", - "tofu", - "togoles", - "toicinho", - "tolueno", - "tomografo", - "tontura", - "toponimo", - "toquio", - "torvelinho", - "tostar", - "toto", - "touro", - "toxina", - "trazer", - "trezentos", - "trivialidade", - "trovoar", - "truta", - "tuaregue", - "tubular", - "tucano", - "tudo", - "tufo", - "tuiste", - "tulipa", - "tumultuoso", - "tunisino", - "tupiniquim", - "turvo", - "tutu", - "ucraniano", - "udenista", - "ufanista", - "ufologo", - "ugaritico", - "uiste", - "uivo", - "ulceroso", - "ulema", - "ultravioleta", - "umbilical", - "umero", - "umido", - "umlaut", - "unanimidade", - "unesco", - "ungulado", - "unheiro", - "univoco", - "untuoso", - "urano", - "urbano", - "urdir", - "uretra", - "urgente", - "urinol", - "urna", - "urologo", - "urro", - "ursulina", - "urtiga", - "urupe", - "usavel", - "usbeque", - "usei", - "usineiro", - "usurpar", - "utero", - "utilizar", - "utopico", - "uvular", - "uxoricidio", - "vacuo", - "vadio", - "vaguear", - "vaivem", - "valvula", - "vampiro", - "vantajoso", - "vaporoso", - "vaquinha", - "varziano", - "vasto", - "vaticinio", - "vaudeville", - "vazio", - "veado", - "vedico", - "veemente", - "vegetativo", - "veio", - "veja", - "veludo", - "venusiano", - "verdade", - "verve", - "vestuario", - "vetusto", - "vexatorio", - "vezes", - "viavel", - "vibratorio", - "victor", - "vicunha", - "vidros", - "vietnamita", - "vigoroso", - "vilipendiar", - "vime", - "vintem", - "violoncelo", - "viquingue", - "virus", - "visualizar", - "vituperio", - "viuvo", - "vivo", - "vizir", - "voar", - "vociferar", - "vodu", - "vogar", - "voile", - "volver", - "vomito", - "vontade", - "vortice", - "vosso", - "voto", - "vovozinha", - "voyeuse", - "vozes", - "vulva", - "vupt", - "western", - "xadrez", - "xale", - "xampu", - "xango", - "xarope", - "xaual", - "xavante", - "xaxim", - "xenonio", - "xepa", - "xerox", - "xicara", - "xifopago", - "xiita", - "xilogravura", - "xinxim", - "xistoso", - "xixi", - "xodo", - "xogum", - "xucro", - "zabumba", - "zagueiro", - "zambiano", - "zanzar", - "zarpar", - "zebu", - "zefiro", - "zeloso", - "zenite", - "zumbi" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "Portuguese"; - populate_maps(); - } - }; + class Portuguese: public Base + { + public: + Portuguese() + { + word_list = new std::vector({ + "abaular", + "abdominal", + "abeto", + "abissinio", + "abjeto", + "ablucao", + "abnegar", + "abotoar", + "abrutalhar", + "absurdo", + "abutre", + "acautelar", + "accessorios", + "acetona", + "achocolatado", + "acirrar", + "acne", + "acovardar", + "acrostico", + "actinomicete", + "acustico", + "adaptavel", + "adeus", + "adivinho", + "adjunto", + "admoestar", + "adnominal", + "adotivo", + "adquirir", + "adriatico", + "adsorcao", + "adutora", + "advogar", + "aerossol", + "afazeres", + "afetuoso", + "afixo", + "afluir", + "afortunar", + "afrouxar", + "aftosa", + "afunilar", + "agentes", + "agito", + "aglutinar", + "aiatola", + "aimore", + "aino", + "aipo", + "airoso", + "ajeitar", + "ajoelhar", + "ajudante", + "ajuste", + "alazao", + "albumina", + "alcunha", + "alegria", + "alexandre", + "alforriar", + "alguns", + "alhures", + "alivio", + "almoxarife", + "alotropico", + "alpiste", + "alquimista", + "alsaciano", + "altura", + "aluviao", + "alvura", + "amazonico", + "ambulatorio", + "ametodico", + "amizades", + "amniotico", + "amovivel", + "amurada", + "anatomico", + "ancorar", + "anexo", + "anfora", + "aniversario", + "anjo", + "anotar", + "ansioso", + "anturio", + "anuviar", + "anverso", + "anzol", + "aonde", + "apaziguar", + "apito", + "aplicavel", + "apoteotico", + "aprimorar", + "aprumo", + "apto", + "apuros", + "aquoso", + "arauto", + "arbusto", + "arduo", + "aresta", + "arfar", + "arguto", + "aritmetico", + "arlequim", + "armisticio", + "aromatizar", + "arpoar", + "arquivo", + "arrumar", + "arsenio", + "arturiano", + "aruaque", + "arvores", + "asbesto", + "ascorbico", + "aspirina", + "asqueroso", + "assustar", + "astuto", + "atazanar", + "ativo", + "atletismo", + "atmosferico", + "atormentar", + "atroz", + "aturdir", + "audivel", + "auferir", + "augusto", + "aula", + "aumento", + "aurora", + "autuar", + "avatar", + "avexar", + "avizinhar", + "avolumar", + "avulso", + "axiomatico", + "azerbaijano", + "azimute", + "azoto", + "azulejo", + "bacteriologista", + "badulaque", + "baforada", + "baixote", + "bajular", + "balzaquiana", + "bambuzal", + "banzo", + "baoba", + "baqueta", + "barulho", + "bastonete", + "batuta", + "bauxita", + "bavaro", + "bazuca", + "bcrepuscular", + "beato", + "beduino", + "begonia", + "behaviorista", + "beisebol", + "belzebu", + "bemol", + "benzido", + "beocio", + "bequer", + "berro", + "besuntar", + "betume", + "bexiga", + "bezerro", + "biatlon", + "biboca", + "bicuspide", + "bidirecional", + "bienio", + "bifurcar", + "bigorna", + "bijuteria", + "bimotor", + "binormal", + "bioxido", + "bipolarizacao", + "biquini", + "birutice", + "bisturi", + "bituca", + "biunivoco", + "bivalve", + "bizarro", + "blasfemo", + "blenorreia", + "blindar", + "bloqueio", + "blusao", + "boazuda", + "bofete", + "bojudo", + "bolso", + "bombordo", + "bonzo", + "botina", + "boquiaberto", + "bostoniano", + "botulismo", + "bourbon", + "bovino", + "boximane", + "bravura", + "brevidade", + "britar", + "broxar", + "bruno", + "bruxuleio", + "bubonico", + "bucolico", + "buda", + "budista", + "bueiro", + "buffer", + "bugre", + "bujao", + "bumerangue", + "burundines", + "busto", + "butique", + "buzios", + "caatinga", + "cabuqui", + "cacunda", + "cafuzo", + "cajueiro", + "camurca", + "canudo", + "caquizeiro", + "carvoeiro", + "casulo", + "catuaba", + "cauterizar", + "cebolinha", + "cedula", + "ceifeiro", + "celulose", + "cerzir", + "cesto", + "cetro", + "ceus", + "cevar", + "chavena", + "cheroqui", + "chita", + "chovido", + "chuvoso", + "ciatico", + "cibernetico", + "cicuta", + "cidreira", + "cientistas", + "cifrar", + "cigarro", + "cilio", + "cimo", + "cinzento", + "cioso", + "cipriota", + "cirurgico", + "cisto", + "citrico", + "ciumento", + "civismo", + "clavicula", + "clero", + "clitoris", + "cluster", + "coaxial", + "cobrir", + "cocota", + "codorniz", + "coexistir", + "cogumelo", + "coito", + "colusao", + "compaixao", + "comutativo", + "contentamento", + "convulsivo", + "coordenativa", + "coquetel", + "correto", + "corvo", + "costureiro", + "cotovia", + "covil", + "cozinheiro", + "cretino", + "cristo", + "crivo", + "crotalo", + "cruzes", + "cubo", + "cucuia", + "cueiro", + "cuidar", + "cujo", + "cultural", + "cunilingua", + "cupula", + "curvo", + "custoso", + "cutucar", + "czarismo", + "dablio", + "dacota", + "dados", + "daguerreotipo", + "daiquiri", + "daltonismo", + "damista", + "dantesco", + "daquilo", + "darwinista", + "dasein", + "dativo", + "deao", + "debutantes", + "decurso", + "deduzir", + "defunto", + "degustar", + "dejeto", + "deltoide", + "demover", + "denunciar", + "deputado", + "deque", + "dervixe", + "desvirtuar", + "deturpar", + "deuteronomio", + "devoto", + "dextrose", + "dezoito", + "diatribe", + "dicotomico", + "didatico", + "dietista", + "difuso", + "digressao", + "diluvio", + "diminuto", + "dinheiro", + "dinossauro", + "dioxido", + "diplomatico", + "dique", + "dirimivel", + "disturbio", + "diurno", + "divulgar", + "dizivel", + "doar", + "dobro", + "docura", + "dodoi", + "doer", + "dogue", + "doloso", + "domo", + "donzela", + "doping", + "dorsal", + "dossie", + "dote", + "doutro", + "doze", + "dravidico", + "dreno", + "driver", + "dropes", + "druso", + "dubnio", + "ducto", + "dueto", + "dulija", + "dundum", + "duodeno", + "duquesa", + "durou", + "duvidoso", + "duzia", + "ebano", + "ebrio", + "eburneo", + "echarpe", + "eclusa", + "ecossistema", + "ectoplasma", + "ecumenismo", + "eczema", + "eden", + "editorial", + "edredom", + "edulcorar", + "efetuar", + "efigie", + "efluvio", + "egiptologo", + "egresso", + "egua", + "einsteiniano", + "eira", + "eivar", + "eixos", + "ejetar", + "elastomero", + "eldorado", + "elixir", + "elmo", + "eloquente", + "elucidativo", + "emaranhar", + "embutir", + "emerito", + "emfa", + "emitir", + "emotivo", + "empuxo", + "emulsao", + "enamorar", + "encurvar", + "enduro", + "enevoar", + "enfurnar", + "enguico", + "enho", + "enigmista", + "enlutar", + "enormidade", + "enpreendimento", + "enquanto", + "enriquecer", + "enrugar", + "entusiastico", + "enunciar", + "envolvimento", + "enxuto", + "enzimatico", + "eolico", + "epiteto", + "epoxi", + "epura", + "equivoco", + "erario", + "erbio", + "ereto", + "erguido", + "erisipela", + "ermo", + "erotizar", + "erros", + "erupcao", + "ervilha", + "esburacar", + "escutar", + "esfuziante", + "esguio", + "esloveno", + "esmurrar", + "esoterismo", + "esperanca", + "espirito", + "espurio", + "essencialmente", + "esturricar", + "esvoacar", + "etario", + "eterno", + "etiquetar", + "etnologo", + "etos", + "etrusco", + "euclidiano", + "euforico", + "eugenico", + "eunuco", + "europio", + "eustaquio", + "eutanasia", + "evasivo", + "eventualidade", + "evitavel", + "evoluir", + "exaustor", + "excursionista", + "exercito", + "exfoliado", + "exito", + "exotico", + "expurgo", + "exsudar", + "extrusora", + "exumar", + "fabuloso", + "facultativo", + "fado", + "fagulha", + "faixas", + "fajuto", + "faltoso", + "famoso", + "fanzine", + "fapesp", + "faquir", + "fartura", + "fastio", + "faturista", + "fausto", + "favorito", + "faxineira", + "fazer", + "fealdade", + "febril", + "fecundo", + "fedorento", + "feerico", + "feixe", + "felicidade", + "felipe", + "feltro", + "femur", + "fenotipo", + "fervura", + "festivo", + "feto", + "feudo", + "fevereiro", + "fezinha", + "fiasco", + "fibra", + "ficticio", + "fiduciario", + "fiesp", + "fifa", + "figurino", + "fijiano", + "filtro", + "finura", + "fiorde", + "fiquei", + "firula", + "fissurar", + "fitoteca", + "fivela", + "fixo", + "flavio", + "flexor", + "flibusteiro", + "flotilha", + "fluxograma", + "fobos", + "foco", + "fofura", + "foguista", + "foie", + "foliculo", + "fominha", + "fonte", + "forum", + "fosso", + "fotossintese", + "foxtrote", + "fraudulento", + "frevo", + "frivolo", + "frouxo", + "frutose", + "fuba", + "fucsia", + "fugitivo", + "fuinha", + "fujao", + "fulustreco", + "fumo", + "funileiro", + "furunculo", + "fustigar", + "futurologo", + "fuxico", + "fuzue", + "gabriel", + "gado", + "gaelico", + "gafieira", + "gaguejo", + "gaivota", + "gajo", + "galvanoplastico", + "gamo", + "ganso", + "garrucha", + "gastronomo", + "gatuno", + "gaussiano", + "gaviao", + "gaxeta", + "gazeteiro", + "gear", + "geiser", + "geminiano", + "generoso", + "genuino", + "geossinclinal", + "gerundio", + "gestual", + "getulista", + "gibi", + "gigolo", + "gilete", + "ginseng", + "giroscopio", + "glaucio", + "glacial", + "gleba", + "glifo", + "glote", + "glutonia", + "gnostico", + "goela", + "gogo", + "goitaca", + "golpista", + "gomo", + "gonzo", + "gorro", + "gostou", + "goticula", + "gourmet", + "governo", + "gozo", + "graxo", + "grevista", + "grito", + "grotesco", + "gruta", + "guaxinim", + "gude", + "gueto", + "guizo", + "guloso", + "gume", + "guru", + "gustativo", + "gustavo", + "gutural", + "habitue", + "haitiano", + "halterofilista", + "hamburguer", + "hanseniase", + "happening", + "harpista", + "hastear", + "haveres", + "hebreu", + "hectometro", + "hedonista", + "hegira", + "helena", + "helminto", + "hemorroidas", + "henrique", + "heptassilabo", + "hertziano", + "hesitar", + "heterossexual", + "heuristico", + "hexagono", + "hiato", + "hibrido", + "hidrostatico", + "hieroglifo", + "hifenizar", + "higienizar", + "hilario", + "himen", + "hino", + "hippie", + "hirsuto", + "historiografia", + "hitlerista", + "hodometro", + "hoje", + "holograma", + "homus", + "honroso", + "hoquei", + "horto", + "hostilizar", + "hotentote", + "huguenote", + "humilde", + "huno", + "hurra", + "hutu", + "iaia", + "ialorixa", + "iambico", + "iansa", + "iaque", + "iara", + "iatista", + "iberico", + "ibis", + "icar", + "iceberg", + "icosagono", + "idade", + "ideologo", + "idiotice", + "idoso", + "iemenita", + "iene", + "igarape", + "iglu", + "ignorar", + "igreja", + "iguaria", + "iidiche", + "ilativo", + "iletrado", + "ilharga", + "ilimitado", + "ilogismo", + "ilustrissimo", + "imaturo", + "imbuzeiro", + "imerso", + "imitavel", + "imovel", + "imputar", + "imutavel", + "inaveriguavel", + "incutir", + "induzir", + "inextricavel", + "infusao", + "ingua", + "inhame", + "iniquo", + "injusto", + "inning", + "inoxidavel", + "inquisitorial", + "insustentavel", + "intumescimento", + "inutilizavel", + "invulneravel", + "inzoneiro", + "iodo", + "iogurte", + "ioio", + "ionosfera", + "ioruba", + "iota", + "ipsilon", + "irascivel", + "iris", + "irlandes", + "irmaos", + "iroques", + "irrupcao", + "isca", + "isento", + "islandes", + "isotopo", + "isqueiro", + "israelita", + "isso", + "isto", + "iterbio", + "itinerario", + "itrio", + "iuane", + "iugoslavo", + "jabuticabeira", + "jacutinga", + "jade", + "jagunco", + "jainista", + "jaleco", + "jambo", + "jantarada", + "japones", + "jaqueta", + "jarro", + "jasmim", + "jato", + "jaula", + "javel", + "jazz", + "jegue", + "jeitoso", + "jejum", + "jenipapo", + "jeova", + "jequitiba", + "jersei", + "jesus", + "jetom", + "jiboia", + "jihad", + "jilo", + "jingle", + "jipe", + "jocoso", + "joelho", + "joguete", + "joio", + "jojoba", + "jorro", + "jota", + "joule", + "joviano", + "jubiloso", + "judoca", + "jugular", + "juizo", + "jujuba", + "juliano", + "jumento", + "junto", + "jururu", + "justo", + "juta", + "juventude", + "labutar", + "laguna", + "laico", + "lajota", + "lanterninha", + "lapso", + "laquear", + "lastro", + "lauto", + "lavrar", + "laxativo", + "lazer", + "leasing", + "lebre", + "lecionar", + "ledo", + "leguminoso", + "leitura", + "lele", + "lemure", + "lento", + "leonardo", + "leopardo", + "lepton", + "leque", + "leste", + "letreiro", + "leucocito", + "levitico", + "lexicologo", + "lhama", + "lhufas", + "liame", + "licoroso", + "lidocaina", + "liliputiano", + "limusine", + "linotipo", + "lipoproteina", + "liquidos", + "lirismo", + "lisura", + "liturgico", + "livros", + "lixo", + "lobulo", + "locutor", + "lodo", + "logro", + "lojista", + "lombriga", + "lontra", + "loop", + "loquaz", + "lorota", + "losango", + "lotus", + "louvor", + "luar", + "lubrificavel", + "lucros", + "lugubre", + "luis", + "luminoso", + "luneta", + "lustroso", + "luto", + "luvas", + "luxuriante", + "luzeiro", + "maduro", + "maestro", + "mafioso", + "magro", + "maiuscula", + "majoritario", + "malvisto", + "mamute", + "manutencao", + "mapoteca", + "maquinista", + "marzipa", + "masturbar", + "matuto", + "mausoleu", + "mavioso", + "maxixe", + "mazurca", + "meandro", + "mecha", + "medusa", + "mefistofelico", + "megera", + "meirinho", + "melro", + "memorizar", + "menu", + "mequetrefe", + "mertiolate", + "mestria", + "metroviario", + "mexilhao", + "mezanino", + "miau", + "microssegundo", + "midia", + "migratorio", + "mimosa", + "minuto", + "miosotis", + "mirtilo", + "misturar", + "mitzvah", + "miudos", + "mixuruca", + "mnemonico", + "moagem", + "mobilizar", + "modulo", + "moer", + "mofo", + "mogno", + "moita", + "molusco", + "monumento", + "moqueca", + "morubixaba", + "mostruario", + "motriz", + "mouse", + "movivel", + "mozarela", + "muarra", + "muculmano", + "mudo", + "mugir", + "muitos", + "mumunha", + "munir", + "muon", + "muquira", + "murros", + "musselina", + "nacoes", + "nado", + "naftalina", + "nago", + "naipe", + "naja", + "nalgum", + "namoro", + "nanquim", + "napolitano", + "naquilo", + "nascimento", + "nautilo", + "navios", + "nazista", + "nebuloso", + "nectarina", + "nefrologo", + "negus", + "nelore", + "nenufar", + "nepotismo", + "nervura", + "neste", + "netuno", + "neutron", + "nevoeiro", + "newtoniano", + "nexo", + "nhenhenhem", + "nhoque", + "nigeriano", + "niilista", + "ninho", + "niobio", + "niponico", + "niquelar", + "nirvana", + "nisto", + "nitroglicerina", + "nivoso", + "nobreza", + "nocivo", + "noel", + "nogueira", + "noivo", + "nojo", + "nominativo", + "nonuplo", + "noruegues", + "nostalgico", + "noturno", + "nouveau", + "nuanca", + "nublar", + "nucleotideo", + "nudista", + "nulo", + "numismatico", + "nunquinha", + "nupcias", + "nutritivo", + "nuvens", + "oasis", + "obcecar", + "obeso", + "obituario", + "objetos", + "oblongo", + "obnoxio", + "obrigatorio", + "obstruir", + "obtuso", + "obus", + "obvio", + "ocaso", + "occipital", + "oceanografo", + "ocioso", + "oclusivo", + "ocorrer", + "ocre", + "octogono", + "odalisca", + "odisseia", + "odorifico", + "oersted", + "oeste", + "ofertar", + "ofidio", + "oftalmologo", + "ogiva", + "ogum", + "oigale", + "oitavo", + "oitocentos", + "ojeriza", + "olaria", + "oleoso", + "olfato", + "olhos", + "oliveira", + "olmo", + "olor", + "olvidavel", + "ombudsman", + "omeleteira", + "omitir", + "omoplata", + "onanismo", + "ondular", + "oneroso", + "onomatopeico", + "ontologico", + "onus", + "onze", + "opalescente", + "opcional", + "operistico", + "opio", + "oposto", + "oprobrio", + "optometrista", + "opusculo", + "oratorio", + "orbital", + "orcar", + "orfao", + "orixa", + "orla", + "ornitologo", + "orquidea", + "ortorrombico", + "orvalho", + "osculo", + "osmotico", + "ossudo", + "ostrogodo", + "otario", + "otite", + "ouro", + "ousar", + "outubro", + "ouvir", + "ovario", + "overnight", + "oviparo", + "ovni", + "ovoviviparo", + "ovulo", + "oxala", + "oxente", + "oxiuro", + "oxossi", + "ozonizar", + "paciente", + "pactuar", + "padronizar", + "paete", + "pagodeiro", + "paixao", + "pajem", + "paludismo", + "pampas", + "panturrilha", + "papudo", + "paquistanes", + "pastoso", + "patua", + "paulo", + "pauzinhos", + "pavoroso", + "paxa", + "pazes", + "peao", + "pecuniario", + "pedunculo", + "pegaso", + "peixinho", + "pejorativo", + "pelvis", + "penuria", + "pequno", + "petunia", + "pezada", + "piauiense", + "pictorico", + "pierro", + "pigmeu", + "pijama", + "pilulas", + "pimpolho", + "pintura", + "piorar", + "pipocar", + "piqueteiro", + "pirulito", + "pistoleiro", + "pituitaria", + "pivotar", + "pixote", + "pizzaria", + "plistoceno", + "plotar", + "pluviometrico", + "pneumonico", + "poco", + "podridao", + "poetisa", + "pogrom", + "pois", + "polvorosa", + "pomposo", + "ponderado", + "pontudo", + "populoso", + "poquer", + "porvir", + "posudo", + "potro", + "pouso", + "povoar", + "prazo", + "prezar", + "privilegios", + "proximo", + "prussiano", + "pseudopode", + "psoriase", + "pterossauros", + "ptialina", + "ptolemaico", + "pudor", + "pueril", + "pufe", + "pugilista", + "puir", + "pujante", + "pulverizar", + "pumba", + "punk", + "purulento", + "pustula", + "putsch", + "puxe", + "quatrocentos", + "quetzal", + "quixotesco", + "quotizavel", + "rabujice", + "racista", + "radonio", + "rafia", + "ragu", + "rajado", + "ralo", + "rampeiro", + "ranzinza", + "raptor", + "raquitismo", + "raro", + "rasurar", + "ratoeira", + "ravioli", + "razoavel", + "reavivar", + "rebuscar", + "recusavel", + "reduzivel", + "reexposicao", + "refutavel", + "regurgitar", + "reivindicavel", + "rejuvenescimento", + "relva", + "remuneravel", + "renunciar", + "reorientar", + "repuxo", + "requisito", + "resumo", + "returno", + "reutilizar", + "revolvido", + "rezonear", + "riacho", + "ribossomo", + "ricota", + "ridiculo", + "rifle", + "rigoroso", + "rijo", + "rimel", + "rins", + "rios", + "riqueza", + "riquixa", + "rissole", + "ritualistico", + "rivalizar", + "rixa", + "robusto", + "rococo", + "rodoviario", + "roer", + "rogo", + "rojao", + "rolo", + "rompimento", + "ronronar", + "roqueiro", + "rorqual", + "rosto", + "rotundo", + "rouxinol", + "roxo", + "royal", + "ruas", + "rucula", + "rudimentos", + "ruela", + "rufo", + "rugoso", + "ruivo", + "rule", + "rumoroso", + "runico", + "ruptura", + "rural", + "rustico", + "rutilar", + "saariano", + "sabujo", + "sacudir", + "sadomasoquista", + "safra", + "sagui", + "sais", + "samurai", + "santuario", + "sapo", + "saquear", + "sartriano", + "saturno", + "saude", + "sauva", + "saveiro", + "saxofonista", + "sazonal", + "scherzo", + "script", + "seara", + "seborreia", + "secura", + "seduzir", + "sefardim", + "seguro", + "seja", + "selvas", + "sempre", + "senzala", + "sepultura", + "sequoia", + "sestercio", + "setuplo", + "seus", + "seviciar", + "sezonismo", + "shalom", + "siames", + "sibilante", + "sicrano", + "sidra", + "sifilitico", + "signos", + "silvo", + "simultaneo", + "sinusite", + "sionista", + "sirio", + "sisudo", + "situar", + "sivan", + "slide", + "slogan", + "soar", + "sobrio", + "socratico", + "sodomizar", + "soerguer", + "software", + "sogro", + "soja", + "solver", + "somente", + "sonso", + "sopro", + "soquete", + "sorveteiro", + "sossego", + "soturno", + "sousafone", + "sovinice", + "sozinho", + "suavizar", + "subverter", + "sucursal", + "sudoriparo", + "sufragio", + "sugestoes", + "suite", + "sujo", + "sultao", + "sumula", + "suntuoso", + "suor", + "supurar", + "suruba", + "susto", + "suturar", + "suvenir", + "tabuleta", + "taco", + "tadjique", + "tafeta", + "tagarelice", + "taitiano", + "talvez", + "tampouco", + "tanzaniano", + "taoista", + "tapume", + "taquion", + "tarugo", + "tascar", + "tatuar", + "tautologico", + "tavola", + "taxionomista", + "tchecoslovaco", + "teatrologo", + "tectonismo", + "tedioso", + "teflon", + "tegumento", + "teixo", + "telurio", + "temporas", + "tenue", + "teosofico", + "tepido", + "tequila", + "terrorista", + "testosterona", + "tetrico", + "teutonico", + "teve", + "texugo", + "tiara", + "tibia", + "tiete", + "tifoide", + "tigresa", + "tijolo", + "tilintar", + "timpano", + "tintureiro", + "tiquete", + "tiroteio", + "tisico", + "titulos", + "tive", + "toar", + "toboga", + "tofu", + "togoles", + "toicinho", + "tolueno", + "tomografo", + "tontura", + "toponimo", + "toquio", + "torvelinho", + "tostar", + "toto", + "touro", + "toxina", + "trazer", + "trezentos", + "trivialidade", + "trovoar", + "truta", + "tuaregue", + "tubular", + "tucano", + "tudo", + "tufo", + "tuiste", + "tulipa", + "tumultuoso", + "tunisino", + "tupiniquim", + "turvo", + "tutu", + "ucraniano", + "udenista", + "ufanista", + "ufologo", + "ugaritico", + "uiste", + "uivo", + "ulceroso", + "ulema", + "ultravioleta", + "umbilical", + "umero", + "umido", + "umlaut", + "unanimidade", + "unesco", + "ungulado", + "unheiro", + "univoco", + "untuoso", + "urano", + "urbano", + "urdir", + "uretra", + "urgente", + "urinol", + "urna", + "urologo", + "urro", + "ursulina", + "urtiga", + "urupe", + "usavel", + "usbeque", + "usei", + "usineiro", + "usurpar", + "utero", + "utilizar", + "utopico", + "uvular", + "uxoricidio", + "vacuo", + "vadio", + "vaguear", + "vaivem", + "valvula", + "vampiro", + "vantajoso", + "vaporoso", + "vaquinha", + "varziano", + "vasto", + "vaticinio", + "vaudeville", + "vazio", + "veado", + "vedico", + "veemente", + "vegetativo", + "veio", + "veja", + "veludo", + "venusiano", + "verdade", + "verve", + "vestuario", + "vetusto", + "vexatorio", + "vezes", + "viavel", + "vibratorio", + "victor", + "vicunha", + "vidros", + "vietnamita", + "vigoroso", + "vilipendiar", + "vime", + "vintem", + "violoncelo", + "viquingue", + "virus", + "visualizar", + "vituperio", + "viuvo", + "vivo", + "vizir", + "voar", + "vociferar", + "vodu", + "vogar", + "voile", + "volver", + "vomito", + "vontade", + "vortice", + "vosso", + "voto", + "vovozinha", + "voyeuse", + "vozes", + "vulva", + "vupt", + "western", + "xadrez", + "xale", + "xampu", + "xango", + "xarope", + "xaual", + "xavante", + "xaxim", + "xenonio", + "xepa", + "xerox", + "xicara", + "xifopago", + "xiita", + "xilogravura", + "xinxim", + "xistoso", + "xixi", + "xodo", + "xogum", + "xucro", + "zabumba", + "zagueiro", + "zambiano", + "zanzar", + "zarpar", + "zebu", + "zefiro", + "zeloso", + "zenite", + "zumbi" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Portuguese"; + populate_maps(); + } + }; } #endif diff --git a/src/mnemonics/singleton.h b/src/mnemonics/singleton.h index 5a86c2e7c..74e121e4e 100644 --- a/src/mnemonics/singleton.h +++ b/src/mnemonics/singleton.h @@ -38,25 +38,25 @@ */ namespace Language { - /*! - * \class Singleton - * - * \brief Single helper class. - * - * Do Language::Singleton::instance() to create a singleton instance - * of `YourClass`. - */ - template - class Singleton - { - Singleton() {} - Singleton(Singleton &s) {} - Singleton& operator=(const Singleton&) {} - public: - static T* instance() - { - static T* obj = new T; - return obj; - } - }; + /*! + * \class Singleton + * + * \brief Single helper class. + * + * Do Language::Singleton::instance() to create a singleton instance + * of `YourClass`. + */ + template + class Singleton + { + Singleton() {} + Singleton(Singleton &s) {} + Singleton& operator=(const Singleton&) {} + public: + static T* instance() + { + static T* obj = new T; + return obj; + } + }; } diff --git a/src/mnemonics/spanish.h b/src/mnemonics/spanish.h index efa71a202..36fcf74da 100644 --- a/src/mnemonics/spanish.h +++ b/src/mnemonics/spanish.h @@ -47,1645 +47,1645 @@ */ namespace Language { - class Spanish: public Base - { - public: - Spanish() - { - word_list = new std::vector({ - "รกbaco", - "abdomen", - "abeja", - "abierto", - "abogado", - "abono", - "aborto", - "abrazo", - "abrir", - "abuelo", - "abuso", - "acabar", - "academia", - "acceso", - "acciรณn", - "aceite", - "acelga", - "acento", - "aceptar", - "รกcido", - "aclarar", - "acnรฉ", - "acoger", - "acoso", - "activo", - "acto", - "actriz", - "actuar", - "acudir", - "acuerdo", - "acusar", - "adicto", - "admitir", - "adoptar", - "adorno", - "aduana", - "adulto", - "aรฉreo", - "afectar", - "aficiรณn", - "afinar", - "afirmar", - "รกgil", - "agitar", - "agonรญa", - "agosto", - "agotar", - "agregar", - "agrio", - "agua", - "agudo", - "รกguila", - "aguja", - "ahogo", - "ahorro", - "aire", - "aislar", - "ajedrez", - "ajeno", - "ajuste", - "alacrรกn", - "alambre", - "alarma", - "alba", - "รกlbum", - "alcalde", - "aldea", - "alegre", - "alejar", - "alerta", - "aleta", - "alfiler", - "alga", - "algodรณn", - "aliado", - "aliento", - "alivio", - "alma", - "almeja", - "almรญbar", - "altar", - "alteza", - "altivo", - "alto", - "altura", - "alumno", - "alzar", - "amable", - "amante", - "amapola", - "amargo", - "amasar", - "รกmbar", - "รกmbito", - "ameno", - "amigo", - "amistad", - "amor", - "amparo", - "amplio", - "ancho", - "anciano", - "ancla", - "andar", - "andรฉn", - "anemia", - "รกngulo", - "anillo", - "รกnimo", - "anรญs", - "anotar", - "antena", - "antiguo", - "antojo", - "anual", - "anular", - "anuncio", - "aรฑadir", - "aรฑejo", - "aรฑo", - "apagar", - "aparato", - "apetito", - "apio", - "aplicar", - "apodo", - "aporte", - "apoyo", - "aprender", - "aprobar", - "apuesta", - "apuro", - "arado", - "araรฑa", - "arar", - "รกrbitro", - "รกrbol", - "arbusto", - "archivo", - "arco", - "arder", - "ardilla", - "arduo", - "รกrea", - "รกrido", - "aries", - "armonรญa", - "arnรฉs", - "aroma", - "arpa", - "arpรณn", - "arreglo", - "arroz", - "arruga", - "arte", - "artista", - "asa", - "asado", - "asalto", - "ascenso", - "asegurar", - "aseo", - "asesor", - "asiento", - "asilo", - "asistir", - "asno", - "asombro", - "รกspero", - "astilla", - "astro", - "astuto", - "asumir", - "asunto", - "atajo", - "ataque", - "atar", - "atento", - "ateo", - "รกtico", - "atleta", - "รกtomo", - "atraer", - "atroz", - "atรบn", - "audaz", - "audio", - "auge", - "aula", - "aumento", - "ausente", - "autor", - "aval", - "avance", - "avaro", - "ave", - "avellana", - "avena", - "avestruz", - "aviรณn", - "aviso", - "ayer", - "ayuda", - "ayuno", - "azafrรกn", - "azar", - "azote", - "azรบcar", - "azufre", - "azul", - "baba", - "babor", - "bache", - "bahรญa", - "baile", - "bajar", - "balanza", - "balcรณn", - "balde", - "bambรบ", - "banco", - "banda", - "baรฑo", - "barba", - "barco", - "barniz", - "barro", - "bรกscula", - "bastรณn", - "basura", - "batalla", - "baterรญa", - "batir", - "batuta", - "baรบl", - "bazar", - "bebรฉ", - "bebida", - "bello", - "besar", - "beso", - "bestia", - "bicho", - "bien", - "bingo", - "blanco", - "bloque", - "blusa", - "boa", - "bobina", - "bobo", - "boca", - "bocina", - "boda", - "bodega", - "boina", - "bola", - "bolero", - "bolsa", - "bomba", - "bondad", - "bonito", - "bono", - "bonsรกi", - "borde", - "borrar", - "bosque", - "bote", - "botรญn", - "bรณveda", - "bozal", - "bravo", - "brazo", - "brecha", - "breve", - "brillo", - "brinco", - "brisa", - "broca", - "broma", - "bronce", - "brote", - "bruja", - "brusco", - "bruto", - "buceo", - "bucle", - "bueno", - "buey", - "bufanda", - "bufรณn", - "bรบho", - "buitre", - "bulto", - "burbuja", - "burla", - "burro", - "buscar", - "butaca", - "buzรณn", - "caballo", - "cabeza", - "cabina", - "cabra", - "cacao", - "cadรกver", - "cadena", - "caer", - "cafรฉ", - "caรญda", - "caimรกn", - "caja", - "cajรณn", - "cal", - "calamar", - "calcio", - "caldo", - "calidad", - "calle", - "calma", - "calor", - "calvo", - "cama", - "cambio", - "camello", - "camino", - "campo", - "cรกncer", - "candil", - "canela", - "canguro", - "canica", - "canto", - "caรฑa", - "caรฑรณn", - "caoba", - "caos", - "capaz", - "capitรกn", - "capote", - "captar", - "capucha", - "cara", - "carbรณn", - "cรกrcel", - "careta", - "carga", - "cariรฑo", - "carne", - "carpeta", - "carro", - "carta", - "casa", - "casco", - "casero", - "caspa", - "castor", - "catorce", - "catre", - "caudal", - "causa", - "cazo", - "cebolla", - "ceder", - "cedro", - "celda", - "cรฉlebre", - "celoso", - "cรฉlula", - "cemento", - "ceniza", - "centro", - "cerca", - "cerdo", - "cereza", - "cero", - "cerrar", - "certeza", - "cรฉsped", - "cetro", - "chacal", - "chaleco", - "champรบ", - "chancla", - "chapa", - "charla", - "chico", - "chiste", - "chivo", - "choque", - "choza", - "chuleta", - "chupar", - "ciclรณn", - "ciego", - "cielo", - "cien", - "cierto", - "cifra", - "cigarro", - "cima", - "cinco", - "cine", - "cinta", - "ciprรฉs", - "circo", - "ciruela", - "cisne", - "cita", - "ciudad", - "clamor", - "clan", - "claro", - "clase", - "clave", - "cliente", - "clima", - "clรญnica", - "cobre", - "cocciรณn", - "cochino", - "cocina", - "coco", - "cรณdigo", - "codo", - "cofre", - "coger", - "cohete", - "cojรญn", - "cojo", - "cola", - "colcha", - "colegio", - "colgar", - "colina", - "collar", - "colmo", - "columna", - "combate", - "comer", - "comida", - "cรณmodo", - "compra", - "conde", - "conejo", - "conga", - "conocer", - "consejo", - "contar", - "copa", - "copia", - "corazรณn", - "corbata", - "corcho", - "cordรณn", - "corona", - "correr", - "coser", - "cosmos", - "costa", - "crรกneo", - "crรกter", - "crear", - "crecer", - "creรญdo", - "crema", - "crรญa", - "crimen", - "cripta", - "crisis", - "cromo", - "crรณnica", - "croqueta", - "crudo", - "cruz", - "cuadro", - "cuarto", - "cuatro", - "cubo", - "cubrir", - "cuchara", - "cuello", - "cuento", - "cuerda", - "cuesta", - "cueva", - "cuidar", - "culebra", - "culpa", - "culto", - "cumbre", - "cumplir", - "cuna", - "cuneta", - "cuota", - "cupรณn", - "cรบpula", - "curar", - "curioso", - "curso", - "curva", - "cutis", - "dama", - "danza", - "dar", - "dardo", - "dรกtil", - "deber", - "dรฉbil", - "dรฉcada", - "decir", - "dedo", - "defensa", - "definir", - "dejar", - "delfรญn", - "delgado", - "delito", - "demora", - "denso", - "dental", - "deporte", - "derecho", - "derrota", - "desayuno", - "deseo", - "desfile", - "desnudo", - "destino", - "desvรญo", - "detalle", - "detener", - "deuda", - "dรญa", - "diablo", - "diadema", - "diamante", - "diana", - "diario", - "dibujo", - "dictar", - "diente", - "dieta", - "diez", - "difรญcil", - "digno", - "dilema", - "diluir", - "dinero", - "directo", - "dirigir", - "disco", - "diseรฑo", - "disfraz", - "diva", - "divino", - "doble", - "doce", - "dolor", - "domingo", - "don", - "donar", - "dorado", - "dormir", - "dorso", - "dos", - "dosis", - "dragรณn", - "droga", - "ducha", - "duda", - "duelo", - "dueรฑo", - "dulce", - "dรบo", - "duque", - "durar", - "dureza", - "duro", - "รฉbano", - "ebrio", - "echar", - "eco", - "ecuador", - "edad", - "ediciรณn", - "edificio", - "editor", - "educar", - "efecto", - "eficaz", - "eje", - "ejemplo", - "elefante", - "elegir", - "elemento", - "elevar", - "elipse", - "รฉlite", - "elixir", - "elogio", - "eludir", - "embudo", - "emitir", - "emociรณn", - "empate", - "empeรฑo", - "empleo", - "empresa", - "enano", - "encargo", - "enchufe", - "encรญa", - "enemigo", - "enero", - "enfado", - "enfermo", - "engaรฑo", - "enigma", - "enlace", - "enorme", - "enredo", - "ensayo", - "enseรฑar", - "entero", - "entrar", - "envase", - "envรญo", - "รฉpoca", - "equipo", - "erizo", - "escala", - "escena", - "escolar", - "escribir", - "escudo", - "esencia", - "esfera", - "esfuerzo", - "espada", - "espejo", - "espรญa", - "esposa", - "espuma", - "esquรญ", - "estar", - "este", - "estilo", - "estufa", - "etapa", - "eterno", - "รฉtica", - "etnia", - "evadir", - "evaluar", - "evento", - "evitar", - "exacto", - "examen", - "exceso", - "excusa", - "exento", - "exigir", - "exilio", - "existir", - "รฉxito", - "experto", - "explicar", - "exponer", - "extremo", - "fรกbrica", - "fรกbula", - "fachada", - "fรกcil", - "factor", - "faena", - "faja", - "falda", - "fallo", - "falso", - "faltar", - "fama", - "familia", - "famoso", - "faraรณn", - "farmacia", - "farol", - "farsa", - "fase", - "fatiga", - "fauna", - "favor", - "fax", - "febrero", - "fecha", - "feliz", - "feo", - "feria", - "feroz", - "fรฉrtil", - "fervor", - "festรญn", - "fiable", - "fianza", - "fiar", - "fibra", - "ficciรณn", - "ficha", - "fideo", - "fiebre", - "fiel", - "fiera", - "fiesta", - "figura", - "fijar", - "fijo", - "fila", - "filete", - "filial", - "filtro", - "fin", - "finca", - "fingir", - "finito", - "firma", - "flaco", - "flauta", - "flecha", - "flor", - "flota", - "fluir", - "flujo", - "flรบor", - "fobia", - "foca", - "fogata", - "fogรณn", - "folio", - "folleto", - "fondo", - "forma", - "forro", - "fortuna", - "forzar", - "fosa", - "foto", - "fracaso", - "frรกgil", - "franja", - "frase", - "fraude", - "freรญr", - "freno", - "fresa", - "frรญo", - "frito", - "fruta", - "fuego", - "fuente", - "fuerza", - "fuga", - "fumar", - "funciรณn", - "funda", - "furgรณn", - "furia", - "fusil", - "fรบtbol", - "futuro", - "gacela", - "gafas", - "gaita", - "gajo", - "gala", - "galerรญa", - "gallo", - "gamba", - "ganar", - "gancho", - "ganga", - "ganso", - "garaje", - "garza", - "gasolina", - "gastar", - "gato", - "gavilรกn", - "gemelo", - "gemir", - "gen", - "gรฉnero", - "genio", - "gente", - "geranio", - "gerente", - "germen", - "gesto", - "gigante", - "gimnasio", - "girar", - "giro", - "glaciar", - "globo", - "gloria", - "gol", - "golfo", - "goloso", - "golpe", - "goma", - "gordo", - "gorila", - "gorra", - "gota", - "goteo", - "gozar", - "grada", - "grรกfico", - "grano", - "grasa", - "gratis", - "grave", - "grieta", - "grillo", - "gripe", - "gris", - "grito", - "grosor", - "grรบa", - "grueso", - "grumo", - "grupo", - "guante", - "guapo", - "guardia", - "guerra", - "guรญa", - "guiรฑo", - "guion", - "guiso", - "guitarra", - "gusano", - "gustar", - "haber", - "hรกbil", - "hablar", - "hacer", - "hacha", - "hada", - "hallar", - "hamaca", - "harina", - "haz", - "hazaรฑa", - "hebilla", - "hebra", - "hecho", - "helado", - "helio", - "hembra", - "herir", - "hermano", - "hรฉroe", - "hervir", - "hielo", - "hierro", - "hรญgado", - "higiene", - "hijo", - "himno", - "historia", - "hocico", - "hogar", - "hoguera", - "hoja", - "hombre", - "hongo", - "honor", - "honra", - "hora", - "hormiga", - "horno", - "hostil", - "hoyo", - "hueco", - "huelga", - "huerta", - "hueso", - "huevo", - "huida", - "huir", - "humano", - "hรบmedo", - "humilde", - "humo", - "hundir", - "huracรกn", - "hurto", - "icono", - "ideal", - "idioma", - "รญdolo", - "iglesia", - "iglรบ", - "igual", - "ilegal", - "ilusiรณn", - "imagen", - "imรกn", - "imitar", - "impar", - "imperio", - "imponer", - "impulso", - "incapaz", - "รญndice", - "inerte", - "infiel", - "informe", - "ingenio", - "inicio", - "inmenso", - "inmune", - "innato", - "insecto", - "instante", - "interรฉs", - "รญntimo", - "intuir", - "inรบtil", - "invierno", - "ira", - "iris", - "ironรญa", - "isla", - "islote", - "jabalรญ", - "jabรณn", - "jamรณn", - "jarabe", - "jardรญn", - "jarra", - "jaula", - "jazmรญn", - "jefe", - "jeringa", - "jinete", - "jornada", - "joroba", - "joven", - "joya", - "juerga", - "jueves", - "juez", - "jugador", - "jugo", - "juguete", - "juicio", - "junco", - "jungla", - "junio", - "juntar", - "jรบpiter", - "jurar", - "justo", - "juvenil", - "juzgar", - "kilo", - "koala", - "labio", - "lacio", - "lacra", - "lado", - "ladrรณn", - "lagarto", - "lรกgrima", - "laguna", - "laico", - "lamer", - "lรกmina", - "lรกmpara", - "lana", - "lancha", - "langosta", - "lanza", - "lรกpiz", - "largo", - "larva", - "lรกstima", - "lata", - "lรกtex", - "latir", - "laurel", - "lavar", - "lazo", - "leal", - "lecciรณn", - "leche", - "lector", - "leer", - "legiรณn", - "legumbre", - "lejano", - "lengua", - "lento", - "leรฑa", - "leรณn", - "leopardo", - "lesiรณn", - "letal", - "letra", - "leve", - "leyenda", - "libertad", - "libro", - "licor", - "lรญder", - "lidiar", - "lienzo", - "liga", - "ligero", - "lima", - "lรญmite", - "limรณn", - "limpio", - "lince", - "lindo", - "lรญnea", - "lingote", - "lino", - "linterna", - "lรญquido", - "liso", - "lista", - "litera", - "litio", - "litro", - "llaga", - "llama", - "llanto", - "llave", - "llegar", - "llenar", - "llevar", - "llorar", - "llover", - "lluvia", - "lobo", - "lociรณn", - "loco", - "locura", - "lรณgica", - "logro", - "lombriz", - "lomo", - "lonja", - "lote", - "lucha", - "lucir", - "lugar", - "lujo", - "luna", - "lunes", - "lupa", - "lustro", - "luto", - "luz", - "maceta", - "macho", - "madera", - "madre", - "maduro", - "maestro", - "mafia", - "magia", - "mago", - "maรญz", - "maldad", - "maleta", - "malla", - "malo", - "mamรก", - "mambo", - "mamut", - "manco", - "mando", - "manejar", - "manga", - "maniquรญ", - "manjar", - "mano", - "manso", - "manta", - "maรฑana", - "mapa", - "mรกquina", - "mar", - "marco", - "marea", - "marfil", - "margen", - "marido", - "mรกrmol", - "marrรณn", - "martes", - "marzo", - "masa", - "mรกscara", - "masivo", - "matar", - "materia", - "matiz", - "matriz", - "mรกximo", - "mayor", - "mazorca", - "mecha", - "medalla", - "medio", - "mรฉdula", - "mejilla", - "mejor", - "melena", - "melรณn", - "memoria", - "menor", - "mensaje", - "mente", - "menรบ", - "mercado", - "merengue", - "mรฉrito", - "mes", - "mesรณn", - "meta", - "meter", - "mรฉtodo", - "metro", - "mezcla", - "miedo", - "miel", - "miembro", - "miga", - "mil", - "milagro", - "militar", - "millรณn", - "mimo", - "mina", - "minero", - "mรญnimo", - "minuto", - "miope", - "mirar", - "misa", - "miseria", - "misil", - "mismo", - "mitad", - "mito", - "mochila", - "mociรณn", - "moda", - "modelo", - "moho", - "mojar", - "molde", - "moler", - "molino", - "momento", - "momia", - "monarca", - "moneda", - "monja", - "monto", - "moรฑo", - "morada", - "morder", - "moreno", - "morir", - "morro", - "morsa", - "mortal", - "mosca", - "mostrar", - "motivo", - "mover", - "mรณvil", - "mozo", - "mucho", - "mudar", - "mueble", - "muela", - "muerte", - "muestra", - "mugre", - "mujer", - "mula", - "muleta", - "multa", - "mundo", - "muรฑeca", - "mural", - "muro", - "mรบsculo", - "museo", - "musgo", - "mรบsica", - "muslo", - "nรกcar", - "naciรณn", - "nadar", - "naipe", - "naranja", - "nariz", - "narrar", - "nasal", - "natal", - "nativo", - "natural", - "nรกusea", - "naval", - "nave", - "navidad", - "necio", - "nรฉctar", - "negar", - "negocio", - "negro", - "neรณn", - "nervio", - "neto", - "neutro", - "nevar", - "nevera", - "nicho", - "nido", - "niebla", - "nieto", - "niรฑez", - "niรฑo", - "nรญtido", - "nivel", - "nobleza", - "noche", - "nรณmina", - "noria", - "norma", - "norte", - "nota", - "noticia", - "novato", - "novela", - "novio", - "nube", - "nuca", - "nรบcleo", - "nudillo", - "nudo", - "nuera", - "nueve", - "nuez", - "nulo", - "nรบmero", - "nutria", - "oasis", - "obeso", - "obispo", - "objeto", - "obra", - "obrero", - "observar", - "obtener", - "obvio", - "oca", - "ocaso", - "ocรฉano", - "ochenta", - "ocho", - "ocio", - "ocre", - "octavo", - "octubre", - "oculto", - "ocupar", - "ocurrir", - "odiar", - "odio", - "odisea", - "oeste", - "ofensa", - "oferta", - "oficio", - "ofrecer", - "ogro", - "oรญdo", - "oรญr", - "ojo", - "ola", - "oleada", - "olfato", - "olivo", - "olla", - "olmo", - "olor", - "olvido", - "ombligo", - "onda", - "onza", - "opaco", - "opciรณn", - "รณpera", - "opinar", - "oponer", - "optar", - "รณptica", - "opuesto", - "oraciรณn", - "orador", - "oral", - "รณrbita", - "orca", - "orden", - "oreja", - "รณrgano", - "orgรญa", - "orgullo", - "oriente", - "origen", - "orilla", - "oro", - "orquesta", - "oruga", - "osadรญa", - "oscuro", - "osezno", - "oso", - "ostra", - "otoรฑo", - "otro", - "oveja", - "รณvulo", - "รณxido", - "oxรญgeno", - "oyente", - "ozono", - "pacto", - "padre", - "paella", - "pรกgina", - "pago", - "paรญs", - "pรกjaro", - "palabra", - "palco", - "paleta", - "pรกlido", - "palma", - "paloma", - "palpar", - "pan", - "panal", - "pรกnico", - "pantera", - "paรฑuelo", - "papรก", - "papel", - "papilla", - "paquete", - "parar", - "parcela", - "pared", - "parir", - "paro", - "pรกrpado", - "parque", - "pรกrrafo", - "parte", - "pasar", - "paseo", - "pasiรณn", - "paso", - "pasta", - "pata", - "patio", - "patria", - "pausa", - "pauta", - "pavo", - "payaso", - "peatรณn", - "pecado", - "pecera", - "pecho", - "pedal", - "pedir", - "pegar", - "peine", - "pelar", - "peldaรฑo", - "pelea", - "peligro", - "pellejo", - "pelo", - "peluca", - "pena", - "pensar", - "peรฑรณn", - "peรณn", - "peor", - "pepino", - "pequeรฑo", - "pera", - "percha", - "perder", - "pereza", - "perfil", - "perico", - "perla", - "permiso", - "perro", - "persona", - "pesa", - "pesca", - "pรฉsimo", - "pestaรฑa", - "pรฉtalo", - "petrรณleo", - "pez", - "pezuรฑa", - "picar", - "pichรณn", - "pie", - "piedra", - "pierna", - "pieza", - "pijama", - "pilar", - "piloto", - "pimienta", - "pino", - "pintor", - "pinza", - "piรฑa", - "piojo", - "pipa", - "pirata", - "pisar", - "piscina", - "piso", - "pista", - "pitรณn", - "pizca", - "placa", - "plan", - "plata", - "playa", - "plaza", - "pleito", - "pleno", - "plomo", - "pluma", - "plural", - "pobre", - "poco", - "poder", - "podio", - "poema", - "poesรญa", - "poeta", - "polen", - "policรญa", - "pollo", - "polvo", - "pomada", - "pomelo", - "pomo", - "pompa", - "poner", - "porciรณn", - "portal", - "posada", - "poseer", - "posible", - "poste", - "potencia", - "potro", - "pozo", - "prado", - "precoz", - "pregunta", - "premio", - "prensa", - "preso", - "previo", - "primo", - "prรญncipe", - "prisiรณn", - "privar", - "proa", - "probar", - "proceso", - "producto", - "proeza", - "profesor", - "programa", - "prole", - "promesa", - "pronto", - "propio", - "prรณximo", - "prueba", - "pรบblico", - "puchero", - "pudor", - "pueblo", - "puerta", - "puesto", - "pulga", - "pulir", - "pulmรณn", - "pulpo", - "pulso", - "puma", - "punto", - "puรฑal", - "puรฑo", - "pupa", - "pupila", - "purรฉ", - "quedar", - "queja", - "quemar", - "querer", - "queso", - "quieto", - "quรญmica", - "quince", - "quitar", - "rรกbano", - "rabia", - "rabo", - "raciรณn", - "radical", - "raรญz", - "rama", - "rampa", - "rancho", - "rango", - "rapaz", - "rรกpido", - "rapto", - "rasgo", - "raspa", - "rato", - "rayo", - "raza", - "razรณn", - "reacciรณn", - "realidad", - "rebaรฑo", - "rebote", - "recaer", - "receta", - "rechazo", - "recoger", - "recreo", - "recto", - "recurso", - "red", - "redondo", - "reducir", - "reflejo", - "reforma", - "refrรกn", - "refugio", - "regalo", - "regir", - "regla", - "regreso", - "rehรฉn", - "reino", - "reรญr", - "reja", - "relato", - "relevo", - "relieve", - "relleno", - "reloj", - "remar", - "remedio", - "remo", - "rencor", - "rendir", - "renta", - "reparto", - "repetir", - "reposo", - "reptil", - "res", - "rescate", - "resina", - "respeto", - "resto", - "resumen", - "retiro", - "retorno", - "retrato", - "reunir", - "revรฉs", - "revista", - "rey", - "rezar", - "rico", - "riego", - "rienda", - "riesgo", - "rifa", - "rรญgido", - "rigor", - "rincรณn", - "riรฑรณn", - "rรญo", - "riqueza", - "risa", - "ritmo", - "rito" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "Spanish"; - populate_maps(); - } - }; + class Spanish: public Base + { + public: + Spanish() + { + word_list = new std::vector({ + "รกbaco", + "abdomen", + "abeja", + "abierto", + "abogado", + "abono", + "aborto", + "abrazo", + "abrir", + "abuelo", + "abuso", + "acabar", + "academia", + "acceso", + "acciรณn", + "aceite", + "acelga", + "acento", + "aceptar", + "รกcido", + "aclarar", + "acnรฉ", + "acoger", + "acoso", + "activo", + "acto", + "actriz", + "actuar", + "acudir", + "acuerdo", + "acusar", + "adicto", + "admitir", + "adoptar", + "adorno", + "aduana", + "adulto", + "aรฉreo", + "afectar", + "aficiรณn", + "afinar", + "afirmar", + "รกgil", + "agitar", + "agonรญa", + "agosto", + "agotar", + "agregar", + "agrio", + "agua", + "agudo", + "รกguila", + "aguja", + "ahogo", + "ahorro", + "aire", + "aislar", + "ajedrez", + "ajeno", + "ajuste", + "alacrรกn", + "alambre", + "alarma", + "alba", + "รกlbum", + "alcalde", + "aldea", + "alegre", + "alejar", + "alerta", + "aleta", + "alfiler", + "alga", + "algodรณn", + "aliado", + "aliento", + "alivio", + "alma", + "almeja", + "almรญbar", + "altar", + "alteza", + "altivo", + "alto", + "altura", + "alumno", + "alzar", + "amable", + "amante", + "amapola", + "amargo", + "amasar", + "รกmbar", + "รกmbito", + "ameno", + "amigo", + "amistad", + "amor", + "amparo", + "amplio", + "ancho", + "anciano", + "ancla", + "andar", + "andรฉn", + "anemia", + "รกngulo", + "anillo", + "รกnimo", + "anรญs", + "anotar", + "antena", + "antiguo", + "antojo", + "anual", + "anular", + "anuncio", + "aรฑadir", + "aรฑejo", + "aรฑo", + "apagar", + "aparato", + "apetito", + "apio", + "aplicar", + "apodo", + "aporte", + "apoyo", + "aprender", + "aprobar", + "apuesta", + "apuro", + "arado", + "araรฑa", + "arar", + "รกrbitro", + "รกrbol", + "arbusto", + "archivo", + "arco", + "arder", + "ardilla", + "arduo", + "รกrea", + "รกrido", + "aries", + "armonรญa", + "arnรฉs", + "aroma", + "arpa", + "arpรณn", + "arreglo", + "arroz", + "arruga", + "arte", + "artista", + "asa", + "asado", + "asalto", + "ascenso", + "asegurar", + "aseo", + "asesor", + "asiento", + "asilo", + "asistir", + "asno", + "asombro", + "รกspero", + "astilla", + "astro", + "astuto", + "asumir", + "asunto", + "atajo", + "ataque", + "atar", + "atento", + "ateo", + "รกtico", + "atleta", + "รกtomo", + "atraer", + "atroz", + "atรบn", + "audaz", + "audio", + "auge", + "aula", + "aumento", + "ausente", + "autor", + "aval", + "avance", + "avaro", + "ave", + "avellana", + "avena", + "avestruz", + "aviรณn", + "aviso", + "ayer", + "ayuda", + "ayuno", + "azafrรกn", + "azar", + "azote", + "azรบcar", + "azufre", + "azul", + "baba", + "babor", + "bache", + "bahรญa", + "baile", + "bajar", + "balanza", + "balcรณn", + "balde", + "bambรบ", + "banco", + "banda", + "baรฑo", + "barba", + "barco", + "barniz", + "barro", + "bรกscula", + "bastรณn", + "basura", + "batalla", + "baterรญa", + "batir", + "batuta", + "baรบl", + "bazar", + "bebรฉ", + "bebida", + "bello", + "besar", + "beso", + "bestia", + "bicho", + "bien", + "bingo", + "blanco", + "bloque", + "blusa", + "boa", + "bobina", + "bobo", + "boca", + "bocina", + "boda", + "bodega", + "boina", + "bola", + "bolero", + "bolsa", + "bomba", + "bondad", + "bonito", + "bono", + "bonsรกi", + "borde", + "borrar", + "bosque", + "bote", + "botรญn", + "bรณveda", + "bozal", + "bravo", + "brazo", + "brecha", + "breve", + "brillo", + "brinco", + "brisa", + "broca", + "broma", + "bronce", + "brote", + "bruja", + "brusco", + "bruto", + "buceo", + "bucle", + "bueno", + "buey", + "bufanda", + "bufรณn", + "bรบho", + "buitre", + "bulto", + "burbuja", + "burla", + "burro", + "buscar", + "butaca", + "buzรณn", + "caballo", + "cabeza", + "cabina", + "cabra", + "cacao", + "cadรกver", + "cadena", + "caer", + "cafรฉ", + "caรญda", + "caimรกn", + "caja", + "cajรณn", + "cal", + "calamar", + "calcio", + "caldo", + "calidad", + "calle", + "calma", + "calor", + "calvo", + "cama", + "cambio", + "camello", + "camino", + "campo", + "cรกncer", + "candil", + "canela", + "canguro", + "canica", + "canto", + "caรฑa", + "caรฑรณn", + "caoba", + "caos", + "capaz", + "capitรกn", + "capote", + "captar", + "capucha", + "cara", + "carbรณn", + "cรกrcel", + "careta", + "carga", + "cariรฑo", + "carne", + "carpeta", + "carro", + "carta", + "casa", + "casco", + "casero", + "caspa", + "castor", + "catorce", + "catre", + "caudal", + "causa", + "cazo", + "cebolla", + "ceder", + "cedro", + "celda", + "cรฉlebre", + "celoso", + "cรฉlula", + "cemento", + "ceniza", + "centro", + "cerca", + "cerdo", + "cereza", + "cero", + "cerrar", + "certeza", + "cรฉsped", + "cetro", + "chacal", + "chaleco", + "champรบ", + "chancla", + "chapa", + "charla", + "chico", + "chiste", + "chivo", + "choque", + "choza", + "chuleta", + "chupar", + "ciclรณn", + "ciego", + "cielo", + "cien", + "cierto", + "cifra", + "cigarro", + "cima", + "cinco", + "cine", + "cinta", + "ciprรฉs", + "circo", + "ciruela", + "cisne", + "cita", + "ciudad", + "clamor", + "clan", + "claro", + "clase", + "clave", + "cliente", + "clima", + "clรญnica", + "cobre", + "cocciรณn", + "cochino", + "cocina", + "coco", + "cรณdigo", + "codo", + "cofre", + "coger", + "cohete", + "cojรญn", + "cojo", + "cola", + "colcha", + "colegio", + "colgar", + "colina", + "collar", + "colmo", + "columna", + "combate", + "comer", + "comida", + "cรณmodo", + "compra", + "conde", + "conejo", + "conga", + "conocer", + "consejo", + "contar", + "copa", + "copia", + "corazรณn", + "corbata", + "corcho", + "cordรณn", + "corona", + "correr", + "coser", + "cosmos", + "costa", + "crรกneo", + "crรกter", + "crear", + "crecer", + "creรญdo", + "crema", + "crรญa", + "crimen", + "cripta", + "crisis", + "cromo", + "crรณnica", + "croqueta", + "crudo", + "cruz", + "cuadro", + "cuarto", + "cuatro", + "cubo", + "cubrir", + "cuchara", + "cuello", + "cuento", + "cuerda", + "cuesta", + "cueva", + "cuidar", + "culebra", + "culpa", + "culto", + "cumbre", + "cumplir", + "cuna", + "cuneta", + "cuota", + "cupรณn", + "cรบpula", + "curar", + "curioso", + "curso", + "curva", + "cutis", + "dama", + "danza", + "dar", + "dardo", + "dรกtil", + "deber", + "dรฉbil", + "dรฉcada", + "decir", + "dedo", + "defensa", + "definir", + "dejar", + "delfรญn", + "delgado", + "delito", + "demora", + "denso", + "dental", + "deporte", + "derecho", + "derrota", + "desayuno", + "deseo", + "desfile", + "desnudo", + "destino", + "desvรญo", + "detalle", + "detener", + "deuda", + "dรญa", + "diablo", + "diadema", + "diamante", + "diana", + "diario", + "dibujo", + "dictar", + "diente", + "dieta", + "diez", + "difรญcil", + "digno", + "dilema", + "diluir", + "dinero", + "directo", + "dirigir", + "disco", + "diseรฑo", + "disfraz", + "diva", + "divino", + "doble", + "doce", + "dolor", + "domingo", + "don", + "donar", + "dorado", + "dormir", + "dorso", + "dos", + "dosis", + "dragรณn", + "droga", + "ducha", + "duda", + "duelo", + "dueรฑo", + "dulce", + "dรบo", + "duque", + "durar", + "dureza", + "duro", + "รฉbano", + "ebrio", + "echar", + "eco", + "ecuador", + "edad", + "ediciรณn", + "edificio", + "editor", + "educar", + "efecto", + "eficaz", + "eje", + "ejemplo", + "elefante", + "elegir", + "elemento", + "elevar", + "elipse", + "รฉlite", + "elixir", + "elogio", + "eludir", + "embudo", + "emitir", + "emociรณn", + "empate", + "empeรฑo", + "empleo", + "empresa", + "enano", + "encargo", + "enchufe", + "encรญa", + "enemigo", + "enero", + "enfado", + "enfermo", + "engaรฑo", + "enigma", + "enlace", + "enorme", + "enredo", + "ensayo", + "enseรฑar", + "entero", + "entrar", + "envase", + "envรญo", + "รฉpoca", + "equipo", + "erizo", + "escala", + "escena", + "escolar", + "escribir", + "escudo", + "esencia", + "esfera", + "esfuerzo", + "espada", + "espejo", + "espรญa", + "esposa", + "espuma", + "esquรญ", + "estar", + "este", + "estilo", + "estufa", + "etapa", + "eterno", + "รฉtica", + "etnia", + "evadir", + "evaluar", + "evento", + "evitar", + "exacto", + "examen", + "exceso", + "excusa", + "exento", + "exigir", + "exilio", + "existir", + "รฉxito", + "experto", + "explicar", + "exponer", + "extremo", + "fรกbrica", + "fรกbula", + "fachada", + "fรกcil", + "factor", + "faena", + "faja", + "falda", + "fallo", + "falso", + "faltar", + "fama", + "familia", + "famoso", + "faraรณn", + "farmacia", + "farol", + "farsa", + "fase", + "fatiga", + "fauna", + "favor", + "fax", + "febrero", + "fecha", + "feliz", + "feo", + "feria", + "feroz", + "fรฉrtil", + "fervor", + "festรญn", + "fiable", + "fianza", + "fiar", + "fibra", + "ficciรณn", + "ficha", + "fideo", + "fiebre", + "fiel", + "fiera", + "fiesta", + "figura", + "fijar", + "fijo", + "fila", + "filete", + "filial", + "filtro", + "fin", + "finca", + "fingir", + "finito", + "firma", + "flaco", + "flauta", + "flecha", + "flor", + "flota", + "fluir", + "flujo", + "flรบor", + "fobia", + "foca", + "fogata", + "fogรณn", + "folio", + "folleto", + "fondo", + "forma", + "forro", + "fortuna", + "forzar", + "fosa", + "foto", + "fracaso", + "frรกgil", + "franja", + "frase", + "fraude", + "freรญr", + "freno", + "fresa", + "frรญo", + "frito", + "fruta", + "fuego", + "fuente", + "fuerza", + "fuga", + "fumar", + "funciรณn", + "funda", + "furgรณn", + "furia", + "fusil", + "fรบtbol", + "futuro", + "gacela", + "gafas", + "gaita", + "gajo", + "gala", + "galerรญa", + "gallo", + "gamba", + "ganar", + "gancho", + "ganga", + "ganso", + "garaje", + "garza", + "gasolina", + "gastar", + "gato", + "gavilรกn", + "gemelo", + "gemir", + "gen", + "gรฉnero", + "genio", + "gente", + "geranio", + "gerente", + "germen", + "gesto", + "gigante", + "gimnasio", + "girar", + "giro", + "glaciar", + "globo", + "gloria", + "gol", + "golfo", + "goloso", + "golpe", + "goma", + "gordo", + "gorila", + "gorra", + "gota", + "goteo", + "gozar", + "grada", + "grรกfico", + "grano", + "grasa", + "gratis", + "grave", + "grieta", + "grillo", + "gripe", + "gris", + "grito", + "grosor", + "grรบa", + "grueso", + "grumo", + "grupo", + "guante", + "guapo", + "guardia", + "guerra", + "guรญa", + "guiรฑo", + "guion", + "guiso", + "guitarra", + "gusano", + "gustar", + "haber", + "hรกbil", + "hablar", + "hacer", + "hacha", + "hada", + "hallar", + "hamaca", + "harina", + "haz", + "hazaรฑa", + "hebilla", + "hebra", + "hecho", + "helado", + "helio", + "hembra", + "herir", + "hermano", + "hรฉroe", + "hervir", + "hielo", + "hierro", + "hรญgado", + "higiene", + "hijo", + "himno", + "historia", + "hocico", + "hogar", + "hoguera", + "hoja", + "hombre", + "hongo", + "honor", + "honra", + "hora", + "hormiga", + "horno", + "hostil", + "hoyo", + "hueco", + "huelga", + "huerta", + "hueso", + "huevo", + "huida", + "huir", + "humano", + "hรบmedo", + "humilde", + "humo", + "hundir", + "huracรกn", + "hurto", + "icono", + "ideal", + "idioma", + "รญdolo", + "iglesia", + "iglรบ", + "igual", + "ilegal", + "ilusiรณn", + "imagen", + "imรกn", + "imitar", + "impar", + "imperio", + "imponer", + "impulso", + "incapaz", + "รญndice", + "inerte", + "infiel", + "informe", + "ingenio", + "inicio", + "inmenso", + "inmune", + "innato", + "insecto", + "instante", + "interรฉs", + "รญntimo", + "intuir", + "inรบtil", + "invierno", + "ira", + "iris", + "ironรญa", + "isla", + "islote", + "jabalรญ", + "jabรณn", + "jamรณn", + "jarabe", + "jardรญn", + "jarra", + "jaula", + "jazmรญn", + "jefe", + "jeringa", + "jinete", + "jornada", + "joroba", + "joven", + "joya", + "juerga", + "jueves", + "juez", + "jugador", + "jugo", + "juguete", + "juicio", + "junco", + "jungla", + "junio", + "juntar", + "jรบpiter", + "jurar", + "justo", + "juvenil", + "juzgar", + "kilo", + "koala", + "labio", + "lacio", + "lacra", + "lado", + "ladrรณn", + "lagarto", + "lรกgrima", + "laguna", + "laico", + "lamer", + "lรกmina", + "lรกmpara", + "lana", + "lancha", + "langosta", + "lanza", + "lรกpiz", + "largo", + "larva", + "lรกstima", + "lata", + "lรกtex", + "latir", + "laurel", + "lavar", + "lazo", + "leal", + "lecciรณn", + "leche", + "lector", + "leer", + "legiรณn", + "legumbre", + "lejano", + "lengua", + "lento", + "leรฑa", + "leรณn", + "leopardo", + "lesiรณn", + "letal", + "letra", + "leve", + "leyenda", + "libertad", + "libro", + "licor", + "lรญder", + "lidiar", + "lienzo", + "liga", + "ligero", + "lima", + "lรญmite", + "limรณn", + "limpio", + "lince", + "lindo", + "lรญnea", + "lingote", + "lino", + "linterna", + "lรญquido", + "liso", + "lista", + "litera", + "litio", + "litro", + "llaga", + "llama", + "llanto", + "llave", + "llegar", + "llenar", + "llevar", + "llorar", + "llover", + "lluvia", + "lobo", + "lociรณn", + "loco", + "locura", + "lรณgica", + "logro", + "lombriz", + "lomo", + "lonja", + "lote", + "lucha", + "lucir", + "lugar", + "lujo", + "luna", + "lunes", + "lupa", + "lustro", + "luto", + "luz", + "maceta", + "macho", + "madera", + "madre", + "maduro", + "maestro", + "mafia", + "magia", + "mago", + "maรญz", + "maldad", + "maleta", + "malla", + "malo", + "mamรก", + "mambo", + "mamut", + "manco", + "mando", + "manejar", + "manga", + "maniquรญ", + "manjar", + "mano", + "manso", + "manta", + "maรฑana", + "mapa", + "mรกquina", + "mar", + "marco", + "marea", + "marfil", + "margen", + "marido", + "mรกrmol", + "marrรณn", + "martes", + "marzo", + "masa", + "mรกscara", + "masivo", + "matar", + "materia", + "matiz", + "matriz", + "mรกximo", + "mayor", + "mazorca", + "mecha", + "medalla", + "medio", + "mรฉdula", + "mejilla", + "mejor", + "melena", + "melรณn", + "memoria", + "menor", + "mensaje", + "mente", + "menรบ", + "mercado", + "merengue", + "mรฉrito", + "mes", + "mesรณn", + "meta", + "meter", + "mรฉtodo", + "metro", + "mezcla", + "miedo", + "miel", + "miembro", + "miga", + "mil", + "milagro", + "militar", + "millรณn", + "mimo", + "mina", + "minero", + "mรญnimo", + "minuto", + "miope", + "mirar", + "misa", + "miseria", + "misil", + "mismo", + "mitad", + "mito", + "mochila", + "mociรณn", + "moda", + "modelo", + "moho", + "mojar", + "molde", + "moler", + "molino", + "momento", + "momia", + "monarca", + "moneda", + "monja", + "monto", + "moรฑo", + "morada", + "morder", + "moreno", + "morir", + "morro", + "morsa", + "mortal", + "mosca", + "mostrar", + "motivo", + "mover", + "mรณvil", + "mozo", + "mucho", + "mudar", + "mueble", + "muela", + "muerte", + "muestra", + "mugre", + "mujer", + "mula", + "muleta", + "multa", + "mundo", + "muรฑeca", + "mural", + "muro", + "mรบsculo", + "museo", + "musgo", + "mรบsica", + "muslo", + "nรกcar", + "naciรณn", + "nadar", + "naipe", + "naranja", + "nariz", + "narrar", + "nasal", + "natal", + "nativo", + "natural", + "nรกusea", + "naval", + "nave", + "navidad", + "necio", + "nรฉctar", + "negar", + "negocio", + "negro", + "neรณn", + "nervio", + "neto", + "neutro", + "nevar", + "nevera", + "nicho", + "nido", + "niebla", + "nieto", + "niรฑez", + "niรฑo", + "nรญtido", + "nivel", + "nobleza", + "noche", + "nรณmina", + "noria", + "norma", + "norte", + "nota", + "noticia", + "novato", + "novela", + "novio", + "nube", + "nuca", + "nรบcleo", + "nudillo", + "nudo", + "nuera", + "nueve", + "nuez", + "nulo", + "nรบmero", + "nutria", + "oasis", + "obeso", + "obispo", + "objeto", + "obra", + "obrero", + "observar", + "obtener", + "obvio", + "oca", + "ocaso", + "ocรฉano", + "ochenta", + "ocho", + "ocio", + "ocre", + "octavo", + "octubre", + "oculto", + "ocupar", + "ocurrir", + "odiar", + "odio", + "odisea", + "oeste", + "ofensa", + "oferta", + "oficio", + "ofrecer", + "ogro", + "oรญdo", + "oรญr", + "ojo", + "ola", + "oleada", + "olfato", + "olivo", + "olla", + "olmo", + "olor", + "olvido", + "ombligo", + "onda", + "onza", + "opaco", + "opciรณn", + "รณpera", + "opinar", + "oponer", + "optar", + "รณptica", + "opuesto", + "oraciรณn", + "orador", + "oral", + "รณrbita", + "orca", + "orden", + "oreja", + "รณrgano", + "orgรญa", + "orgullo", + "oriente", + "origen", + "orilla", + "oro", + "orquesta", + "oruga", + "osadรญa", + "oscuro", + "osezno", + "oso", + "ostra", + "otoรฑo", + "otro", + "oveja", + "รณvulo", + "รณxido", + "oxรญgeno", + "oyente", + "ozono", + "pacto", + "padre", + "paella", + "pรกgina", + "pago", + "paรญs", + "pรกjaro", + "palabra", + "palco", + "paleta", + "pรกlido", + "palma", + "paloma", + "palpar", + "pan", + "panal", + "pรกnico", + "pantera", + "paรฑuelo", + "papรก", + "papel", + "papilla", + "paquete", + "parar", + "parcela", + "pared", + "parir", + "paro", + "pรกrpado", + "parque", + "pรกrrafo", + "parte", + "pasar", + "paseo", + "pasiรณn", + "paso", + "pasta", + "pata", + "patio", + "patria", + "pausa", + "pauta", + "pavo", + "payaso", + "peatรณn", + "pecado", + "pecera", + "pecho", + "pedal", + "pedir", + "pegar", + "peine", + "pelar", + "peldaรฑo", + "pelea", + "peligro", + "pellejo", + "pelo", + "peluca", + "pena", + "pensar", + "peรฑรณn", + "peรณn", + "peor", + "pepino", + "pequeรฑo", + "pera", + "percha", + "perder", + "pereza", + "perfil", + "perico", + "perla", + "permiso", + "perro", + "persona", + "pesa", + "pesca", + "pรฉsimo", + "pestaรฑa", + "pรฉtalo", + "petrรณleo", + "pez", + "pezuรฑa", + "picar", + "pichรณn", + "pie", + "piedra", + "pierna", + "pieza", + "pijama", + "pilar", + "piloto", + "pimienta", + "pino", + "pintor", + "pinza", + "piรฑa", + "piojo", + "pipa", + "pirata", + "pisar", + "piscina", + "piso", + "pista", + "pitรณn", + "pizca", + "placa", + "plan", + "plata", + "playa", + "plaza", + "pleito", + "pleno", + "plomo", + "pluma", + "plural", + "pobre", + "poco", + "poder", + "podio", + "poema", + "poesรญa", + "poeta", + "polen", + "policรญa", + "pollo", + "polvo", + "pomada", + "pomelo", + "pomo", + "pompa", + "poner", + "porciรณn", + "portal", + "posada", + "poseer", + "posible", + "poste", + "potencia", + "potro", + "pozo", + "prado", + "precoz", + "pregunta", + "premio", + "prensa", + "preso", + "previo", + "primo", + "prรญncipe", + "prisiรณn", + "privar", + "proa", + "probar", + "proceso", + "producto", + "proeza", + "profesor", + "programa", + "prole", + "promesa", + "pronto", + "propio", + "prรณximo", + "prueba", + "pรบblico", + "puchero", + "pudor", + "pueblo", + "puerta", + "puesto", + "pulga", + "pulir", + "pulmรณn", + "pulpo", + "pulso", + "puma", + "punto", + "puรฑal", + "puรฑo", + "pupa", + "pupila", + "purรฉ", + "quedar", + "queja", + "quemar", + "querer", + "queso", + "quieto", + "quรญmica", + "quince", + "quitar", + "rรกbano", + "rabia", + "rabo", + "raciรณn", + "radical", + "raรญz", + "rama", + "rampa", + "rancho", + "rango", + "rapaz", + "rรกpido", + "rapto", + "rasgo", + "raspa", + "rato", + "rayo", + "raza", + "razรณn", + "reacciรณn", + "realidad", + "rebaรฑo", + "rebote", + "recaer", + "receta", + "rechazo", + "recoger", + "recreo", + "recto", + "recurso", + "red", + "redondo", + "reducir", + "reflejo", + "reforma", + "refrรกn", + "refugio", + "regalo", + "regir", + "regla", + "regreso", + "rehรฉn", + "reino", + "reรญr", + "reja", + "relato", + "relevo", + "relieve", + "relleno", + "reloj", + "remar", + "remedio", + "remo", + "rencor", + "rendir", + "renta", + "reparto", + "repetir", + "reposo", + "reptil", + "res", + "rescate", + "resina", + "respeto", + "resto", + "resumen", + "retiro", + "retorno", + "retrato", + "reunir", + "revรฉs", + "revista", + "rey", + "rezar", + "rico", + "riego", + "rienda", + "riesgo", + "rifa", + "rรญgido", + "rigor", + "rincรณn", + "riรฑรณn", + "rรญo", + "riqueza", + "risa", + "ritmo", + "rito" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "Spanish"; + populate_maps(); + } + }; } #endif \ No newline at end of file -- cgit v1.2.3 From 41948fa2ec845116110a07bee4a35dbb421d1f3e Mon Sep 17 00:00:00 2001 From: Oran Juice Date: Sun, 5 Oct 2014 02:41:15 +0530 Subject: Uses new Japanese file. Gives credit to dabura667. English file indentation tabs to spaces. --- src/mnemonics/english.h | 3278 +++++++++++++++++++++++----------------------- src/mnemonics/japanese.h | 914 ++++++------- 2 files changed, 2096 insertions(+), 2096 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/english.h b/src/mnemonics/english.h index e596f7b03..1b08e08d5 100644 --- a/src/mnemonics/english.h +++ b/src/mnemonics/english.h @@ -47,1645 +47,1645 @@ */ namespace Language { - class English: public Base - { - public: - English() - { - word_list = new std::vector({ - "abandon", - "ability", - "able", - "about", - "above", - "absent", - "absorb", - "abstract", - "absurd", - "abuse", - "access", - "accident", - "account", - "accuse", - "achieve", - "acid", - "acoustic", - "acquire", - "across", - "act", - "action", - "actor", - "actress", - "actual", - "adapt", - "add", - "addict", - "address", - "adjust", - "admit", - "adult", - "advance", - "advice", - "aerobic", - "affair", - "afford", - "afraid", - "again", - "age", - "agent", - "agree", - "ahead", - "aim", - "air", - "airport", - "aisle", - "alarm", - "album", - "alcohol", - "alert", - "alien", - "all", - "alley", - "allow", - "almost", - "alone", - "alpha", - "already", - "also", - "alter", - "always", - "amateur", - "amazing", - "among", - "amount", - "amused", - "analyst", - "anchor", - "ancient", - "anger", - "angle", - "angry", - "animal", - "ankle", - "announce", - "annual", - "another", - "answer", - "antenna", - "antique", - "anxiety", - "any", - "apart", - "apology", - "appear", - "apple", - "approve", - "april", - "arch", - "arctic", - "area", - "arena", - "argue", - "arm", - "armed", - "armor", - "army", - "around", - "arrange", - "arrest", - "arrive", - "arrow", - "art", - "artefact", - "artist", - "artwork", - "ask", - "aspect", - "assault", - "asset", - "assist", - "assume", - "asthma", - "athlete", - "atom", - "attack", - "attend", - "attitude", - "attract", - "auction", - "audit", - "august", - "aunt", - "author", - "auto", - "autumn", - "average", - "avocado", - "avoid", - "awake", - "aware", - "away", - "awesome", - "awful", - "awkward", - "axis", - "baby", - "bachelor", - "bacon", - "badge", - "bag", - "balance", - "balcony", - "ball", - "bamboo", - "banana", - "banner", - "bar", - "barely", - "bargain", - "barrel", - "base", - "basic", - "basket", - "battle", - "beach", - "bean", - "beauty", - "because", - "become", - "beef", - "before", - "begin", - "behave", - "behind", - "believe", - "below", - "belt", - "bench", - "benefit", - "best", - "betray", - "better", - "between", - "beyond", - "bicycle", - "bid", - "bike", - "bind", - "biology", - "bird", - "birth", - "bitter", - "black", - "blade", - "blame", - "blanket", - "blast", - "bleak", - "bless", - "blind", - "blood", - "blossom", - "blouse", - "blue", - "blur", - "blush", - "board", - "boat", - "body", - "boil", - "bomb", - "bone", - "bonus", - "book", - "boost", - "border", - "boring", - "borrow", - "boss", - "bottom", - "bounce", - "box", - "boy", - "bracket", - "brain", - "brand", - "brass", - "brave", - "bread", - "breeze", - "brick", - "bridge", - "brief", - "bright", - "bring", - "brisk", - "broccoli", - "broken", - "bronze", - "broom", - "brother", - "brown", - "brush", - "bubble", - "buddy", - "budget", - "buffalo", - "build", - "bulb", - "bulk", - "bullet", - "bundle", - "bunker", - "burden", - "burger", - "burst", - "bus", - "business", - "busy", - "butter", - "buyer", - "buzz", - "cabbage", - "cabin", - "cable", - "cactus", - "cage", - "cake", - "call", - "calm", - "camera", - "camp", - "can", - "canal", - "cancel", - "candy", - "cannon", - "canoe", - "canvas", - "canyon", - "capable", - "capital", - "captain", - "car", - "carbon", - "card", - "cargo", - "carpet", - "carry", - "cart", - "case", - "cash", - "casino", - "castle", - "casual", - "cat", - "catalog", - "catch", - "category", - "cattle", - "caught", - "cause", - "caution", - "cave", - "ceiling", - "celery", - "cement", - "census", - "century", - "cereal", - "certain", - "chair", - "chalk", - "champion", - "change", - "chaos", - "chapter", - "charge", - "chase", - "chat", - "cheap", - "check", - "cheese", - "chef", - "cherry", - "chest", - "chicken", - "chief", - "child", - "chimney", - "choice", - "choose", - "chronic", - "chuckle", - "chunk", - "churn", - "cigar", - "cinnamon", - "circle", - "citizen", - "city", - "civil", - "claim", - "clap", - "clarify", - "claw", - "clay", - "clean", - "clerk", - "clever", - "click", - "client", - "cliff", - "climb", - "clinic", - "clip", - "clock", - "clog", - "close", - "cloth", - "cloud", - "clown", - "club", - "clump", - "cluster", - "clutch", - "coach", - "coast", - "coconut", - "code", - "coffee", - "coil", - "coin", - "collect", - "color", - "column", - "combine", - "come", - "comfort", - "comic", - "common", - "company", - "concert", - "conduct", - "confirm", - "congress", - "connect", - "consider", - "control", - "convince", - "cook", - "cool", - "copper", - "copy", - "coral", - "core", - "corn", - "correct", - "cost", - "cotton", - "couch", - "country", - "couple", - "course", - "cousin", - "cover", - "coyote", - "crack", - "cradle", - "craft", - "cram", - "crane", - "crash", - "crater", - "crawl", - "crazy", - "cream", - "credit", - "creek", - "crew", - "cricket", - "crime", - "crisp", - "critic", - "crop", - "cross", - "crouch", - "crowd", - "crucial", - "cruel", - "cruise", - "crumble", - "crunch", - "crush", - "cry", - "crystal", - "cube", - "culture", - "cup", - "cupboard", - "curious", - "current", - "curtain", - "curve", - "cushion", - "custom", - "cute", - "cycle", - "dad", - "damage", - "damp", - "dance", - "danger", - "daring", - "dash", - "daughter", - "dawn", - "day", - "deal", - "debate", - "debris", - "decade", - "december", - "decide", - "decline", - "decorate", - "decrease", - "deer", - "defense", - "define", - "defy", - "degree", - "delay", - "deliver", - "demand", - "demise", - "denial", - "dentist", - "deny", - "depart", - "depend", - "deposit", - "depth", - "deputy", - "derive", - "describe", - "desert", - "design", - "desk", - "despair", - "destroy", - "detail", - "detect", - "develop", - "device", - "devote", - "diagram", - "dial", - "diamond", - "diary", - "dice", - "diesel", - "diet", - "differ", - "digital", - "dignity", - "dilemma", - "dinner", - "dinosaur", - "direct", - "dirt", - "disagree", - "discover", - "disease", - "dish", - "dismiss", - "disorder", - "display", - "distance", - "divert", - "divide", - "divorce", - "dizzy", - "doctor", - "document", - "dog", - "doll", - "dolphin", - "domain", - "donate", - "donkey", - "donor", - "door", - "dose", - "double", - "dove", - "draft", - "dragon", - "drama", - "drastic", - "draw", - "dream", - "dress", - "drift", - "drill", - "drink", - "drip", - "drive", - "drop", - "drum", - "dry", - "duck", - "dumb", - "dune", - "during", - "dust", - "dutch", - "duty", - "dwarf", - "dynamic", - "eager", - "eagle", - "early", - "earn", - "earth", - "easily", - "east", - "easy", - "echo", - "ecology", - "economy", - "edge", - "edit", - "educate", - "effort", - "egg", - "eight", - "either", - "elbow", - "elder", - "electric", - "elegant", - "element", - "elephant", - "elevator", - "elite", - "else", - "embark", - "embody", - "embrace", - "emerge", - "emotion", - "employ", - "empower", - "empty", - "enable", - "enact", - "end", - "endless", - "endorse", - "enemy", - "energy", - "enforce", - "engage", - "engine", - "enhance", - "enjoy", - "enlist", - "enough", - "enrich", - "enroll", - "ensure", - "enter", - "entire", - "entry", - "envelope", - "episode", - "equal", - "equip", - "era", - "erase", - "erode", - "erosion", - "error", - "erupt", - "escape", - "essay", - "essence", - "estate", - "eternal", - "ethics", - "evidence", - "evil", - "evoke", - "evolve", - "exact", - "example", - "excess", - "exchange", - "excite", - "exclude", - "excuse", - "execute", - "exercise", - "exhaust", - "exhibit", - "exile", - "exist", - "exit", - "exotic", - "expand", - "expect", - "expire", - "explain", - "expose", - "express", - "extend", - "extra", - "eye", - "eyebrow", - "fabric", - "face", - "faculty", - "fade", - "faint", - "faith", - "fall", - "false", - "fame", - "family", - "famous", - "fan", - "fancy", - "fantasy", - "farm", - "fashion", - "fat", - "fatal", - "father", - "fatigue", - "fault", - "favorite", - "feature", - "february", - "federal", - "fee", - "feed", - "feel", - "female", - "fence", - "festival", - "fetch", - "fever", - "few", - "fiber", - "fiction", - "field", - "figure", - "file", - "film", - "filter", - "final", - "find", - "fine", - "finger", - "finish", - "fire", - "firm", - "first", - "fiscal", - "fish", - "fit", - "fitness", - "fix", - "flag", - "flame", - "flash", - "flat", - "flavor", - "flee", - "flight", - "flip", - "float", - "flock", - "floor", - "flower", - "fluid", - "flush", - "fly", - "foam", - "focus", - "fog", - "foil", - "fold", - "follow", - "food", - "foot", - "force", - "forest", - "forget", - "fork", - "fortune", - "forum", - "forward", - "fossil", - "foster", - "found", - "fox", - "fragile", - "frame", - "frequent", - "fresh", - "friend", - "fringe", - "frog", - "front", - "frost", - "frown", - "frozen", - "fruit", - "fuel", - "fun", - "funny", - "furnace", - "fury", - "future", - "gadget", - "gain", - "galaxy", - "gallery", - "game", - "gap", - "garage", - "garbage", - "garden", - "garlic", - "garment", - "gas", - "gasp", - "gate", - "gather", - "gauge", - "gaze", - "general", - "genius", - "genre", - "gentle", - "genuine", - "gesture", - "ghost", - "giant", - "gift", - "giggle", - "ginger", - "giraffe", - "girl", - "give", - "glad", - "glance", - "glare", - "glass", - "glide", - "glimpse", - "globe", - "gloom", - "glory", - "glove", - "glow", - "glue", - "goat", - "goddess", - "gold", - "good", - "goose", - "gorilla", - "gospel", - "gossip", - "govern", - "gown", - "grab", - "grace", - "grain", - "grant", - "grape", - "grass", - "gravity", - "great", - "green", - "grid", - "grief", - "grit", - "grocery", - "group", - "grow", - "grunt", - "guard", - "guess", - "guide", - "guilt", - "guitar", - "gun", - "gym", - "habit", - "hair", - "half", - "hammer", - "hamster", - "hand", - "happy", - "harbor", - "hard", - "harsh", - "harvest", - "hat", - "have", - "hawk", - "hazard", - "head", - "health", - "heart", - "heavy", - "hedgehog", - "height", - "hello", - "helmet", - "help", - "hen", - "hero", - "hidden", - "high", - "hill", - "hint", - "hip", - "hire", - "history", - "hobby", - "hockey", - "hold", - "hole", - "holiday", - "hollow", - "home", - "honey", - "hood", - "hope", - "horn", - "horror", - "horse", - "hospital", - "host", - "hotel", - "hour", - "hover", - "hub", - "huge", - "human", - "humble", - "humor", - "hundred", - "hungry", - "hunt", - "hurdle", - "hurry", - "hurt", - "husband", - "hybrid", - "ice", - "icon", - "idea", - "identify", - "idle", - "ignore", - "ill", - "illegal", - "illness", - "image", - "imitate", - "immense", - "immune", - "impact", - "impose", - "improve", - "impulse", - "inch", - "include", - "income", - "increase", - "index", - "indicate", - "indoor", - "industry", - "infant", - "inflict", - "inform", - "inhale", - "inherit", - "initial", - "inject", - "injury", - "inmate", - "inner", - "innocent", - "input", - "inquiry", - "insane", - "insect", - "inside", - "inspire", - "install", - "intact", - "interest", - "into", - "invest", - "invite", - "involve", - "iron", - "island", - "isolate", - "issue", - "item", - "ivory", - "jacket", - "jaguar", - "jar", - "jazz", - "jealous", - "jeans", - "jelly", - "jewel", - "job", - "join", - "joke", - "journey", - "joy", - "judge", - "juice", - "jump", - "jungle", - "junior", - "junk", - "just", - "kangaroo", - "keen", - "keep", - "ketchup", - "key", - "kick", - "kid", - "kidney", - "kind", - "kingdom", - "kiss", - "kit", - "kitchen", - "kite", - "kitten", - "kiwi", - "knee", - "knife", - "knock", - "know", - "lab", - "label", - "labor", - "ladder", - "lady", - "lake", - "lamp", - "language", - "laptop", - "large", - "later", - "latin", - "laugh", - "laundry", - "lava", - "law", - "lawn", - "lawsuit", - "layer", - "lazy", - "leader", - "leaf", - "learn", - "leave", - "lecture", - "left", - "leg", - "legal", - "legend", - "leisure", - "lemon", - "lend", - "length", - "lens", - "leopard", - "lesson", - "letter", - "level", - "liar", - "liberty", - "library", - "license", - "life", - "lift", - "light", - "like", - "limb", - "limit", - "link", - "lion", - "liquid", - "list", - "little", - "live", - "lizard", - "load", - "loan", - "lobster", - "local", - "lock", - "logic", - "lonely", - "long", - "loop", - "lottery", - "loud", - "lounge", - "love", - "loyal", - "lucky", - "luggage", - "lumber", - "lunar", - "lunch", - "luxury", - "lyrics", - "machine", - "mad", - "magic", - "magnet", - "maid", - "mail", - "main", - "major", - "make", - "mammal", - "man", - "manage", - "mandate", - "mango", - "mansion", - "manual", - "maple", - "marble", - "march", - "margin", - "marine", - "market", - "marriage", - "mask", - "mass", - "master", - "match", - "material", - "math", - "matrix", - "matter", - "maximum", - "maze", - "meadow", - "mean", - "measure", - "meat", - "mechanic", - "medal", - "media", - "melody", - "melt", - "member", - "memory", - "mention", - "menu", - "mercy", - "merge", - "merit", - "merry", - "mesh", - "message", - "metal", - "method", - "middle", - "midnight", - "milk", - "million", - "mimic", - "mind", - "minimum", - "minor", - "minute", - "miracle", - "mirror", - "misery", - "miss", - "mistake", - "mix", - "mixed", - "mixture", - "mobile", - "model", - "modify", - "mom", - "moment", - "monitor", - "monkey", - "monster", - "month", - "moon", - "moral", - "more", - "morning", - "mosquito", - "mother", - "motion", - "motor", - "mountain", - "mouse", - "move", - "movie", - "much", - "muffin", - "mule", - "multiply", - "muscle", - "museum", - "mushroom", - "music", - "must", - "mutual", - "myself", - "mystery", - "myth", - "naive", - "name", - "napkin", - "narrow", - "nasty", - "nation", - "nature", - "near", - "neck", - "need", - "negative", - "neglect", - "neither", - "nephew", - "nerve", - "nest", - "net", - "network", - "neutral", - "never", - "news", - "next", - "nice", - "night", - "noble", - "noise", - "nominee", - "noodle", - "normal", - "north", - "nose", - "notable", - "note", - "nothing", - "notice", - "novel", - "now", - "nuclear", - "number", - "nurse", - "nut", - "oak", - "obey", - "object", - "oblige", - "obscure", - "observe", - "obtain", - "obvious", - "occur", - "ocean", - "october", - "odor", - "off", - "offer", - "office", - "often", - "oil", - "okay", - "old", - "olive", - "olympic", - "omit", - "once", - "one", - "onion", - "online", - "only", - "open", - "opera", - "opinion", - "oppose", - "option", - "orange", - "orbit", - "orchard", - "order", - "ordinary", - "organ", - "orient", - "original", - "orphan", - "ostrich", - "other", - "outdoor", - "outer", - "output", - "outside", - "oval", - "oven", - "over", - "own", - "owner", - "oxygen", - "oyster", - "ozone", - "pact", - "paddle", - "page", - "pair", - "palace", - "palm", - "panda", - "panel", - "panic", - "panther", - "paper", - "parade", - "parent", - "park", - "parrot", - "party", - "pass", - "patch", - "path", - "patient", - "patrol", - "pattern", - "pause", - "pave", - "payment", - "peace", - "peanut", - "pear", - "peasant", - "pelican", - "pen", - "penalty", - "pencil", - "people", - "pepper", - "perfect", - "permit", - "person", - "pet", - "phone", - "photo", - "phrase", - "physical", - "piano", - "picnic", - "picture", - "piece", - "pig", - "pigeon", - "pill", - "pilot", - "pink", - "pioneer", - "pipe", - "pistol", - "pitch", - "pizza", - "place", - "planet", - "plastic", - "plate", - "play", - "please", - "pledge", - "pluck", - "plug", - "plunge", - "poem", - "poet", - "point", - "polar", - "pole", - "police", - "pond", - "pony", - "pool", - "popular", - "portion", - "position", - "possible", - "post", - "potato", - "pottery", - "poverty", - "powder", - "power", - "practice", - "praise", - "predict", - "prefer", - "prepare", - "present", - "pretty", - "prevent", - "price", - "pride", - "primary", - "print", - "priority", - "prison", - "private", - "prize", - "problem", - "process", - "produce", - "profit", - "program", - "project", - "promote", - "proof", - "property", - "prosper", - "protect", - "proud", - "provide", - "public", - "pudding", - "pull", - "pulp", - "pulse", - "pumpkin", - "punch", - "pupil", - "puppy", - "purchase", - "purity", - "purpose", - "purse", - "push", - "put", - "puzzle", - "pyramid", - "quality", - "quantum", - "quarter", - "question", - "quick", - "quit", - "quiz", - "quote", - "rabbit", - "raccoon", - "race", - "rack", - "radar", - "radio", - "rail", - "rain", - "raise", - "rally", - "ramp", - "ranch", - "random", - "range", - "rapid", - "rare", - "rate", - "rather", - "raven", - "raw", - "razor", - "ready", - "real", - "reason", - "rebel", - "rebuild", - "recall", - "receive", - "recipe", - "record", - "recycle", - "reduce", - "reflect", - "reform", - "refuse", - "region", - "regret", - "regular", - "reject", - "relax", - "release", - "relief", - "rely", - "remain", - "remember", - "remind", - "remove", - "render", - "renew", - "rent", - "reopen", - "repair", - "repeat", - "replace", - "report", - "require", - "rescue", - "resemble", - "resist", - "resource", - "response", - "result", - "retire", - "retreat", - "return", - "reunion", - "reveal", - "review", - "reward", - "rhythm", - "rib", - "ribbon", - "rice", - "rich", - "ride", - "ridge", - "rifle", - "right", - "rigid", - "ring", - "riot", - "ripple", - "risk", - "ritual", - "rival", - "river", - "road", - "roast", - "robot", - "robust", - "rocket", - "romance", - "roof", - "rookie", - "room", - "rose", - "rotate", - "rough", - "round", - "route", - "royal", - "rubber", - "rude", - "rug", - "rule", - "run", - "runway", - "rural", - "sad", - "saddle", - "sadness", - "safe", - "sail", - "salad", - "salmon", - "salon", - "salt", - "salute", - "same", - "sample", - "sand", - "satisfy", - "satoshi", - "sauce", - "sausage", - "save", - "say", - "scale", - "scan", - "scare", - "scatter", - "scene", - "scheme", - "school", - "science", - "scissors", - "scorpion", - "scout", - "scrap", - "screen", - "script", - "scrub", - "sea", - "search", - "season", - "seat", - "second", - "secret", - "section", - "security", - "seed", - "seek", - "segment", - "select", - "sell", - "seminar", - "senior", - "sense", - "sentence", - "series", - "service", - "session", - "settle", - "setup", - "seven", - "shadow", - "shaft", - "shallow", - "share", - "shed", - "shell", - "sheriff", - "shield", - "shift", - "shine", - "ship", - "shiver", - "shock", - "shoe", - "shoot", - "shop", - "short", - "shoulder", - "shove", - "shrimp", - "shrug", - "shuffle", - "shy", - "sibling", - "sick", - "side", - "siege", - "sight", - "sign", - "silent", - "silk", - "silly", - "silver", - "similar", - "simple", - "since", - "sing", - "siren", - "sister", - "situate", - "six", - "size", - "skate", - "sketch", - "ski", - "skill", - "skin", - "skirt", - "skull", - "slab", - "slam", - "sleep" - }); - word_map = new std::unordered_map; - trimmed_word_map = new std::unordered_map; - language_name = "English"; - populate_maps(); - } - }; + class English: public Base + { + public: + English() + { + word_list = new std::vector({ + "abandon", + "ability", + "able", + "about", + "above", + "absent", + "absorb", + "abstract", + "absurd", + "abuse", + "access", + "accident", + "account", + "accuse", + "achieve", + "acid", + "acoustic", + "acquire", + "across", + "act", + "action", + "actor", + "actress", + "actual", + "adapt", + "add", + "addict", + "address", + "adjust", + "admit", + "adult", + "advance", + "advice", + "aerobic", + "affair", + "afford", + "afraid", + "again", + "age", + "agent", + "agree", + "ahead", + "aim", + "air", + "airport", + "aisle", + "alarm", + "album", + "alcohol", + "alert", + "alien", + "all", + "alley", + "allow", + "almost", + "alone", + "alpha", + "already", + "also", + "alter", + "always", + "amateur", + "amazing", + "among", + "amount", + "amused", + "analyst", + "anchor", + "ancient", + "anger", + "angle", + "angry", + "animal", + "ankle", + "announce", + "annual", + "another", + "answer", + "antenna", + "antique", + "anxiety", + "any", + "apart", + "apology", + "appear", + "apple", + "approve", + "april", + "arch", + "arctic", + "area", + "arena", + "argue", + "arm", + "armed", + "armor", + "army", + "around", + "arrange", + "arrest", + "arrive", + "arrow", + "art", + "artefact", + "artist", + "artwork", + "ask", + "aspect", + "assault", + "asset", + "assist", + "assume", + "asthma", + "athlete", + "atom", + "attack", + "attend", + "attitude", + "attract", + "auction", + "audit", + "august", + "aunt", + "author", + "auto", + "autumn", + "average", + "avocado", + "avoid", + "awake", + "aware", + "away", + "awesome", + "awful", + "awkward", + "axis", + "baby", + "bachelor", + "bacon", + "badge", + "bag", + "balance", + "balcony", + "ball", + "bamboo", + "banana", + "banner", + "bar", + "barely", + "bargain", + "barrel", + "base", + "basic", + "basket", + "battle", + "beach", + "bean", + "beauty", + "because", + "become", + "beef", + "before", + "begin", + "behave", + "behind", + "believe", + "below", + "belt", + "bench", + "benefit", + "best", + "betray", + "better", + "between", + "beyond", + "bicycle", + "bid", + "bike", + "bind", + "biology", + "bird", + "birth", + "bitter", + "black", + "blade", + "blame", + "blanket", + "blast", + "bleak", + "bless", + "blind", + "blood", + "blossom", + "blouse", + "blue", + "blur", + "blush", + "board", + "boat", + "body", + "boil", + "bomb", + "bone", + "bonus", + "book", + "boost", + "border", + "boring", + "borrow", + "boss", + "bottom", + "bounce", + "box", + "boy", + "bracket", + "brain", + "brand", + "brass", + "brave", + "bread", + "breeze", + "brick", + "bridge", + "brief", + "bright", + "bring", + "brisk", + "broccoli", + "broken", + "bronze", + "broom", + "brother", + "brown", + "brush", + "bubble", + "buddy", + "budget", + "buffalo", + "build", + "bulb", + "bulk", + "bullet", + "bundle", + "bunker", + "burden", + "burger", + "burst", + "bus", + "business", + "busy", + "butter", + "buyer", + "buzz", + "cabbage", + "cabin", + "cable", + "cactus", + "cage", + "cake", + "call", + "calm", + "camera", + "camp", + "can", + "canal", + "cancel", + "candy", + "cannon", + "canoe", + "canvas", + "canyon", + "capable", + "capital", + "captain", + "car", + "carbon", + "card", + "cargo", + "carpet", + "carry", + "cart", + "case", + "cash", + "casino", + "castle", + "casual", + "cat", + "catalog", + "catch", + "category", + "cattle", + "caught", + "cause", + "caution", + "cave", + "ceiling", + "celery", + "cement", + "census", + "century", + "cereal", + "certain", + "chair", + "chalk", + "champion", + "change", + "chaos", + "chapter", + "charge", + "chase", + "chat", + "cheap", + "check", + "cheese", + "chef", + "cherry", + "chest", + "chicken", + "chief", + "child", + "chimney", + "choice", + "choose", + "chronic", + "chuckle", + "chunk", + "churn", + "cigar", + "cinnamon", + "circle", + "citizen", + "city", + "civil", + "claim", + "clap", + "clarify", + "claw", + "clay", + "clean", + "clerk", + "clever", + "click", + "client", + "cliff", + "climb", + "clinic", + "clip", + "clock", + "clog", + "close", + "cloth", + "cloud", + "clown", + "club", + "clump", + "cluster", + "clutch", + "coach", + "coast", + "coconut", + "code", + "coffee", + "coil", + "coin", + "collect", + "color", + "column", + "combine", + "come", + "comfort", + "comic", + "common", + "company", + "concert", + "conduct", + "confirm", + "congress", + "connect", + "consider", + "control", + "convince", + "cook", + "cool", + "copper", + "copy", + "coral", + "core", + "corn", + "correct", + "cost", + "cotton", + "couch", + "country", + "couple", + "course", + "cousin", + "cover", + "coyote", + "crack", + "cradle", + "craft", + "cram", + "crane", + "crash", + "crater", + "crawl", + "crazy", + "cream", + "credit", + "creek", + "crew", + "cricket", + "crime", + "crisp", + "critic", + "crop", + "cross", + "crouch", + "crowd", + "crucial", + "cruel", + "cruise", + "crumble", + "crunch", + "crush", + "cry", + "crystal", + "cube", + "culture", + "cup", + "cupboard", + "curious", + "current", + "curtain", + "curve", + "cushion", + "custom", + "cute", + "cycle", + "dad", + "damage", + "damp", + "dance", + "danger", + "daring", + "dash", + "daughter", + "dawn", + "day", + "deal", + "debate", + "debris", + "decade", + "december", + "decide", + "decline", + "decorate", + "decrease", + "deer", + "defense", + "define", + "defy", + "degree", + "delay", + "deliver", + "demand", + "demise", + "denial", + "dentist", + "deny", + "depart", + "depend", + "deposit", + "depth", + "deputy", + "derive", + "describe", + "desert", + "design", + "desk", + "despair", + "destroy", + "detail", + "detect", + "develop", + "device", + "devote", + "diagram", + "dial", + "diamond", + "diary", + "dice", + "diesel", + "diet", + "differ", + "digital", + "dignity", + "dilemma", + "dinner", + "dinosaur", + "direct", + "dirt", + "disagree", + "discover", + "disease", + "dish", + "dismiss", + "disorder", + "display", + "distance", + "divert", + "divide", + "divorce", + "dizzy", + "doctor", + "document", + "dog", + "doll", + "dolphin", + "domain", + "donate", + "donkey", + "donor", + "door", + "dose", + "double", + "dove", + "draft", + "dragon", + "drama", + "drastic", + "draw", + "dream", + "dress", + "drift", + "drill", + "drink", + "drip", + "drive", + "drop", + "drum", + "dry", + "duck", + "dumb", + "dune", + "during", + "dust", + "dutch", + "duty", + "dwarf", + "dynamic", + "eager", + "eagle", + "early", + "earn", + "earth", + "easily", + "east", + "easy", + "echo", + "ecology", + "economy", + "edge", + "edit", + "educate", + "effort", + "egg", + "eight", + "either", + "elbow", + "elder", + "electric", + "elegant", + "element", + "elephant", + "elevator", + "elite", + "else", + "embark", + "embody", + "embrace", + "emerge", + "emotion", + "employ", + "empower", + "empty", + "enable", + "enact", + "end", + "endless", + "endorse", + "enemy", + "energy", + "enforce", + "engage", + "engine", + "enhance", + "enjoy", + "enlist", + "enough", + "enrich", + "enroll", + "ensure", + "enter", + "entire", + "entry", + "envelope", + "episode", + "equal", + "equip", + "era", + "erase", + "erode", + "erosion", + "error", + "erupt", + "escape", + "essay", + "essence", + "estate", + "eternal", + "ethics", + "evidence", + "evil", + "evoke", + "evolve", + "exact", + "example", + "excess", + "exchange", + "excite", + "exclude", + "excuse", + "execute", + "exercise", + "exhaust", + "exhibit", + "exile", + "exist", + "exit", + "exotic", + "expand", + "expect", + "expire", + "explain", + "expose", + "express", + "extend", + "extra", + "eye", + "eyebrow", + "fabric", + "face", + "faculty", + "fade", + "faint", + "faith", + "fall", + "false", + "fame", + "family", + "famous", + "fan", + "fancy", + "fantasy", + "farm", + "fashion", + "fat", + "fatal", + "father", + "fatigue", + "fault", + "favorite", + "feature", + "february", + "federal", + "fee", + "feed", + "feel", + "female", + "fence", + "festival", + "fetch", + "fever", + "few", + "fiber", + "fiction", + "field", + "figure", + "file", + "film", + "filter", + "final", + "find", + "fine", + "finger", + "finish", + "fire", + "firm", + "first", + "fiscal", + "fish", + "fit", + "fitness", + "fix", + "flag", + "flame", + "flash", + "flat", + "flavor", + "flee", + "flight", + "flip", + "float", + "flock", + "floor", + "flower", + "fluid", + "flush", + "fly", + "foam", + "focus", + "fog", + "foil", + "fold", + "follow", + "food", + "foot", + "force", + "forest", + "forget", + "fork", + "fortune", + "forum", + "forward", + "fossil", + "foster", + "found", + "fox", + "fragile", + "frame", + "frequent", + "fresh", + "friend", + "fringe", + "frog", + "front", + "frost", + "frown", + "frozen", + "fruit", + "fuel", + "fun", + "funny", + "furnace", + "fury", + "future", + "gadget", + "gain", + "galaxy", + "gallery", + "game", + "gap", + "garage", + "garbage", + "garden", + "garlic", + "garment", + "gas", + "gasp", + "gate", + "gather", + "gauge", + "gaze", + "general", + "genius", + "genre", + "gentle", + "genuine", + "gesture", + "ghost", + "giant", + "gift", + "giggle", + "ginger", + "giraffe", + "girl", + "give", + "glad", + "glance", + "glare", + "glass", + "glide", + "glimpse", + "globe", + "gloom", + "glory", + "glove", + "glow", + "glue", + "goat", + "goddess", + "gold", + "good", + "goose", + "gorilla", + "gospel", + "gossip", + "govern", + "gown", + "grab", + "grace", + "grain", + "grant", + "grape", + "grass", + "gravity", + "great", + "green", + "grid", + "grief", + "grit", + "grocery", + "group", + "grow", + "grunt", + "guard", + "guess", + "guide", + "guilt", + "guitar", + "gun", + "gym", + "habit", + "hair", + "half", + "hammer", + "hamster", + "hand", + "happy", + "harbor", + "hard", + "harsh", + "harvest", + "hat", + "have", + "hawk", + "hazard", + "head", + "health", + "heart", + "heavy", + "hedgehog", + "height", + "hello", + "helmet", + "help", + "hen", + "hero", + "hidden", + "high", + "hill", + "hint", + "hip", + "hire", + "history", + "hobby", + "hockey", + "hold", + "hole", + "holiday", + "hollow", + "home", + "honey", + "hood", + "hope", + "horn", + "horror", + "horse", + "hospital", + "host", + "hotel", + "hour", + "hover", + "hub", + "huge", + "human", + "humble", + "humor", + "hundred", + "hungry", + "hunt", + "hurdle", + "hurry", + "hurt", + "husband", + "hybrid", + "ice", + "icon", + "idea", + "identify", + "idle", + "ignore", + "ill", + "illegal", + "illness", + "image", + "imitate", + "immense", + "immune", + "impact", + "impose", + "improve", + "impulse", + "inch", + "include", + "income", + "increase", + "index", + "indicate", + "indoor", + "industry", + "infant", + "inflict", + "inform", + "inhale", + "inherit", + "initial", + "inject", + "injury", + "inmate", + "inner", + "innocent", + "input", + "inquiry", + "insane", + "insect", + "inside", + "inspire", + "install", + "intact", + "interest", + "into", + "invest", + "invite", + "involve", + "iron", + "island", + "isolate", + "issue", + "item", + "ivory", + "jacket", + "jaguar", + "jar", + "jazz", + "jealous", + "jeans", + "jelly", + "jewel", + "job", + "join", + "joke", + "journey", + "joy", + "judge", + "juice", + "jump", + "jungle", + "junior", + "junk", + "just", + "kangaroo", + "keen", + "keep", + "ketchup", + "key", + "kick", + "kid", + "kidney", + "kind", + "kingdom", + "kiss", + "kit", + "kitchen", + "kite", + "kitten", + "kiwi", + "knee", + "knife", + "knock", + "know", + "lab", + "label", + "labor", + "ladder", + "lady", + "lake", + "lamp", + "language", + "laptop", + "large", + "later", + "latin", + "laugh", + "laundry", + "lava", + "law", + "lawn", + "lawsuit", + "layer", + "lazy", + "leader", + "leaf", + "learn", + "leave", + "lecture", + "left", + "leg", + "legal", + "legend", + "leisure", + "lemon", + "lend", + "length", + "lens", + "leopard", + "lesson", + "letter", + "level", + "liar", + "liberty", + "library", + "license", + "life", + "lift", + "light", + "like", + "limb", + "limit", + "link", + "lion", + "liquid", + "list", + "little", + "live", + "lizard", + "load", + "loan", + "lobster", + "local", + "lock", + "logic", + "lonely", + "long", + "loop", + "lottery", + "loud", + "lounge", + "love", + "loyal", + "lucky", + "luggage", + "lumber", + "lunar", + "lunch", + "luxury", + "lyrics", + "machine", + "mad", + "magic", + "magnet", + "maid", + "mail", + "main", + "major", + "make", + "mammal", + "man", + "manage", + "mandate", + "mango", + "mansion", + "manual", + "maple", + "marble", + "march", + "margin", + "marine", + "market", + "marriage", + "mask", + "mass", + "master", + "match", + "material", + "math", + "matrix", + "matter", + "maximum", + "maze", + "meadow", + "mean", + "measure", + "meat", + "mechanic", + "medal", + "media", + "melody", + "melt", + "member", + "memory", + "mention", + "menu", + "mercy", + "merge", + "merit", + "merry", + "mesh", + "message", + "metal", + "method", + "middle", + "midnight", + "milk", + "million", + "mimic", + "mind", + "minimum", + "minor", + "minute", + "miracle", + "mirror", + "misery", + "miss", + "mistake", + "mix", + "mixed", + "mixture", + "mobile", + "model", + "modify", + "mom", + "moment", + "monitor", + "monkey", + "monster", + "month", + "moon", + "moral", + "more", + "morning", + "mosquito", + "mother", + "motion", + "motor", + "mountain", + "mouse", + "move", + "movie", + "much", + "muffin", + "mule", + "multiply", + "muscle", + "museum", + "mushroom", + "music", + "must", + "mutual", + "myself", + "mystery", + "myth", + "naive", + "name", + "napkin", + "narrow", + "nasty", + "nation", + "nature", + "near", + "neck", + "need", + "negative", + "neglect", + "neither", + "nephew", + "nerve", + "nest", + "net", + "network", + "neutral", + "never", + "news", + "next", + "nice", + "night", + "noble", + "noise", + "nominee", + "noodle", + "normal", + "north", + "nose", + "notable", + "note", + "nothing", + "notice", + "novel", + "now", + "nuclear", + "number", + "nurse", + "nut", + "oak", + "obey", + "object", + "oblige", + "obscure", + "observe", + "obtain", + "obvious", + "occur", + "ocean", + "october", + "odor", + "off", + "offer", + "office", + "often", + "oil", + "okay", + "old", + "olive", + "olympic", + "omit", + "once", + "one", + "onion", + "online", + "only", + "open", + "opera", + "opinion", + "oppose", + "option", + "orange", + "orbit", + "orchard", + "order", + "ordinary", + "organ", + "orient", + "original", + "orphan", + "ostrich", + "other", + "outdoor", + "outer", + "output", + "outside", + "oval", + "oven", + "over", + "own", + "owner", + "oxygen", + "oyster", + "ozone", + "pact", + "paddle", + "page", + "pair", + "palace", + "palm", + "panda", + "panel", + "panic", + "panther", + "paper", + "parade", + "parent", + "park", + "parrot", + "party", + "pass", + "patch", + "path", + "patient", + "patrol", + "pattern", + "pause", + "pave", + "payment", + "peace", + "peanut", + "pear", + "peasant", + "pelican", + "pen", + "penalty", + "pencil", + "people", + "pepper", + "perfect", + "permit", + "person", + "pet", + "phone", + "photo", + "phrase", + "physical", + "piano", + "picnic", + "picture", + "piece", + "pig", + "pigeon", + "pill", + "pilot", + "pink", + "pioneer", + "pipe", + "pistol", + "pitch", + "pizza", + "place", + "planet", + "plastic", + "plate", + "play", + "please", + "pledge", + "pluck", + "plug", + "plunge", + "poem", + "poet", + "point", + "polar", + "pole", + "police", + "pond", + "pony", + "pool", + "popular", + "portion", + "position", + "possible", + "post", + "potato", + "pottery", + "poverty", + "powder", + "power", + "practice", + "praise", + "predict", + "prefer", + "prepare", + "present", + "pretty", + "prevent", + "price", + "pride", + "primary", + "print", + "priority", + "prison", + "private", + "prize", + "problem", + "process", + "produce", + "profit", + "program", + "project", + "promote", + "proof", + "property", + "prosper", + "protect", + "proud", + "provide", + "public", + "pudding", + "pull", + "pulp", + "pulse", + "pumpkin", + "punch", + "pupil", + "puppy", + "purchase", + "purity", + "purpose", + "purse", + "push", + "put", + "puzzle", + "pyramid", + "quality", + "quantum", + "quarter", + "question", + "quick", + "quit", + "quiz", + "quote", + "rabbit", + "raccoon", + "race", + "rack", + "radar", + "radio", + "rail", + "rain", + "raise", + "rally", + "ramp", + "ranch", + "random", + "range", + "rapid", + "rare", + "rate", + "rather", + "raven", + "raw", + "razor", + "ready", + "real", + "reason", + "rebel", + "rebuild", + "recall", + "receive", + "recipe", + "record", + "recycle", + "reduce", + "reflect", + "reform", + "refuse", + "region", + "regret", + "regular", + "reject", + "relax", + "release", + "relief", + "rely", + "remain", + "remember", + "remind", + "remove", + "render", + "renew", + "rent", + "reopen", + "repair", + "repeat", + "replace", + "report", + "require", + "rescue", + "resemble", + "resist", + "resource", + "response", + "result", + "retire", + "retreat", + "return", + "reunion", + "reveal", + "review", + "reward", + "rhythm", + "rib", + "ribbon", + "rice", + "rich", + "ride", + "ridge", + "rifle", + "right", + "rigid", + "ring", + "riot", + "ripple", + "risk", + "ritual", + "rival", + "river", + "road", + "roast", + "robot", + "robust", + "rocket", + "romance", + "roof", + "rookie", + "room", + "rose", + "rotate", + "rough", + "round", + "route", + "royal", + "rubber", + "rude", + "rug", + "rule", + "run", + "runway", + "rural", + "sad", + "saddle", + "sadness", + "safe", + "sail", + "salad", + "salmon", + "salon", + "salt", + "salute", + "same", + "sample", + "sand", + "satisfy", + "satoshi", + "sauce", + "sausage", + "save", + "say", + "scale", + "scan", + "scare", + "scatter", + "scene", + "scheme", + "school", + "science", + "scissors", + "scorpion", + "scout", + "scrap", + "screen", + "script", + "scrub", + "sea", + "search", + "season", + "seat", + "second", + "secret", + "section", + "security", + "seed", + "seek", + "segment", + "select", + "sell", + "seminar", + "senior", + "sense", + "sentence", + "series", + "service", + "session", + "settle", + "setup", + "seven", + "shadow", + "shaft", + "shallow", + "share", + "shed", + "shell", + "sheriff", + "shield", + "shift", + "shine", + "ship", + "shiver", + "shock", + "shoe", + "shoot", + "shop", + "short", + "shoulder", + "shove", + "shrimp", + "shrug", + "shuffle", + "shy", + "sibling", + "sick", + "side", + "siege", + "sight", + "sign", + "silent", + "silk", + "silly", + "silver", + "similar", + "simple", + "since", + "sing", + "siren", + "sister", + "situate", + "six", + "size", + "skate", + "sketch", + "ski", + "skill", + "skin", + "skirt", + "skull", + "slab", + "slam", + "sleep" + }); + word_map = new std::unordered_map; + trimmed_word_map = new std::unordered_map; + language_name = "English"; + populate_maps(); + } + }; } #endif diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h index 40d99b2a4..84d7f56f5 100644 --- a/src/mnemonics/japanese.h +++ b/src/mnemonics/japanese.h @@ -1,4 +1,4 @@ -// Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// Word list originally created by dabura667, // Copyright (c) 2014, The Monero Project // // All rights reserved. @@ -53,86 +53,132 @@ namespace Language Japanese() { word_list = new std::vector({ - "ใ‚ใ„", "ใ‚ใ„ใ“ใใ—ใ‚“", - "ใ‚ใ†", - "ใ‚ใŠ", + "ใ‚ใ„ใ•ใค", + "ใ‚ใ„ใ ", "ใ‚ใŠใžใ‚‰", - "ใ‚ใ‹", "ใ‚ใ‹ใกใ‚ƒใ‚“", - "ใ‚ใ", "ใ‚ใใ‚‹", - "ใ‚ใ", - "ใ‚ใ•", + "ใ‚ใ‘ใŒใŸ", + "ใ‚ใ‘ใ‚‹", + "ใ‚ใ“ใŒใ‚Œใ‚‹", + "ใ‚ใ•ใ„", "ใ‚ใ•ใฒ", - "ใ‚ใ—", + "ใ‚ใ—ใ‚ใจ", + "ใ‚ใ˜ใ‚ใ†", + "ใ‚ใšใ‹ใ‚‹", "ใ‚ใšใ", - "ใ‚ใ›", "ใ‚ใใถ", + "ใ‚ใŸใˆใ‚‹", + "ใ‚ใŸใŸใ‚ใ‚‹", + "ใ‚ใŸใ‚Šใพใˆ", "ใ‚ใŸใ‚‹", "ใ‚ใคใ„", - "ใ‚ใช", - "ใ‚ใซ", - "ใ‚ใญ", + "ใ‚ใคใ‹ใ†", + "ใ‚ใฃใ—ใ‚…ใ", + "ใ‚ใคใพใ‚Š", + "ใ‚ใคใ‚ใ‚‹", + "ใ‚ใฆใช", + "ใ‚ใฆใฏใพใ‚‹", "ใ‚ใฒใ‚‹", + "ใ‚ใถใ‚‰", + "ใ‚ใถใ‚‹", + "ใ‚ใตใ‚Œใ‚‹", "ใ‚ใพใ„", - "ใ‚ใฟ", - "ใ‚ใ‚", + "ใ‚ใพใฉ", + "ใ‚ใพใ‚„ใ‹ใ™", + "ใ‚ใพใ‚Š", + "ใ‚ใฟใ‚‚ใฎ", "ใ‚ใ‚ใ‚Šใ‹", "ใ‚ใ‚„ใพใ‚‹", "ใ‚ใ‚†ใ‚€", "ใ‚ใ‚‰ใ„ใใพ", "ใ‚ใ‚‰ใ—", - "ใ‚ใ‚Š", - "ใ‚ใ‚‹", - "ใ‚ใ‚Œ", - "ใ‚ใ‚", + "ใ‚ใ‚‰ใ™ใ˜", + "ใ‚ใ‚‰ใŸใ‚ใ‚‹", + "ใ‚ใ‚‰ใ‚†ใ‚‹", + "ใ‚ใ‚‰ใ‚ใ™", + "ใ‚ใ‚ŠใŒใจใ†", + "ใ‚ใ‚ใ›ใ‚‹", + "ใ‚ใ‚ใฆใ‚‹", + "ใ‚ใ‚“ใ„", + "ใ‚ใ‚“ใŒใ„", "ใ‚ใ‚“ใ“", - "ใ„ใ†", - "ใ„ใˆ", + "ใ‚ใ‚“ใœใ‚“", + "ใ‚ใ‚“ใฆใ„", + "ใ‚ใ‚“ใชใ„", + "ใ‚ใ‚“ใพใ‚Š", + "ใ„ใ„ใ ใ™", "ใ„ใŠใ‚“", - "ใ„ใ‹", "ใ„ใŒใ„", - "ใ„ใ‹ใ„ใ‚ˆใ†", - "ใ„ใ‘", + "ใ„ใŒใ", + "ใ„ใใŠใ„", + "ใ„ใใชใ‚Š", + "ใ„ใใ‚‚ใฎ", + "ใ„ใใ‚‹", + "ใ„ใใ˜", + "ใ„ใใถใ‚“", + "ใ„ใ‘ใฐใช", "ใ„ใ‘ใ‚“", + "ใ„ใ“ใ†", "ใ„ใ“ใ", "ใ„ใ“ใค", + "ใ„ใ•ใพใ—ใ„", "ใ„ใ•ใ‚“", - "ใ„ใ—", + "ใ„ใ—ใ", "ใ„ใ˜ใ‚…ใ†", - "ใ„ใ™", + "ใ„ใ˜ใ‚‡ใ†", + "ใ„ใ˜ใ‚ใ‚‹", + "ใ„ใšใฟ", + "ใ„ใšใ‚Œ", "ใ„ใ›ใ„", "ใ„ใ›ใˆใณ", "ใ„ใ›ใ‹ใ„", "ใ„ใ›ใ", + "ใ„ใœใ‚“", "ใ„ใใ†ใ‚ใ†", "ใ„ใใŒใ—ใ„", + "ใ„ใ ใ„", + "ใ„ใ ใ", + "ใ„ใŸใšใ‚‰", + "ใ„ใŸใฟ", "ใ„ใŸใ‚Šใ‚", + "ใ„ใกใŠใ†", + "ใ„ใกใ˜", + "ใ„ใกใฉ", + "ใ„ใกใฐ", + "ใ„ใกใถ", + "ใ„ใกใ‚Šใ‚…ใ†", + "ใ„ใคใ‹", + "ใ„ใฃใ—ใ‚…ใ‚“", + "ใ„ใฃใ›ใ„", + "ใ„ใฃใใ†", + "ใ„ใฃใŸใ‚“", + "ใ„ใฃใก", + "ใ„ใฃใฆใ„", + "ใ„ใฃใฝใ†", "ใ„ใฆใ–", "ใ„ใฆใ‚“", - "ใ„ใจ", + "ใ„ใฉใ†", + "ใ„ใจใ“", "ใ„ใชใ„", "ใ„ใชใ‹", - "ใ„ใฌ", - "ใ„ใญ", + "ใ„ใญใ‚€ใ‚Š", "ใ„ใฎใก", "ใ„ใฎใ‚‹", "ใ„ใฏใค", + "ใ„ใฐใ‚‹", "ใ„ใฏใ‚“", "ใ„ใณใ", "ใ„ใฒใ‚“", "ใ„ใตใ", "ใ„ใธใ‚“", "ใ„ใปใ†", - "ใ„ใพ", - "ใ„ใฟ", "ใ„ใฟใ‚“", - "ใ„ใ‚‚", "ใ„ใ‚‚ใ†ใจ", "ใ„ใ‚‚ใŸใ‚Œ", "ใ„ใ‚‚ใ‚Š", - "ใ„ใ‚„", + "ใ„ใ‚„ใŒใ‚‹", "ใ„ใ‚„ใ™", "ใ„ใ‚ˆใ‹ใ‚“", "ใ„ใ‚ˆใ", @@ -140,132 +186,248 @@ namespace Language "ใ„ใ‚‰ใ™ใจ", "ใ„ใ‚Šใใก", "ใ„ใ‚Šใ‚‡ใ†", - "ใ„ใ‚Šใ‚‡ใ†ใฒ", - "ใ„ใ‚‹", "ใ„ใ‚Œใ„", "ใ„ใ‚Œใ‚‚ใฎ", "ใ„ใ‚Œใ‚‹", - "ใ„ใ‚", "ใ„ใ‚ใˆใ‚“ใดใค", - "ใ„ใ‚", + "ใ„ใ‚ใ„", "ใ„ใ‚ใ†", "ใ„ใ‚ใ‹ใ‚“", + "ใ„ใ‚ใฐ", + "ใ„ใ‚ใ‚†ใ‚‹", "ใ„ใ‚“ใ’ใ‚“ใพใ‚", - "ใ†ใˆ", + "ใ„ใ‚“ใ•ใค", + "ใ„ใ‚“ใ—ใ‚‡ใ†", + "ใ„ใ‚“ใ‚ˆใ†", + "ใ†ใˆใ", + "ใ†ใˆใ‚‹", "ใ†ใŠใ–", + "ใ†ใŒใ„", "ใ†ใ‹ใถ", + "ใ†ใ‹ในใ‚‹", "ใ†ใใ‚", - "ใ†ใ", "ใ†ใใ‚‰ใ„ใช", "ใ†ใใ‚Œใ‚Œ", - "ใ†ใ‘ใคใ", + "ใ†ใ‘ใŸใพใ‚ใ‚‹", "ใ†ใ‘ใคใ‘", + "ใ†ใ‘ใจใ‚‹", + "ใ†ใ‘ใ‚‚ใค", "ใ†ใ‘ใ‚‹", + "ใ†ใ”ใ‹ใ™", "ใ†ใ”ใ", "ใ†ใ“ใ‚“", "ใ†ใ•ใŽ", - "ใ†ใ—", "ใ†ใ—ใชใ†", - "ใ†ใ—ใ‚", "ใ†ใ—ใ‚ใŒใฟ", "ใ†ใ™ใ„", "ใ†ใ™ใŽ", + "ใ†ใ™ใใ‚‰ใ„", + "ใ†ใ™ใ‚ใ‚‹", "ใ†ใ›ใค", - "ใ†ใ", - "ใ†ใŸ", "ใ†ใกใ‚ใ‚ใ›", "ใ†ใกใŒใ‚", "ใ†ใกใ", - "ใ†ใค", + "ใ†ใกใ‚…ใ†", + "ใ†ใฃใ‹ใ‚Š", + "ใ†ใคใใ—ใ„", + "ใ†ใฃใŸใˆใ‚‹", + "ใ†ใคใ‚‹", + "ใ†ใฉใ‚“", "ใ†ใชใŽ", "ใ†ใชใ˜", - "ใ†ใซ", + "ใ†ใชใšใ", + "ใ†ใชใ‚‹", "ใ†ใญใ‚‹", "ใ†ใฎใ†", "ใ†ใถใ’", "ใ†ใถใ”ใˆ", - "ใ†ใพ", "ใ†ใพใ‚Œใ‚‹", - "ใ†ใฟ", - "ใ†ใ‚€", - "ใ†ใ‚", "ใ†ใ‚ใ‚‹", "ใ†ใ‚‚ใ†", "ใ†ใ‚„ใพใ†", "ใ†ใ‚ˆใ", - "ใ†ใ‚‰", + "ใ†ใ‚‰ใŒใˆใ™", + "ใ†ใ‚‰ใใก", "ใ†ใ‚‰ใชใ„", - "ใ†ใ‚‹", + "ใ†ใ‚Šใ‚ใ’", + "ใ†ใ‚Šใใ‚Œ", "ใ†ใ‚‹ใ•ใ„", "ใ†ใ‚Œใ—ใ„", + "ใ†ใ‚Œใ‚†ใ", + "ใ†ใ‚Œใ‚‹", "ใ†ใ‚ใ“", "ใ†ใ‚ใ", "ใ†ใ‚ใ•", - "ใˆใ„", + "ใ†ใ‚“ใ“ใ†", + "ใ†ใ‚“ใกใ‚“", + "ใ†ใ‚“ใฆใ‚“", + "ใ†ใ‚“ใฉใ†", "ใˆใ„ใˆใ‚“", "ใˆใ„ใŒ", - "ใˆใ„ใŽใ‚‡ใ†", + "ใˆใ„ใใ‚‡ใ†", "ใˆใ„ใ”", + "ใˆใ„ใ›ใ„", + "ใˆใ„ใถใ‚“", + "ใˆใ„ใ‚ˆใ†", + "ใˆใ„ใ‚", "ใˆใŠใ‚Š", - "ใˆใ", + "ใˆใŒใŠ", + "ใˆใŒใ", "ใˆใใŸใ„", "ใˆใใ›ใ‚‹", - "ใˆใ•", "ใˆใ—ใ‚ƒใ", "ใˆใ™ใฆ", "ใˆใคใ‚‰ใ‚“", - "ใˆใจ", "ใˆใฎใ", - "ใˆใณ", "ใˆใปใ†ใพใ", "ใˆใปใ‚“", - "ใˆใพ", "ใˆใพใ", "ใˆใ‚‚ใ˜", "ใˆใ‚‚ใฎ", "ใˆใ‚‰ใ„", "ใˆใ‚‰ใถ", - "ใˆใ‚Š", "ใˆใ‚Šใ‚", - "ใˆใ‚‹", - "ใˆใ‚“", "ใˆใ‚“ใˆใ‚“", + "ใˆใ‚“ใ‹ใ„", + "ใˆใ‚“ใŽ", + "ใˆใ‚“ใ’ใ", + "ใˆใ‚“ใ—ใ‚…ใ†", + "ใˆใ‚“ใœใค", + "ใˆใ‚“ใใ", + "ใˆใ‚“ใกใ‚‡ใ†", + "ใˆใ‚“ใจใค", + "ใŠใ„ใ‹ใ‘ใ‚‹", + "ใŠใ„ใ“ใ™", + "ใŠใ„ใ—ใ„", + "ใŠใ„ใคใ", + "ใŠใ†ใˆใ‚“", + "ใŠใ†ใ•ใพ", + "ใŠใ†ใ˜", + "ใŠใ†ใ›ใค", + "ใŠใ†ใŸใ„", + "ใŠใ†ใตใ", + "ใŠใ†ในใ„", + "ใŠใ†ใ‚ˆใ†", + "ใŠใˆใ‚‹", + "ใŠใŠใ„", + "ใŠใŠใ†", + "ใŠใŠใฉใŠใ‚Š", + "ใŠใŠใ‚„", + "ใŠใŠใ‚ˆใ", + "ใŠใ‹ใˆใ‚Š", + "ใŠใ‹ใš", + "ใŠใŒใ‚€", + "ใŠใ‹ใ‚ใ‚Š", + "ใŠใŽใชใ†", "ใŠใใ‚‹", - "ใŠใ", - "ใŠใ‘", + "ใŠใใ•ใพ", + "ใŠใใ˜ใ‚‡ใ†", + "ใŠใใ‚ŠใŒใช", + "ใŠใใ‚‹", + "ใŠใใ‚Œใ‚‹", + "ใŠใ“ใ™", + "ใŠใ“ใชใ†", "ใŠใ“ใ‚‹", + "ใŠใ•ใˆใ‚‹", + "ใŠใ•ใชใ„", + "ใŠใ•ใ‚ใ‚‹", + "ใŠใ—ใ„ใ‚Œ", "ใŠใ—ใˆใ‚‹", + "ใŠใ˜ใŽ", + "ใŠใ˜ใ•ใ‚“", + "ใŠใ—ใ‚ƒใ‚Œ", + "ใŠใใ‚‰ใ", + "ใŠใใ‚ใ‚‹", + "ใŠใŸใŒใ„", + "ใŠใŸใ", + "ใŠใ ใ‚„ใ‹", + "ใŠใกใคใ", + "ใŠใฃใจ", + "ใŠใคใ‚Š", + "ใŠใงใ‹ใ‘", + "ใŠใจใ—ใ‚‚ใฎ", + "ใŠใจใชใ—ใ„", + "ใŠใฉใ‚Š", + "ใŠใฉใ‚ใ‹ใ™", + "ใŠใฐใ•ใ‚“", + "ใŠใพใ„ใ‚Š", + "ใŠใ‚ใงใจใ†", + "ใŠใ‚‚ใ„ใง", + "ใŠใ‚‚ใ†", + "ใŠใ‚‚ใŸใ„", + "ใŠใ‚‚ใกใ‚ƒ", + "ใŠใ‚„ใค", "ใŠใ‚„ใ‚†ใณ", + "ใŠใ‚ˆใผใ™", "ใŠใ‚‰ใ‚“ใ ", + "ใŠใ‚ใ™", + "ใŠใ‚“ใŒใ", + "ใŠใ‚“ใ‘ใ„", + "ใŠใ‚“ใ—ใ‚ƒ", + "ใŠใ‚“ใ›ใ‚“", + "ใŠใ‚“ใ ใ‚“", + "ใŠใ‚“ใกใ‚…ใ†", + "ใŠใ‚“ใฉใ‘ใ„", "ใ‹ใ‚ใค", - "ใ‹ใ„", - "ใ‹ใ†", - "ใ‹ใŠ", + "ใ‹ใ„ใŒ", + "ใŒใ„ใ", + "ใŒใ„ใ‘ใ‚“", + "ใŒใ„ใ“ใ†", + "ใ‹ใ„ใ•ใค", + "ใ‹ใ„ใ—ใ‚ƒ", + "ใ‹ใ„ใ™ใ„ใ‚ˆใ", + "ใ‹ใ„ใœใ‚“", + "ใ‹ใ„ใžใ†ใฉ", + "ใ‹ใ„ใคใ†", + "ใ‹ใ„ใฆใ‚“", + "ใ‹ใ„ใจใ†", + "ใ‹ใ„ใตใ", + "ใŒใ„ใธใ", + "ใ‹ใ„ใปใ†", + "ใ‹ใ„ใ‚ˆใ†", + "ใŒใ„ใ‚‰ใ„", + "ใ‹ใ„ใ‚", + "ใ‹ใˆใ‚‹", + "ใ‹ใŠใ‚Š", + "ใ‹ใ‹ใˆใ‚‹", + "ใ‹ใŒใ", "ใ‹ใŒใ—", - "ใ‹ใ", - "ใ‹ใ", - "ใ‹ใ“", - "ใ‹ใ•", - "ใ‹ใ™", - "ใ‹ใก", - "ใ‹ใค", + "ใ‹ใŒใฟ", + "ใ‹ใใ”", + "ใ‹ใใจใ", + "ใ‹ใ–ใ‚‹", + "ใŒใžใ†", + "ใ‹ใŸใ„", + "ใ‹ใŸใก", + "ใŒใกใ‚‡ใ†", + "ใŒใฃใใ‚…ใ†", + "ใŒใฃใ“ใ†", + "ใŒใฃใ•ใ‚“", + "ใŒใฃใ—ใ‚‡ใ†", "ใ‹ใชใ–ใ‚ใ—", - "ใ‹ใซ", - "ใ‹ใญ", "ใ‹ใฎใ†", + "ใŒใฏใ", + "ใ‹ใถใ‹", "ใ‹ใปใ†", "ใ‹ใปใ”", + "ใ‹ใพใ†", "ใ‹ใพใผใ“", - "ใ‹ใฟ", - "ใ‹ใ‚€", "ใ‹ใ‚ใ‚ŒใŠใ‚“", - "ใ‹ใ‚‚", "ใ‹ใ‚†ใ„", + "ใ‹ใ‚ˆใ†ใณ", "ใ‹ใ‚‰ใ„", "ใ‹ใ‚‹ใ„", "ใ‹ใ‚ใ†", - "ใ‹ใ‚", + "ใ‹ใ‚ใ", "ใ‹ใ‚ใ‚‰", + "ใŒใ‚“ใ‹", + "ใ‹ใ‚“ใ‘ใ„", + "ใ‹ใ‚“ใ“ใ†", + "ใ‹ใ‚“ใ—ใ‚ƒ", + "ใ‹ใ‚“ใใ†", + "ใ‹ใ‚“ใŸใ‚“", + "ใ‹ใ‚“ใก", + "ใŒใ‚“ใฐใ‚‹", "ใใ‚ใ„", "ใใ‚ใค", "ใใ„ใ‚", @@ -277,17 +439,12 @@ namespace Language "ใใŠใ", "ใใŠใก", "ใใŠใ‚“", - "ใใ‹", "ใใ‹ใ„", "ใใ‹ใ", - "ใใ‹ใ‚“", "ใใ‹ใ‚“ใ—ใ‚ƒ", - "ใใŽ", "ใใใฆ", - "ใใ", "ใใใฐใ‚Š", "ใใใ‚‰ใ’", - "ใใ‘ใ‚“", "ใใ‘ใ‚“ใ›ใ„", "ใใ“ใ†", "ใใ“ใˆใ‚‹", @@ -296,24 +453,22 @@ namespace Language "ใใ•ใ", "ใใ•ใพ", "ใใ•ใ‚‰ใŽ", - "ใใ—", - "ใใ—ใ‚…", - "ใใ™", + "ใŽใ˜ใ‹ใŒใ", + "ใŽใ—ใ", + "ใŽใ˜ใŸใ„ใ‘ใ‚“", + "ใŽใ˜ใซใฃใฆใ„", + "ใŽใ˜ใ‚…ใคใ—ใ‚ƒ", "ใใ™ใ†", "ใใ›ใ„", "ใใ›ใ", "ใใ›ใค", - "ใใ", "ใใใ†", - "ใใใ", "ใใžใ", - "ใŽใใ", "ใใžใ‚“", - "ใใŸ", "ใใŸใˆใ‚‹", - "ใใก", "ใใกใ‚‡ใ†", "ใใคใˆใ‚“", + "ใŽใฃใกใ‚Š", "ใใคใคใ", "ใใคใญ", "ใใฆใ„", @@ -321,140 +476,132 @@ namespace Language "ใใฉใ", "ใใชใ„", "ใใชใŒ", - "ใใฌ", + "ใใชใ“", "ใใฌใ”ใ—", "ใใญใ‚“", "ใใฎใ†", + "ใใฎใ—ใŸ", "ใใฏใ", "ใใณใ—ใ„", "ใใฒใ‚“", - "ใใต", - "ใŽใต", "ใใตใ", - "ใŽใผ", - "ใใปใ†", + "ใใถใ‚“", "ใใผใ†", "ใใปใ‚“", "ใใพใ‚‹", - "ใใฟ", "ใใฟใค", - "ใŽใ‚€", "ใใ‚€ใšใ‹ใ—ใ„", - "ใใ‚", "ใใ‚ใ‚‹", "ใใ‚‚ใ ใ‚ใ—", "ใใ‚‚ใก", + "ใใ‚‚ใฎ", + "ใใ‚ƒใ", "ใใ‚„ใ", + "ใŽใ‚…ใ†ใซใ", "ใใ‚ˆใ†", + "ใใ‚‡ใ†ใ‚Šใ‚…ใ†", "ใใ‚‰ใ„", "ใใ‚‰ใ", - "ใใ‚Š", - "ใใ‚‹", + "ใใ‚Šใ‚“", "ใใ‚Œใ„", "ใใ‚Œใค", "ใใ‚ใ", "ใŽใ‚ใ‚“", "ใใ‚ใ‚ใ‚‹", + "ใŽใ‚“ใ„ใ‚", + "ใใ‚“ใ‹ใใ˜", + "ใใ‚“ใ˜ใ‚‡", + "ใใ‚“ใ‚ˆใ†ใณ", "ใใ‚ใ„", - "ใใ„", "ใใ„ใš", "ใใ†ใ‹ใ‚“", "ใใ†ใ", "ใใ†ใใ‚“", "ใใ†ใ“ใ†", + "ใใ†ใ›ใ„", "ใใ†ใใ†", + "ใใ†ใŸใ‚‰", "ใใ†ใตใ", "ใใ†ใผ", "ใใ‹ใ‚“", - "ใใ", "ใใใ‚‡ใ†", "ใใ’ใ‚“", "ใใ“ใ†", - "ใใ•", "ใใ•ใ„", "ใใ•ใ", "ใใ•ใฐใช", "ใใ•ใ‚‹", - "ใใ—", "ใใ—ใ‚ƒใฟ", "ใใ—ใ‚‡ใ†", "ใใ™ใฎใ", - "ใใ™ใ‚Š", "ใใ™ใ‚Šใ‚†ใณ", - "ใใ›", "ใใ›ใ’", "ใใ›ใ‚“", + "ใใŸใ„ใฆใ", + "ใใ ใ•ใ‚‹", "ใใŸใณใ‚Œใ‚‹", - "ใใก", "ใใกใ“ใฟ", "ใใกใ•ใ", - "ใใค", "ใใคใ—ใŸ", + "ใใฃใ™ใ‚Š", "ใใคใ‚ใ", "ใใจใ†ใฆใ‚“", "ใใฉใ", "ใใชใ‚“", - "ใใซ", "ใใญใใญ", "ใใฎใ†", "ใใตใ†", - "ใใพ", "ใใฟใ‚ใ‚ใ›", "ใใฟใŸใฆใ‚‹", - "ใใ‚€", "ใใ‚ใ‚‹", "ใใ‚„ใใ—ใ‚‡", "ใใ‚‰ใ™", - "ใใ‚Š", + "ใใ‚‰ในใ‚‹", + "ใใ‚‹ใพ", "ใใ‚Œใ‚‹", - "ใใ‚", "ใใ‚ใ†", "ใใ‚ใ—ใ„", - "ใใ‚“ใ˜ใ‚‡", + "ใใ‚“ใ‹ใ‚“", + "ใใ‚“ใ—ใ‚‡ใ", + "ใใ‚“ใŸใ„", + "ใใ‚“ใฆ", "ใ‘ใ‚ใช", + "ใ‘ใ„ใ‹ใ", "ใ‘ใ„ใ‘ใ‚“", "ใ‘ใ„ใ“", - "ใ‘ใ„ใ•ใ„", "ใ‘ใ„ใ•ใค", + "ใ’ใ„ใ˜ใ‚…ใค", + "ใ‘ใ„ใŸใ„", "ใ’ใ„ใฎใ†ใ˜ใ‚“", "ใ‘ใ„ใ‚Œใ", - "ใ‘ใ„ใ‚Œใค", - "ใ‘ใ„ใ‚Œใ‚“", "ใ‘ใ„ใ‚", "ใ‘ใŠใจใ™", "ใ‘ใŠใ‚Šใ‚‚ใฎ", - "ใ‘ใŒ", - "ใ’ใ", "ใ’ใใ‹", "ใ’ใใ’ใ‚“", "ใ’ใใ ใ‚“", "ใ’ใใกใ‚“", - "ใ’ใใฉ", + "ใ’ใใจใค", "ใ’ใใฏ", "ใ’ใใ‚„ใ", "ใ’ใ“ใ†", "ใ’ใ“ใใ˜ใ‚‡ใ†", - "ใ‘ใ•", "ใ’ใ–ใ„", "ใ‘ใ•ใ", "ใ’ใ–ใ‚“", "ใ‘ใ—ใ", "ใ‘ใ—ใ”ใ‚€", "ใ‘ใ—ใ‚‡ใ†", - "ใ‘ใ™", "ใ’ใ™ใจ", - "ใ‘ใŸ", - "ใ’ใŸ", "ใ‘ใŸใฐ", - "ใ‘ใก", "ใ‘ใกใ‚ƒใฃใท", "ใ‘ใกใ‚‰ใ™", - "ใ‘ใค", "ใ‘ใคใ‚ใค", "ใ‘ใคใ„", "ใ‘ใคใˆใ", "ใ‘ใฃใ“ใ‚“", "ใ‘ใคใ˜ใ‚‡", + "ใ‘ใฃใ›ใ", "ใ‘ใฃใฆใ„", "ใ‘ใคใพใค", "ใ’ใคใ‚ˆใ†ใณ", @@ -479,8 +626,6 @@ namespace Language "ใ‘ใ‚€ใ‚Š", "ใ‘ใ‚‚ใฎ", "ใ‘ใ‚‰ใ„", - "ใ‘ใ‚‹", - "ใ’ใ‚", "ใ‘ใ‚ใ‘ใ‚", "ใ‘ใ‚ใ—ใ„", "ใ‘ใ‚“ใ„", @@ -488,25 +633,14 @@ namespace Language "ใ‘ใ‚“ใŠ", "ใ‘ใ‚“ใ‹", "ใ’ใ‚“ใ", - "ใ‘ใ‚“ใใ‚…ใ†", - "ใ‘ใ‚“ใใ‚‡", - "ใ‘ใ‚“ใ‘ใ„", - "ใ‘ใ‚“ใ‘ใค", "ใ‘ใ‚“ใ’ใ‚“", "ใ‘ใ‚“ใ“ใ†", - "ใ‘ใ‚“ใ•", "ใ‘ใ‚“ใ•ใ", "ใ‘ใ‚“ใ—ใ‚…ใ†", - "ใ‘ใ‚“ใ—ใ‚…ใค", - "ใ‘ใ‚“ใ—ใ‚“", "ใ‘ใ‚“ใ™ใ†", - "ใ‘ใ‚“ใใ†", "ใ’ใ‚“ใใ†", - "ใ‘ใ‚“ใใ‚“", - "ใ’ใ‚“ใก", "ใ‘ใ‚“ใกใ", "ใ‘ใ‚“ใฆใ„", - "ใ’ใ‚“ใฆใ„", "ใ‘ใ‚“ใจใ†", "ใ‘ใ‚“ใชใ„", "ใ‘ใ‚“ใซใ‚“", @@ -516,51 +650,49 @@ namespace Language "ใ‘ใ‚“ใ‚ใ„", "ใ‘ใ‚“ใ‚‰ใ‚“", "ใ‘ใ‚“ใ‚Š", - "ใ‘ใ‚“ใ‚Šใค", "ใ“ใ‚ใใพ", - "ใ“ใ„", - "ใ”ใ„", + "ใ“ใ„ใฌ", "ใ“ใ„ใณใจ", - "ใ“ใ†ใ„", + "ใ”ใ†ใ„", "ใ“ใ†ใˆใ‚“", - "ใ“ใ†ใ‹", - "ใ“ใ†ใ‹ใ„", + "ใ“ใ†ใŠใ‚“", "ใ“ใ†ใ‹ใ‚“", + "ใ”ใ†ใใ‚…ใ†", + "ใ”ใ†ใ‘ใ„", + "ใ“ใ†ใ“ใ†", "ใ“ใ†ใ•ใ„", - "ใ“ใ†ใ•ใ‚“", - "ใ“ใ†ใ—ใ‚“", - "ใ“ใ†ใš", + "ใ“ใ†ใ˜", "ใ“ใ†ใ™ใ„", - "ใ“ใ†ใ›ใ‚“", - "ใ“ใ†ใใ†", + "ใ”ใ†ใ›ใ„", "ใ“ใ†ใใ", "ใ“ใ†ใŸใ„", "ใ“ใ†ใกใ‚ƒ", "ใ“ใ†ใคใ†", "ใ“ใ†ใฆใ„", - "ใ“ใ†ใจใ†ใถ", + "ใ“ใ†ใฉใ†", "ใ“ใ†ใชใ„", "ใ“ใ†ใฏใ„", - "ใ“ใ†ใฏใ‚“", + "ใ”ใ†ใปใ†", + "ใ”ใ†ใพใ‚“", "ใ“ใ†ใ‚‚ใ", - "ใ“ใˆ", + "ใ“ใ†ใ‚Šใค", "ใ“ใˆใ‚‹", "ใ“ใŠใ‚Š", + "ใ”ใ‹ใ„", "ใ”ใŒใค", - "ใ“ใ‹ใ‚“", - "ใ“ใ", + "ใ”ใ‹ใ‚“", "ใ“ใใ”", + "ใ“ใใ•ใ„", + "ใ“ใใจใ†", "ใ“ใใชใ„", "ใ“ใใฏใ", + "ใ“ใใพ", "ใ“ใ‘ใ„", "ใ“ใ‘ใ‚‹", - "ใ“ใ“", + "ใ“ใ“ใฎใ‹", "ใ“ใ“ใ‚", - "ใ”ใ•", "ใ“ใ•ใ‚", - "ใ“ใ—", "ใ“ใ—ใค", - "ใ“ใ™", "ใ“ใ™ใ†", "ใ“ใ›ใ„", "ใ“ใ›ใ", @@ -576,34 +708,30 @@ namespace Language "ใ“ใคใถ", "ใ“ใฆใ„", "ใ“ใฆใ‚“", - "ใ“ใจ", "ใ“ใจใŒใ‚‰", "ใ“ใจใ—", + "ใ“ใจใฐ", + "ใ“ใจใ‚Š", "ใ“ใชใ”ใช", "ใ“ใญใ“ใญ", "ใ“ใฎใพใพ", "ใ“ใฎใฟ", "ใ“ใฎใ‚ˆ", - "ใ“ใฏใ‚“", "ใ”ใฏใ‚“", - "ใ”ใณ", "ใ“ใฒใคใ˜", "ใ“ใตใ†", "ใ“ใตใ‚“", "ใ“ใผใ‚Œใ‚‹", - "ใ”ใพ", + "ใ”ใพใ‚ใถใ‚‰", "ใ“ใพใ‹ใ„", - "ใ“ใพใคใ—", + "ใ”ใพใ™ใ‚Š", "ใ“ใพใคใช", "ใ“ใพใ‚‹", - "ใ“ใ‚€", "ใ“ใ‚€ใŽใ“", - "ใ“ใ‚", "ใ“ใ‚‚ใ˜", "ใ“ใ‚‚ใก", "ใ“ใ‚‚ใฎ", "ใ“ใ‚‚ใ‚“", - "ใ“ใ‚„", "ใ“ใ‚„ใ", "ใ“ใ‚„ใพ", "ใ“ใ‚†ใ†", @@ -611,65 +739,69 @@ namespace Language "ใ“ใ‚ˆใ„", "ใ“ใ‚ˆใ†", "ใ“ใ‚Šใ‚‹", - "ใ“ใ‚‹", "ใ“ใ‚Œใใ—ใ‚‡ใ‚“", "ใ“ใ‚ใฃใ‘", "ใ“ใ‚ใ‚‚ใฆ", "ใ“ใ‚ใ‚Œใ‚‹", - "ใ“ใ‚“", "ใ“ใ‚“ใ„ใ‚“", "ใ“ใ‚“ใ‹ใ„", "ใ“ใ‚“ใ", "ใ“ใ‚“ใ—ใ‚…ใ†", - "ใ“ใ‚“ใ—ใ‚…ใ‚“", "ใ“ใ‚“ใ™ใ„", "ใ“ใ‚“ใ ใฆ", - "ใ“ใ‚“ใ ใ‚“", "ใ“ใ‚“ใจใ‚“", "ใ“ใ‚“ใชใ‚“", "ใ“ใ‚“ใณใซ", - "ใ“ใ‚“ใฝใ†", "ใ“ใ‚“ใฝใ‚“", "ใ“ใ‚“ใพใ‘", "ใ“ใ‚“ใ‚„", - "ใ“ใ‚“ใ‚„ใ", "ใ“ใ‚“ใ‚Œใ„", "ใ“ใ‚“ใ‚ใ", + "ใ–ใ„ใˆใ", "ใ•ใ„ใ‹ใ„", - "ใ•ใ„ใŒใ„", "ใ•ใ„ใใ‚“", - "ใ•ใ„ใ”", - "ใ•ใ„ใ“ใ‚“", + "ใ–ใ„ใ’ใ‚“", + "ใ–ใ„ใ“", "ใ•ใ„ใ—ใ‚‡", + "ใ•ใ„ใ›ใ„", + "ใ–ใ„ใŸใ", + "ใ–ใ„ใกใ‚…ใ†", + "ใ•ใ„ใฆใ", + "ใ–ใ„ใ‚Šใ‚‡ใ†", "ใ•ใ†ใช", - "ใ•ใŠ", "ใ•ใ‹ใ„ใ—", + "ใ•ใŒใ™", "ใ•ใ‹ใช", "ใ•ใ‹ใฟใก", - "ใ•ใ", - "ใ•ใ", + "ใ•ใŒใ‚‹", + "ใ•ใŽใ‚‡ใ†", "ใ•ใใ—", - "ใ•ใใ˜ใ‚‡", "ใ•ใใฒใ‚“", "ใ•ใใ‚‰", - "ใ•ใ‘", "ใ•ใ“ใ", "ใ•ใ“ใค", + "ใ•ใšใ‹ใ‚‹", + "ใ–ใ›ใ", "ใ•ใŸใ‚“", "ใ•ใคใˆใ„", - "ใ•ใฃใ‹", + "ใ–ใคใŠใ‚“", + "ใ–ใฃใ‹", + "ใ–ใคใŒใ", "ใ•ใฃใใ‚‡ใ", + "ใ–ใฃใ—", "ใ•ใคใ˜ใ‚“", + "ใ–ใฃใใ†", "ใ•ใคใŸใฐ", "ใ•ใคใพใ„ใ‚‚", "ใ•ใฆใ„", "ใ•ใจใ„ใ‚‚", "ใ•ใจใ†", "ใ•ใจใŠใ‚„", + "ใ•ใจใ—", "ใ•ใจใ‚‹", "ใ•ใฎใ†", - "ใ•ใฐ", "ใ•ใฐใ", + "ใ•ใณใ—ใ„", "ใ•ในใค", "ใ•ใปใ†", "ใ•ใปใฉ", @@ -677,15 +809,13 @@ namespace Language "ใ•ใฟใ—ใ„", "ใ•ใฟใ ใ‚Œ", "ใ•ใ‚€ใ‘", - "ใ•ใ‚", "ใ•ใ‚ใ‚‹", "ใ•ใ‚„ใˆใ‚“ใฉใ†", "ใ•ใ‚†ใ†", "ใ•ใ‚ˆใ†", "ใ•ใ‚ˆใ", - "ใ•ใ‚‰", "ใ•ใ‚‰ใ ", - "ใ•ใ‚‹", + "ใ–ใ‚‹ใใฐ", "ใ•ใ‚ใ‚„ใ‹", "ใ•ใ‚ใ‚‹", "ใ•ใ‚“ใ„ใ‚“", @@ -693,13 +823,11 @@ namespace Language "ใ•ใ‚“ใใ‚ƒใ", "ใ•ใ‚“ใ“ใ†", "ใ•ใ‚“ใ•ใ„", - "ใ•ใ‚“ใ–ใ‚“", + "ใ–ใ‚“ใ—ใ‚‡", "ใ•ใ‚“ใ™ใ†", "ใ•ใ‚“ใ›ใ„", "ใ•ใ‚“ใ", - "ใ•ใ‚“ใใ‚“", "ใ•ใ‚“ใก", - "ใ•ใ‚“ใกใ‚‡ใ†", "ใ•ใ‚“ใพ", "ใ•ใ‚“ใฟ", "ใ•ใ‚“ใ‚‰ใ‚“", @@ -711,25 +839,26 @@ namespace Language "ใ—ใ„ใ‚“", "ใ—ใ†ใก", "ใ—ใˆใ„", - "ใ—ใŠ", "ใ—ใŠใ‘", - "ใ—ใ‹", "ใ—ใ‹ใ„", "ใ—ใ‹ใ", "ใ˜ใ‹ใ‚“", - "ใ—ใŸ", + "ใ—ใ”ใจ", + "ใ—ใ™ใ†", + "ใ˜ใ ใ„", + "ใ—ใŸใ†ใ‘", "ใ—ใŸใŽ", "ใ—ใŸใฆ", "ใ—ใŸใฟ", "ใ—ใกใ‚‡ใ†", - "ใ—ใกใ‚‡ใ†ใใ‚“", "ใ—ใกใ‚Šใ‚“", - "ใ˜ใคใ˜", + "ใ—ใฃใ‹ใ‚Š", + "ใ—ใคใ˜", + "ใ—ใคใ‚‚ใ‚“", "ใ—ใฆใ„", "ใ—ใฆใ", "ใ—ใฆใค", - "ใ—ใฆใ‚“", - "ใ—ใจใ†", + "ใ˜ใฆใ‚“", "ใ˜ใฉใ†", "ใ—ใชใŽใ‚Œ", "ใ—ใชใ‚‚ใฎ", @@ -741,68 +870,58 @@ namespace Language "ใ—ใฏใ„", "ใ—ใฐใ‹ใ‚Š", "ใ—ใฏใค", - "ใ˜ใฏใค", "ใ—ใฏใ‚‰ใ„", "ใ—ใฏใ‚“", "ใ—ใฒใ‚‡ใ†", - "ใ˜ใต", "ใ—ใตใ", "ใ˜ใถใ‚“", "ใ—ใธใ„", "ใ—ใปใ†", "ใ—ใปใ‚“", - "ใ—ใพ", "ใ—ใพใ†", "ใ—ใพใ‚‹", - "ใ—ใฟ", - "ใ˜ใฟ", "ใ—ใฟใ‚“", - "ใ˜ใ‚€", "ใ—ใ‚€ใ‘ใ‚‹", + "ใ˜ใ‚€ใ—ใ‚‡", "ใ—ใ‚ใ„", "ใ—ใ‚ใ‚‹", "ใ—ใ‚‚ใ‚“", "ใ—ใ‚ƒใ„ใ‚“", "ใ—ใ‚ƒใ†ใ‚“", "ใ—ใ‚ƒใŠใ‚“", - "ใ—ใ‚ƒใ‹ใ„", "ใ˜ใ‚ƒใŒใ„ใ‚‚", "ใ—ใ‚„ใใ—ใ‚‡", "ใ—ใ‚ƒใใปใ†", "ใ—ใ‚ƒใ‘ใ‚“", "ใ—ใ‚ƒใ“", - "ใ—ใ‚ƒใ“ใ†", "ใ—ใ‚ƒใ–ใ„", "ใ—ใ‚ƒใ—ใ‚“", "ใ—ใ‚ƒใ›ใ‚“", "ใ—ใ‚ƒใใ†", "ใ—ใ‚ƒใŸใ„", - "ใ—ใ‚ƒใŸใ", "ใ—ใ‚ƒใกใ‚‡ใ†", "ใ—ใ‚ƒใฃใใ‚“", "ใ˜ใ‚ƒใพ", - "ใ˜ใ‚ƒใ‚Š", - "ใ—ใ‚ƒใ‚Šใ‚‡ใ†", "ใ—ใ‚ƒใ‚Šใ‚“", "ใ—ใ‚ƒใ‚Œใ„", - "ใ—ใ‚…ใ†ใˆใ‚“", - "ใ—ใ‚…ใ†ใ‹ใ„", - "ใ—ใ‚…ใ†ใใ‚“", - "ใ—ใ‚…ใ†ใ‘ใ„", - "ใ—ใ‚…ใ†ใ‚Šใ‚‡ใ†", + "ใ˜ใ‚†ใ†", + "ใ˜ใ‚…ใ†ใ—ใ‚‡", + "ใ—ใ‚…ใใฏใ", + "ใ˜ใ‚…ใ—ใ‚“", + "ใ—ใ‚…ใฃใ›ใ", + "ใ—ใ‚…ใฟ", "ใ—ใ‚…ใ‚‰ใฐ", - "ใ—ใ‚‡ใ†ใ‹", + "ใ˜ใ‚…ใ‚“ใฐใ‚“", "ใ—ใ‚‡ใ†ใ‹ใ„", - "ใ—ใ‚‡ใ†ใใ‚“", - "ใ—ใ‚‡ใ†ใ˜ใ", - "ใ—ใ‚‡ใใ–ใ„", "ใ—ใ‚‡ใใŸใ", "ใ—ใ‚‡ใฃใ‘ใ‚“", "ใ—ใ‚‡ใฉใ†", "ใ—ใ‚‡ใ‚‚ใค", - "ใ—ใ‚“", + "ใ—ใ‚‰ใ›ใ‚‹", + "ใ—ใ‚‰ในใ‚‹", "ใ—ใ‚“ใ‹", "ใ—ใ‚“ใ“ใ†", + "ใ˜ใ‚“ใ˜ใ‚ƒ", "ใ—ใ‚“ใ›ใ„ใ˜", "ใ—ใ‚“ใกใ", "ใ—ใ‚“ใ‚Šใ‚“", @@ -810,34 +929,30 @@ namespace Language "ใ™ใ‚ใ—", "ใ™ใ‚ใช", "ใšใ‚ใ‚“", + "ใ™ใ„ใˆใ„", "ใ™ใ„ใ‹", "ใ™ใ„ใจใ†", - "ใ™ใ†", + "ใšใ„ใถใ‚“", + "ใ™ใ„ใ‚ˆใ†ใณ", "ใ™ใ†ใŒใ", "ใ™ใ†ใ˜ใค", "ใ™ใ†ใ›ใ‚“", "ใ™ใŠใฉใ‚Š", - "ใ™ใ", "ใ™ใใพ", - "ใ™ใ", "ใ™ใใ†", "ใ™ใใชใ„", "ใ™ใ‘ใ‚‹", + "ใ™ใ”ใ„", "ใ™ใ“ใ—", "ใšใ•ใ‚“", - "ใ™ใ—", "ใ™ใšใ—ใ„", + "ใ™ใ™ใ‚€", "ใ™ใ™ใ‚ใ‚‹", - "ใ™ใ", + "ใ™ใฃใ‹ใ‚Š", "ใšใฃใ—ใ‚Š", "ใšใฃใจ", - "ใ™ใง", "ใ™ใฆใ", "ใ™ใฆใ‚‹", - "ใ™ใช", - "ใ™ใชใฃใ", - "ใ™ใชใฃใท", - "ใ™ใญ", "ใ™ใญใ‚‹", "ใ™ใฎใ“", "ใ™ใฏใ ", @@ -851,16 +966,10 @@ namespace Language "ใšใปใ†", "ใ™ใผใ‚“", "ใ™ใพใ„", - "ใ™ใฟ", - "ใ™ใ‚€", "ใ™ใ‚ใ—", "ใ™ใ‚‚ใ†", "ใ™ใ‚„ใ", - "ใ™ใ‚‰ใ„ใ™", - "ใ™ใ‚‰ใ„ใฉ", "ใ™ใ‚‰ใ™ใ‚‰", - "ใ™ใ‚Š", - "ใ™ใ‚‹", "ใ™ใ‚‹ใ‚", "ใ™ใ‚ŒใกใŒใ†", "ใ™ใ‚ใฃใจ", @@ -868,15 +977,12 @@ namespace Language "ใ™ใ‚“ใœใ‚“", "ใ™ใ‚“ใฝใ†", "ใ›ใ‚ใถใ‚‰", - "ใ›ใ„ใ‹", - "ใ›ใ„ใ‹ใ„", "ใ›ใ„ใ‹ใค", + "ใ›ใ„ใ’ใ‚“", + "ใ›ใ„ใ˜", + "ใ›ใ„ใ‚ˆใ†", "ใ›ใŠใ†", - "ใ›ใ‹ใ„", "ใ›ใ‹ใ„ใ‹ใ‚“", - "ใ›ใ‹ใ„ใ—", - "ใ›ใ‹ใ„ใ˜ใ‚…ใ†", - "ใ›ใ", "ใ›ใใซใ‚“", "ใ›ใใ‚€", "ใ›ใใ‚†", @@ -886,12 +992,8 @@ namespace Language "ใ›ใ™ใ˜", "ใ›ใŸใ„", "ใ›ใŸใ‘", - "ใ›ใฃใ‹ใ„", "ใ›ใฃใ‹ใ", - "ใ›ใฃใ", "ใ›ใฃใใ‚ƒใ", - "ใ›ใฃใใ‚‡ใ", - "ใ›ใฃใใ‚“", "ใœใฃใ", "ใ›ใฃใ‘ใ‚“", "ใ›ใฃใ“ใค", @@ -904,51 +1006,39 @@ namespace Language "ใ›ใคใถใ‚“", "ใ›ใคใ‚ใ„", "ใ›ใคใ‚Šใค", - "ใ›ใจ", "ใ›ใชใ‹", "ใ›ใฎใณ", "ใ›ใฏใฐ", + "ใ›ใณใ‚", "ใ›ใผใญ", "ใ›ใพใ„", "ใ›ใพใ‚‹", - "ใ›ใฟ", "ใ›ใ‚ใ‚‹", "ใ›ใ‚‚ใŸใ‚Œ", "ใ›ใ‚Šใต", - "ใ›ใ‚", - "ใ›ใ‚“", "ใœใ‚“ใ‚ใ", "ใ›ใ‚“ใ„", "ใ›ใ‚“ใˆใ„", "ใ›ใ‚“ใ‹", "ใ›ใ‚“ใใ‚‡", "ใ›ใ‚“ใ", - "ใ›ใ‚“ใ‘ใค", "ใ›ใ‚“ใ’ใ‚“", "ใœใ‚“ใ”", "ใ›ใ‚“ใ•ใ„", - "ใ›ใ‚“ใ—", "ใ›ใ‚“ใ—ใ‚…", - "ใ›ใ‚“ใ™", "ใ›ใ‚“ใ™ใ„", "ใ›ใ‚“ใ›ใ„", "ใ›ใ‚“ใž", - "ใ›ใ‚“ใใ†", "ใ›ใ‚“ใŸใ", - "ใ›ใ‚“ใก", - "ใ›ใ‚“ใกใ‚ƒ", - "ใ›ใ‚“ใกใ‚ƒใ", "ใ›ใ‚“ใกใ‚‡ใ†", "ใ›ใ‚“ใฆใ„", "ใ›ใ‚“ใจใ†", "ใ›ใ‚“ใฌใ", "ใ›ใ‚“ใญใ‚“", + "ใ›ใ‚“ใฑใ„", "ใœใ‚“ใถ", - "ใ›ใ‚“ใทใ†ใ", - "ใ›ใ‚“ใทใ", "ใœใ‚“ใฝใ†", "ใ›ใ‚“ใ‚€", - "ใ›ใ‚“ใ‚ใ„", "ใ›ใ‚“ใ‚ใ‚“ใ˜ใ‚‡", "ใ›ใ‚“ใ‚‚ใ‚“", "ใ›ใ‚“ใ‚„ใ", @@ -956,33 +1046,27 @@ namespace Language "ใ›ใ‚“ใ‚ˆใ†", "ใœใ‚“ใ‚‰", "ใœใ‚“ใ‚Šใ‚ƒใ", - "ใ›ใ‚“ใ‚Šใ‚‡ใ", "ใ›ใ‚“ใ‚Œใ„", "ใ›ใ‚“ใ‚", "ใใ‚ใ", "ใใ„ใจใ’ใ‚‹", "ใใ„ใญ", - "ใใ†", - "ใžใ†", "ใใ†ใŒใ‚“ใใ‚‡ใ†", "ใใ†ใ", "ใใ†ใ”", + "ใใ†ใ—ใ‚“", + "ใใ†ใ ใ‚“", "ใใ†ใชใ‚“", "ใใ†ใณ", - "ใใ†ใฒใ‚‡ใ†", "ใใ†ใ‚ใ‚“", "ใใ†ใ‚Š", - "ใใ†ใ‚Šใ‚‡", "ใใˆใ‚‚ใฎ", "ใใˆใ‚“", - "ใใ‹ใ„", "ใใŒใ„", - "ใใ", "ใใ’ใ", "ใใ“ใ†", "ใใ“ใใ“", "ใใ–ใ„", - "ใใ—", "ใใ—ใช", "ใใ›ใ„", "ใใ›ใ‚“", @@ -996,16 +1080,11 @@ namespace Language "ใใฃใ“ใ†", "ใใฃใ›ใ‚“", "ใใฃใจ", - "ใใง", - "ใใจ", "ใใจใŒใ‚", "ใใจใฅใ‚‰", "ใใชใˆใ‚‹", "ใใชใŸ", - "ใใฐ", - "ใใต", "ใใตใผ", - "ใใผ", "ใใผใ", "ใใผใ‚", "ใใพใค", @@ -1015,16 +1094,12 @@ namespace Language "ใใ‚ใ‚‹", "ใใ‚‚ใใ‚‚", "ใใ‚ˆใ‹ใœ", - "ใใ‚‰", "ใใ‚‰ใพใ‚", - "ใใ‚Š", - "ใใ‚‹", "ใใ‚ใ†", "ใใ‚“ใ‹ใ„", "ใใ‚“ใ‘ใ„", "ใใ‚“ใ–ใ„", "ใใ‚“ใ—ใค", - "ใใ‚“ใ—ใ‚‡ใ†", "ใใ‚“ใžใ", "ใใ‚“ใกใ‚‡ใ†", "ใžใ‚“ใณ", @@ -1035,100 +1110,75 @@ namespace Language "ใŸใ„ใ†ใ‚“", "ใŸใ„ใˆใ", "ใŸใ„ใŠใ†", - "ใ ใ„ใŠใ†", - "ใŸใ„ใ‹", - "ใŸใ„ใ‹ใ„", + "ใ ใ„ใŒใ", "ใŸใ„ใ", - "ใŸใ„ใใ‘ใ‚“", "ใŸใ„ใใ†", - "ใŸใ„ใใค", - "ใŸใ„ใ‘ใ„", - "ใŸใ„ใ‘ใค", "ใŸใ„ใ‘ใ‚“", "ใŸใ„ใ“", - "ใŸใ„ใ“ใ†", - "ใŸใ„ใ•", - "ใŸใ„ใ•ใ‚“", - "ใŸใ„ใ—ใ‚…ใค", + "ใŸใ„ใ–ใ„", "ใ ใ„ใ˜ใ‚‡ใ†ใถ", - "ใŸใ„ใ—ใ‚‡ใ", - "ใ ใ„ใš", "ใ ใ„ใ™ใ", - "ใŸใ„ใ›ใ„", "ใŸใ„ใ›ใค", - "ใŸใ„ใ›ใ‚“", "ใŸใ„ใใ†", + "ใ ใ„ใŸใ„", "ใŸใ„ใกใ‚‡ใ†", - "ใ ใ„ใกใ‚‡ใ†", - "ใŸใ„ใจใ†", + "ใŸใ„ใฆใ„", + "ใ ใ„ใฉใ“ใ‚", "ใŸใ„ใชใ„", "ใŸใ„ใญใค", "ใŸใ„ใฎใ†", - "ใŸใ„ใฏ", "ใŸใ„ใฏใ‚“", - "ใŸใ„ใฒ", + "ใ ใ„ใฒใ‚‡ใ†", "ใŸใ„ใตใ†", "ใŸใ„ใธใ‚“", "ใŸใ„ใป", "ใŸใ„ใพใคใฐใช", - "ใŸใ„ใพใ‚“", "ใŸใ„ใฟใ‚“ใ", "ใŸใ„ใ‚€", "ใŸใ„ใ‚ใ‚“", "ใŸใ„ใ‚„ใ", - "ใŸใ„ใ‚„ใ", "ใŸใ„ใ‚ˆใ†", "ใŸใ„ใ‚‰", - "ใŸใ„ใ‚Šใ‚‡ใ†", "ใŸใ„ใ‚Šใ‚‡ใ", "ใŸใ„ใ‚‹", - "ใŸใ„ใ‚", "ใŸใ„ใ‚ใ‚“", "ใŸใ†ใˆ", "ใŸใˆใ‚‹", "ใŸใŠใ™", "ใŸใŠใ‚‹", + "ใŸใŠใ‚Œใ‚‹", "ใŸใ‹ใ„", "ใŸใ‹ใญ", - "ใŸใ", "ใŸใใณ", "ใŸใใ•ใ‚“", - "ใŸใ‘", - "ใŸใ“", "ใŸใ“ใ", "ใŸใ“ใ‚„ใ", "ใŸใ•ใ„", - "ใ ใ•ใ„", "ใŸใ—ใ–ใ‚“", - "ใŸใ™", + "ใ ใ˜ใ‚ƒใ‚Œ", "ใŸใ™ใ‘ใ‚‹", + "ใŸใšใ•ใ‚ใ‚‹", "ใŸใใŒใ‚Œ", "ใŸใŸใ‹ใ†", "ใŸใŸใ", - "ใŸใกใฐ", + "ใŸใ ใ—ใ„", + "ใŸใŸใฟ", "ใŸใกใฐใช", - "ใŸใค", "ใ ใฃใ‹ใ„", "ใ ใฃใใ‚ƒใ", "ใ ใฃใ“", - "ใ ใฃใ—ใ‚ใ‚“", "ใ ใฃใ—ใ‚…ใค", "ใ ใฃใŸใ„", - "ใŸใฆ", "ใŸใฆใ‚‹", "ใŸใจใˆใ‚‹", - "ใŸใช", + "ใŸใชใฐใŸ", "ใŸใซใ‚“", "ใŸใฌใ", - "ใŸใญ", "ใŸใฎใ—ใฟ", "ใŸใฏใค", - "ใŸใณ", "ใŸใถใ‚“", "ใŸในใ‚‹", "ใŸใผใ†", - "ใŸใปใ†ใ‚ใ‚“", - "ใŸใพ", "ใŸใพใ”", "ใŸใพใ‚‹", "ใ ใ‚€ใ‚‹", @@ -1138,18 +1188,15 @@ namespace Language "ใŸใ‚‚ใค", "ใŸใ‚„ใ™ใ„", "ใŸใ‚ˆใ‚‹", - "ใŸใ‚‰", "ใŸใ‚‰ใ™", "ใŸใ‚Šใใปใ‚“ใŒใ‚“", "ใŸใ‚Šใ‚‡ใ†", "ใŸใ‚Šใ‚‹", - "ใŸใ‚‹", "ใŸใ‚‹ใจ", "ใŸใ‚Œใ‚‹", "ใŸใ‚Œใ‚“ใจ", "ใŸใ‚ใฃใจ", "ใŸใ‚ใ‚€ใ‚Œใ‚‹", - "ใŸใ‚“", "ใ ใ‚“ใ‚ใค", "ใŸใ‚“ใ„", "ใŸใ‚“ใŠใ‚“", @@ -1157,25 +1204,20 @@ namespace Language "ใŸใ‚“ใ", "ใŸใ‚“ใ‘ใ‚“", "ใŸใ‚“ใ”", - "ใŸใ‚“ใ•ใ", "ใŸใ‚“ใ•ใ‚“", - "ใŸใ‚“ใ—", - "ใŸใ‚“ใ—ใ‚…ใ", "ใŸใ‚“ใ˜ใ‚‡ใ†ใณ", "ใ ใ‚“ใ›ใ„", "ใŸใ‚“ใใ", "ใŸใ‚“ใŸใ„", - "ใŸใ‚“ใก", "ใ ใ‚“ใก", - "ใŸใ‚“ใกใ‚‡ใ†", "ใŸใ‚“ใฆใ„", - "ใŸใ‚“ใฆใ", "ใŸใ‚“ใจใ†", "ใ ใ‚“ใช", "ใŸใ‚“ใซใ‚“", "ใ ใ‚“ใญใค", "ใŸใ‚“ใฎใ†", "ใŸใ‚“ใดใ‚“", + "ใ ใ‚“ใผใ†", "ใŸใ‚“ใพใค", "ใŸใ‚“ใ‚ใ„", "ใ ใ‚“ใ‚Œใค", @@ -1183,23 +1225,19 @@ namespace Language "ใ ใ‚“ใ‚", "ใกใ‚ใ„", "ใกใ‚ใ‚“", - "ใกใ„", "ใกใ„ใ", "ใกใ„ใ•ใ„", - "ใกใˆ", "ใกใˆใ‚“", - "ใกใ‹", "ใกใ‹ใ„", + "ใกใ‹ใ‚‰", "ใกใใ‚…ใ†", "ใกใใ‚“", - "ใกใ‘ใ„", "ใกใ‘ใ„ใš", "ใกใ‘ใ‚“", "ใกใ“ใ", "ใกใ•ใ„", "ใกใ—ใ", "ใกใ—ใ‚Šใ‚‡ใ†", - "ใกใš", "ใกใ›ใ„", "ใกใใ†", "ใกใŸใ„", @@ -1218,65 +1256,49 @@ namespace Language "ใกใฟใค", "ใกใฟใฉใ‚", "ใกใ‚ใ„ใฉ", + "ใกใ‚ƒใ‚“ใ“ใชใน", "ใกใ‚…ใ†ใ„", - "ใกใ‚…ใ†ใŠใ†", - "ใกใ‚…ใ†ใŠใ†ใ", - "ใกใ‚…ใ†ใŒใฃใ“ใ†", - "ใกใ‚…ใ†ใ”ใ", "ใกใ‚†ใ‚Šใ‚‡ใ", - "ใกใ‚‡ใ†ใ•", "ใกใ‚‡ใ†ใ—", + "ใกใ‚‡ใ•ใใ‘ใ‚“", "ใกใ‚‰ใ—", "ใกใ‚‰ใฟ", - "ใกใ‚Š", "ใกใ‚ŠใŒใฟ", - "ใกใ‚‹", + "ใกใ‚Šใ‚‡ใ†", "ใกใ‚‹ใฉ", "ใกใ‚ใ‚", "ใกใ‚“ใŸใ„", "ใกใ‚“ใ‚‚ใ", "ใคใ„ใ‹", + "ใคใ„ใŸใก", "ใคใ†ใ‹", "ใคใ†ใ˜ใ‚‡ใ†", - "ใคใ†ใ˜ใ‚‹", "ใคใ†ใฏใ‚“", "ใคใ†ใ‚", - "ใคใˆ", "ใคใ‹ใ†", "ใคใ‹ใ‚Œใ‚‹", - "ใคใ", - "ใคใ", "ใคใใญ", "ใคใใ‚‹", "ใคใ‘ใญ", "ใคใ‘ใ‚‹", "ใคใ”ใ†", - "ใคใŸ", "ใคใŸใˆใ‚‹", - "ใคใก", + "ใคใฅใ", "ใคใคใ˜", + "ใคใคใ‚€", "ใคใจใ‚ใ‚‹", - "ใคใช", "ใคใชใŒใ‚‹", "ใคใชใฟ", "ใคใญใฅใญ", - "ใคใฎ", "ใคใฎใ‚‹", - "ใคใฐ", - "ใคใถ", "ใคใถใ™", - "ใคใผ", - "ใคใพ", "ใคใพใ‚‰ใชใ„", "ใคใพใ‚‹", - "ใคใฟ", "ใคใฟใ", - "ใคใ‚€", "ใคใ‚ใŸใ„", + "ใคใ‚‚ใ‚Š", "ใคใ‚‚ใ‚‹", - "ใคใ‚„", "ใคใ‚ˆใ„", - "ใคใ‚Š", "ใคใ‚‹ใผ", "ใคใ‚‹ใฟใ", "ใคใ‚ใ‚‚ใฎ", @@ -1284,15 +1306,13 @@ namespace Language "ใฆใ‚ใ—", "ใฆใ‚ใฆ", "ใฆใ‚ใฟ", + "ใฆใ„ใŠใ‚“", "ใฆใ„ใ‹", "ใฆใ„ใ", "ใฆใ„ใ‘ใ„", - "ใฆใ„ใ‘ใค", - "ใฆใ„ใ‘ใคใ‚ใค", "ใฆใ„ใ“ใ", "ใฆใ„ใ•ใค", "ใฆใ„ใ—", - "ใฆใ„ใ—ใ‚ƒ", "ใฆใ„ใ›ใ„", "ใฆใ„ใŸใ„", "ใฆใ„ใฉ", @@ -1302,144 +1322,139 @@ namespace Language "ใฆใ„ใผใ†", "ใฆใ†ใก", "ใฆใŠใใ‚Œ", - "ใฆใ", + "ใฆใใจใ†", "ใฆใใณ", - "ใฆใ“", + "ใงใ“ใผใ“", "ใฆใ•ใŽใ‚‡ใ†", "ใฆใ•ใ’", - "ใงใ—", "ใฆใ™ใ‚Š", "ใฆใใ†", "ใฆใกใŒใ„", "ใฆใกใ‚‡ใ†", "ใฆใคใŒใ", "ใฆใคใฅใ", + "ใงใฃใฑ", + "ใฆใคใผใ†", "ใฆใคใ‚„", "ใงใฌใ‹ใˆ", "ใฆใฌใ", "ใฆใฌใใ„", "ใฆใฎใฒใ‚‰", "ใฆใฏใ„", + "ใฆใถใใ‚", "ใฆใตใ ", "ใฆใปใฉใ", "ใฆใปใ‚“", - "ใฆใพ", "ใฆใพใˆ", "ใฆใพใใšใ—", "ใฆใฟใ˜ใ‹", "ใฆใฟใ‚„ใ’", - "ใฆใ‚‰", "ใฆใ‚‰ใ™", - "ใงใ‚‹", "ใฆใ‚Œใณ", - "ใฆใ‚", "ใฆใ‚ใ‘", "ใฆใ‚ใŸใ—", "ใงใ‚“ใ‚ใค", - "ใฆใ‚“ใ„", "ใฆใ‚“ใ„ใ‚“", "ใฆใ‚“ใ‹ใ„", "ใฆใ‚“ใ", "ใฆใ‚“ใ", "ใฆใ‚“ใ‘ใ‚“", - "ใงใ‚“ใ’ใ‚“", "ใฆใ‚“ใ”ใ", "ใฆใ‚“ใ•ใ„", + "ใฆใ‚“ใ—", "ใฆใ‚“ใ™ใ†", "ใงใ‚“ใก", "ใฆใ‚“ใฆใ", "ใฆใ‚“ใจใ†", "ใฆใ‚“ใชใ„", - "ใฆใ‚“ใท", "ใฆใ‚“ใทใ‚‰", "ใฆใ‚“ใผใ†ใ ใ„", "ใฆใ‚“ใ‚ใค", - "ใฆใ‚“ใ‚‰ใ", "ใฆใ‚“ใ‚‰ใ‚“ใ‹ใ„", - "ใงใ‚“ใ‚Šใ‚…ใ†", "ใงใ‚“ใ‚Šใ‚‡ใ", "ใงใ‚“ใ‚", - "ใฉใ‚", "ใฉใ‚ใ„", "ใจใ„ใ‚Œ", + "ใฉใ†ใ‹ใ‚“", + "ใจใ†ใใ‚…ใ†", + "ใฉใ†ใ", + "ใจใ†ใ—", "ใจใ†ใ‚€ใŽ", "ใจใŠใ„", + "ใจใŠใ‹", + "ใจใŠใ", "ใจใŠใ™", + "ใจใŠใ‚‹", "ใจใ‹ใ„", "ใจใ‹ใ™", "ใจใใŠใ‚Š", "ใจใใฉใ", "ใจใใ„", - "ใจใใฆใ„", + "ใจใใ—ใ‚…ใ†", "ใจใใฆใ‚“", + "ใจใใซ", "ใจใในใค", "ใจใ‘ใ„", "ใจใ‘ใ‚‹", + "ใจใ“ใ‚„", "ใจใ•ใ‹", - "ใจใ—", "ใจใ—ใ‚‡ใ‹ใ‚“", "ใจใใ†", "ใจใŸใ‚“", - "ใจใก", "ใจใกใ‚…ใ†", + "ใจใฃใใ‚…ใ†", + "ใจใฃใใ‚“", "ใจใคใœใ‚“", "ใจใคใซใ‚…ใ†", + "ใจใฉใ‘ใ‚‹", "ใจใจใฎใˆใ‚‹", "ใจใชใ„", "ใจใชใˆใ‚‹", "ใจใชใ‚Š", "ใจใฎใ•ใพ", "ใจใฐใ™", - "ใจใถ", - "ใจใป", + "ใฉใถใŒใ‚", "ใจใปใ†", - "ใฉใพ", "ใจใพใ‚‹", - "ใจใ‚‰", - "ใจใ‚Š", - "ใจใ‚‹", + "ใจใ‚ใ‚‹", + "ใจใ‚‚ใ ใก", + "ใจใ‚‚ใ‚‹", + "ใฉใ‚ˆใ†ใณ", + "ใจใ‚‰ใˆใ‚‹", "ใจใ‚“ใ‹ใค", - "ใชใ„", - "ใชใ„ใ‹", + "ใฉใ‚“ใถใ‚Š", "ใชใ„ใ‹ใ", "ใชใ„ใ“ใ†", "ใชใ„ใ—ใ‚‡", "ใชใ„ใ™", "ใชใ„ใ›ใ‚“", "ใชใ„ใใ†", - "ใชใ„ใžใ†", "ใชใŠใ™", - "ใชใ", + "ใชใŒใ„", + "ใชใใ™", + "ใชใ’ใ‚‹", "ใชใ“ใ†ใฉ", "ใชใ•ใ‘", - "ใชใ—", - "ใชใ™", - "ใชใœ", - "ใชใž", "ใชใŸใงใ“ใ“", - "ใชใค", "ใชใฃใจใ†", "ใชใคใ‚„ใ™ใฟ", "ใชใชใŠใ—", "ใชใซใ”ใจ", "ใชใซใ‚‚ใฎ", "ใชใซใ‚", - "ใชใฏ", - "ใชใณ", + "ใชใฎใ‹", "ใชใตใ ", - "ใชใน", "ใชใพใ„ใ", "ใชใพใˆ", "ใชใพใฟ", - "ใชใฟ", "ใชใฟใ ", "ใชใ‚ใ‚‰ใ‹", "ใชใ‚ใ‚‹", "ใชใ‚„ใ‚€", + "ใชใ‚‰ใ†", + "ใชใ‚‰ใณ", "ใชใ‚‰ใถ", - "ใชใ‚‹", "ใชใ‚Œใ‚‹", - "ใชใ‚", "ใชใ‚ใจใณ", "ใชใ‚ใฐใ‚Š", "ใซใ‚ใ†", @@ -1449,16 +1464,12 @@ namespace Language "ใซใ‹ใ„", "ใซใŒใฆ", "ใซใใณ", - "ใซใ", "ใซใใ—ใฟ", "ใซใใพใ‚“", "ใซใ’ใ‚‹", "ใซใ•ใ‚“ใ‹ใŸใ‚“ใ", - "ใซใ—", "ใซใ—ใ", - "ใซใ™", "ใซใ›ใ‚‚ใฎ", - "ใซใกใ˜", "ใซใกใ˜ใ‚‡ใ†", "ใซใกใ‚ˆใ†ใณ", "ใซใฃใ‹", @@ -1476,23 +1487,13 @@ namespace Language "ใซใ‚‚ใค", "ใซใ‚„ใ‚Š", "ใซใ‚…ใ†ใ„ใ‚“", - "ใซใ‚…ใ†ใ‹", - "ใซใ‚…ใ†ใ—", - "ใซใ‚…ใ†ใ—ใ‚ƒ", - "ใซใ‚…ใ†ใ ใ‚“", - "ใซใ‚…ใ†ใถ", - "ใซใ‚‰", "ใซใ‚Šใ‚“ใ—ใ‚ƒ", - "ใซใ‚‹", - "ใซใ‚", "ใซใ‚ใจใ‚Š", "ใซใ‚“ใ„", "ใซใ‚“ใ‹", "ใซใ‚“ใ", "ใซใ‚“ใ’ใ‚“", "ใซใ‚“ใ—ใ", - "ใซใ‚“ใ—ใ‚‡ใ†", - "ใซใ‚“ใ—ใ‚“", "ใซใ‚“ใšใ†", "ใซใ‚“ใใ†", "ใซใ‚“ใŸใ„", @@ -1504,34 +1505,32 @@ namespace Language "ใซใ‚“ใ‚€", "ใซใ‚“ใ‚ใ„", "ใซใ‚“ใ‚ˆใ†", - "ใฌใ†", - "ใฌใ‹", - "ใฌใ", + "ใฌใ„ใใŽ", + "ใฌใ‹ใ™", + "ใฌใใ„ใจใ‚‹", + "ใฌใใ†", "ใฌใใ‚‚ใ‚Š", - "ใฌใ—", - "ใฌใฎ", - "ใฌใพ", + "ใฌใ™ใ‚€", + "ใฌใพใˆใณ", "ใฌใ‚ใ‚Š", "ใฌใ‚‰ใ™", - "ใฌใ‚‹", "ใฌใ‚“ใกใ‚ƒใ", "ใญใ‚ใ’", "ใญใ„ใ", "ใญใ„ใ‚‹", "ใญใ„ใ‚", - "ใญใŽ", "ใญใใ›", "ใญใใŸใ„", "ใญใใ‚‰", - "ใญใ“", "ใญใ“ใœ", "ใญใ“ใ‚€", "ใญใ•ใ’", "ใญใ™ใ”ใ™", "ใญใในใ‚‹", + "ใญใ ใ‚“", "ใญใคใ„", + "ใญใฃใ—ใ‚“", "ใญใคใžใ†", - "ใญใฃใŸใ„", "ใญใฃใŸใ„ใŽใ‚‡", "ใญใถใใ", "ใญใตใ ", @@ -1541,35 +1540,31 @@ namespace Language "ใญใพใ‚ใ—", "ใญใฟใฟ", "ใญใ‚€ใ„", + "ใญใ‚€ใŸใ„", "ใญใ‚‚ใจ", "ใญใ‚‰ใ†", - "ใญใ‚‹", "ใญใ‚ใ–", "ใญใ‚“ใ„ใ‚Š", "ใญใ‚“ใŠใ—", "ใญใ‚“ใ‹ใ‚“", - "ใญใ‚“ใ", "ใญใ‚“ใใ‚“", "ใญใ‚“ใ", "ใญใ‚“ใ–", "ใญใ‚“ใ—", "ใญใ‚“ใกใ‚ƒใ", - "ใญใ‚“ใกใ‚‡ใ†", "ใญใ‚“ใฉ", "ใญใ‚“ใด", "ใญใ‚“ใถใค", - "ใญใ‚“ใพใ", "ใญใ‚“ใพใค", - "ใญใ‚“ใ‚Šใ", "ใญใ‚“ใ‚Šใ‚‡ใ†", "ใญใ‚“ใ‚Œใ„", "ใฎใ„ใš", - "ใฎใ†", "ใฎใŠใฅใพ", "ใฎใŒใ™", "ใฎใใชใฟ", "ใฎใ“ใŽใ‚Š", "ใฎใ“ใ™", + "ใฎใ“ใ‚‹", "ใฎใ›ใ‚‹", "ใฎใžใ", "ใฎใžใ‚€", @@ -1580,105 +1575,110 @@ namespace Language "ใฎใฏใ‚‰", "ใฎในใ‚‹", "ใฎใผใ‚‹", - "ใฎใ‚€", + "ใฎใฟใ‚‚ใฎ", "ใฎใ‚„ใพ", "ใฎใ‚‰ใ„ใฌ", "ใฎใ‚‰ใญใ“", - "ใฎใ‚Š", - "ใฎใ‚‹", + "ใฎใ‚Šใ‚‚ใฎ", + "ใฎใ‚Šใ‚†ใ", "ใฎใ‚Œใ‚“", "ใฎใ‚“ใ", "ใฐใ‚ใ„", "ใฏใ‚ใ", "ใฐใ‚ใ•ใ‚“", - "ใฏใ„", "ใฐใ„ใ‹", "ใฐใ„ใ", "ใฏใ„ใ‘ใ‚“", "ใฏใ„ใ”", - "ใฏใ„ใ“ใ†", - "ใฏใ„ใ—", - "ใฏใ„ใ—ใ‚…ใค", "ใฏใ„ใ—ใ‚“", "ใฏใ„ใ™ใ„", - "ใฏใ„ใ›ใค", "ใฏใ„ใ›ใ‚“", "ใฏใ„ใใ†", "ใฏใ„ใก", "ใฐใ„ใฐใ„", - "ใฏใ†", - "ใฏใˆ", + "ใฏใ„ใ‚Œใค", "ใฏใˆใ‚‹", "ใฏใŠใ‚‹", - "ใฏใ‹", - "ใฐใ‹", "ใฏใ‹ใ„", + "ใฐใ‹ใ‚Š", "ใฏใ‹ใ‚‹", - "ใฏใ", - "ใฏใ", "ใฏใใ—ใ‚…", "ใฏใ‘ใ‚“", - "ใฏใ“", "ใฏใ“ใถ", "ใฏใ•ใฟ", "ใฏใ•ใ‚“", - "ใฏใ—", "ใฏใ—ใ”", + "ใฐใ—ใ‚‡", "ใฏใ—ใ‚‹", - "ใฐใ™", "ใฏใ›ใ‚‹", "ใฑใใ“ใ‚“", "ใฏใใ‚“", "ใฏใŸใ‚“", - "ใฏใก", "ใฏใกใฟใค", - "ใฏใฃใ‹", + "ใฏใคใŠใ‚“", "ใฏใฃใ‹ใ", - "ใฏใฃใ", + "ใฏใฅใ", "ใฏใฃใใ‚Š", "ใฏใฃใใค", "ใฏใฃใ‘ใ‚“", "ใฏใฃใ“ใ†", "ใฏใฃใ•ใ‚“", - "ใฏใฃใ—ใ‚ƒ", "ใฏใฃใ—ใ‚“", "ใฏใฃใŸใค", - "ใฏใฃใกใ‚ƒใ", "ใฏใฃใกใ‚…ใ†", "ใฏใฃใฆใ‚“", "ใฏใฃใดใ‚‡ใ†", "ใฏใฃใฝใ†", - "ใฏใฆ", - "ใฏใช", "ใฏใชใ™", "ใฏใชใณ", "ใฏใซใ‹ใ‚€", - "ใฏใญ", - "ใฏใฏ", "ใฏใถใ‚‰ใ—", - "ใฏใพ", "ใฏใฟใŒใ", - "ใฏใ‚€", "ใฏใ‚€ใ‹ใ†", "ใฏใ‚ใค", "ใฏใ‚„ใ„", - "ใฏใ‚‰", + "ใฏใ‚„ใ—", "ใฏใ‚‰ใ†", - "ใฏใ‚Š", - "ใฏใ‚‹", - "ใฏใ‚Œ", "ใฏใ‚ใ†ใƒใ‚“", "ใฏใ‚ใ„", "ใฏใ‚“ใ„", "ใฏใ‚“ใˆใ„", - "ใฏใ‚“ใˆใ‚“", "ใฏใ‚“ใŠใ‚“", "ใฏใ‚“ใ‹ใ", - "ใฏใ‚“ใ‹ใก", "ใฏใ‚“ใใ‚‡ใ†", + "ใฐใ‚“ใใฟ", "ใฏใ‚“ใ“", - "ใฏใ‚“ใ“ใ†", - "ใฏใ‚“ใ—ใ‚ƒ" + "ใฏใ‚“ใ—ใ‚ƒ", + "ใฏใ‚“ใ™ใ†", + "ใฏใ‚“ใ ใ‚“", + "ใฑใ‚“ใก", + "ใฑใ‚“ใค", + "ใฏใ‚“ใฆใ„", + "ใฏใ‚“ใจใ—", + "ใฏใ‚“ใฎใ†", + "ใฏใ‚“ใฑ", + "ใฏใ‚“ใถใ‚“", + "ใฏใ‚“ใบใ‚“", + "ใฏใ‚“ใผใ†ใ", + "ใฏใ‚“ใ‚ใ„", + "ใฏใ‚“ใ‚‰ใ‚“", + "ใฏใ‚“ใ‚ใ‚“", + "ใฒใ„ใ", + "ใฒใ†ใ‚“", + "ใฒใˆใ‚‹", + "ใฒใ‹ใ", + "ใฒใ‹ใ‚Š", + "ใฒใ‹ใ‚‹", + "ใฒใ‹ใ‚“", + "ใฒใใ„", + "ใฒใ‘ใค", + "ใฒใ“ใ†ใ", + "ใฒใ“ใ", + "ใฒใ•ใ„", + "ใฒใ•ใ—ใถใ‚Š", + "ใฒใ•ใ‚“", + "ใณใ˜ใ‚…ใคใ‹ใ‚“", + "ใฒใ—ใ‚‡" }); word_map = new std::unordered_map; trimmed_word_map = new std::unordered_map; -- cgit v1.2.3 From 7e5331e612f3ab9282d7e50bbb948bad98c23b55 Mon Sep 17 00:00:00 2001 From: Riccardo Spagni Date: Sun, 5 Oct 2014 11:44:06 +0200 Subject: new English word list, trim length of 3, average word size of 6 letters, designed to be a bit unusual and thus easier to memorise --- src/mnemonics/english.h | 2576 +++++++++++++++++++++++------------------------ 1 file changed, 1288 insertions(+), 1288 deletions(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/english.h b/src/mnemonics/english.h index 1b08e08d5..c1651da43 100644 --- a/src/mnemonics/english.h +++ b/src/mnemonics/english.h @@ -30,7 +30,7 @@ /*! * \file english.h * - * \brief English word list and map. + * \brief New English word list and map. */ #ifndef ENGLISH_H @@ -53,1632 +53,1632 @@ namespace Language English() { word_list = new std::vector({ - "abandon", + "abbey", + "abducts", "ability", - "able", - "about", - "above", - "absent", + "ablaze", + "abnormal", + "abort", + "abrasive", "absorb", - "abstract", - "absurd", - "abuse", - "access", - "accident", - "account", - "accuse", - "achieve", - "acid", + "abyss", + "academy", + "aces", + "aching", + "acidic", "acoustic", "acquire", "across", - "act", - "action", - "actor", "actress", - "actual", + "acumen", "adapt", - "add", - "addict", - "address", + "addicted", + "adept", + "adhesive", "adjust", - "admit", + "adopt", + "adrenalin", "adult", - "advance", - "advice", - "aerobic", + "adventure", + "aerial", + "afar", "affair", - "afford", + "afield", + "afloat", + "afoot", "afraid", - "again", - "age", - "agent", - "agree", + "after", + "against", + "agenda", + "aggravate", + "agile", + "aglow", + "agnostic", + "agony", + "agreed", "ahead", - "aim", - "air", - "airport", + "aided", + "ailments", + "aimless", + "airdry", "aisle", - "alarm", + "ajar", + "akin", + "alarms", "album", - "alcohol", - "alert", - "alien", - "all", + "alchemy", + "alerts", + "algebra", + "alkaline", "alley", - "allow", "almost", - "alone", - "alpha", - "already", + "aloof", + "alpine", + "alright", "also", - "alter", + "altitude", + "alumni", "always", - "amateur", - "amazing", + "amaze", + "ambush", + "amended", + "amidst", + "ammo", + "amnesty", "among", - "amount", + "amply", "amused", - "analyst", "anchor", - "ancient", - "anger", - "angle", - "angry", - "animal", + "android", + "anecdote", + "angled", "ankle", - "announce", - "annual", - "another", - "answer", - "antenna", - "antique", + "annoyed", + "answers", + "antics", + "anvil", "anxiety", - "any", + "anybody", "apart", + "apex", + "aphid", + "aplomb", "apology", - "appear", - "apple", - "approve", - "april", - "arch", - "arctic", - "area", + "apply", + "apricot", + "aptitude", + "aquarium", + "arbitrary", + "archer", + "ardent", "arena", "argue", - "arm", - "armed", - "armor", + "arises", "army", "around", - "arrange", - "arrest", - "arrive", "arrow", - "art", - "artefact", - "artist", - "artwork", - "ask", - "aspect", - "assault", - "asset", - "assist", - "assume", - "asthma", + "arsenic", + "artistic", + "ascend", + "ashtray", + "aside", + "asked", + "asleep", + "aspire", + "assorted", + "asylum", "athlete", + "atlas", "atom", - "attack", - "attend", - "attitude", - "attract", - "auction", - "audit", + "atriums", + "attire", + "auburn", + "auctions", + "audio", "august", "aunt", - "author", - "auto", + "austere", "autumn", - "average", - "avocado", + "avatar", + "avidly", "avoid", - "awake", - "aware", - "away", + "awakened", "awesome", "awful", "awkward", + "awning", + "awoken", + "axes", "axis", + "axle", + "aztec", + "azure", "baby", - "bachelor", "bacon", "badge", - "bag", - "balance", - "balcony", - "ball", + "baffles", + "bagpipe", + "bailed", + "bakery", + "balding", "bamboo", - "banana", - "banner", - "bar", - "barely", - "bargain", - "barrel", - "base", - "basic", - "basket", - "battle", - "beach", - "bean", - "beauty", + "banjo", + "baptism", + "basin", + "batch", + "bawled", + "bays", "because", - "become", - "beef", - "before", - "begin", - "behave", + "beer", + "befit", + "begun", "behind", - "believe", + "being", "below", - "belt", - "bench", - "benefit", - "best", - "betray", - "better", - "between", + "bemused", + "benches", + "berries", + "bested", + "betting", + "bevel", + "beware", "beyond", + "bias", "bicycle", - "bid", - "bike", - "bind", + "bids", + "bifocals", + "biggest", + "bikini", + "bimonthly", + "binocular", "biology", - "bird", + "biplane", "birth", - "bitter", - "black", - "blade", - "blame", - "blanket", - "blast", - "bleak", - "bless", - "blind", - "blood", - "blossom", - "blouse", - "blue", - "blur", - "blush", - "board", + "biscuit", + "bite", + "biweekly", + "blender", + "blip", + "bluntly", "boat", - "body", + "bobsled", + "bodies", + "bogeys", "boil", + "boldly", "bomb", - "bone", - "bonus", - "book", - "boost", "border", - "boring", - "borrow", "boss", - "bottom", - "bounce", - "box", - "boy", - "bracket", - "brain", - "brand", - "brass", - "brave", - "bread", - "breeze", - "brick", - "bridge", - "brief", - "bright", - "bring", - "brisk", - "broccoli", + "both", + "bounced", + "bovine", + "bowling", + "boxes", + "boyfriend", "broken", - "bronze", - "broom", - "brother", - "brown", - "brush", + "brunt", "bubble", - "buddy", + "buckets", "budget", - "buffalo", - "build", + "buffet", + "bugs", + "building", "bulb", - "bulk", - "bullet", - "bundle", - "bunker", - "burden", - "burger", - "burst", - "bus", + "bumper", + "bunch", "business", - "busy", "butter", - "buyer", - "buzz", - "cabbage", + "buying", + "buzzer", + "bygones", + "byline", + "bypass", "cabin", - "cable", "cactus", + "cadets", + "cafe", "cage", + "cajun", "cake", - "call", - "calm", - "camera", + "calamity", "camp", - "can", - "canal", - "cancel", "candy", - "cannon", - "canoe", - "canvas", - "canyon", - "capable", - "capital", - "captain", - "car", - "carbon", - "card", - "cargo", - "carpet", - "carry", - "cart", - "case", - "cash", - "casino", - "castle", - "casual", - "cat", - "catalog", + "casket", "catch", - "category", - "cattle", - "caught", "cause", - "caution", - "cave", + "cavernous", + "cease", + "cedar", "ceiling", - "celery", + "cell", "cement", - "census", - "century", - "cereal", + "cent", "certain", - "chair", - "chalk", - "champion", - "change", - "chaos", - "chapter", - "charge", - "chase", - "chat", - "cheap", - "check", - "cheese", - "chef", - "cherry", - "chest", - "chicken", - "chief", - "child", - "chimney", - "choice", - "choose", - "chronic", - "chuckle", - "chunk", - "churn", + "chlorine", + "chrome", + "cider", "cigar", - "cinnamon", + "cinema", "circle", - "citizen", - "city", - "civil", + "cistern", + "citadel", + "civilian", "claim", - "clap", - "clarify", - "claw", - "clay", - "clean", - "clerk", - "clever", "click", - "client", - "cliff", - "climb", - "clinic", - "clip", - "clock", - "clog", - "close", - "cloth", - "cloud", - "clown", - "club", - "clump", - "cluster", - "clutch", - "coach", - "coast", - "coconut", + "clue", + "coal", + "cobra", + "cocoa", "code", + "coexist", "coffee", - "coil", - "coin", - "collect", - "color", - "column", - "combine", - "come", - "comfort", - "comic", - "common", - "company", - "concert", - "conduct", - "confirm", - "congress", - "connect", - "consider", - "control", - "convince", - "cook", + "cogs", + "cohesive", + "coils", + "colony", + "comb", "cool", - "copper", "copy", - "coral", - "core", - "corn", - "correct", - "cost", - "cotton", - "couch", - "country", - "couple", - "course", + "costume", + "cottage", "cousin", - "cover", - "coyote", - "crack", - "cradle", - "craft", - "cram", - "crane", - "crash", - "crater", - "crawl", - "crazy", - "cream", - "credit", - "creek", - "crew", - "cricket", - "crime", - "crisp", - "critic", - "crop", - "cross", - "crouch", - "crowd", - "crucial", - "cruel", - "cruise", - "crumble", - "crunch", - "crush", - "cry", - "crystal", + "cowl", + "cozy", + "criminal", "cube", - "culture", - "cup", - "cupboard", - "curious", - "current", - "curtain", - "curve", - "cushion", + "cucumber", + "cuddled", + "cuffs", + "cuisine", + "cunning", + "cupcake", "custom", - "cute", - "cycle", - "dad", - "damage", + "cycling", + "cylinder", + "cynical", + "dabbing", + "dads", + "daft", + "dagger", + "daily", "damp", - "dance", - "danger", - "daring", + "dangerous", + "dapper", + "darted", "dash", - "daughter", + "dating", + "dauntless", "dawn", - "day", - "deal", - "debate", - "debris", - "decade", - "december", - "decide", - "decline", - "decorate", - "decrease", - "deer", - "defense", - "define", - "defy", - "degree", - "delay", - "deliver", - "demand", - "demise", - "denial", - "dentist", - "deny", - "depart", - "depend", - "deposit", + "daytime", + "dazed", + "debut", + "decay", + "dedicated", + "deepest", + "deftly", + "degrees", + "dehydrate", + "deity", + "dejected", + "delayed", + "demonstrate", + "dented", + "deodorant", "depth", - "deputy", - "derive", - "describe", - "desert", - "design", "desk", - "despair", - "destroy", - "detail", - "detect", - "develop", - "device", - "devote", - "diagram", - "dial", - "diamond", - "diary", + "devoid", + "dewdrop", + "dexterity", + "dialect", "dice", - "diesel", "diet", - "differ", - "digital", - "dignity", - "dilemma", + "different", + "digit", + "dilute", + "dime", "dinner", - "dinosaur", - "direct", - "dirt", - "disagree", - "discover", - "disease", - "dish", - "dismiss", - "disorder", - "display", + "diode", + "diplomat", + "directed", "distance", - "divert", - "divide", - "divorce", + "ditch", + "divers", "dizzy", "doctor", - "document", - "dog", - "doll", + "dodge", + "does", + "dogs", + "doing", "dolphin", - "domain", - "donate", - "donkey", - "donor", - "door", - "dose", + "domestic", + "donuts", + "doorway", + "dormant", + "dosage", + "dotted", "double", "dove", - "draft", - "dragon", - "drama", - "drastic", - "draw", - "dream", - "dress", - "drift", - "drill", - "drink", - "drip", - "drive", - "drop", - "drum", - "dry", - "duck", - "dumb", - "dune", - "during", - "dust", - "dutch", - "duty", + "down", + "dozen", + "dreams", + "drinks", + "drowning", + "drunk", + "drying", + "dual", + "dubbed", + "duckling", + "dude", + "duets", + "duke", + "dullness", + "dummy", + "dunes", + "duplex", + "duration", + "dusted", + "duties", "dwarf", - "dynamic", - "eager", + "dwelt", + "dwindling", + "dying", + "dynamite", + "dyslexic", + "each", "eagle", - "early", - "earn", "earth", - "easily", - "east", "easy", + "eating", + "eavesdrop", + "eccentric", "echo", - "ecology", - "economy", - "edge", - "edit", - "educate", - "effort", - "egg", + "eclipse", + "economics", + "ecstatic", + "eden", + "edgy", + "edited", + "educated", + "eels", + "efficient", + "eggs", + "egotistic", "eight", "either", + "eject", + "elapse", "elbow", - "elder", - "electric", - "elegant", - "element", - "elephant", - "elevator", + "eldest", + "eleven", "elite", + "elope", "else", - "embark", - "embody", - "embrace", + "eluded", + "emails", + "ember", "emerge", + "emit", "emotion", - "employ", - "empower", "empty", - "enable", - "enact", - "end", - "endless", - "endorse", - "enemy", + "emulate", "energy", "enforce", - "engage", - "engine", - "enhance", + "enhanced", + "enigma", "enjoy", "enlist", + "enmity", "enough", - "enrich", - "enroll", - "ensure", - "enter", - "entire", - "entry", - "envelope", - "episode", - "equal", + "enquiry", + "enraged", + "entrance", + "envy", + "epoxy", "equip", - "era", "erase", - "erode", + "erected", "erosion", "error", - "erupt", - "escape", - "essay", - "essence", + "eskimos", + "espionage", + "essential", "estate", + "etched", "eternal", "ethics", - "evidence", - "evil", - "evoke", - "evolve", - "exact", - "example", + "etiquette", + "evaluate", + "evenings", + "evicted", + "evolved", + "examine", "excess", - "exchange", - "excite", - "exclude", - "excuse", - "execute", - "exercise", - "exhaust", - "exhibit", - "exile", - "exist", + "exhale", "exit", "exotic", - "expand", - "expect", - "expire", - "explain", - "expose", - "express", - "extend", + "exquisite", "extra", - "eye", - "eyebrow", - "fabric", - "face", - "faculty", - "fade", - "faint", - "faith", + "exult", + "fabrics", + "factual", + "fading", + "fainted", + "faked", "fall", - "false", - "fame", "family", - "famous", - "fan", "fancy", - "fantasy", - "farm", - "fashion", - "fat", + "farming", "fatal", - "father", - "fatigue", - "fault", - "favorite", - "feature", + "faulty", + "fawns", + "faxed", + "fazed", + "feast", "february", "federal", - "fee", - "feed", "feel", - "female", - "fence", + "feline", + "females", + "fences", + "ferry", "festival", - "fetch", + "fetches", "fever", - "few", - "fiber", - "fiction", - "field", - "figure", - "file", - "film", - "filter", - "final", - "find", - "fine", - "finger", - "finish", - "fire", + "fewest", + "fiat", + "fibers", + "fictional", + "fidget", + "fierce", + "fifteen", + "fight", + "films", "firm", - "first", - "fiscal", - "fish", - "fit", - "fitness", - "fix", - "flag", - "flame", - "flash", - "flat", - "flavor", - "flee", - "flight", - "flip", - "float", - "flock", - "floor", - "flower", - "fluid", - "flush", - "fly", - "foam", + "fishing", + "fitting", + "five", + "fixate", + "fizzle", + "fleet", + "flippant", + "flying", + "foamy", "focus", - "fog", - "foil", - "fold", - "follow", - "food", - "foot", - "force", - "forest", - "forget", - "fork", - "fortune", - "forum", - "forward", + "foes", + "foggy", + "foiled", + "folding", + "fonts", + "foolish", "fossil", - "foster", - "found", - "fox", - "fragile", - "frame", - "frequent", - "fresh", - "friend", - "fringe", - "frog", - "front", - "frost", + "fountain", + "fowls", + "foxes", + "foyer", + "framed", + "friendly", "frown", - "frozen", "fruit", + "frying", + "fudge", "fuel", - "fun", - "funny", - "furnace", - "fury", + "fugitive", + "fully", + "fuming", + "fungal", + "furnished", + "fuselage", "future", + "fuzzy", + "gables", "gadget", - "gain", + "gags", + "gained", "galaxy", - "gallery", - "game", - "gap", - "garage", - "garbage", - "garden", - "garlic", - "garment", - "gas", + "gambit", + "gang", "gasp", - "gate", "gather", - "gauge", + "gauze", + "gave", + "gawk", "gaze", + "gearbox", + "gecko", + "geek", + "gels", + "gemstone", "general", - "genius", - "genre", - "gentle", - "genuine", + "geometry", + "germs", "gesture", + "getting", + "geyser", + "ghetto", "ghost", "giant", - "gift", - "giggle", + "giddy", + "gifts", + "gigantic", + "gills", + "gimmick", "ginger", - "giraffe", - "girl", - "give", - "glad", - "glance", - "glare", + "girth", + "giving", "glass", + "gleeful", "glide", - "glimpse", - "globe", - "gloom", - "glory", - "glove", - "glow", - "glue", + "gnaw", + "gnome", "goat", - "goddess", - "gold", - "good", - "goose", + "goblet", + "godfather", + "goes", + "goggles", + "going", + "goldfish", + "gone", + "goodbye", + "gopher", "gorilla", - "gospel", "gossip", - "govern", + "gotten", + "gourmet", + "governing", "gown", - "grab", - "grace", - "grain", - "grant", - "grape", - "grass", - "gravity", - "great", - "green", - "grid", - "grief", - "grit", - "grocery", - "group", - "grow", + "greater", "grunt", - "guard", - "guess", + "guarded", + "guest", "guide", - "guilt", - "guitar", - "gun", - "gym", - "habit", - "hair", - "half", - "hammer", - "hamster", - "hand", - "happy", - "harbor", - "hard", - "harsh", - "harvest", - "hat", - "have", + "gulp", + "gumball", + "guru", + "gusts", + "gutter", + "guys", + "gymnast", + "gypsy", + "gyrate", + "habitat", + "hacksaw", + "haggled", + "hairy", + "hamburger", + "happens", + "hashing", + "hatchet", + "haunted", + "having", "hawk", + "haystack", "hazard", - "head", - "health", - "heart", - "heavy", + "hectare", "hedgehog", + "heels", + "hefty", "height", - "hello", - "helmet", - "help", - "hen", - "hero", - "hidden", - "high", - "hill", - "hint", - "hip", + "hemlock", + "hence", + "heron", + "hesitate", + "hexagon", + "hiccups", + "hiding", + "highway", + "hijack", + "hiker", + "hills", + "himself", + "hinder", + "hippo", "hire", "history", + "hitched", + "hive", + "hoax", "hobby", "hockey", + "hoisting", "hold", - "hole", - "holiday", - "hollow", - "home", - "honey", - "hood", + "honked", + "hookup", "hope", - "horn", - "horror", - "horse", + "hornet", "hospital", - "host", "hotel", - "hour", + "hounded", "hover", - "hub", + "howls", + "hubcaps", + "huddle", "huge", - "human", - "humble", - "humor", - "hundred", - "hungry", - "hunt", - "hurdle", - "hurry", - "hurt", + "hull", + "humid", + "hunter", + "hurried", "husband", + "huts", "hybrid", - "ice", + "hydrogen", + "hyper", + "iceberg", + "icing", "icon", - "idea", - "identify", - "idle", + "identity", + "idiom", + "idled", + "idols", + "igloo", "ignore", - "ill", - "illegal", + "iguana", "illness", - "image", + "imagine", + "imbalance", "imitate", - "immense", - "immune", - "impact", - "impose", - "improve", - "impulse", - "inch", - "include", - "income", - "increase", - "index", - "indicate", - "indoor", - "industry", - "infant", - "inflict", - "inform", - "inhale", - "inherit", - "initial", - "inject", + "impel", + "inactive", + "inbound", + "incur", + "industrial", + "inexact", + "inflamed", + "ingested", + "initiate", "injury", + "inkling", + "inline", "inmate", - "inner", "innocent", + "inorganic", "input", - "inquiry", - "insane", - "insect", - "inside", - "inspire", - "install", - "intact", - "interest", - "into", - "invest", - "invite", - "involve", - "iron", + "inquest", + "inroads", + "insult", + "intended", + "inundate", + "invoke", + "inwardly", + "ionic", + "irate", + "iris", + "irony", + "irritate", "island", - "isolate", - "issue", - "item", + "isolated", + "issued", + "italics", + "itches", + "items", + "itinerary", + "itself", "ivory", - "jacket", - "jaguar", - "jar", + "jabbed", + "jackets", + "jaded", + "jagged", + "jailer", + "jamming", + "january", + "jargon", + "jaunt", + "javelin", + "jaws", "jazz", - "jealous", "jeans", - "jelly", - "jewel", - "job", - "join", - "joke", - "journey", - "joy", + "jeers", + "jellyfish", + "jeopardy", + "jerseys", + "jester", + "jetting", + "jewels", + "jigsaw", + "jingle", + "jittery", + "jive", + "jobs", + "jockey", + "jogger", + "joining", + "joking", + "jolted", + "jostle", + "journal", + "joyous", + "jubilee", "judge", - "juice", + "juggled", + "juicy", + "jukebox", + "july", "jump", - "jungle", - "junior", "junk", - "just", + "jury", + "justice", + "juvenile", "kangaroo", - "keen", + "karate", "keep", - "ketchup", - "key", - "kick", - "kid", - "kidney", - "kind", - "kingdom", - "kiss", - "kit", - "kitchen", - "kite", - "kitten", + "kennel", + "kept", + "kernels", + "kettle", + "keyboard", + "kickoff", + "kidneys", + "king", + "kiosk", + "kisses", + "kitchens", "kiwi", + "knapsack", "knee", "knife", - "knock", - "know", - "lab", - "label", - "labor", + "knowledge", + "knuckle", + "koala", + "laboratory", "ladder", - "lady", - "lake", - "lamp", + "lagoon", + "lair", + "lakes", + "lamb", "language", "laptop", "large", + "last", "later", - "latin", - "laugh", - "laundry", + "launchpad", "lava", - "law", - "lawn", "lawsuit", - "layer", + "layout", "lazy", - "leader", - "leaf", - "learn", - "leave", - "lecture", + "lectures", + "ledge", + "leech", "left", - "leg", - "legal", - "legend", + "legion", "leisure", "lemon", - "lend", - "length", - "lens", + "lending", "leopard", "lesson", - "letter", - "level", + "lettuce", + "lexicon", "liar", - "liberty", "library", "license", - "life", - "lift", + "lids", + "lied", + "lifestyle", "light", - "like", - "limb", - "limit", - "link", + "likewise", + "lilac", + "limits", + "linen", "lion", + "lipstick", "liquid", - "list", - "little", - "live", - "lizard", - "load", - "loan", + "listen", + "lively", + "loaded", "lobster", - "local", - "lock", + "locker", + "lodge", + "lofty", "logic", - "lonely", + "loincloth", "long", - "loop", + "looking", + "lopped", + "lordship", + "losing", "lottery", - "loud", - "lounge", + "loudly", "love", + "lower", "loyal", "lucky", "luggage", + "lukewarm", + "lullaby", "lumber", "lunar", - "lunch", + "lurk", + "lush", "luxury", + "lymph", + "lynx", "lyrics", - "machine", - "mad", - "magic", - "magnet", - "maid", - "mail", - "main", + "macro", + "madness", + "magically", + "mailed", "major", - "make", + "makeup", + "malady", "mammal", - "man", - "manage", - "mandate", - "mango", - "mansion", - "manual", - "maple", - "marble", - "march", - "margin", - "marine", - "market", - "marriage", - "mask", - "mass", - "master", + "maps", + "masterful", "match", - "material", - "math", - "matrix", - "matter", + "maul", + "maverick", "maximum", + "mayor", "maze", - "meadow", - "mean", - "measure", - "meat", + "meant", "mechanic", - "medal", - "media", - "melody", - "melt", - "member", - "memory", - "mention", + "medicate", + "meeting", + "megabyte", + "melting", + "memoir", "menu", - "mercy", - "merge", - "merit", - "merry", + "merger", "mesh", - "message", - "metal", - "method", - "middle", - "midnight", - "milk", - "million", - "mimic", - "mind", - "minimum", - "minor", - "minute", - "miracle", + "metro", + "mews", + "mice", + "midst", + "mighty", + "mime", "mirror", "misery", - "miss", - "mistake", - "mix", - "mixed", + "mittens", "mixture", + "moat", "mobile", - "model", - "modify", - "mom", + "mocked", + "mohawk", + "moisture", + "molten", "moment", - "monitor", - "monkey", - "monster", - "month", + "money", "moon", - "moral", - "more", - "morning", - "mosquito", - "mother", - "motion", - "motor", - "mountain", - "mouse", - "move", - "movie", + "mops", + "morsel", + "mostly", + "motherly", + "mouth", + "movement", + "mowing", "much", + "muddy", "muffin", - "mule", - "multiply", - "muscle", - "museum", - "mushroom", - "music", - "must", - "mutual", - "myself", + "mugged", + "mullet", + "mumble", + "mundane", + "muppet", + "mural", + "musical", + "muzzle", + "myriad", "mystery", "myth", - "naive", - "name", + "nabbing", + "nagged", + "nail", + "names", + "nanny", "napkin", - "narrow", + "narrate", "nasty", - "nation", - "nature", - "near", - "neck", - "need", + "natural", + "nautical", + "navy", + "nearby", + "necklace", + "needed", "negative", - "neglect", "neither", + "neon", "nephew", - "nerve", - "nest", - "net", + "nerves", + "nestle", "network", "neutral", "never", - "news", - "next", - "nice", - "night", - "noble", - "noise", - "nominee", - "noodle", - "normal", - "north", - "nose", - "notable", - "note", - "nothing", - "notice", - "novel", - "now", - "nuclear", + "newt", + "nexus", + "nibs", + "niche", + "niece", + "nifty", + "nightly", + "nimbly", + "nineteen", + "nirvana", + "nitrogen", + "nobody", + "nocturnal", + "nodes", + "noises", + "nomad", + "noodles", + "northern", + "nostril", + "noted", + "nouns", + "novelty", + "nowhere", + "nozzle", + "nuance", + "nucleus", + "nudged", + "nugget", + "nuisance", + "null", "number", + "nuns", "nurse", - "nut", - "oak", - "obey", + "nutshell", + "nylon", + "oaks", + "oars", + "oasis", + "oatmeal", + "obedient", "object", - "oblige", - "obscure", - "observe", - "obtain", + "obliged", + "obnoxious", + "observant", + "obtains", "obvious", "occur", "ocean", "october", - "odor", - "off", - "offer", - "office", + "odds", + "odometer", + "offend", "often", - "oil", + "oilfield", + "ointment", "okay", - "old", + "older", "olive", - "olympic", - "omit", - "once", - "one", + "olympics", + "omega", + "omission", + "omnibus", + "onboard", + "oncoming", + "oneself", + "ongoing", "onion", "online", - "only", - "open", - "opera", - "opinion", - "oppose", - "option", + "onslaught", + "onto", + "onward", + "oozed", + "opacity", + "opened", + "opposite", + "optical", + "opus", "orange", "orbit", - "orchard", - "order", - "ordinary", - "organ", - "orient", - "original", - "orphan", + "orchid", + "orders", + "organs", + "origin", + "ornament", + "orphans", + "oscar", "ostrich", - "other", - "outdoor", - "outer", - "output", - "outside", + "otherwise", + "otter", + "ouch", + "ought", + "ounce", + "ourself", + "oust", + "outbreak", "oval", "oven", - "over", - "own", + "owed", + "owls", "owner", + "oxidant", "oxygen", "oyster", "ozone", "pact", - "paddle", - "page", - "pair", + "paddles", + "pager", + "pairing", "palace", - "palm", - "panda", - "panel", - "panic", - "panther", + "pamphlet", + "pancakes", "paper", - "parade", - "parent", - "park", - "parrot", - "party", - "pass", - "patch", - "path", - "patient", - "patrol", - "pattern", + "paradise", + "pastry", + "patio", "pause", - "pave", + "pavements", + "pawnshop", "payment", - "peace", - "peanut", - "pear", - "peasant", + "peaches", + "pebbles", + "peckish", + "pedantic", + "peeled", + "pegs", "pelican", - "pen", - "penalty", "pencil", "people", "pepper", "perfect", - "permit", - "person", - "pet", + "pests", + "petals", + "phase", + "pheasants", "phone", - "photo", - "phrase", - "physical", + "phrases", + "physics", "piano", - "picnic", - "picture", - "piece", - "pig", - "pigeon", - "pill", - "pilot", - "pink", + "picked", + "pierce", + "pigment", + "piloted", + "pimple", + "pinched", "pioneer", - "pipe", - "pistol", - "pitch", + "pipeline", + "pirate", + "pistons", + "pitched", + "pivot", + "pixels", "pizza", - "place", - "planet", - "plastic", - "plate", - "play", - "please", + "playful", "pledge", - "pluck", - "plug", - "plunge", - "poem", - "poet", + "pliers", + "plowing", + "plus", + "plywood", + "poaching", + "pockets", + "podcast", + "poetry", "point", + "poker", "polar", - "pole", - "police", - "pond", - "pony", + "ponies", "pool", "popular", - "portion", - "position", + "portents", "possible", - "post", "potato", - "pottery", + "pouch", "poverty", "powder", - "power", - "practice", - "praise", - "predict", - "prefer", - "prepare", + "pram", "present", - "pretty", - "prevent", - "price", "pride", - "primary", - "print", - "priority", - "prison", - "private", - "prize", - "problem", - "process", - "produce", - "profit", - "program", - "project", - "promote", - "proof", - "property", - "prosper", - "protect", - "proud", - "provide", + "problems", + "pruned", + "prying", + "psychic", "public", - "pudding", - "pull", + "puck", + "puddle", + "puffin", "pulp", - "pulse", - "pumpkin", + "pumpkins", "punch", - "pupil", "puppy", - "purchase", - "purity", - "purpose", - "purse", + "purged", "push", - "put", - "puzzle", + "putty", + "puzzled", + "pylons", "pyramid", - "quality", - "quantum", - "quarter", - "question", + "python", + "queen", "quick", - "quit", - "quiz", "quote", - "rabbit", - "raccoon", - "race", - "rack", + "rabbits", + "racecar", "radar", - "radio", - "rail", - "rain", - "raise", + "rafts", + "rage", + "railway", + "raking", "rally", - "ramp", - "ranch", - "random", - "range", + "ramped", + "randomly", "rapid", - "rare", - "rate", - "rather", - "raven", - "raw", + "rarest", + "rash", + "rated", + "ravine", + "rays", "razor", - "ready", - "real", - "reason", + "react", "rebel", - "rebuild", - "recall", - "receive", "recipe", - "record", - "recycle", "reduce", - "reflect", - "reform", - "refuse", - "region", - "regret", + "reef", + "refer", "regular", - "reject", - "relax", - "release", - "relief", - "rely", - "remain", - "remember", - "remind", - "remove", - "render", - "renew", - "rent", - "reopen", - "repair", - "repeat", - "replace", - "report", - "require", - "rescue", - "resemble", - "resist", - "resource", - "response", - "result", - "retire", - "retreat", + "reheat", + "reignite", + "rejoices", + "rekindle", + "relic", + "remedy", + "renting", + "reorder", + "repent", + "request", + "reruns", + "rest", "return", "reunion", - "reveal", - "review", - "reward", + "revamp", + "rewind", + "rhino", "rhythm", - "rib", "ribbon", - "rice", - "rich", - "ride", - "ridge", - "rifle", - "right", + "richly", + "ridges", + "rift", "rigid", - "ring", - "riot", - "ripple", - "risk", + "rims", + "ringing", + "riots", + "ripped", + "rising", "ritual", - "rival", "river", - "road", - "roast", + "roared", "robot", - "robust", - "rocket", + "rockets", + "rodent", + "rogue", + "roles", "romance", - "roof", - "rookie", - "room", - "rose", + "roomy", + "roped", + "roster", "rotate", - "rough", - "round", - "route", + "rounded", + "rover", + "rowboat", "royal", - "rubber", - "rude", - "rug", - "rule", - "run", + "ruby", + "rudely", + "ruffled", + "rugged", + "ruined", + "ruling", + "rumble", "runway", "rural", - "sad", - "saddle", + "rustled", + "ruthless", + "sabotage", + "sack", "sadness", - "safe", - "sail", - "salad", - "salmon", - "salon", - "salt", - "salute", - "same", + "safety", + "saga", + "sailor", + "sake", + "salads", "sample", - "sand", - "satisfy", - "satoshi", - "sauce", - "sausage", - "save", - "say", - "scale", - "scan", - "scare", - "scatter", - "scene", - "scheme", + "sanity", + "sapling", + "sarcasm", + "sash", + "satin", + "saucepan", + "saved", + "sawmill", + "saxophone", + "sayings", + "scamper", + "scenic", "school", "science", - "scissors", - "scorpion", - "scout", - "scrap", - "screen", - "script", + "scoop", "scrub", - "sea", - "search", - "season", - "seat", + "scuba", + "seasons", "second", - "secret", - "section", - "security", - "seed", - "seek", - "segment", - "select", - "sell", - "seminar", - "senior", - "sense", - "sentence", - "series", - "service", + "sedan", + "seeded", + "segments", + "seismic", + "selfish", + "semifinal", + "sensible", + "september", + "sequence", + "serving", "session", - "settle", "setup", - "seven", - "shadow", - "shaft", - "shallow", - "share", - "shed", - "shell", - "sheriff", - "shield", - "shift", - "shine", - "ship", - "shiver", - "shock", - "shoe", - "shoot", - "shop", - "short", - "shoulder", - "shove", - "shrimp", - "shrug", - "shuffle", - "shy", - "sibling", - "sick", - "side", - "siege", - "sight", - "sign", - "silent", + "seventh", + "sewage", + "shackles", + "shelter", + "shipped", + "shocking", + "shrugged", + "shuffled", + "shyness", + "siblings", + "sickness", + "sidekick", + "sieve", + "sifting", + "sighting", "silk", - "silly", - "silver", - "similar", - "simple", - "since", - "sing", + "simplest", + "sincerely", + "siphon", "siren", - "sister", - "situate", - "six", - "size", - "skate", - "sketch", - "ski", - "skill", - "skin", - "skirt", - "skull", - "slab", - "slam", - "sleep" + "situated", + "sixteen", + "sizes", + "skater", + "skew", + "skirting", + "skulls", + "skydive", + "slackens", + "sleepless", + "slid", + "slower", + "slug", + "smash", + "smelting", + "smidgen", + "smog", + "smuggled", + "snake", + "sneeze", + "sniff", + "snout", + "snug", + "soapy", + "sober", + "soccer", + "soda", + "software", + "soggy", + "soil", + "solved", + "somewhere", + "sonic", + "soothe", + "soprano", + "sorry", + "southern", + "sovereign", + "sowed", + "soya", + "space", + "speedy", + "sphere", + "spiders", + "splendid", + "spout", + "sprig", + "spud", + "spying", + "square", + "stacking", + "stellar", + "stick", + "stockpile", + "strained", + "stunning", + "stylishly", + "subtly", + "succeed", + "suddenly", + "suffice", + "sugar", + "suitcase", + "sulking", + "summon", + "sunken", + "superior", + "surfer", + "sushi", + "suture", + "swagger", + "swept", + "swiftly", + "sword", + "swung", + "syllabus", + "symptoms", + "syndrome", + "syphon", + "syringe", + "system", + "taboo", + "tacit", + "tadpoles", + "tagged", + "tail", + "taken", + "talent", + "tamper", + "tanks", + "tapestry", + "tarnished", + "tasked", + "tattoo", + "taunts", + "tavern", + "tawny", + "taxi", + "teardrop", + "technical", + "tedious", + "teeming", + "tell", + "template", + "tender", + "tepid", + "tequila", + "terminal", + "testing", + "tether", + "textbook", + "thaw", + "theatrics", + "thirsty", + "thorn", + "threaten", + "thumbs", + "thwart", + "ticket", + "tidy", + "tiers", + "tiger", + "tilt", + "timber", + "tinted", + "tipsy", + "tirade", + "tissue", + "titans", + "toaster", + "tobacco", + "today", + "toenail", + "toffee", + "together", + "toilet", + "token", + "tolerant", + "tomorrow", + "tonic", + "toolbox", + "topic", + "torch", + "tossed", + "total", + "touchy", + "towel", + "toxic", + "toystore", + "trash", + "trendy", + "tribal", + "trolling", + "truth", + "trying", + "tsunami", + "tubes", + "tucks", + "tudor", + "tuesday", + "tufts", + "tugs", + "tuition", + "tulips", + "tumbling", + "tunnel", + "turnip", + "tusks", + "tutor", + "tuxedo", + "twang", + "tweezer", + "twice", + "twofold", + "tycoon", + "typist", + "tyrant", + "ugly", + "ulcers", + "ultimate", + "umbrella", + "umpire", + "unafraid", + "unbending", + "uncle", + "under", + "uneven", + "unfit", + "ungainly", + "unhappy", + "union", + "unjustly", + "unknown", + "unlikely", + "unmask", + "unnoticed", + "unopened", + "unplugs", + "unquoted", + "unrest", + "unsafe", + "until", + "unusual", + "unveil", + "unwind", + "unzip", + "upbeat", + "upcoming", + "update", + "upgrade", + "uphill", + "upkeep", + "upload", + "upon", + "upper", + "upright", + "upstairs", + "uptight", + "upwards", + "urban", + "urchins", + "urgent", + "usage", + "useful", + "usher", + "using", + "usual", + "utensils", + "utility", + "utmost", + "utopia", + "uttered", + "vacation", + "vague", + "vain", + "value", + "vampire", + "vane", + "vapors", + "vary", + "vastness", + "vats", + "vaults", + "vector", + "veered", + "vegan", + "vehicle", + "vein", + "velvet", + "venomous", + "verification", + "vessel", + "veteran", + "vexed", + "vials", + "vibrate", + "victim", + "video", + "viewpoint", + "vigilant", + "viking", + "village", + "vinegar", + "violin", + "vipers", + "virtual", + "visited", + "vitals", + "vivid", + "vixen", + "vocal", + "vogue", + "voice", + "volcano", + "vortex", + "voted", + "voucher", + "vowels", + "voyage", + "vulture", + "wade", + "waffle", + "wagon", + "waist", + "waking", + "wallets", + "wanted", + "warped", + "washing", + "water", + "waveform", + "waxing", + "wayside", + "weavers", + "website", + "wedge", + "weekday", + "weird", + "welders", + "went", + "wept", + "were", + "western", + "wetsuit", + "whale", + "when", + "whipped", + "whole", + "wickets", + "width", + "wield", + "wife", + "wiggle", + "wilfully", + "winter", + "wipeout", + "wiring", + "wise", + "withdrawn", + "wives", + "wizard", + "wobbly", + "woes", + "woken", + "wolf", + "womanly", + "wonders", + "woozy", + "worry", + "wounded", + "woven", + "wrap", + "wrist", + "wrong", + "yacht", + "yahoo", + "yanks", + "yard", + "yawning", + "yearbook", + "yellow", + "yesterday", + "yeti", + "yields", + "yodel", + "yoga", + "younger", + "yoyo", + "zapped", + "zeal", + "zebra", + "zero", + "zesty", + "zigzags", + "zinger", + "zippers", + "zodiac", + "zombie", + "zones", + "zoom" }); word_map = new std::unordered_map; trimmed_word_map = new std::unordered_map; -- cgit v1.2.3 From a41f23921c1758609b920bb7bf59c30c553fc57f Mon Sep 17 00:00:00 2001 From: Riccardo Spagni Date: Sun, 5 Oct 2014 12:42:40 +0200 Subject: added trim_length to language_base class, added license to langeuage_base --- src/mnemonics/english.h | 1 + src/mnemonics/japanese.h | 3 ++- src/mnemonics/language_base.h | 36 ++++++++++++++++++++++++++++++++++++ src/mnemonics/old_english.h | 1 + src/mnemonics/spanish.h | 1 + 5 files changed, 41 insertions(+), 1 deletion(-) (limited to 'src/mnemonics') diff --git a/src/mnemonics/english.h b/src/mnemonics/english.h index c1651da43..604228a8f 100644 --- a/src/mnemonics/english.h +++ b/src/mnemonics/english.h @@ -1,4 +1,5 @@ // Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// // Copyright (c) 2014, The Monero Project // // All rights reserved. diff --git a/src/mnemonics/japanese.h b/src/mnemonics/japanese.h index 84d7f56f5..22c7a53ba 100644 --- a/src/mnemonics/japanese.h +++ b/src/mnemonics/japanese.h @@ -1,4 +1,5 @@ -// Word list originally created by dabura667, +// Word list originally created by dabura667 +// // Copyright (c) 2014, The Monero Project // // All rights reserved. diff --git a/src/mnemonics/language_base.h b/src/mnemonics/language_base.h index 5c988a436..3a56a530c 100644 --- a/src/mnemonics/language_base.h +++ b/src/mnemonics/language_base.h @@ -1,3 +1,31 @@ +// Copyright (c) 2014, The Monero Project +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are +// permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of +// conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list +// of conditions and the following disclaimer in the documentation and/or other +// materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its contributors may be +// used to endorse or promote products derived from this software without specific +// prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +// THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF +// THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + /*! * \file language_base.h * @@ -89,6 +117,14 @@ namespace Language { return language_name; } + /*! + * \brief Returns the number of unique starting characters to be used for matching. + * \return Number of unique starting characters. + */ + std::string get_trim_length() const + { + return trim_length; + } }; } diff --git a/src/mnemonics/old_english.h b/src/mnemonics/old_english.h index f62e3edeb..09ac37e66 100644 --- a/src/mnemonics/old_english.h +++ b/src/mnemonics/old_english.h @@ -1,4 +1,5 @@ // Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// // Copyright (c) 2014, The Monero Project // // All rights reserved. diff --git a/src/mnemonics/spanish.h b/src/mnemonics/spanish.h index 36fcf74da..8d695a4b1 100644 --- a/src/mnemonics/spanish.h +++ b/src/mnemonics/spanish.h @@ -1,4 +1,5 @@ // Word list originally created as part of the Electrum project, Copyright (C) 2014 Thomas Voegtlin +// // Copyright (c) 2014, The Monero Project // // All rights reserved. -- cgit v1.2.3