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