File: sym.sh 1 #!/bin/sh 2 3 # The MIT License (MIT) 4 # 5 # Copyright © 2024 pacman64 6 # 7 # Permission is hereby granted, free of charge, to any person obtaining a copy 8 # of this software and associated documentation files (the “Software”), to deal 9 # in the Software without restriction, including without limitation the rights 10 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 # copies of the Software, and to permit persons to whom the Software is 12 # furnished to do so, subject to the following conditions: 13 # 14 # The above copyright notice and this permission notice shall be included in 15 # all copies or substantial portions of the Software. 16 # 17 # THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 # SOFTWARE. 24 25 26 # sym [names...] 27 # 28 # Lookup various hard-to-type symbols by their common names/aliases. All/any 29 # dashes in the names given are ignored, and are thus supported, so to speak. 30 31 32 # handle help options 33 case "$1" in 34 -h|--h|-help|--help) 35 awk '/^# +sym/, /^$/ { gsub(/^# ?/, ""); print }' "$0" 36 exit 0 37 ;; 38 esac 39 40 # when given no names, show (almost) all name-symbol pairs supported 41 if [ $# -eq 0 ]; then 42 # show all built-in `here-doc` entries from this very script/file 43 awk '/^[a-z]/ && NF == 2' "${0}" 44 exit 0 45 fi 46 47 # lookup built-in dataset 48 awk -v allnames="${*}" ' 49 # figure out which names to lookup, and handle special names upfront 50 BEGIN { 51 # lowercase symbol names, also ignoring any dashes in them 52 allnames = tolower(allnames) 53 gsub(/[_-]/, "", allnames) 54 gsub(/^ +| +$/, "", allnames) 55 # split space-separated items into an array named `symbols` 56 split(allnames, symbols, / +/) 57 58 # special-handle a few entries which either span multiple lines, 59 # have whitespace-like symbols in them, or both 60 61 special["cr"] = "\r" # no trailing LF 62 special["crlf"] = "\r\n" 63 special["formfeed"] = "\f\n" 64 special["lf"] = "\n" 65 special["linefeed"] = "\n" 66 special["nil"] = "\0\n" 67 special["nul"] = "\0\n" 68 special["null"] = "\0\n" 69 special["space"] = " \n" 70 special["tab"] = "\t\n" 71 special["vtab"] = "\v\n" 72 special["whitespace"] = " \t\n\r\f\v" # no trailing LF 73 74 for (i in symbols) { 75 if (symbols[i] == "ascii") { 76 # the full ASCII set, with no extra LF after it 77 matches[i]++ 78 for (n = 0; n < 128; n++) { printf "%c", n } 79 continue 80 } 81 82 if (special[symbols[i]] == "") { continue } 83 84 # a special name matched 85 matches[i]++ 86 printf special[symbols[i]] 87 } 88 } 89 90 # try to match each symbol to each built-in data line 91 { 92 for (i in symbols) { 93 if ($1 == symbols[i]) { 94 matches[i]++ 95 print $2 96 next 97 } 98 } 99 } 100 101 # report any not-found-type errors 102 END { 103 fs = "\x1b[31mno matching symbols found for `%s`\x1b[0m\n" 104 for (i in symbols) { 105 if (matches[i] == 0) { 106 printf fs, symbols[i] 107 failures++ 108 } 109 } 110 111 if (failures > 0) { exit 1 } 112 }' << 'ENDOFDATA' 113 adash - 114 aeq ≈ 115 almost ≈ 116 amp & 117 ampersand & 118 apos ’ 119 apostrophe ’ 120 approx ≅ 121 asterisk * 122 atleast ≥ 123 atmost ≤ 124 backquote ` 125 backslash \ 126 backtick ` 127 ball ● 128 bang ! 129 base64 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= 130 block █ 131 bquo ` 132 bquote ` 133 bslash \ 134 bullet • 135 caret ^ 136 cdot · 137 circle ● 138 cloud ☁️ 139 colon : 140 comma , 141 copyright © 142 cquote ” 143 crap 💩 144 crapface 💩 145 cross × 146 dash — 147 deg ° 148 degree ° 149 doc 📄 150 document 📄 151 dollar $ 152 dot . 153 dquo " 154 dquote " 155 doublequote " 156 ellip … 157 ellipsis … 158 email @ 159 emdash — 160 endash – 161 eq = 162 equal = 163 equals = 164 excl ! 165 exclam ! 166 exclamation ! 167 faces 😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷🙁🙂🙃🙄🧐👶🤓🤐🤑🤒🤔🤕🤗🤠🤡🤢🤣🤤🤥🤧🤨🤩🤪🤫🤬🤭🤮🤯 168 file 📄 169 fullmoon 🌕 170 fullstop . 171 geq ≥ 172 greatereq ≥ 173 happy 😀 174 happyface 😀 175 heart ❤️ 176 hellip … 177 hole ○ 178 hyphen - 179 leq ≤ 180 less < 181 lesseq ≤ 182 lightning 🌩️ 183 ldquo “ 184 ldquote “ 185 lsquo ‘ 186 lsquote ‘ 187 mdash — 188 mdot · 189 more > 190 music 🎵 191 musicalnote 🎵 192 ndash – 193 neq ≠ 194 not ¬ 195 notequal ≠ 196 notequals ≠ 197 oquote “ 198 period . 199 pipe | 200 question ? 201 rain 🌧️ 202 rdquo ” 203 rdquote ” 204 rsquo ’ 205 rsquote ’ 206 semicolon ; 207 sharp # 208 shit 💩 209 shitface 💩 210 slash / 211 slasher ⧸ 212 slashier ⧸ 213 smile 🙂 214 smileface 🙂 215 smilingface 🙂 216 snow ❄️ 217 square ■ 218 squo ' 219 squote ' 220 singlequote ' 221 star ⭐ 222 sun ☀️ 223 tilde ~ 224 vbar | 225 vellip ⋮ 226 227 alpha α 228 beta β 229 delta δ 230 eps ε 231 epsilon ε 232 gamma γ 233 lambda λ 234 omega ω 235 pi π 236 sigma σ 237 tau τ 238 theta θ 239 240 alphabet abcdefghijklmnopqrstuvwxyz 241 asciiletters abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 242 digits 0123456789 243 greek αβγδεζηθικλμνξοπρστυφχψω 244 hex 0123456789abcdef 245 hexa 0123456789abcdef 246 hexadec 0123456789abcdef 247 hexadecimal 0123456789abcdef 248 hexdigits 0123456789abcdefABCDEF 249 inf ∞ 250 infinity ∞ 251 latin abcdefghijklmnopqrstuvwxyz 252 letters abcdefghijklmnopqrstuvwxyz 253 lower abcdefghijklmnopqrstuvwxyz 254 lowercase abcdefghijklmnopqrstuvwxyz 255 lowercasegreek αβγδεζηθικλμνξοπρστυφχψω 256 lowergreek αβγδεζηθικλμνξοπρστυφχψω 257 lowercasehex 0123456789abcdef 258 lowerhex 0123456789abcdef 259 math +-×÷²³± 260 midascii !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 261 octal 01234567 262 octaldigits 01234567 263 octdigits 01234567 264 other ✓✗✔❌ 265 plusminus ± 266 prod Π 267 product Π 268 punct !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 269 punctuation !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 270 sum Σ 271 summation Σ 272 upper ABCDEFGHIJKLMNOPQRSTUVWXYZ 273 uppercase ABCDEFGHIJKLMNOPQRSTUVWXYZ 274 uppercasegreek ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ 275 uppergreek ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ 276 uppercasehex 0123456789ABCDEF 277 upperhex 0123456789ABCDEF 278 279 aud A$ 280 brl R$ 281 cad C$ 282 chf CHF 283 clp CLP 284 cny 元 285 czk Kč 286 dkk DKK 287 eur € 288 gbp £ 289 hkd HK$ 290 huf Ft 291 idr Rp 292 ils ₪ 293 inr ₹ 294 jpy ¥ 295 krw ₩ 296 mxn MXN 297 nok NOK 298 nzd NZ$ 299 php ₱ 300 pln zł 301 rub ₽ 302 sar ﷼ 303 sek SEK 304 sgd S$ 305 thb ฿ 306 try ₺ 307 twd NT$ 308 usd $ 309 zar R 310 311 baht ฿ 312 britishpound £ 313 cent ¢ 314 cents ¢ 315 euro € 316 indianrupee ₹ 317 koruna Kč 318 naira ₦ 319 newshekel ₪ 320 philippinepeso ₱ 321 pound £ 322 poundsterling £ 323 renminbi 元 324 riyal ﷼ 325 ruble ₽ 326 rupee ₹ 327 saudiriyal ﷼ 328 shekel ₪ 329 sterling £ 330 turkishlira ₺ 331 won ₩ 332 yen ¥ 333 zloty zł 334 335 afghanistan 🇦🇫 336 america 🇺🇸 337 algeria 🇩🇿 338 angola 🇦🇴 339 arabia 🇸🇦 340 arabemirates 🇦🇪 341 argentina 🇦🇷 342 australia 🇦🇺 343 austria 🇦🇹 344 bangladesh 🇧🇩 345 belgium 🇧🇪 346 brazil 🇧🇷 347 britain 🇬🇧 348 canada 🇨🇦 349 chile 🇨🇱 350 china 🇨🇳 351 colombia 🇨🇴 352 czechia 🇨🇿 353 czechrepublic 🇨🇿 354 denmark 🇩🇰 355 dominicanrepublic 🇩🇴 356 drc 🇨🇩 357 drcongo 🇨🇩 358 ecuador 🇪🇨 359 egypt 🇪🇬 360 emirates 🇦🇪 361 england 🇬🇧 362 ethiopia 🇪🇹 363 europe 🇪🇺 364 europeanunion 🇪🇺 365 finland 🇫🇮 366 france 🇫🇷 367 germany 🇩🇪 368 ghana 🇬🇭 369 greatbritain 🇬🇧 370 greece 🇬🇷 371 holland 🇳🇱 372 hungary 🇭🇺 373 india 🇮🇳 374 indonesia 🇮🇩 375 iran 🇮🇷 376 iraq 🇮🇶 377 ireland 🇮🇪 378 israel 🇮🇱 379 italy 🇮🇹 380 japan 🇯🇵 381 kazakhstan 🇰🇿 382 kenya 🇰🇪 383 korea 🇰🇷 384 kuwait 🇰🇼 385 madagascar 🇲🇬 386 malaysia 🇲🇾 387 mexico 🇲🇽 388 morocco 🇲🇦 389 mozambique 🇲🇿 390 myanmar 🇲🇲 391 nepal 🇳🇵 392 netherlands 🇳🇱 393 newzealand 🇳🇿 394 nigeria 🇳🇬 395 northkorea 🇰🇵 396 norway 🇳🇴 397 pakistan 🇵🇰 398 peru 🇵🇪 399 philippines 🇵🇭 400 poland 🇵🇱 401 portugal 🇵🇹 402 qatar 🇶🇦 403 rok 🇰🇷 404 romania 🇷🇴 405 russia 🇷🇺 406 saudiarabia 🇸🇦 407 singapore 🇸🇬 408 somalia 🇸🇴 409 southafrica 🇿🇦 410 southkorea 🇰🇷 411 spain 🇪🇸 412 srilanka 🇱🇰 413 sudan 🇸🇩 414 sweden 🇸🇪 415 switzerland 🇨🇭 416 taiwan 🇹🇼 417 tanzania 🇹🇿 418 thailand 🇹🇭 419 turkey 🇹🇷 420 uganda 🇺🇬 421 ukraine 🇺🇦 422 unitedarab 🇦🇪 423 unitedarabemirates 🇦🇪 424 unitedemirates 🇦🇪 425 unitedkingdom 🇬🇧 426 unitedstates 🇺🇸 427 uzbekistan 🇺🇿 428 yemen 🇾🇪 429 venezuela 🇻🇪 430 vietnam 🇻🇳 431 432 af 🇦🇫 433 ax 🇦🇽 434 al 🇦🇱 435 dz 🇩🇿 436 as 🇦🇸 437 ad 🇦🇩 438 ao 🇦🇴 439 ai 🇦🇮 440 aq 🇦🇶 441 ag 🇦🇬 442 ar 🇦🇷 443 am 🇦🇲 444 aw 🇦🇼 445 au 🇦🇺 446 at 🇦🇹 447 az 🇦🇿 448 bs 🇧🇸 449 bh 🇧🇭 450 bd 🇧🇩 451 bb 🇧🇧 452 by 🇧🇾 453 be 🇧🇪 454 bz 🇧🇿 455 bj 🇧🇯 456 bm 🇧🇲 457 bt 🇧🇹 458 bo 🇧🇴 459 bq 🇧🇶 460 ba 🇧🇦 461 bw 🇧🇼 462 bv 🇧🇻 463 br 🇧🇷 464 io 🇮🇴 465 bn 🇧🇳 466 bg 🇧🇬 467 bf 🇧🇫 468 bi 🇧🇮 469 cv 🇨🇻 470 kh 🇰🇭 471 cm 🇨🇲 472 ca 🇨🇦 473 ky 🇰🇾 474 cf 🇨🇫 475 td 🇹🇩 476 cl 🇨🇱 477 cn 🇨🇳 478 cx 🇨🇽 479 cc 🇨🇨 480 co 🇨🇴 481 km 🇰🇲 482 cd 🇨🇩 483 cg 🇨🇬 484 ck 🇨🇰 485 cr 🇨🇷 486 ci 🇨🇮 487 hr 🇭🇷 488 cu 🇨🇺 489 cw 🇨🇼 490 cy 🇨🇾 491 cz 🇨🇿 492 dk 🇩🇰 493 dj 🇩🇯 494 dm 🇩🇲 495 do 🇩🇴 496 ec 🇪🇨 497 eg 🇪🇬 498 sv 🇸🇻 499 gq 🇬🇶 500 er 🇪🇷 501 ee 🇪🇪 502 sz 🇸🇿 503 et 🇪🇹 504 eu 🇪🇺 505 fk 🇫🇰 506 fo 🇫🇴 507 fj 🇫🇯 508 fi 🇫🇮 509 fr 🇫🇷 510 gf 🇬🇫 511 pf 🇵🇫 512 tf 🇹🇫 513 ga 🇬🇦 514 gm 🇬🇲 515 ge 🇬🇪 516 de 🇩🇪 517 gh 🇬🇭 518 gi 🇬🇮 519 gr 🇬🇷 520 gl 🇬🇱 521 gd 🇬🇩 522 gp 🇬🇵 523 gu 🇬🇺 524 gt 🇬🇹 525 gg 🇬🇬 526 gn 🇬🇳 527 gw 🇬🇼 528 gy 🇬🇾 529 ht 🇭🇹 530 hm 🇭🇲 531 va 🇻🇦 532 hn 🇭🇳 533 hk 🇭🇰 534 hu 🇭🇺 535 is 🇮🇸 536 in 🇮🇳 537 id 🇮🇩 538 ir 🇮🇷 539 iq 🇮🇶 540 ie 🇮🇪 541 im 🇮🇲 542 il 🇮🇱 543 it 🇮🇹 544 jm 🇯🇲 545 jp 🇯🇵 546 je 🇯🇪 547 jo 🇯🇴 548 kz 🇰🇿 549 ke 🇰🇪 550 ki 🇰🇮 551 kp 🇰🇵 552 kr 🇰🇷 553 kw 🇰🇼 554 kg 🇰🇬 555 la 🇱🇦 556 lv 🇱🇻 557 lb 🇱🇧 558 ls 🇱🇸 559 lr 🇱🇷 560 ly 🇱🇾 561 li 🇱🇮 562 lt 🇱🇹 563 lu 🇱🇺 564 mo 🇲🇴 565 mk 🇲🇰 566 mg 🇲🇬 567 mw 🇲🇼 568 my 🇲🇾 569 mv 🇲🇻 570 ml 🇲🇱 571 mt 🇲🇹 572 mh 🇲🇭 573 mq 🇲🇶 574 mr 🇲🇷 575 mu 🇲🇺 576 yt 🇾🇹 577 mx 🇲🇽 578 fm 🇫🇲 579 md 🇲🇩 580 mc 🇲🇨 581 mn 🇲🇳 582 me 🇲🇪 583 ms 🇲🇸 584 ma 🇲🇦 585 mz 🇲🇿 586 mm 🇲🇲 587 na 🇳🇦 588 nr 🇳🇷 589 np 🇳🇵 590 nl 🇳🇱 591 nc 🇳🇨 592 nz 🇳🇿 593 ni 🇳🇮 594 ne 🇳🇪 595 ng 🇳🇬 596 nu 🇳🇺 597 nf 🇳🇫 598 mp 🇲🇵 599 no 🇳🇴 600 om 🇴🇲 601 pk 🇵🇰 602 pw 🇵🇼 603 ps 🇵🇸 604 pa 🇵🇦 605 pg 🇵🇬 606 py 🇵🇾 607 pe 🇵🇪 608 ph 🇵🇭 609 pn 🇵🇳 610 pl 🇵🇱 611 pt 🇵🇹 612 pr 🇵🇷 613 qa 🇶🇦 614 re 🇷🇪 615 ro 🇷🇴 616 ru 🇷🇺 617 rw 🇷🇼 618 bl 🇧🇱 619 sh 🇸🇭 620 kn 🇰🇳 621 lc 🇱🇨 622 mf 🇲🇫 623 pm 🇵🇲 624 vc 🇻🇨 625 ws 🇼🇸 626 sm 🇸🇲 627 st 🇸🇹 628 sa 🇸🇦 629 sn 🇸🇳 630 rs 🇷🇸 631 sc 🇸🇨 632 sl 🇸🇱 633 sg 🇸🇬 634 sx 🇸🇽 635 sk 🇸🇰 636 si 🇸🇮 637 sb 🇸🇧 638 so 🇸🇴 639 za 🇿🇦 640 gs 🇬🇸 641 ss 🇸🇸 642 es 🇪🇸 643 lk 🇱🇰 644 sd 🇸🇩 645 sr 🇸🇷 646 sj 🇸🇯 647 se 🇸🇪 648 ch 🇨🇭 649 sy 🇸🇾 650 tw 🇹🇼 651 tj 🇹🇯 652 tz 🇹🇿 653 th 🇹🇭 654 tl 🇹🇱 655 tg 🇹🇬 656 tk 🇹🇰 657 to 🇹🇴 658 tt 🇹🇹 659 tn 🇹🇳 660 tr 🇹🇷 661 tm 🇹🇲 662 tc 🇹🇨 663 tv 🇹🇻 664 ug 🇺🇬 665 ua 🇺🇦 666 ae 🇦🇪 667 gb 🇬🇧 668 um 🇺🇲 669 us 🇺🇸 670 uy 🇺🇾 671 uz 🇺🇿 672 vu 🇻🇺 673 ve 🇻🇪 674 vn 🇻🇳 675 vg 🇻🇬 676 vi 🇻🇮 677 wf 🇼🇫 678 eh 🇪🇭 679 ye 🇾🇪 680 zm 🇿🇲 681 zw 🇿🇼 682 683 afg 🇦🇫 684 ala 🇦🇽 685 alb 🇦🇱 686 dza 🇩🇿 687 asm 🇦🇸 688 and 🇦🇩 689 ago 🇦🇴 690 aia 🇦🇮 691 ata 🇦🇶 692 atg 🇦🇬 693 arg 🇦🇷 694 arm 🇦🇲 695 abw 🇦🇼 696 aus 🇦🇺 697 aut 🇦🇹 698 aze 🇦🇿 699 bhs 🇧🇸 700 bhr 🇧🇭 701 bgd 🇧🇩 702 brb 🇧🇧 703 blr 🇧🇾 704 bel 🇧🇪 705 blz 🇧🇿 706 ben 🇧🇯 707 bmu 🇧🇲 708 btn 🇧🇹 709 bol 🇧🇴 710 bes 🇧🇶 711 bih 🇧🇦 712 bwa 🇧🇼 713 bvt 🇧🇻 714 bra 🇧🇷 715 iot 🇮🇴 716 brn 🇧🇳 717 bgr 🇧🇬 718 bfa 🇧🇫 719 bdi 🇧🇮 720 cpv 🇨🇻 721 khm 🇰🇭 722 cmr 🇨🇲 723 can 🇨🇦 724 cym 🇰🇾 725 caf 🇨🇫 726 tcd 🇹🇩 727 chl 🇨🇱 728 chn 🇨🇳 729 cxr 🇨🇽 730 cck 🇨🇨 731 col 🇨🇴 732 com 🇰🇲 733 cod 🇨🇩 734 cog 🇨🇬 735 cok 🇨🇰 736 cri 🇨🇷 737 civ 🇨🇮 738 hrv 🇭🇷 739 cub 🇨🇺 740 cuw 🇨🇼 741 cyp 🇨🇾 742 cze 🇨🇿 743 dnk 🇩🇰 744 dji 🇩🇯 745 dma 🇩🇲 746 dom 🇩🇴 747 ecu 🇪🇨 748 egy 🇪🇬 749 slv 🇸🇻 750 gnq 🇬🇶 751 eri 🇪🇷 752 est 🇪🇪 753 swz 🇸🇿 754 eth 🇪🇹 755 flk 🇫🇰 756 fro 🇫🇴 757 fji 🇫🇯 758 fin 🇫🇮 759 fra 🇫🇷 760 guf 🇬🇫 761 pyf 🇵🇫 762 atf 🇹🇫 763 gab 🇬🇦 764 gmb 🇬🇲 765 geo 🇬🇪 766 deu 🇩🇪 767 gha 🇬🇭 768 gib 🇬🇮 769 grc 🇬🇷 770 grl 🇬🇱 771 grd 🇬🇩 772 glp 🇬🇵 773 gum 🇬🇺 774 gtm 🇬🇹 775 ggy 🇬🇬 776 gin 🇬🇳 777 gnb 🇬🇼 778 guy 🇬🇾 779 hti 🇭🇹 780 hmd 🇭🇲 781 vat 🇻🇦 782 hnd 🇭🇳 783 hkg 🇭🇰 784 hun 🇭🇺 785 isl 🇮🇸 786 ind 🇮🇳 787 idn 🇮🇩 788 irn 🇮🇷 789 irq 🇮🇶 790 irl 🇮🇪 791 imn 🇮🇲 792 isr 🇮🇱 793 ita 🇮🇹 794 jam 🇯🇲 795 jpn 🇯🇵 796 jey 🇯🇪 797 jor 🇯🇴 798 kaz 🇰🇿 799 ken 🇰🇪 800 kir 🇰🇮 801 prk 🇰🇵 802 kor 🇰🇷 803 kwt 🇰🇼 804 kgz 🇰🇬 805 lao 🇱🇦 806 lva 🇱🇻 807 lbn 🇱🇧 808 lso 🇱🇸 809 lbr 🇱🇷 810 lby 🇱🇾 811 lie 🇱🇮 812 ltu 🇱🇹 813 lux 🇱🇺 814 mac 🇲🇴 815 mkd 🇲🇰 816 mdg 🇲🇬 817 mwi 🇲🇼 818 mys 🇲🇾 819 mdv 🇲🇻 820 mli 🇲🇱 821 mlt 🇲🇹 822 mhl 🇲🇭 823 mtq 🇲🇶 824 mrt 🇲🇷 825 mus 🇲🇺 826 myt 🇾🇹 827 mex 🇲🇽 828 fsm 🇫🇲 829 mda 🇲🇩 830 mco 🇲🇨 831 mng 🇲🇳 832 mne 🇲🇪 833 msr 🇲🇸 834 mar 🇲🇦 835 moz 🇲🇿 836 mmr 🇲🇲 837 nam 🇳🇦 838 nru 🇳🇷 839 npl 🇳🇵 840 nld 🇳🇱 841 ncl 🇳🇨 842 nzl 🇳🇿 843 nic 🇳🇮 844 ner 🇳🇪 845 nga 🇳🇬 846 niu 🇳🇺 847 nfk 🇳🇫 848 mnp 🇲🇵 849 nor 🇳🇴 850 omn 🇴🇲 851 pak 🇵🇰 852 plw 🇵🇼 853 pse 🇵🇸 854 pan 🇵🇦 855 png 🇵🇬 856 pry 🇵🇾 857 per 🇵🇪 858 phl 🇵🇭 859 pcn 🇵🇳 860 pol 🇵🇱 861 prt 🇵🇹 862 pri 🇵🇷 863 qat 🇶🇦 864 reu 🇷🇪 865 rou 🇷🇴 866 rus 🇷🇺 867 rwa 🇷🇼 868 blm 🇧🇱 869 shn 🇸🇭 870 kna 🇰🇳 871 lca 🇱🇨 872 maf 🇲🇫 873 spm 🇵🇲 874 vct 🇻🇨 875 wsm 🇼🇸 876 smr 🇸🇲 877 stp 🇸🇹 878 sau 🇸🇦 879 sen 🇸🇳 880 srb 🇷🇸 881 syc 🇸🇨 882 sle 🇸🇱 883 sgp 🇸🇬 884 sxm 🇸🇽 885 svk 🇸🇰 886 svn 🇸🇮 887 slb 🇸🇧 888 som 🇸🇴 889 zaf 🇿🇦 890 sgs 🇬🇸 891 ssd 🇸🇸 892 esp 🇪🇸 893 lka 🇱🇰 894 sdn 🇸🇩 895 sur 🇸🇷 896 sjm 🇸🇯 897 swe 🇸🇪 898 che 🇨🇭 899 syr 🇸🇾 900 twn 🇹🇼 901 tjk 🇹🇯 902 tza 🇹🇿 903 tha 🇹🇭 904 tls 🇹🇱 905 tgo 🇹🇬 906 tkl 🇹🇰 907 ton 🇹🇴 908 tto 🇹🇹 909 tun 🇹🇳 910 tur 🇹🇷 911 tkm 🇹🇲 912 tca 🇹🇨 913 tuv 🇹🇻 914 uga 🇺🇬 915 ukr 🇺🇦 916 are 🇦🇪 917 gbr 🇬🇧 918 uae 🇦🇪 919 umi 🇺🇲 920 usa 🇺🇸 921 ury 🇺🇾 922 uzb 🇺🇿 923 vut 🇻🇺 924 ven 🇻🇪 925 vnm 🇻🇳 926 vgb 🇻🇬 927 vir 🇻🇮 928 wlf 🇼🇫 929 esh 🇪🇭 930 yem 🇾🇪 931 zmb 🇿🇲 932 zwe 🇿🇼 933 ENDOFDATA