Tlds.cpp 26 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513
  1. #include "Tlds.hpp"
  2. #include <unordered_set>
  3. // This file was automatically generated with generate-tld.sh, do not edit manually!
  4. namespace QuickMedia {
  5. // Source: https://data.iana.org/TLD/tlds-alpha-by-domain.txt
  6. static const std::unordered_set<std::string> TLDS = {
  7. "aaa",
  8. "aarp",
  9. "abarth",
  10. "abb",
  11. "abbott",
  12. "abbvie",
  13. "abc",
  14. "able",
  15. "abogado",
  16. "abudhabi",
  17. "ac",
  18. "academy",
  19. "accenture",
  20. "accountant",
  21. "accountants",
  22. "aco",
  23. "actor",
  24. "ad",
  25. "adac",
  26. "ads",
  27. "adult",
  28. "ae",
  29. "aeg",
  30. "aero",
  31. "aetna",
  32. "af",
  33. "afamilycompany",
  34. "afl",
  35. "africa",
  36. "ag",
  37. "agakhan",
  38. "agency",
  39. "ai",
  40. "aig",
  41. "airbus",
  42. "airforce",
  43. "airtel",
  44. "akdn",
  45. "al",
  46. "alfaromeo",
  47. "alibaba",
  48. "alipay",
  49. "allfinanz",
  50. "allstate",
  51. "ally",
  52. "alsace",
  53. "alstom",
  54. "am",
  55. "amazon",
  56. "americanexpress",
  57. "americanfamily",
  58. "amex",
  59. "amfam",
  60. "amica",
  61. "amsterdam",
  62. "analytics",
  63. "android",
  64. "anquan",
  65. "anz",
  66. "ao",
  67. "aol",
  68. "apartments",
  69. "app",
  70. "apple",
  71. "aq",
  72. "aquarelle",
  73. "ar",
  74. "arab",
  75. "aramco",
  76. "archi",
  77. "army",
  78. "arpa",
  79. "art",
  80. "arte",
  81. "as",
  82. "asda",
  83. "asia",
  84. "associates",
  85. "at",
  86. "athleta",
  87. "attorney",
  88. "au",
  89. "auction",
  90. "audi",
  91. "audible",
  92. "audio",
  93. "auspost",
  94. "author",
  95. "auto",
  96. "autos",
  97. "avianca",
  98. "aw",
  99. "aws",
  100. "ax",
  101. "axa",
  102. "az",
  103. "azure",
  104. "ba",
  105. "baby",
  106. "baidu",
  107. "banamex",
  108. "bananarepublic",
  109. "band",
  110. "bank",
  111. "bar",
  112. "barcelona",
  113. "barclaycard",
  114. "barclays",
  115. "barefoot",
  116. "bargains",
  117. "baseball",
  118. "basketball",
  119. "bauhaus",
  120. "bayern",
  121. "bb",
  122. "bbc",
  123. "bbt",
  124. "bbva",
  125. "bcg",
  126. "bcn",
  127. "bd",
  128. "be",
  129. "beats",
  130. "beauty",
  131. "beer",
  132. "bentley",
  133. "berlin",
  134. "best",
  135. "bestbuy",
  136. "bet",
  137. "bf",
  138. "bg",
  139. "bh",
  140. "bharti",
  141. "bi",
  142. "bible",
  143. "bid",
  144. "bike",
  145. "bing",
  146. "bingo",
  147. "bio",
  148. "biz",
  149. "bj",
  150. "black",
  151. "blackfriday",
  152. "blockbuster",
  153. "blog",
  154. "bloomberg",
  155. "blue",
  156. "bm",
  157. "bms",
  158. "bmw",
  159. "bn",
  160. "bnpparibas",
  161. "bo",
  162. "boats",
  163. "boehringer",
  164. "bofa",
  165. "bom",
  166. "bond",
  167. "boo",
  168. "book",
  169. "booking",
  170. "bosch",
  171. "bostik",
  172. "boston",
  173. "bot",
  174. "boutique",
  175. "box",
  176. "br",
  177. "bradesco",
  178. "bridgestone",
  179. "broadway",
  180. "broker",
  181. "brother",
  182. "brussels",
  183. "bs",
  184. "bt",
  185. "budapest",
  186. "bugatti",
  187. "build",
  188. "builders",
  189. "business",
  190. "buy",
  191. "buzz",
  192. "bv",
  193. "bw",
  194. "by",
  195. "bz",
  196. "bzh",
  197. "ca",
  198. "cab",
  199. "cafe",
  200. "cal",
  201. "call",
  202. "calvinklein",
  203. "cam",
  204. "camera",
  205. "camp",
  206. "cancerresearch",
  207. "canon",
  208. "capetown",
  209. "capital",
  210. "capitalone",
  211. "car",
  212. "caravan",
  213. "cards",
  214. "care",
  215. "career",
  216. "careers",
  217. "cars",
  218. "casa",
  219. "case",
  220. "cash",
  221. "casino",
  222. "cat",
  223. "catering",
  224. "catholic",
  225. "cba",
  226. "cbn",
  227. "cbre",
  228. "cbs",
  229. "cc",
  230. "cd",
  231. "center",
  232. "ceo",
  233. "cern",
  234. "cf",
  235. "cfa",
  236. "cfd",
  237. "cg",
  238. "ch",
  239. "chanel",
  240. "channel",
  241. "charity",
  242. "chase",
  243. "chat",
  244. "cheap",
  245. "chintai",
  246. "christmas",
  247. "chrome",
  248. "church",
  249. "ci",
  250. "cipriani",
  251. "circle",
  252. "cisco",
  253. "citadel",
  254. "citi",
  255. "citic",
  256. "city",
  257. "cityeats",
  258. "ck",
  259. "cl",
  260. "claims",
  261. "cleaning",
  262. "click",
  263. "clinic",
  264. "clinique",
  265. "clothing",
  266. "cloud",
  267. "club",
  268. "clubmed",
  269. "cm",
  270. "cn",
  271. "co",
  272. "coach",
  273. "codes",
  274. "coffee",
  275. "college",
  276. "cologne",
  277. "com",
  278. "comcast",
  279. "commbank",
  280. "community",
  281. "company",
  282. "compare",
  283. "computer",
  284. "comsec",
  285. "condos",
  286. "construction",
  287. "consulting",
  288. "contact",
  289. "contractors",
  290. "cooking",
  291. "cookingchannel",
  292. "cool",
  293. "coop",
  294. "corsica",
  295. "country",
  296. "coupon",
  297. "coupons",
  298. "courses",
  299. "cpa",
  300. "cr",
  301. "credit",
  302. "creditcard",
  303. "creditunion",
  304. "cricket",
  305. "crown",
  306. "crs",
  307. "cruise",
  308. "cruises",
  309. "csc",
  310. "cu",
  311. "cuisinella",
  312. "cv",
  313. "cw",
  314. "cx",
  315. "cy",
  316. "cymru",
  317. "cyou",
  318. "cz",
  319. "dabur",
  320. "dad",
  321. "dance",
  322. "data",
  323. "date",
  324. "dating",
  325. "datsun",
  326. "day",
  327. "dclk",
  328. "dds",
  329. "de",
  330. "deal",
  331. "dealer",
  332. "deals",
  333. "degree",
  334. "delivery",
  335. "dell",
  336. "deloitte",
  337. "delta",
  338. "democrat",
  339. "dental",
  340. "dentist",
  341. "desi",
  342. "design",
  343. "dev",
  344. "dhl",
  345. "diamonds",
  346. "diet",
  347. "digital",
  348. "direct",
  349. "directory",
  350. "discount",
  351. "discover",
  352. "dish",
  353. "diy",
  354. "dj",
  355. "dk",
  356. "dm",
  357. "dnp",
  358. "do",
  359. "docs",
  360. "doctor",
  361. "dog",
  362. "domains",
  363. "dot",
  364. "download",
  365. "drive",
  366. "dtv",
  367. "dubai",
  368. "duck",
  369. "dunlop",
  370. "dupont",
  371. "durban",
  372. "dvag",
  373. "dvr",
  374. "dz",
  375. "earth",
  376. "eat",
  377. "ec",
  378. "eco",
  379. "edeka",
  380. "edu",
  381. "education",
  382. "ee",
  383. "eg",
  384. "email",
  385. "emerck",
  386. "energy",
  387. "engineer",
  388. "engineering",
  389. "enterprises",
  390. "epson",
  391. "equipment",
  392. "er",
  393. "ericsson",
  394. "erni",
  395. "es",
  396. "esq",
  397. "estate",
  398. "et",
  399. "etisalat",
  400. "eu",
  401. "eurovision",
  402. "eus",
  403. "events",
  404. "exchange",
  405. "expert",
  406. "exposed",
  407. "express",
  408. "extraspace",
  409. "fage",
  410. "fail",
  411. "fairwinds",
  412. "faith",
  413. "family",
  414. "fan",
  415. "fans",
  416. "farm",
  417. "farmers",
  418. "fashion",
  419. "fast",
  420. "fedex",
  421. "feedback",
  422. "ferrari",
  423. "ferrero",
  424. "fi",
  425. "fiat",
  426. "fidelity",
  427. "fido",
  428. "film",
  429. "final",
  430. "finance",
  431. "financial",
  432. "fire",
  433. "firestone",
  434. "firmdale",
  435. "fish",
  436. "fishing",
  437. "fit",
  438. "fitness",
  439. "fj",
  440. "fk",
  441. "flickr",
  442. "flights",
  443. "flir",
  444. "florist",
  445. "flowers",
  446. "fly",
  447. "fm",
  448. "fo",
  449. "foo",
  450. "food",
  451. "foodnetwork",
  452. "football",
  453. "ford",
  454. "forex",
  455. "forsale",
  456. "forum",
  457. "foundation",
  458. "fox",
  459. "fr",
  460. "free",
  461. "fresenius",
  462. "frl",
  463. "frogans",
  464. "frontdoor",
  465. "frontier",
  466. "ftr",
  467. "fujitsu",
  468. "fun",
  469. "fund",
  470. "furniture",
  471. "futbol",
  472. "fyi",
  473. "ga",
  474. "gal",
  475. "gallery",
  476. "gallo",
  477. "gallup",
  478. "game",
  479. "games",
  480. "gap",
  481. "garden",
  482. "gay",
  483. "gb",
  484. "gbiz",
  485. "gd",
  486. "gdn",
  487. "ge",
  488. "gea",
  489. "gent",
  490. "genting",
  491. "george",
  492. "gf",
  493. "gg",
  494. "ggee",
  495. "gh",
  496. "gi",
  497. "gift",
  498. "gifts",
  499. "gives",
  500. "giving",
  501. "gl",
  502. "glade",
  503. "glass",
  504. "gle",
  505. "global",
  506. "globo",
  507. "gm",
  508. "gmail",
  509. "gmbh",
  510. "gmo",
  511. "gmx",
  512. "gn",
  513. "godaddy",
  514. "gold",
  515. "goldpoint",
  516. "golf",
  517. "goo",
  518. "goodyear",
  519. "goog",
  520. "google",
  521. "gop",
  522. "got",
  523. "gov",
  524. "gp",
  525. "gq",
  526. "gr",
  527. "grainger",
  528. "graphics",
  529. "gratis",
  530. "green",
  531. "gripe",
  532. "grocery",
  533. "group",
  534. "gs",
  535. "gt",
  536. "gu",
  537. "guardian",
  538. "gucci",
  539. "guge",
  540. "guide",
  541. "guitars",
  542. "guru",
  543. "gw",
  544. "gy",
  545. "hair",
  546. "hamburg",
  547. "hangout",
  548. "haus",
  549. "hbo",
  550. "hdfc",
  551. "hdfcbank",
  552. "health",
  553. "healthcare",
  554. "help",
  555. "helsinki",
  556. "here",
  557. "hermes",
  558. "hgtv",
  559. "hiphop",
  560. "hisamitsu",
  561. "hitachi",
  562. "hiv",
  563. "hk",
  564. "hkt",
  565. "hm",
  566. "hn",
  567. "hockey",
  568. "holdings",
  569. "holiday",
  570. "homedepot",
  571. "homegoods",
  572. "homes",
  573. "homesense",
  574. "honda",
  575. "horse",
  576. "hospital",
  577. "host",
  578. "hosting",
  579. "hot",
  580. "hoteles",
  581. "hotels",
  582. "hotmail",
  583. "house",
  584. "how",
  585. "hr",
  586. "hsbc",
  587. "ht",
  588. "hu",
  589. "hughes",
  590. "hyatt",
  591. "hyundai",
  592. "ibm",
  593. "icbc",
  594. "ice",
  595. "icu",
  596. "id",
  597. "ie",
  598. "ieee",
  599. "ifm",
  600. "ikano",
  601. "il",
  602. "im",
  603. "imamat",
  604. "imdb",
  605. "immo",
  606. "immobilien",
  607. "in",
  608. "inc",
  609. "industries",
  610. "infiniti",
  611. "info",
  612. "ing",
  613. "ink",
  614. "institute",
  615. "insurance",
  616. "insure",
  617. "int",
  618. "international",
  619. "intuit",
  620. "investments",
  621. "io",
  622. "ipiranga",
  623. "iq",
  624. "ir",
  625. "irish",
  626. "is",
  627. "ismaili",
  628. "ist",
  629. "istanbul",
  630. "it",
  631. "itau",
  632. "itv",
  633. "jaguar",
  634. "java",
  635. "jcb",
  636. "je",
  637. "jeep",
  638. "jetzt",
  639. "jewelry",
  640. "jio",
  641. "jll",
  642. "jm",
  643. "jmp",
  644. "jnj",
  645. "jo",
  646. "jobs",
  647. "joburg",
  648. "jot",
  649. "joy",
  650. "jp",
  651. "jpmorgan",
  652. "jprs",
  653. "juegos",
  654. "juniper",
  655. "kaufen",
  656. "kddi",
  657. "ke",
  658. "kerryhotels",
  659. "kerrylogistics",
  660. "kerryproperties",
  661. "kfh",
  662. "kg",
  663. "kh",
  664. "ki",
  665. "kia",
  666. "kim",
  667. "kinder",
  668. "kindle",
  669. "kitchen",
  670. "kiwi",
  671. "km",
  672. "kn",
  673. "koeln",
  674. "komatsu",
  675. "kosher",
  676. "kp",
  677. "kpmg",
  678. "kpn",
  679. "kr",
  680. "krd",
  681. "kred",
  682. "kuokgroup",
  683. "kw",
  684. "ky",
  685. "kyoto",
  686. "kz",
  687. "la",
  688. "lacaixa",
  689. "lamborghini",
  690. "lamer",
  691. "lancaster",
  692. "lancia",
  693. "land",
  694. "landrover",
  695. "lanxess",
  696. "lasalle",
  697. "lat",
  698. "latino",
  699. "latrobe",
  700. "law",
  701. "lawyer",
  702. "lb",
  703. "lc",
  704. "lds",
  705. "lease",
  706. "leclerc",
  707. "lefrak",
  708. "legal",
  709. "lego",
  710. "lexus",
  711. "lgbt",
  712. "li",
  713. "lidl",
  714. "life",
  715. "lifeinsurance",
  716. "lifestyle",
  717. "lighting",
  718. "like",
  719. "lilly",
  720. "limited",
  721. "limo",
  722. "lincoln",
  723. "linde",
  724. "link",
  725. "lipsy",
  726. "live",
  727. "living",
  728. "lixil",
  729. "lk",
  730. "llc",
  731. "llp",
  732. "loan",
  733. "loans",
  734. "locker",
  735. "locus",
  736. "loft",
  737. "lol",
  738. "london",
  739. "lotte",
  740. "lotto",
  741. "love",
  742. "lpl",
  743. "lplfinancial",
  744. "lr",
  745. "ls",
  746. "lt",
  747. "ltd",
  748. "ltda",
  749. "lu",
  750. "lundbeck",
  751. "luxe",
  752. "luxury",
  753. "lv",
  754. "ly",
  755. "ma",
  756. "macys",
  757. "madrid",
  758. "maif",
  759. "maison",
  760. "makeup",
  761. "man",
  762. "management",
  763. "mango",
  764. "map",
  765. "market",
  766. "marketing",
  767. "markets",
  768. "marriott",
  769. "marshalls",
  770. "maserati",
  771. "mattel",
  772. "mba",
  773. "mc",
  774. "mckinsey",
  775. "md",
  776. "me",
  777. "med",
  778. "media",
  779. "meet",
  780. "melbourne",
  781. "meme",
  782. "memorial",
  783. "men",
  784. "menu",
  785. "merckmsd",
  786. "mg",
  787. "mh",
  788. "miami",
  789. "microsoft",
  790. "mil",
  791. "mini",
  792. "mint",
  793. "mit",
  794. "mitsubishi",
  795. "mk",
  796. "ml",
  797. "mlb",
  798. "mls",
  799. "mm",
  800. "mma",
  801. "mn",
  802. "mo",
  803. "mobi",
  804. "mobile",
  805. "moda",
  806. "moe",
  807. "moi",
  808. "mom",
  809. "monash",
  810. "money",
  811. "monster",
  812. "mormon",
  813. "mortgage",
  814. "moscow",
  815. "moto",
  816. "motorcycles",
  817. "mov",
  818. "movie",
  819. "mp",
  820. "mq",
  821. "mr",
  822. "ms",
  823. "msd",
  824. "mt",
  825. "mtn",
  826. "mtr",
  827. "mu",
  828. "museum",
  829. "mutual",
  830. "mv",
  831. "mw",
  832. "mx",
  833. "my",
  834. "mz",
  835. "na",
  836. "nab",
  837. "nagoya",
  838. "name",
  839. "natura",
  840. "navy",
  841. "nba",
  842. "nc",
  843. "ne",
  844. "nec",
  845. "net",
  846. "netbank",
  847. "netflix",
  848. "network",
  849. "neustar",
  850. "new",
  851. "news",
  852. "next",
  853. "nextdirect",
  854. "nexus",
  855. "nf",
  856. "nfl",
  857. "ng",
  858. "ngo",
  859. "nhk",
  860. "ni",
  861. "nico",
  862. "nike",
  863. "nikon",
  864. "ninja",
  865. "nissan",
  866. "nissay",
  867. "nl",
  868. "no",
  869. "nokia",
  870. "northwesternmutual",
  871. "norton",
  872. "now",
  873. "nowruz",
  874. "nowtv",
  875. "np",
  876. "nr",
  877. "nra",
  878. "nrw",
  879. "ntt",
  880. "nu",
  881. "nyc",
  882. "nz",
  883. "obi",
  884. "observer",
  885. "off",
  886. "office",
  887. "okinawa",
  888. "olayan",
  889. "olayangroup",
  890. "oldnavy",
  891. "ollo",
  892. "om",
  893. "omega",
  894. "one",
  895. "ong",
  896. "onl",
  897. "online",
  898. "ooo",
  899. "open",
  900. "oracle",
  901. "orange",
  902. "org",
  903. "organic",
  904. "origins",
  905. "osaka",
  906. "otsuka",
  907. "ott",
  908. "ovh",
  909. "pa",
  910. "page",
  911. "panasonic",
  912. "paris",
  913. "pars",
  914. "partners",
  915. "parts",
  916. "party",
  917. "passagens",
  918. "pay",
  919. "pccw",
  920. "pe",
  921. "pet",
  922. "pf",
  923. "pfizer",
  924. "pg",
  925. "ph",
  926. "pharmacy",
  927. "phd",
  928. "philips",
  929. "phone",
  930. "photo",
  931. "photography",
  932. "photos",
  933. "physio",
  934. "pics",
  935. "pictet",
  936. "pictures",
  937. "pid",
  938. "pin",
  939. "ping",
  940. "pink",
  941. "pioneer",
  942. "pizza",
  943. "pk",
  944. "pl",
  945. "place",
  946. "play",
  947. "playstation",
  948. "plumbing",
  949. "plus",
  950. "pm",
  951. "pn",
  952. "pnc",
  953. "pohl",
  954. "poker",
  955. "politie",
  956. "porn",
  957. "post",
  958. "pr",
  959. "pramerica",
  960. "praxi",
  961. "press",
  962. "prime",
  963. "pro",
  964. "prod",
  965. "productions",
  966. "prof",
  967. "progressive",
  968. "promo",
  969. "properties",
  970. "property",
  971. "protection",
  972. "pru",
  973. "prudential",
  974. "ps",
  975. "pt",
  976. "pub",
  977. "pw",
  978. "pwc",
  979. "py",
  980. "qa",
  981. "qpon",
  982. "quebec",
  983. "quest",
  984. "qvc",
  985. "racing",
  986. "radio",
  987. "raid",
  988. "re",
  989. "read",
  990. "realestate",
  991. "realtor",
  992. "realty",
  993. "recipes",
  994. "red",
  995. "redstone",
  996. "redumbrella",
  997. "rehab",
  998. "reise",
  999. "reisen",
  1000. "reit",
  1001. "reliance",
  1002. "ren",
  1003. "rent",
  1004. "rentals",
  1005. "repair",
  1006. "report",
  1007. "republican",
  1008. "rest",
  1009. "restaurant",
  1010. "review",
  1011. "reviews",
  1012. "rexroth",
  1013. "rich",
  1014. "richardli",
  1015. "ricoh",
  1016. "ril",
  1017. "rio",
  1018. "rip",
  1019. "rmit",
  1020. "ro",
  1021. "rocher",
  1022. "rocks",
  1023. "rodeo",
  1024. "rogers",
  1025. "room",
  1026. "rs",
  1027. "rsvp",
  1028. "ru",
  1029. "rugby",
  1030. "ruhr",
  1031. "run",
  1032. "rw",
  1033. "rwe",
  1034. "ryukyu",
  1035. "sa",
  1036. "saarland",
  1037. "safe",
  1038. "safety",
  1039. "sakura",
  1040. "sale",
  1041. "salon",
  1042. "samsclub",
  1043. "samsung",
  1044. "sandvik",
  1045. "sandvikcoromant",
  1046. "sanofi",
  1047. "sap",
  1048. "sarl",
  1049. "sas",
  1050. "save",
  1051. "saxo",
  1052. "sb",
  1053. "sbi",
  1054. "sbs",
  1055. "sc",
  1056. "sca",
  1057. "scb",
  1058. "schaeffler",
  1059. "schmidt",
  1060. "scholarships",
  1061. "school",
  1062. "schule",
  1063. "schwarz",
  1064. "science",
  1065. "scjohnson",
  1066. "scot",
  1067. "sd",
  1068. "se",
  1069. "search",
  1070. "seat",
  1071. "secure",
  1072. "security",
  1073. "seek",
  1074. "select",
  1075. "sener",
  1076. "services",
  1077. "ses",
  1078. "seven",
  1079. "sew",
  1080. "sex",
  1081. "sexy",
  1082. "sfr",
  1083. "sg",
  1084. "sh",
  1085. "shangrila",
  1086. "sharp",
  1087. "shaw",
  1088. "shell",
  1089. "shia",
  1090. "shiksha",
  1091. "shoes",
  1092. "shop",
  1093. "shopping",
  1094. "shouji",
  1095. "show",
  1096. "showtime",
  1097. "si",
  1098. "silk",
  1099. "sina",
  1100. "singles",
  1101. "site",
  1102. "sj",
  1103. "sk",
  1104. "ski",
  1105. "skin",
  1106. "sky",
  1107. "skype",
  1108. "sl",
  1109. "sling",
  1110. "sm",
  1111. "smart",
  1112. "smile",
  1113. "sn",
  1114. "sncf",
  1115. "so",
  1116. "soccer",
  1117. "social",
  1118. "softbank",
  1119. "software",
  1120. "sohu",
  1121. "solar",
  1122. "solutions",
  1123. "song",
  1124. "sony",
  1125. "soy",
  1126. "spa",
  1127. "space",
  1128. "sport",
  1129. "spot",
  1130. "sr",
  1131. "srl",
  1132. "ss",
  1133. "st",
  1134. "stada",
  1135. "staples",
  1136. "star",
  1137. "statebank",
  1138. "statefarm",
  1139. "stc",
  1140. "stcgroup",
  1141. "stockholm",
  1142. "storage",
  1143. "store",
  1144. "stream",
  1145. "studio",
  1146. "study",
  1147. "style",
  1148. "su",
  1149. "sucks",
  1150. "supplies",
  1151. "supply",
  1152. "support",
  1153. "surf",
  1154. "surgery",
  1155. "suzuki",
  1156. "sv",
  1157. "swatch",
  1158. "swiftcover",
  1159. "swiss",
  1160. "sx",
  1161. "sy",
  1162. "sydney",
  1163. "systems",
  1164. "sz",
  1165. "tab",
  1166. "taipei",
  1167. "talk",
  1168. "taobao",
  1169. "target",
  1170. "tatamotors",
  1171. "tatar",
  1172. "tattoo",
  1173. "tax",
  1174. "taxi",
  1175. "tc",
  1176. "tci",
  1177. "td",
  1178. "tdk",
  1179. "team",
  1180. "tech",
  1181. "technology",
  1182. "tel",
  1183. "temasek",
  1184. "tennis",
  1185. "teva",
  1186. "tf",
  1187. "tg",
  1188. "th",
  1189. "thd",
  1190. "theater",
  1191. "theatre",
  1192. "tiaa",
  1193. "tickets",
  1194. "tienda",
  1195. "tiffany",
  1196. "tips",
  1197. "tires",
  1198. "tirol",
  1199. "tj",
  1200. "tjmaxx",
  1201. "tjx",
  1202. "tk",
  1203. "tkmaxx",
  1204. "tl",
  1205. "tm",
  1206. "tmall",
  1207. "tn",
  1208. "to",
  1209. "today",
  1210. "tokyo",
  1211. "tools",
  1212. "top",
  1213. "toray",
  1214. "toshiba",
  1215. "total",
  1216. "tours",
  1217. "town",
  1218. "toyota",
  1219. "toys",
  1220. "tr",
  1221. "trade",
  1222. "trading",
  1223. "training",
  1224. "travel",
  1225. "travelchannel",
  1226. "travelers",
  1227. "travelersinsurance",
  1228. "trust",
  1229. "trv",
  1230. "tt",
  1231. "tube",
  1232. "tui",
  1233. "tunes",
  1234. "tushu",
  1235. "tv",
  1236. "tvs",
  1237. "tw",
  1238. "tz",
  1239. "ua",
  1240. "ubank",
  1241. "ubs",
  1242. "ug",
  1243. "uk",
  1244. "unicom",
  1245. "university",
  1246. "uno",
  1247. "uol",
  1248. "ups",
  1249. "us",
  1250. "uy",
  1251. "uz",
  1252. "va",
  1253. "vacations",
  1254. "vana",
  1255. "vanguard",
  1256. "vc",
  1257. "ve",
  1258. "vegas",
  1259. "ventures",
  1260. "verisign",
  1261. "versicherung",
  1262. "vet",
  1263. "vg",
  1264. "vi",
  1265. "viajes",
  1266. "video",
  1267. "vig",
  1268. "viking",
  1269. "villas",
  1270. "vin",
  1271. "vip",
  1272. "virgin",
  1273. "visa",
  1274. "vision",
  1275. "viva",
  1276. "vivo",
  1277. "vlaanderen",
  1278. "vn",
  1279. "vodka",
  1280. "volkswagen",
  1281. "volvo",
  1282. "vote",
  1283. "voting",
  1284. "voto",
  1285. "voyage",
  1286. "vu",
  1287. "vuelos",
  1288. "wales",
  1289. "walmart",
  1290. "walter",
  1291. "wang",
  1292. "wanggou",
  1293. "watch",
  1294. "watches",
  1295. "weather",
  1296. "weatherchannel",
  1297. "webcam",
  1298. "weber",
  1299. "website",
  1300. "wed",
  1301. "wedding",
  1302. "weibo",
  1303. "weir",
  1304. "wf",
  1305. "whoswho",
  1306. "wien",
  1307. "wiki",
  1308. "williamhill",
  1309. "win",
  1310. "windows",
  1311. "wine",
  1312. "winners",
  1313. "wme",
  1314. "wolterskluwer",
  1315. "woodside",
  1316. "work",
  1317. "works",
  1318. "world",
  1319. "wow",
  1320. "ws",
  1321. "wtc",
  1322. "wtf",
  1323. "xbox",
  1324. "xerox",
  1325. "xfinity",
  1326. "xihuan",
  1327. "xin",
  1328. "xn--11b4c3d",
  1329. "xn--1ck2e1b",
  1330. "xn--1qqw23a",
  1331. "xn--2scrj9c",
  1332. "xn--30rr7y",
  1333. "xn--3bst00m",
  1334. "xn--3ds443g",
  1335. "xn--3e0b707e",
  1336. "xn--3hcrj9c",
  1337. "xn--3oq18vl8pn36a",
  1338. "xn--3pxu8k",
  1339. "xn--42c2d9a",
  1340. "xn--45br5cyl",
  1341. "xn--45brj9c",
  1342. "xn--45q11c",
  1343. "xn--4dbrk0ce",
  1344. "xn--4gbrim",
  1345. "xn--54b7fta0cc",
  1346. "xn--55qw42g",
  1347. "xn--55qx5d",
  1348. "xn--5su34j936bgsg",
  1349. "xn--5tzm5g",
  1350. "xn--6frz82g",
  1351. "xn--6qq986b3xl",
  1352. "xn--80adxhks",
  1353. "xn--80ao21a",
  1354. "xn--80aqecdr1a",
  1355. "xn--80asehdb",
  1356. "xn--80aswg",
  1357. "xn--8y0a063a",
  1358. "xn--90a3ac",
  1359. "xn--90ae",
  1360. "xn--90ais",
  1361. "xn--9dbq2a",
  1362. "xn--9et52u",
  1363. "xn--9krt00a",
  1364. "xn--b4w605ferd",
  1365. "xn--bck1b9a5dre4c",
  1366. "xn--c1avg",
  1367. "xn--c2br7g",
  1368. "xn--cck2b3b",
  1369. "xn--cckwcxetd",
  1370. "xn--cg4bki",
  1371. "xn--clchc0ea0b2g2a9gcd",
  1372. "xn--czr694b",
  1373. "xn--czrs0t",
  1374. "xn--czru2d",
  1375. "xn--d1acj3b",
  1376. "xn--d1alf",
  1377. "xn--e1a4c",
  1378. "xn--eckvdtc9d",
  1379. "xn--efvy88h",
  1380. "xn--fct429k",
  1381. "xn--fhbei",
  1382. "xn--fiq228c5hs",
  1383. "xn--fiq64b",
  1384. "xn--fiqs8s",
  1385. "xn--fiqz9s",
  1386. "xn--fjq720a",
  1387. "xn--flw351e",
  1388. "xn--fpcrj9c3d",
  1389. "xn--fzc2c9e2c",
  1390. "xn--fzys8d69uvgm",
  1391. "xn--g2xx48c",
  1392. "xn--gckr3f0f",
  1393. "xn--gecrj9c",
  1394. "xn--gk3at1e",
  1395. "xn--h2breg3eve",
  1396. "xn--h2brj9c",
  1397. "xn--h2brj9c8c",
  1398. "xn--hxt814e",
  1399. "xn--i1b6b1a6a2e",
  1400. "xn--imr513n",
  1401. "xn--io0a7i",
  1402. "xn--j1aef",
  1403. "xn--j1amh",
  1404. "xn--j6w193g",
  1405. "xn--jlq480n2rg",
  1406. "xn--jlq61u9w7b",
  1407. "xn--jvr189m",
  1408. "xn--kcrx77d1x4a",
  1409. "xn--kprw13d",
  1410. "xn--kpry57d",
  1411. "xn--kput3i",
  1412. "xn--l1acc",
  1413. "xn--lgbbat1ad8j",
  1414. "xn--mgb9awbf",
  1415. "xn--mgba3a3ejt",
  1416. "xn--mgba3a4f16a",
  1417. "xn--mgba7c0bbn0a",
  1418. "xn--mgbaakc7dvf",
  1419. "xn--mgbaam7a8h",
  1420. "xn--mgbab2bd",
  1421. "xn--mgbah1a3hjkrd",
  1422. "xn--mgbai9azgqp6j",
  1423. "xn--mgbayh7gpa",
  1424. "xn--mgbbh1a",
  1425. "xn--mgbbh1a71e",
  1426. "xn--mgbc0a9azcg",
  1427. "xn--mgbca7dzdo",
  1428. "xn--mgbcpq6gpa1a",
  1429. "xn--mgberp4a5d4ar",
  1430. "xn--mgbgu82a",
  1431. "xn--mgbi4ecexp",
  1432. "xn--mgbpl2fh",
  1433. "xn--mgbt3dhd",
  1434. "xn--mgbtx2b",
  1435. "xn--mgbx4cd0ab",
  1436. "xn--mix891f",
  1437. "xn--mk1bu44c",
  1438. "xn--mxtq1m",
  1439. "xn--ngbc5azd",
  1440. "xn--ngbe9e0a",
  1441. "xn--ngbrx",
  1442. "xn--node",
  1443. "xn--nqv7f",
  1444. "xn--nqv7fs00ema",
  1445. "xn--nyqy26a",
  1446. "xn--o3cw4h",
  1447. "xn--ogbpf8fl",
  1448. "xn--otu796d",
  1449. "xn--p1acf",
  1450. "xn--p1ai",
  1451. "xn--pgbs0dh",
  1452. "xn--pssy2u",
  1453. "xn--q7ce6a",
  1454. "xn--q9jyb4c",
  1455. "xn--qcka1pmc",
  1456. "xn--qxa6a",
  1457. "xn--qxam",
  1458. "xn--rhqv96g",
  1459. "xn--rovu88b",
  1460. "xn--rvc1e0am3e",
  1461. "xn--s9brj9c",
  1462. "xn--ses554g",
  1463. "xn--t60b56a",
  1464. "xn--tckwe",
  1465. "xn--tiq49xqyj",
  1466. "xn--unup4y",
  1467. "xn--vermgensberater-ctb",
  1468. "xn--vermgensberatung-pwb",
  1469. "xn--vhquv",
  1470. "xn--vuq861b",
  1471. "xn--w4r85el8fhu5dnra",
  1472. "xn--w4rs40l",
  1473. "xn--wgbh1c",
  1474. "xn--wgbl6a",
  1475. "xn--xhq521b",
  1476. "xn--xkc2al3hye2a",
  1477. "xn--xkc2dl3a5ee0h",
  1478. "xn--y9a3aq",
  1479. "xn--yfro4i67o",
  1480. "xn--ygbi2ammx",
  1481. "xn--zfr164b",
  1482. "xxx",
  1483. "xyz",
  1484. "yachts",
  1485. "yahoo",
  1486. "yamaxun",
  1487. "yandex",
  1488. "ye",
  1489. "yodobashi",
  1490. "yoga",
  1491. "yokohama",
  1492. "you",
  1493. "youtube",
  1494. "yt",
  1495. "yun",
  1496. "za",
  1497. "zappos",
  1498. "zara",
  1499. "zero",
  1500. "zip",
  1501. "zm",
  1502. "zone",
  1503. "zuerich",
  1504. "zw",
  1505. };
  1506. bool is_tld(const std::string &str) {
  1507. return TLDS.find(str) != TLDS.end();
  1508. }
  1509. }