From c77eb35f5b4b72d97b0e83f9eb948626ebcccab7 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sat, 20 Nov 2010 15:59:17 +0000 Subject: [PATCH] FEATURE: Optimized and improved the peer country resolution code FEATURE: Optimized and improved the locale preferences code COSMETIC: Use country flags by Mark James (Thanks to Dmytro Pukha) --- AUTHORS | 6 +- Changelog | 2 + src/Icons/flags/ad.png | Bin 0 -> 643 bytes src/Icons/flags/ae.png | Bin 0 -> 408 bytes src/Icons/flags/af.png | Bin 0 -> 604 bytes src/Icons/flags/ag.png | Bin 0 -> 591 bytes src/Icons/flags/ai.png | Bin 0 -> 643 bytes src/Icons/flags/al.png | Bin 0 -> 600 bytes src/Icons/flags/algeria.png | Bin 473 -> 0 bytes src/Icons/flags/am.png | Bin 0 -> 497 bytes src/Icons/flags/an.png | Bin 0 -> 488 bytes src/Icons/flags/ao.png | Bin 0 -> 428 bytes src/Icons/flags/ar.png | Bin 0 -> 506 bytes src/Icons/flags/argentina.png | Bin 308 -> 0 bytes src/Icons/flags/as.png | Bin 0 -> 647 bytes src/Icons/flags/at.png | Bin 0 -> 403 bytes src/Icons/flags/au.png | Bin 0 -> 673 bytes src/Icons/flags/australia.png | Bin 1153 -> 0 bytes src/Icons/flags/austria.png | Bin 285 -> 0 bytes src/Icons/flags/aw.png | Bin 0 -> 524 bytes src/Icons/flags/ax.png | Bin 0 -> 663 bytes src/Icons/flags/az.png | Bin 0 -> 589 bytes src/Icons/flags/ba.png | Bin 0 -> 593 bytes src/Icons/flags/bb.png | Bin 0 -> 585 bytes src/Icons/flags/bd.png | Bin 0 -> 504 bytes src/Icons/flags/be.png | Bin 0 -> 449 bytes src/Icons/flags/belarus.png | Bin 373 -> 0 bytes src/Icons/flags/belgium.png | Bin 173 -> 0 bytes src/Icons/flags/bf.png | Bin 0 -> 497 bytes src/Icons/flags/bg.png | Bin 0 -> 462 bytes src/Icons/flags/bh.png | Bin 0 -> 457 bytes src/Icons/flags/bi.png | Bin 0 -> 675 bytes src/Icons/flags/bj.png | Bin 0 -> 486 bytes src/Icons/flags/bm.png | Bin 0 -> 611 bytes src/Icons/flags/bn.png | Bin 0 -> 639 bytes src/Icons/flags/bo.png | Bin 0 -> 500 bytes src/Icons/flags/bosnia.png | Bin 583 -> 0 bytes src/Icons/flags/br.png | Bin 0 -> 593 bytes src/Icons/flags/brazil.png | Bin 799 -> 0 bytes src/Icons/flags/bs.png | Bin 0 -> 526 bytes src/Icons/flags/bt.png | Bin 0 -> 631 bytes src/Icons/flags/bulgaria.png | Bin 200 -> 0 bytes src/Icons/flags/bv.png | Bin 0 -> 512 bytes src/Icons/flags/bw.png | Bin 0 -> 443 bytes src/Icons/flags/by.png | Bin 0 -> 514 bytes src/Icons/flags/bz.png | Bin 0 -> 600 bytes src/Icons/flags/ca.png | Bin 0 -> 628 bytes src/Icons/flags/canada.png | Bin 686 -> 0 bytes src/Icons/flags/cc.png | Bin 0 -> 625 bytes src/Icons/flags/cd.png | Bin 0 -> 528 bytes src/Icons/flags/cf.png | Bin 0 -> 614 bytes src/Icons/flags/cg.png | Bin 0 -> 521 bytes src/Icons/flags/ch.png | Bin 0 -> 367 bytes src/Icons/flags/china.png | Bin 329 -> 0 bytes src/Icons/flags/ci.png | Bin 0 -> 453 bytes src/Icons/flags/ck.png | Bin 0 -> 586 bytes src/Icons/flags/cl.png | Bin 0 -> 450 bytes src/Icons/flags/cm.png | Bin 0 -> 525 bytes src/Icons/flags/cn.png | Bin 0 -> 472 bytes src/Icons/flags/co.png | Bin 0 -> 483 bytes src/Icons/flags/costa_rica.png | Bin 203 -> 0 bytes src/Icons/flags/cr.png | Bin 0 -> 477 bytes src/Icons/flags/croatia.png | Bin 479 -> 0 bytes src/Icons/flags/cs.png | Bin 0 -> 439 bytes src/Icons/flags/cu.png | Bin 0 -> 563 bytes src/Icons/flags/cv.png | Bin 0 -> 529 bytes src/Icons/flags/cx.png | Bin 0 -> 608 bytes src/Icons/flags/cy.png | Bin 0 -> 428 bytes src/Icons/flags/cz.png | Bin 0 -> 476 bytes src/Icons/flags/czech.png | Bin 455 -> 0 bytes src/Icons/flags/de.png | Bin 0 -> 545 bytes src/Icons/flags/denmark.png | Bin 270 -> 0 bytes src/Icons/flags/dj.png | Bin 0 -> 572 bytes src/Icons/flags/dk.png | Bin 0 -> 495 bytes src/Icons/flags/dm.png | Bin 0 -> 620 bytes src/Icons/flags/do.png | Bin 0 -> 508 bytes src/Icons/flags/dz.png | Bin 0 -> 582 bytes src/Icons/flags/ec.png | Bin 0 -> 500 bytes src/Icons/flags/ee.png | Bin 0 -> 429 bytes src/Icons/flags/eg.png | Bin 0 -> 465 bytes src/Icons/flags/egypt.png | Bin 314 -> 0 bytes src/Icons/flags/eh.png | Bin 0 -> 508 bytes src/Icons/flags/er.png | Bin 0 -> 653 bytes src/Icons/flags/es.png | Bin 0 -> 469 bytes src/Icons/flags/et.png | Bin 0 -> 592 bytes src/Icons/flags/fi.png | Bin 0 -> 489 bytes src/Icons/flags/finland.png | Bin 290 -> 0 bytes src/Icons/flags/fj.png | Bin 0 -> 610 bytes src/Icons/flags/fk.png | Bin 0 -> 648 bytes src/Icons/flags/fm.png | Bin 0 -> 552 bytes src/Icons/flags/fo.png | Bin 0 -> 474 bytes src/Icons/flags/fr.png | Bin 0 -> 545 bytes src/Icons/flags/france.png | Bin 160 -> 0 bytes src/Icons/flags/ga.png | Bin 0 -> 489 bytes src/Icons/flags/gb.png | Bin 0 -> 599 bytes src/Icons/flags/gd.png | Bin 0 -> 637 bytes src/Icons/flags/ge.png | Bin 0 -> 594 bytes src/Icons/flags/georgia.png | Bin 680 -> 0 bytes src/Icons/flags/germany.png | Bin 195 -> 0 bytes src/Icons/flags/gf.png | Bin 0 -> 545 bytes src/Icons/flags/gh.png | Bin 0 -> 490 bytes src/Icons/flags/gi.png | Bin 0 -> 463 bytes src/Icons/flags/gl.png | Bin 0 -> 470 bytes src/Icons/flags/gm.png | Bin 0 -> 493 bytes src/Icons/flags/gn.png | Bin 0 -> 480 bytes src/Icons/flags/gp.png | Bin 0 -> 488 bytes src/Icons/flags/gq.png | Bin 0 -> 537 bytes src/Icons/flags/gr.png | Bin 0 -> 487 bytes src/Icons/flags/greece.png | Bin 465 -> 0 bytes src/Icons/flags/gs.png | Bin 0 -> 630 bytes src/Icons/flags/gt.png | Bin 0 -> 493 bytes src/Icons/flags/gu.png | Bin 0 -> 509 bytes src/Icons/flags/gw.png | Bin 0 -> 516 bytes src/Icons/flags/gy.png | Bin 0 -> 645 bytes src/Icons/flags/hk.png | Bin 0 -> 527 bytes src/Icons/flags/hm.png | Bin 0 -> 673 bytes src/Icons/flags/hn.png | Bin 0 -> 537 bytes src/Icons/flags/hr.png | Bin 0 -> 524 bytes src/Icons/flags/ht.png | Bin 0 -> 487 bytes src/Icons/flags/hu.png | Bin 0 -> 432 bytes src/Icons/flags/hungary.png | Bin 172 -> 0 bytes src/Icons/flags/iceland.png | Bin 439 -> 0 bytes src/Icons/flags/icons-set-readme.txt | 9 + src/Icons/flags/id.png | Bin 0 -> 430 bytes src/Icons/flags/ie.png | Bin 0 -> 481 bytes src/Icons/flags/il.png | Bin 0 -> 431 bytes src/Icons/flags/in.png | Bin 0 -> 503 bytes src/Icons/flags/india.png | Bin 400 -> 0 bytes src/Icons/flags/indonesia.png | Bin 290 -> 0 bytes src/Icons/flags/io.png | Bin 0 -> 658 bytes src/Icons/flags/iq.png | Bin 0 -> 515 bytes src/Icons/flags/ir.png | Bin 0 -> 512 bytes src/Icons/flags/ireland.png | Bin 190 -> 0 bytes src/Icons/flags/is.png | Bin 0 -> 532 bytes src/Icons/flags/israel.png | Bin 476 -> 0 bytes src/Icons/flags/it.png | Bin 0 -> 420 bytes src/Icons/flags/italy.png | Bin 171 -> 0 bytes src/Icons/flags/japan.png | Bin 324 -> 0 bytes src/Icons/flags/jm.png | Bin 0 -> 637 bytes src/Icons/flags/jo.png | Bin 0 -> 473 bytes src/Icons/flags/jp.png | Bin 0 -> 420 bytes src/Icons/flags/ke.png | Bin 0 -> 569 bytes src/Icons/flags/kg.png | Bin 0 -> 510 bytes src/Icons/flags/kh.png | Bin 0 -> 549 bytes src/Icons/flags/ki.png | Bin 0 -> 656 bytes src/Icons/flags/km.png | Bin 0 -> 577 bytes src/Icons/flags/kn.png | Bin 0 -> 604 bytes src/Icons/flags/kp.png | Bin 0 -> 561 bytes src/Icons/flags/kr.png | Bin 0 -> 592 bytes src/Icons/flags/kw.png | Bin 0 -> 486 bytes src/Icons/flags/ky.png | Bin 0 -> 643 bytes src/Icons/flags/kz.png | Bin 0 -> 616 bytes src/Icons/flags/la.png | Bin 0 -> 563 bytes src/Icons/flags/lb.png | Bin 0 -> 517 bytes src/Icons/flags/lc.png | Bin 0 -> 520 bytes src/Icons/flags/li.png | Bin 0 -> 537 bytes src/Icons/flags/lk.png | Bin 0 -> 627 bytes src/Icons/flags/lr.png | Bin 0 -> 466 bytes src/Icons/flags/ls.png | Bin 0 -> 628 bytes src/Icons/flags/lt.png | Bin 0 -> 508 bytes src/Icons/flags/lu.png | Bin 0 -> 481 bytes src/Icons/flags/luxembourg.png | Bin 185 -> 0 bytes src/Icons/flags/lv.png | Bin 0 -> 465 bytes src/Icons/flags/ly.png | Bin 0 -> 419 bytes src/Icons/flags/ma.png | Bin 0 -> 432 bytes src/Icons/flags/malaysia.png | Bin 643 -> 0 bytes src/Icons/flags/mc.png | Bin 0 -> 380 bytes src/Icons/flags/md.png | Bin 0 -> 566 bytes src/Icons/flags/me.png | Bin 0 -> 448 bytes src/Icons/flags/mexico.png | Bin 402 -> 0 bytes src/Icons/flags/mg.png | Bin 0 -> 453 bytes src/Icons/flags/mh.png | Bin 0 -> 628 bytes src/Icons/flags/mk.png | Bin 0 -> 664 bytes src/Icons/flags/ml.png | Bin 0 -> 474 bytes src/Icons/flags/mm.png | Bin 0 -> 483 bytes src/Icons/flags/mn.png | Bin 0 -> 492 bytes src/Icons/flags/mo.png | Bin 0 -> 588 bytes src/Icons/flags/morocco.png | Bin 373 -> 0 bytes src/Icons/flags/mp.png | Bin 0 -> 597 bytes src/Icons/flags/mq.png | Bin 0 -> 655 bytes src/Icons/flags/mr.png | Bin 0 -> 569 bytes src/Icons/flags/ms.png | Bin 0 -> 614 bytes src/Icons/flags/mt.png | Bin 0 -> 420 bytes src/Icons/flags/mu.png | Bin 0 -> 496 bytes src/Icons/flags/mv.png | Bin 0 -> 542 bytes src/Icons/flags/mw.png | Bin 0 -> 529 bytes src/Icons/flags/mx.png | Bin 0 -> 574 bytes src/Icons/flags/my.png | Bin 0 -> 571 bytes src/Icons/flags/mz.png | Bin 0 -> 584 bytes src/Icons/flags/na.png | Bin 0 -> 647 bytes src/Icons/flags/nc.png | Bin 0 -> 591 bytes src/Icons/flags/ne.png | Bin 0 -> 537 bytes src/Icons/flags/netherlands.png | Bin 195 -> 0 bytes src/Icons/flags/newzealand.png | Bin 679 -> 0 bytes src/Icons/flags/nf.png | Bin 0 -> 602 bytes src/Icons/flags/ng.png | Bin 0 -> 482 bytes src/Icons/flags/ni.png | Bin 0 -> 508 bytes src/Icons/flags/nl.png | Bin 0 -> 453 bytes src/Icons/flags/no.png | Bin 0 -> 512 bytes src/Icons/flags/norway.png | Bin 464 -> 0 bytes src/Icons/flags/np.png | Bin 0 -> 443 bytes src/Icons/flags/nr.png | Bin 0 -> 527 bytes src/Icons/flags/nu.png | Bin 0 -> 572 bytes src/Icons/flags/nz.png | Bin 0 -> 639 bytes src/Icons/flags/om.png | Bin 0 -> 478 bytes src/Icons/flags/pa.png | Bin 0 -> 519 bytes src/Icons/flags/pakistan.png | Bin 833 -> 0 bytes src/Icons/flags/pe.png | Bin 0 -> 397 bytes src/Icons/flags/pf.png | Bin 0 -> 498 bytes src/Icons/flags/pg.png | Bin 0 -> 593 bytes src/Icons/flags/ph.png | Bin 0 -> 538 bytes src/Icons/flags/philippines.png | Bin 680 -> 0 bytes src/Icons/flags/pk.png | Bin 0 -> 569 bytes src/Icons/flags/pl.png | Bin 0 -> 374 bytes src/Icons/flags/pm.png | Bin 0 -> 689 bytes src/Icons/flags/pn.png | Bin 0 -> 657 bytes src/Icons/flags/poland.png | Bin 212 -> 0 bytes src/Icons/flags/portugal.png | Bin 566 -> 0 bytes src/Icons/flags/pr.png | Bin 0 -> 556 bytes src/Icons/flags/ps.png | Bin 0 -> 472 bytes src/Icons/flags/pt.png | Bin 0 -> 554 bytes src/Icons/flags/pw.png | Bin 0 -> 550 bytes src/Icons/flags/py.png | Bin 0 -> 473 bytes src/Icons/flags/qa.png | Bin 0 -> 450 bytes src/Icons/flags/re.png | Bin 0 -> 545 bytes src/Icons/flags/ro.png | Bin 0 -> 495 bytes src/Icons/flags/romania.png | Bin 160 -> 0 bytes src/Icons/flags/rs.png | Bin 0 -> 423 bytes src/Icons/flags/ru.png | Bin 0 -> 420 bytes src/Icons/flags/russia.png | Bin 197 -> 0 bytes src/Icons/flags/rw.png | Bin 0 -> 533 bytes src/Icons/flags/sa.png | Bin 0 -> 551 bytes src/Icons/flags/saoudi_arabia.png | Bin 546 -> 0 bytes src/Icons/flags/sb.png | Bin 0 -> 624 bytes src/Icons/flags/sc.png | Bin 0 -> 608 bytes src/Icons/flags/sd.png | Bin 0 -> 492 bytes src/Icons/flags/se.png | Bin 0 -> 542 bytes src/Icons/flags/serbia.png | Bin 459 -> 0 bytes src/Icons/flags/sg.png | Bin 0 -> 468 bytes src/Icons/flags/sh.png | Bin 0 -> 645 bytes src/Icons/flags/si.png | Bin 0 -> 510 bytes src/Icons/flags/singapore.png | Bin 372 -> 0 bytes src/Icons/flags/sj.png | Bin 0 -> 512 bytes src/Icons/flags/sk.png | Bin 0 -> 562 bytes src/Icons/flags/sl.png | Bin 0 -> 436 bytes src/Icons/flags/slovakia.png | Bin 525 -> 0 bytes src/Icons/flags/slovenia.png | Bin 361 -> 0 bytes src/Icons/flags/sm.png | Bin 0 -> 502 bytes src/Icons/flags/sn.png | Bin 0 -> 532 bytes src/Icons/flags/so.png | Bin 0 -> 527 bytes src/Icons/flags/south_africa.png | Bin 773 -> 0 bytes src/Icons/flags/south_korea.png | Bin 1173 -> 0 bytes src/Icons/flags/spain.png | Bin 416 -> 0 bytes src/Icons/flags/spain_catalunya.png | Bin 236 -> 0 bytes src/Icons/flags/sr.png | Bin 0 -> 513 bytes src/Icons/flags/st.png | Bin 0 -> 584 bytes src/Icons/flags/suisse.png | Bin 293 -> 0 bytes src/Icons/flags/sv.png | Bin 0 -> 501 bytes src/Icons/flags/sweden.png | Bin 332 -> 0 bytes src/Icons/flags/sy.png | Bin 0 -> 422 bytes src/Icons/flags/sz.png | Bin 0 -> 643 bytes src/Icons/flags/taiwan.png | Bin 333 -> 0 bytes src/Icons/flags/tc.png | Bin 0 -> 624 bytes src/Icons/flags/td.png | Bin 0 -> 570 bytes src/Icons/flags/tf.png | Bin 0 -> 527 bytes src/Icons/flags/tg.png | Bin 0 -> 562 bytes src/Icons/flags/th.png | Bin 0 -> 452 bytes src/Icons/flags/thailand.png | Bin 198 -> 0 bytes src/Icons/flags/tj.png | Bin 0 -> 496 bytes src/Icons/flags/tk.png | Bin 0 -> 638 bytes src/Icons/flags/tl.png | Bin 0 -> 514 bytes src/Icons/flags/tm.png | Bin 0 -> 593 bytes src/Icons/flags/tn.png | Bin 0 -> 495 bytes src/Icons/flags/to.png | Bin 0 -> 426 bytes src/Icons/flags/tr.png | Bin 0 -> 492 bytes src/Icons/flags/tt.png | Bin 0 -> 617 bytes src/Icons/flags/turkey.png | Bin 516 -> 0 bytes src/Icons/flags/tv.png | Bin 0 -> 536 bytes src/Icons/flags/tw.png | Bin 0 -> 465 bytes src/Icons/flags/tz.png | Bin 0 -> 642 bytes src/Icons/flags/ua.png | Bin 0 -> 446 bytes src/Icons/flags/ug.png | Bin 0 -> 531 bytes src/Icons/flags/ukraine.png | Bin 198 -> 0 bytes src/Icons/flags/um.png | Bin 0 -> 571 bytes src/Icons/flags/united_arab_emirates.png | Bin 248 -> 0 bytes src/Icons/flags/united_kingdom.png | Bin 1205 -> 0 bytes src/Icons/flags/us.png | Bin 0 -> 609 bytes src/Icons/flags/usa.png | Bin 657 -> 0 bytes src/Icons/flags/uy.png | Bin 0 -> 532 bytes src/Icons/flags/uz.png | Bin 0 -> 515 bytes src/Icons/flags/va.png | Bin 0 -> 553 bytes src/Icons/flags/vc.png | Bin 0 -> 577 bytes src/Icons/flags/ve.png | Bin 0 -> 528 bytes src/Icons/flags/vg.png | Bin 0 -> 630 bytes src/Icons/flags/vi.png | Bin 0 -> 616 bytes src/Icons/flags/vn.png | Bin 0 -> 474 bytes src/Icons/flags/vu.png | Bin 0 -> 604 bytes src/Icons/flags/wf.png | Bin 0 -> 554 bytes src/Icons/flags/ws.png | Bin 0 -> 476 bytes src/Icons/flags/ye.png | Bin 0 -> 413 bytes src/Icons/flags/yt.png | Bin 0 -> 593 bytes src/Icons/flags/za.png | Bin 0 -> 642 bytes src/Icons/flags/zm.png | Bin 0 -> 500 bytes src/Icons/flags/zw.png | Bin 0 -> 574 bytes src/geoip.h | 223 ----------------- src/geoipmanager.cpp | 204 +++++++++++++++ src/geoipmanager.h | 55 +++++ src/icons.qrc | 301 ++++++++++++++++++----- src/options_imp.cpp | 94 +++---- src/options_imp.h | 91 +++---- src/preferences.h | 7 +- src/properties/peerlistwidget.cpp | 12 +- src/qtlibtorrent/qbtsession.cpp | 4 +- src/src.pro | 7 +- 314 files changed, 604 insertions(+), 411 deletions(-) create mode 100755 src/Icons/flags/ad.png create mode 100755 src/Icons/flags/ae.png create mode 100755 src/Icons/flags/af.png create mode 100755 src/Icons/flags/ag.png create mode 100755 src/Icons/flags/ai.png create mode 100755 src/Icons/flags/al.png delete mode 100644 src/Icons/flags/algeria.png create mode 100755 src/Icons/flags/am.png create mode 100755 src/Icons/flags/an.png create mode 100644 src/Icons/flags/ao.png create mode 100755 src/Icons/flags/ar.png delete mode 100644 src/Icons/flags/argentina.png create mode 100755 src/Icons/flags/as.png create mode 100755 src/Icons/flags/at.png create mode 100755 src/Icons/flags/au.png delete mode 100644 src/Icons/flags/australia.png delete mode 100644 src/Icons/flags/austria.png create mode 100755 src/Icons/flags/aw.png create mode 100755 src/Icons/flags/ax.png create mode 100755 src/Icons/flags/az.png create mode 100755 src/Icons/flags/ba.png create mode 100755 src/Icons/flags/bb.png create mode 100755 src/Icons/flags/bd.png create mode 100755 src/Icons/flags/be.png delete mode 100644 src/Icons/flags/belarus.png delete mode 100644 src/Icons/flags/belgium.png create mode 100755 src/Icons/flags/bf.png create mode 100755 src/Icons/flags/bg.png create mode 100755 src/Icons/flags/bh.png create mode 100755 src/Icons/flags/bi.png create mode 100755 src/Icons/flags/bj.png create mode 100755 src/Icons/flags/bm.png create mode 100755 src/Icons/flags/bn.png create mode 100755 src/Icons/flags/bo.png delete mode 100644 src/Icons/flags/bosnia.png create mode 100755 src/Icons/flags/br.png delete mode 100644 src/Icons/flags/brazil.png create mode 100755 src/Icons/flags/bs.png create mode 100755 src/Icons/flags/bt.png delete mode 100644 src/Icons/flags/bulgaria.png create mode 100755 src/Icons/flags/bv.png create mode 100755 src/Icons/flags/bw.png create mode 100755 src/Icons/flags/by.png create mode 100755 src/Icons/flags/bz.png create mode 100755 src/Icons/flags/ca.png delete mode 100644 src/Icons/flags/canada.png create mode 100755 src/Icons/flags/cc.png create mode 100644 src/Icons/flags/cd.png create mode 100755 src/Icons/flags/cf.png create mode 100755 src/Icons/flags/cg.png create mode 100755 src/Icons/flags/ch.png delete mode 100644 src/Icons/flags/china.png create mode 100755 src/Icons/flags/ci.png create mode 100755 src/Icons/flags/ck.png create mode 100755 src/Icons/flags/cl.png create mode 100755 src/Icons/flags/cm.png create mode 100755 src/Icons/flags/cn.png create mode 100755 src/Icons/flags/co.png delete mode 100644 src/Icons/flags/costa_rica.png create mode 100755 src/Icons/flags/cr.png delete mode 100644 src/Icons/flags/croatia.png create mode 100755 src/Icons/flags/cs.png create mode 100755 src/Icons/flags/cu.png create mode 100755 src/Icons/flags/cv.png create mode 100755 src/Icons/flags/cx.png create mode 100755 src/Icons/flags/cy.png create mode 100755 src/Icons/flags/cz.png delete mode 100644 src/Icons/flags/czech.png create mode 100755 src/Icons/flags/de.png delete mode 100644 src/Icons/flags/denmark.png create mode 100755 src/Icons/flags/dj.png create mode 100755 src/Icons/flags/dk.png create mode 100755 src/Icons/flags/dm.png create mode 100755 src/Icons/flags/do.png create mode 100755 src/Icons/flags/dz.png create mode 100755 src/Icons/flags/ec.png create mode 100755 src/Icons/flags/ee.png create mode 100755 src/Icons/flags/eg.png delete mode 100644 src/Icons/flags/egypt.png create mode 100755 src/Icons/flags/eh.png create mode 100755 src/Icons/flags/er.png create mode 100755 src/Icons/flags/es.png create mode 100755 src/Icons/flags/et.png create mode 100755 src/Icons/flags/fi.png delete mode 100644 src/Icons/flags/finland.png create mode 100755 src/Icons/flags/fj.png create mode 100755 src/Icons/flags/fk.png create mode 100755 src/Icons/flags/fm.png create mode 100755 src/Icons/flags/fo.png create mode 100755 src/Icons/flags/fr.png delete mode 100644 src/Icons/flags/france.png create mode 100755 src/Icons/flags/ga.png create mode 100644 src/Icons/flags/gb.png create mode 100755 src/Icons/flags/gd.png create mode 100755 src/Icons/flags/ge.png delete mode 100644 src/Icons/flags/georgia.png delete mode 100644 src/Icons/flags/germany.png create mode 100755 src/Icons/flags/gf.png create mode 100755 src/Icons/flags/gh.png create mode 100755 src/Icons/flags/gi.png create mode 100755 src/Icons/flags/gl.png create mode 100755 src/Icons/flags/gm.png create mode 100755 src/Icons/flags/gn.png create mode 100755 src/Icons/flags/gp.png create mode 100755 src/Icons/flags/gq.png create mode 100755 src/Icons/flags/gr.png delete mode 100644 src/Icons/flags/greece.png create mode 100755 src/Icons/flags/gs.png create mode 100755 src/Icons/flags/gt.png create mode 100755 src/Icons/flags/gu.png create mode 100755 src/Icons/flags/gw.png create mode 100755 src/Icons/flags/gy.png create mode 100755 src/Icons/flags/hk.png create mode 100755 src/Icons/flags/hm.png create mode 100755 src/Icons/flags/hn.png create mode 100755 src/Icons/flags/hr.png create mode 100755 src/Icons/flags/ht.png create mode 100755 src/Icons/flags/hu.png delete mode 100644 src/Icons/flags/hungary.png delete mode 100644 src/Icons/flags/iceland.png create mode 100755 src/Icons/flags/icons-set-readme.txt create mode 100755 src/Icons/flags/id.png create mode 100755 src/Icons/flags/ie.png create mode 100755 src/Icons/flags/il.png create mode 100755 src/Icons/flags/in.png delete mode 100644 src/Icons/flags/india.png delete mode 100644 src/Icons/flags/indonesia.png create mode 100755 src/Icons/flags/io.png create mode 100755 src/Icons/flags/iq.png create mode 100755 src/Icons/flags/ir.png delete mode 100644 src/Icons/flags/ireland.png create mode 100755 src/Icons/flags/is.png delete mode 100644 src/Icons/flags/israel.png create mode 100755 src/Icons/flags/it.png delete mode 100644 src/Icons/flags/italy.png delete mode 100644 src/Icons/flags/japan.png create mode 100755 src/Icons/flags/jm.png create mode 100755 src/Icons/flags/jo.png create mode 100755 src/Icons/flags/jp.png create mode 100755 src/Icons/flags/ke.png create mode 100755 src/Icons/flags/kg.png create mode 100755 src/Icons/flags/kh.png create mode 100755 src/Icons/flags/ki.png create mode 100755 src/Icons/flags/km.png create mode 100755 src/Icons/flags/kn.png create mode 100755 src/Icons/flags/kp.png create mode 100755 src/Icons/flags/kr.png create mode 100755 src/Icons/flags/kw.png create mode 100755 src/Icons/flags/ky.png create mode 100755 src/Icons/flags/kz.png create mode 100755 src/Icons/flags/la.png create mode 100755 src/Icons/flags/lb.png create mode 100644 src/Icons/flags/lc.png create mode 100755 src/Icons/flags/li.png create mode 100755 src/Icons/flags/lk.png create mode 100755 src/Icons/flags/lr.png create mode 100755 src/Icons/flags/ls.png create mode 100755 src/Icons/flags/lt.png create mode 100755 src/Icons/flags/lu.png delete mode 100644 src/Icons/flags/luxembourg.png create mode 100755 src/Icons/flags/lv.png create mode 100755 src/Icons/flags/ly.png create mode 100755 src/Icons/flags/ma.png delete mode 100644 src/Icons/flags/malaysia.png create mode 100755 src/Icons/flags/mc.png create mode 100755 src/Icons/flags/md.png create mode 100644 src/Icons/flags/me.png delete mode 100644 src/Icons/flags/mexico.png create mode 100755 src/Icons/flags/mg.png create mode 100755 src/Icons/flags/mh.png create mode 100755 src/Icons/flags/mk.png create mode 100755 src/Icons/flags/ml.png create mode 100755 src/Icons/flags/mm.png create mode 100755 src/Icons/flags/mn.png create mode 100755 src/Icons/flags/mo.png delete mode 100644 src/Icons/flags/morocco.png create mode 100755 src/Icons/flags/mp.png create mode 100755 src/Icons/flags/mq.png create mode 100755 src/Icons/flags/mr.png create mode 100755 src/Icons/flags/ms.png create mode 100755 src/Icons/flags/mt.png create mode 100755 src/Icons/flags/mu.png create mode 100755 src/Icons/flags/mv.png create mode 100755 src/Icons/flags/mw.png create mode 100755 src/Icons/flags/mx.png create mode 100755 src/Icons/flags/my.png create mode 100755 src/Icons/flags/mz.png create mode 100755 src/Icons/flags/na.png create mode 100755 src/Icons/flags/nc.png create mode 100755 src/Icons/flags/ne.png delete mode 100644 src/Icons/flags/netherlands.png delete mode 100644 src/Icons/flags/newzealand.png create mode 100755 src/Icons/flags/nf.png create mode 100755 src/Icons/flags/ng.png create mode 100755 src/Icons/flags/ni.png create mode 100755 src/Icons/flags/nl.png create mode 100755 src/Icons/flags/no.png delete mode 100644 src/Icons/flags/norway.png create mode 100755 src/Icons/flags/np.png create mode 100755 src/Icons/flags/nr.png create mode 100755 src/Icons/flags/nu.png create mode 100755 src/Icons/flags/nz.png create mode 100755 src/Icons/flags/om.png create mode 100755 src/Icons/flags/pa.png delete mode 100644 src/Icons/flags/pakistan.png create mode 100755 src/Icons/flags/pe.png create mode 100755 src/Icons/flags/pf.png create mode 100755 src/Icons/flags/pg.png create mode 100755 src/Icons/flags/ph.png delete mode 100644 src/Icons/flags/philippines.png create mode 100755 src/Icons/flags/pk.png create mode 100755 src/Icons/flags/pl.png create mode 100755 src/Icons/flags/pm.png create mode 100755 src/Icons/flags/pn.png delete mode 100644 src/Icons/flags/poland.png delete mode 100644 src/Icons/flags/portugal.png create mode 100755 src/Icons/flags/pr.png create mode 100755 src/Icons/flags/ps.png create mode 100755 src/Icons/flags/pt.png create mode 100755 src/Icons/flags/pw.png create mode 100755 src/Icons/flags/py.png create mode 100755 src/Icons/flags/qa.png create mode 100755 src/Icons/flags/re.png create mode 100755 src/Icons/flags/ro.png delete mode 100644 src/Icons/flags/romania.png create mode 100644 src/Icons/flags/rs.png create mode 100755 src/Icons/flags/ru.png delete mode 100644 src/Icons/flags/russia.png create mode 100755 src/Icons/flags/rw.png create mode 100755 src/Icons/flags/sa.png delete mode 100644 src/Icons/flags/saoudi_arabia.png create mode 100755 src/Icons/flags/sb.png create mode 100755 src/Icons/flags/sc.png create mode 100755 src/Icons/flags/sd.png create mode 100755 src/Icons/flags/se.png delete mode 100644 src/Icons/flags/serbia.png create mode 100755 src/Icons/flags/sg.png create mode 100755 src/Icons/flags/sh.png create mode 100755 src/Icons/flags/si.png delete mode 100644 src/Icons/flags/singapore.png create mode 100755 src/Icons/flags/sj.png create mode 100755 src/Icons/flags/sk.png create mode 100755 src/Icons/flags/sl.png delete mode 100644 src/Icons/flags/slovakia.png delete mode 100644 src/Icons/flags/slovenia.png create mode 100755 src/Icons/flags/sm.png create mode 100755 src/Icons/flags/sn.png create mode 100755 src/Icons/flags/so.png delete mode 100644 src/Icons/flags/south_africa.png delete mode 100644 src/Icons/flags/south_korea.png delete mode 100644 src/Icons/flags/spain.png delete mode 100644 src/Icons/flags/spain_catalunya.png create mode 100755 src/Icons/flags/sr.png create mode 100755 src/Icons/flags/st.png delete mode 100644 src/Icons/flags/suisse.png create mode 100755 src/Icons/flags/sv.png delete mode 100644 src/Icons/flags/sweden.png create mode 100755 src/Icons/flags/sy.png create mode 100755 src/Icons/flags/sz.png delete mode 100644 src/Icons/flags/taiwan.png create mode 100755 src/Icons/flags/tc.png create mode 100755 src/Icons/flags/td.png create mode 100755 src/Icons/flags/tf.png create mode 100755 src/Icons/flags/tg.png create mode 100755 src/Icons/flags/th.png delete mode 100644 src/Icons/flags/thailand.png create mode 100755 src/Icons/flags/tj.png create mode 100755 src/Icons/flags/tk.png create mode 100755 src/Icons/flags/tl.png create mode 100755 src/Icons/flags/tm.png create mode 100755 src/Icons/flags/tn.png create mode 100755 src/Icons/flags/to.png create mode 100755 src/Icons/flags/tr.png create mode 100755 src/Icons/flags/tt.png delete mode 100644 src/Icons/flags/turkey.png create mode 100755 src/Icons/flags/tv.png create mode 100755 src/Icons/flags/tw.png create mode 100755 src/Icons/flags/tz.png create mode 100755 src/Icons/flags/ua.png create mode 100755 src/Icons/flags/ug.png delete mode 100644 src/Icons/flags/ukraine.png create mode 100755 src/Icons/flags/um.png delete mode 100644 src/Icons/flags/united_arab_emirates.png delete mode 100644 src/Icons/flags/united_kingdom.png create mode 100755 src/Icons/flags/us.png delete mode 100644 src/Icons/flags/usa.png create mode 100755 src/Icons/flags/uy.png create mode 100755 src/Icons/flags/uz.png create mode 100755 src/Icons/flags/va.png create mode 100755 src/Icons/flags/vc.png create mode 100755 src/Icons/flags/ve.png create mode 100755 src/Icons/flags/vg.png create mode 100755 src/Icons/flags/vi.png create mode 100755 src/Icons/flags/vn.png create mode 100755 src/Icons/flags/vu.png create mode 100755 src/Icons/flags/wf.png create mode 100755 src/Icons/flags/ws.png create mode 100755 src/Icons/flags/ye.png create mode 100755 src/Icons/flags/yt.png create mode 100755 src/Icons/flags/za.png create mode 100755 src/Icons/flags/zm.png create mode 100755 src/Icons/flags/zw.png delete mode 100644 src/geoip.h create mode 100644 src/geoipmanager.cpp create mode 100644 src/geoipmanager.h diff --git a/AUTHORS b/AUTHORS index aa8961344..a65e73df6 100644 --- a/AUTHORS +++ b/AUTHORS @@ -36,9 +36,9 @@ Images Authors: url: http://www.oxygen-icons.org * files: src/Icons/flags/*.png - copyright: Open Clip Art Library - license: Creative Commons Public Domain Dedication - url: http://www.openclipart.org + copyright: Mark James + license: Public Domain + url: http://www.famfamfam.com * files: src/Icons/skin/*.png files: src/menuicons/YYxYY/*.png diff --git a/Changelog b/Changelog index 53e3a1b56..be82864e2 100644 --- a/Changelog +++ b/Changelog @@ -11,8 +11,10 @@ - FEATURE: Major code refactoring and optimization - FEATURE: Added "Amount downloaded/left" columns to transfer list - FEATURE: Simplified proxy settings + - FEATURE: Optimized and improved the peer country resolution code - COSMETIC: Replaced message box by on-screen notification for download errors - COSMETIC: Improved the torrent creation tool appearance + - COSMETIC: Use country flags by Mark James (Thanks to Dmytro Pukha) - OTHERS: Dropped support for Qt <= 4.4 * Tue Aug 24 2010 - Christophe Dumez - v2.4.0 diff --git a/src/Icons/flags/ad.png b/src/Icons/flags/ad.png new file mode 100755 index 0000000000000000000000000000000000000000..625ca84f9ec596848d4b967b5556fda897ca7183 GIT binary patch literal 643 zcmV-}0(||6P)S}{rU-#^xW|9%5S{`_G8k=zVG=|5luWB>#JF#yj01oZa& zTu&JQ008~}|NQ&{0055x0sR95`v3p?1_t~7{`v!N`v3d-{`&g=`T6amqXIBA$0h)T zKokWRkpoMx|Go@O4FvhR>O1p+i7`B6t^3)y2dJ<#?4I?d4x-E}Az98Z`2`TmzkmP! z{`(J9{pauh-+zJD{JOYLhW+QSzkh#x`Y&wke*WLjpZ~u9`2XuCr@{^OJ|MkZb_UGR@Z=V>fB*iaq<8P{*B}2u-uMnu#J~U$KrBDL0bT$1_irEqiZcM6WEF7g<|*+% zzkjHi-TwRc=f7_t9|K*?`1?07lmG&V<)V$@{}>pUYZ(~+fDw@M3(WY1!T<=sp}f-o0K!lJ3<>Jc!&VtMslE3ph2^H3FGe(F z4|^}slF1@l1Nxc}^5hjjU=0la|37)k@b@neJ^1|l@87?_{{z(l6@kcKe}Db@_Y267 z<&g#201!YdV6*>2R0EZ*bYA%%2Vi7me5m>mAb?naPGtnD20MY__n-f`0mzg8{s9CK z*hzmtW)s%H$oS{aAAkS?JLxaT`2W9u;n%DD1Q-B%#%TuGpFSS|0000&5HW|5#c7{r(N){s9YCi84$~U|{$Glm>AD0*K|^yLU}ZO+eP) ze;~;4`#0mCzs$dX{r~-&?f370zkUTM{{OB1_1E8DKmYz*JbN)f0I>i8Q1#1Kum1f0 z{pZggpt}FRe*ORX>;JEx|9}4c_w(m__W!pfKK=atLxM{ZXbC_7vHbh@@9*EgK-ECy zzkh)Y{?EYhFEQc&-#`EN9{7Lq7*OE*@9)2U|NQmmC(vO40VtezBLF}U2%?OI(TG)& zJC>!~;SYmN-)zb6gc(7A-^Q(#z0vHb9!CJ#T#ii{@&pjek8j`pfX)5|H00+GpnLvt za{MtfWBC4qk%R63j~{=2{QLgr`wyTb*amx2hce{;{QL3a|BhWh#6A5bKmf5of*%NgdVm^$Zuo!gI_LQd|G=96g51yWl0Agf71rLE? q3XWqq@&Lw?Iyk0*94-cc00RK~MQKxxUU$F%0000= z`}|7!`YQYT5C8xIh~*yx1DgQ1_jkSr_QgN{Gn)!7=zkRT=l(yS{y%^Jd$>%yrP!)vVq~xpZ~xA{{HjZ>hB|)Z~OQoBLBm{yCqA0{k;C`&+mV~|1$jj15^wU zKukakbkF}kzkmk({q_6zmUTZaUWBOraqa5!?(V-pgMR}R{04?0&`AIR#PSE^hrdi> z;*7t4gLVFSJ$J5DTibsorq@%ai5h7B2l^1G@*gM=fUW@uAjYc<48V{DX@ijvE(11_ dg@FMezyQzuBHsGv+i3s*002ovPDHLkV1jTADB=JB literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ai.png b/src/Icons/flags/ai.png new file mode 100755 index 0000000000000000000000000000000000000000..74ed29d92616c86757d3c0ec04378301c8f591b4 GIT binary patch literal 643 zcmV-}0(||6P)ocPy#thD++(+#W%SS0Qvp^`1%0+_yGC)0QUL-|M&m^ z`T_tk0M7pe&iDc7fh@K74M*k&0{8f*88BG;;GY6ve?;&4{{Q>_{{8&^`u+g@|Ns5} z|C?Nv0*Gb#mu+n4z6ZW~#qjy_|6ji&ZeIEMk16oyzH)i@Pk$MNxLARR?a#kwpMS72 zF)}cG2M8dRUN*~81wCz%$A2$f`_IL|A|w6j^RHtc7{2`lYG-KkQ{(*knSqh%3kzr7 zs%s1kKL7#%F#yj00-^B^D;pD^^AqC)4C(?1m>@q26ceiU4*2{4`u_d~@vQ*ykp&A1 z3h$o${r~^~`vQo?Pm-bY@cm79zVQG5%l!B6)Riap%L`bGemnT<@2|iAfl64!%YWS~ z`p0YY_dig_cYpw5WYAmG*lPLk!;jy8|NZ#~MF0Q%{rCG1ko^Di`(Fhkd3F{?py0c9Vg{{gA~^#>F<|Nj5KapBR^@Bf~CXSi|t;lF=C z8-4)<5DUX^V9+rDCI3RuUy#}V{s46X!}R~}@4ug&fA|+@;n!b(1zCZ900KKMX({{sIILBZE*UQbc|SngJt$+`m9Kz!<;5 dBm+Qz0RWL%NC2%sdjkLf002ovPDHLkV1lARHI@JX literal 0 HcmV?d00001 diff --git a/src/Icons/flags/al.png b/src/Icons/flags/al.png new file mode 100755 index 0000000000000000000000000000000000000000..92354cb6e257be2cade71cb825027ce8d9efc06d GIT binary patch literal 600 zcmV-e0;m0nP)PbXFRCwBA zyv)hK@{fUmi2(>${xJOc&A`II@PmN?BKC`c;SU)710$d~Kmf4-r6niy16BY3`}g0! ze=L9h&Uybegp-Ns@87v^zGQMU|NZla@z1Y+zkdVKmFbHB0*HkH4F0@)&iwE1;&GRLuzkX(OGXMMa``@o$|Ni_2x(y(Jn3#TnHT?el|IhC;U%pHK`}6Df z@2@|9J^lXU=Z~KvfBzi*^!4A*U;lv`e*Fge3Lt=(82$q_`~m9z|ND;$!(WEqze~6o ze}X|JFO$H(U+VvX#{c{avi3L7@c;n?3L&6l7=Hix`}emN<6i~#|7+iUWBL8-&##}m zKKx5zXJr5LA80nvkwCM6egFs{po9Y?& zL6B;olm7ns#=rm&Kp-3b{RIXY(1{??Ha=$NKfkS+|9@us$Mfg+93j@fzkY#y2y!;i z&kO(o1PWH5>zPHwn7|>;0Mz;WPl13iP!Y(WKYy4&4hBXMSPugOKmaiw2gk!dq!|4J mj$lZPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iXe{ z4=XZj*J>RA00CJ^L_t(I%k7j;D1&hv#y`L9_j>I$Z}PX@lu~kWLlWcQN>gegIqf0` zk^`kUIB;;{=qLvZwS$sYYG=71%E3x)rFYuq-QM{*?C#&2q&(N>sZY=It*_v$PVoh) z{`6Pkc=%!ceSrK-s3z-S?#N`|qLQqC3>oa9VrCj)`rS8Zv^< zyKxR;sOPNv1}l3tv^+}U?KYvs6!u`SY-kdpNp}EQ5`+>402{*=1+SvGyN`OZDBaxQ z+g^7!QGLdPuOI-p4LD`!P#^Z@4o>V8du7o3G?_g<%U?lN!m|62-$4wD1VZ z%AhaJx|_)HDxzIE#^Y5iL`}}yY$_rXWiOsUE0R~eis zC&uN{cDQ8`!@ZNLOqwtoG6nhzPx}SV-d6yzFfcIz75{(rngJyDkKrFw8iaoThHCr$ zo8k9wMhS^O3=9AP!~%5B|9}4(ASQtkLN$m1CV&5705X362095KfLKJhW;OjWdGY7l zzrX*$DuLu*pcFC#NdEr)SL!$SY=)lz0mSm_*B_u)|AM4JP)(}33zy1Lc&_o7? zKL7y)bkd){fBym<_v`mxpbeRs`+WRVot-5A{r$IX$CJFg13u{3eX_{0R++j zR}GCkSy{&4zk!krKoTg(2n-k?g31B}5JW!NMq0d0000q< zM7LZb@rX?|r)2RP-+aO3(7q?c3+$-Vv0E)PxM3SDV%@s`#GkZvw_x^WBa~uq3^l}t zWdf(j(=(>^SgETc#5#EZT(4ObRkfxbzP9G;yza0;Ygc8-_*?EP(ca#`l6-Z6D0{tL zQ4|~MCSi!9Q9YkW=V$ix#EqZ!rc?eWA0TwdVID+3aqrYUXUhCI)Ad5!(cP!BhhW$Ayb2&r8kK!bz*2`~UE W(Ndrek0Jg50000NL7TW{{R0! zJP>i}(MpzaSkj z=eqvqa`^|6{{QbQRQ11q3~Vg_kG}Z}5I`(hw}ncX8D4$|h64jUK>or*=^r$dfI%n0 z$3MKz;!F0w91GjkkV%_X`@4 wKR^hm`X5LwD9*v?4;TUC6Bz$&3;+QJ0QLcJ=WT{TU;qFB07*qoM6N<$f>3bX%K!iX literal 0 HcmV?d00001 diff --git a/src/Icons/flags/argentina.png b/src/Icons/flags/argentina.png deleted file mode 100644 index 65a769ccfb83b23a08660cc2bc1d173712856b8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^5CGbni?l}wN*c}p2 zF)lvIr1+*rO5>{Tyactky@s;>OF)E@PLDtbM#wx^~8X wlThtmcKg_-6f?)`mtQ-DfBEmaU;hWg)};mdKI;Vst0OL7wQvd(} diff --git a/src/Icons/flags/as.png b/src/Icons/flags/as.png new file mode 100755 index 0000000000000000000000000000000000000000..32f30e4ce4eedd22d4f09c4f3a46c52dd064f113 GIT binary patch literal 647 zcmV;20(kw2P);Rmc0RI30 z|Nj5|{Q>>`0R8>{{QLs@`vM01^D6+%Ap+Y10Qw3Sr3ED)s=c}b05Jg0{{#dC0RR60 z)z$y}`~dv>0Q&p?0Q>ne0Khr|#}EMN1`-ttJvaFq6VTDg`OMJS*4F}vg#m0fQ1$QM z42u6QTCg3Kt8+Li1J#Y_zUd>4Lw{URe1tEjLbKmY(S0M7pd(g2qsJ0|z;{R`~d z`n<6E*3bb41p*Zr{{R344LkeqyaMyV01O!W0PZ0+TjlEQ0st`p&i?@b0Q{Gi0m{n% z`T6-B``1JQx+4kM0{rp_FfRy7P6Qq%_1|&<`|JPx`Uew8u)+%h2+ zdiAI7xt}_}e|$CmbI9$2>u h*D)|iF)#oG7yty8`q2#I8zBGy002ovPDHLkV1j5VEF}N{ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/at.png b/src/Icons/flags/at.png new file mode 100755 index 0000000000000000000000000000000000000000..0f15f34f2883c4b4360fc871d7105309f1533282 GIT binary patch literal 403 zcmV;E0c`$>P)@|4`Xj5kLT%`al?B=W5I`&prl$WjwHQRjfmQ&G0jUOA z@&|Dug_Rm`2Y251|$~)1M2@@6mI}!8O6olw6y^Q z5X--d7nzS8`+x5q12kBmVFD!~j6c5_fMKno0(1^Q0I>i=is|LjXX40RRttS6cG0UZ?;7002ovPDHLkV1fxUnjZiF literal 0 HcmV?d00001 diff --git a/src/Icons/flags/au.png b/src/Icons/flags/au.png new file mode 100755 index 0000000000000000000000000000000000000000..a01389a745d51e16b01a9dc0a707572564a17625 GIT binary patch literal 673 zcmV;S0$%-zP)>fJ3En$GhGS>sbE%%m3$AD)q?8M9y>88-}kR7#RKlk!P~Y_PLuF7~U~3`~nC7 zF#yj00ZUDdpLsm{7ajP|&HwoK0Usg|6%f4L_{`Mi{rvv-`ukf=Ed&Gs-sA7L!Q7*a zj{*QO0M7pb%?Sw^g@yy{>ihEY{`vU@3=8@G0rvO$i3mOL`~mv-`W+b$Mmr&io5dg< z5v!7q0*L95jt`TzK8Kd(Utv)OSp_aLv){6ccV+Z`{Q2+asKUU&aO3`Kpz6wW8wp`< z28M3{0mSqnB#A*-c*8%1=RD#sSOwMznKA3=e&iEzwo{cA=PgXK`2OQ}gqId83!|%* zA_Kz@fB*n70M7pdECCwp4H&@R`1|(w-}M5x*74i)0}%fAt;XafA{48))#>Z>?CD#}*e}Ret0tl$#*RMZ7}Jl7Z|M45`5*URzH9L z{rmSnPy;{!u>dsyO%meg+00000NkvXX Hu0mjfN{&}S literal 0 HcmV?d00001 diff --git a/src/Icons/flags/australia.png b/src/Icons/flags/australia.png deleted file mode 100644 index 033dd21bdc961b9c5813ae005b4a38b7b2b29de7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1153 zcmV-{1b+L8P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L004LZ004La>hfy#00007bV*G`2iXe` z6a^*w3hk}{00aR^L_t(I%Z-#>XdG1-hMzMtyOU{V+-#Dr-6p+gveq>Hw+(^PO5Ka9 zZN-9=pn_5gK@dgoB7$HpiWRS_*!lxPsZ>NS1S?3b*4Cd8sbJHzU`^7dn{;cF>^8}6 zva>%k=XkN}CR(Y!aBj|b&iTIg``-76;g@@4(-V*J=I3J^{p2#K6$|izB47d;-1*fLNJh{c8H*VpqTg$OjGjAQgzg#I(iKYpRcb5D>PBUrzrNkfoSt6_YF=un6hOc4fOKezo9i@DxE?#D9 zVv3!G44;OV^2S61y72LpC?`WOJL{52+$NVR0wAS_nC@6DbJ-lXW<5No4#%CQ29H!S zO^t04ZdpNUVwQYS5~{aZ9V+tnR0}U9)?$b}o)U{#2u#zUP$*S*jQ3if#=f_K)|Cxx zsw+^Fy-iw~SVs>N*xZ5Wex6kmql{b_VZgOHr`K|}{{|$INDQC^2!t?D%BN7s0|v{M z)w6HkX0&7DVWuLjbna-!%Vc@?e4Z2OD9e_InRk}bbK0eE>1LWAXrsNQj&Fus&W;oS zg;bKQTib}o*PxUK=m=o}lEy}xc)Sh$aL*ze;oD)DX6A@JvIJTfur> zcz=j5z8u7eMA+2g&^dR7^lX7kw+euuyZb?6u?T0*45DcPl#+nLb$tc~#?klQx25;| zz)fB`d7GcFdw|3W1aRtVIiGd-{>mJM+!W`2%`li!L|dYa-^_4vd>(<$^o+~kV3Ntn zEJ~HN-_+EI=SdQY1j6Q7IY$uCD<;taiD3lrJXtZ12Dm_wKq!oso2O8!NR?v62PRO~ z{$FV9b6kq@~fIul0-TTYY5-E#hG8yvu0zzoj z$ln~fetk3XcpF_^TW}n+lHhJAGZ8{V*MmS1&`^qhCQv{CP18uF<`^AK5eh9~p@nyY zM=Tbhr{@tuA*(WvGUr9m07+lp2>bUR$M+@4is_f07IlN Tn_BlC00000NkvXXu0mjf#VjJ9 diff --git a/src/Icons/flags/austria.png b/src/Icons/flags/austria.png deleted file mode 100644 index 3c5a6eafd67525e807bdcb827a83428485c0f9ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^5g5-u&wghk1ysZbQWTO| zl9S4ykXTw=Qk0o^Dn>B?rroi$BqP6w!8xNSv$!O`AVa~aC>5l*NY?0YHBeEsr;B5V zMep573k4Yzd06!AS?2DV@WsBllHW@3;Dtk+H<-$f&h3d3R$4Hjlc~J#&xgRb{w!VF z*g}_{P-ZfE?qj@|oHzk8b}#XS+6z^HPxZbyCdZ)Rz~*W#xo-F|TctzqzV L^>bP0l+XkKzP(&Z diff --git a/src/Icons/flags/aw.png b/src/Icons/flags/aw.png new file mode 100755 index 0000000000000000000000000000000000000000..a3579c2d621069c8128d7cf16440d5e45a3ab3cd GIT binary patch literal 524 zcmV+n0`vWeP)^}0h@W9fA9JOn#opKkr#VO<{LPm{QLg}EdH3Vb1Zzpp zqiZ+XNBm%5{`ViKi{bCTe}Dh~2a+HyfB%6Q|9}7eKVjxEfB<6Q<6r}-{{7;G=hB{; zLB+p+|Ni^;|DXT={s75;AoBO$f4@PDf8sps4FCQC1Q64wUw^h*hy4HZXO3U)@85qw zD*pci8U|DWQu_BVi2MUWKoOv;00M{w=;|*lY_o%kegGx^{`&*A{SSok_usF-P)oof z|A86+0*K|;FQAM6fB*FtoEI&bZG5mq328#as{}<$F zWDQ{Ffz1MH001phxCBNdC_2H6U$AI~GQbEJqg*Ti0R{kQ(yH?TRrCY^ O0000^@RCwBA zRL|V|7QjV)*ul;Rlceqc6W0{`~_8AeMg& z|LUXE8U8c=`}dziv6P|mEu%JjM}pqh@65md|Ni~w->=_)fBgZXe?Nc!ot?WGAOHX{ z0M7pe`uG9>{{ZXo`u+d?{`u+u=j#9V2j%Sc^797z|N8p+{rLO+`TP9&`u!FW2mk>3 z0#G;xDFDDQ2vg|)-@5Zw?JVTrAxNs~5&|AZ;5uWfQ`vUsMGm`>aGWoI7=P|oW>%~E z|Kk8dq@aG@HzdsB>fj@shYzX-a%=q<(frSYmfLIv5{HbzQ${~M_P_y6C&m>3uU0*DFd0+8#0#Gk)^|NLQBRAyCBeB9H+Wn{=Mr@*PJ_ZKV< zB>w@GFfafF5Ks>TBP0ZV{bBt5_ve*sKkwd`OiO#eX6=u=cfX!E#rX3NBT(umNC7Yu z0Ro8S7X#4ce?Xr63$phg)Bk64X8r&5``_O`AFf^jc>p5y?+^38KVKLa00M}`wU!~x z=I_1Fe}Df4D*yZI@1I|PfBgnRptt`0`2{iqMpRNPo|?TW>MPOFW(r1_!xlT-yep5|G*@e%^SFxf#DC32@n7=0M7pe00011 zNe=7o{FIuhzQ(sjF~t7>`T+s_0sj00{`>*}`~Uy^|Ni?^Z7Tcx|FW0O0tlpm;s5{T z+df{s^E1rDZN;v4VP>0|8GkY`{`&t1s2YfV{r~st=KUYCl59Xr00M{!Xv@F<41fPH zoWA^R$>xvtF5yd$xc~X{7o-}f=ig7DY9RXc``_>1K-c{N2q2&ahQEIq{`~z1RCDs; zw*~7zIJ!sAKj8J}&!7K)enC|K{|nUc|Mwq|27mwp*#K1f8;Jh=2byv8+}GKw-@AGz z%-rMu^XK3HKtBLA{Qvdq*I%FsKn(x^1k&&qY(LP_Uw?q)|3jz0PF?=a(?4bU?qHzN z5I+E=z&88?2q2IKpz*){`~&I%+VJc5-=Dw#?LYB#!lHLRL7BZ8-NZ5x*TXaKmf6TZ20qEQj`^F;~x-W z05U+*fBxNj@_W(7kJ(ujGnWgh$g%(Z2hso#K#U9wI~hQ+`3Dk_7z`j1tL#*2FTcgW f@C+EF009O7>dRn2w6d?H00000NkvXXu0mjfueTzu literal 0 HcmV?d00001 diff --git a/src/Icons/flags/bb.png b/src/Icons/flags/bb.png new file mode 100755 index 0000000000000000000000000000000000000000..0df19c71d20d7fdc06e1cba01028983439b2bdae GIT binary patch literal 585 zcmV-P0=E5$P) zj51&U|NhG$_=oZTA7 z0mJ{l|Ns2{|Nr-Y#^3*c{=WU_!>_-;fvROCxPdkR1P~M0Xa=C_KR`47{sXG+pY!Yf zqu=)*{%)W0>;M0szkdJy_507SKYxDz`3KYh5I`&-cY{^``2$3Z|NsB`^ZWO@y}$qd z{r%_nFQBC$4Is{6hz5WF0@(mI8^j0N`~Tl>LzQ1Ye}a&q>MtPo*RQ`|OMu4x1!@2Y zAfSdne}TsT{`c$8-(P?J0c~)w`~?J`zx?#Dg*yp^z&88=2q2IKpt(TRKniTbum8-y z1bBWi0e#F0wgIH{FVJ|Pxj-8L0tgsNfByUdJMs7b-@h3^8h-!E3i%CU{QCW$1*GB6 ze~`2PfHeF82q2&aU>N+96yg32bmdP5238q{|Gydk0=52OVEN6!@<&OA7Z~7wL16>b z@DCt>7#SFn85mf=5eY;LZ#OUe_l@D-2Zn#Y82<4v{9|E|jkRQ8_`$&N0jL_N03g5s XX0T^_9W~6o00000NkvXXu0mjfXpthO literal 0 HcmV?d00001 diff --git a/src/Icons/flags/bd.png b/src/Icons/flags/bd.png new file mode 100755 index 0000000000000000000000000000000000000000..076a8bf87c0cedcce47099c6b74b59f2c9d1dbce GIT binary patch literal 504 zcmVCcfPV}OzZe+)fYC1)`hmpw%>WR9L@~Dk00x0r!@5ksR;+hV0>ZLfIcBS@orh;x zv}95za5W)x_7^}bV3YqpdH?h;NZnuSC%?V#{+0gl`~RQckJx{&l>NO~;@7XgzkdJz zEh{VwR0LSuiyWGR{aKQ z00-R5+27mwp+3@G@Um)kt zzdstU{yWl9SIB_0ft3II3)BD*KrA2|{``^Tm;4PDy`=a1tTre>fEI#8 u{{2z<2NVVaum*qtVq}m+iAaI~Aiw~?reC_kVQV=60000gsB+3J~Dn`pdxgmx19A{hgns>oXkhsL8>j&wfIu2Rsv+R_ zAB5T1GyoL?1Q1BWpFe+p|Nf1n;TJ-~Kd@?uhChFRHUI<=#0HS!U%!8$YJib28yLY( z0tg_G2B7i3e*FSj@aq@44gY_`jRywQ69xu=0D?FP=vyd&x*M*V6|CV8P{Uu4OBfgc z0tjNmA4y3`us8lPG6H?}8%zRafgb(Cp!5f*6oP{xAq} rF#LPR@IoIX4%E%Yz;K6w0U*EtuUcjA`-_J300000NkvXXu0mjf+>pV; literal 0 HcmV?d00001 diff --git a/src/Icons/flags/belarus.png b/src/Icons/flags/belarus.png deleted file mode 100644 index 6a1e63f7e7311e1b3dacb380675cc6317120a3c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^5}h`61?`IuHjUDO;&^NW_!7C-mB zkNdhYf@RL*pwKnXi+TPk?aMq+z3VQY>;H~RQunvLuu*4ww&kvpQjFPb4JJd^Mx(YR zI*(O;#IC&%=@uPYD0Ihv`JLY5B9l24+a7GwxNz;!EVXl@TT6MP7O&|I4m6T!DsFjf zc<#jY!;CH$D&@|4`Xj5kLT%`al?B=W5I`(ov;U*021-Lr1*!W5(gW7O z@cTDV13&<=05Ky_HBiN$KMcQt819e>gHP`g_|Np;&&;0(C^$RHS>olZ*Q41X9v27}ar6#W9}0h{^{OajIK0?h(y z_zOe~zZd`lhy{p$|NA4!EeST}?;nUxkP49VfMx;1;V%&U|N9rH;SU2q05LM8GXV8K n(H~UyA0);fa6B_H00bBSQ>$p&WfB*UmB!B(-`wPhZ^#?@C^U5EbbPyl_g=3Hc01Sh${{P9=HB%4| z34*<3-m=C?^;L%miR{xQv2*hU;8+Y&0Dxf-W~KjsusWFAC4@j0#9_j;X5z6SjRhH> zd}sd(7FPhVFdSi!*Zj@;_Sc`kfByUdk|3A-`STmZ_yb~qxIp9o{E-p)bLt=iKmf7) z+|Ix(`{&<1pm88mK&}8g1WG~}e||Ik`OB#Cw~m1UAb?na(Zlrn4}+v6P!1@{@CT$5 z&-#|8y{IY2iKmf5omHz(^qAp)ym^JhN+jk7Vet{H$(Z8=>|AV=V zva&!M00M{!p&AHub^kXuF^G#pRQ&(-8^nMkpk@XJfB<6o_wOIv5C1P;X6Wwu|KUB< zc%X*g2-OTg#J~U$KumBafq;(A|A`a+OH08N{X($;=pP0KfB<5Fs|GR7oM!0i{{QYB zSm|$=!=N@Wf}I2qKuka<{f7YtBjf)QCj1u{`~UM7nrdKh0c`*VF+c!8{Q&j%sZ;-Z zd;dRshENS5{{S`og~Sg)05QIL^-54s5b7kL(8GuS8yfz9{>%Ui`+q-vfW*P*^_43C z0mK4S`s2qBh&}(NP5W0_$$%QQ@R)`GfB*vkck5Jby^kNv00000NkvXXu0mjfy0pt~ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/bi.png b/src/Icons/flags/bi.png new file mode 100755 index 0000000000000000000000000000000000000000..5cc2e30cfc47452d5bef949628e955a522d59e50 GIT binary patch literal 675 zcmV;U0$lxxP)$wbBBJ zMTk#;k4<3e#ePFE;{?TciOx=-NpIdg`t|#dcz^$YFqm+of7AU<7UGr+0t^5F#PsJM z(2)${Jd)SmT+KY5@!|h>po)L5-!r~>3uJux|0`&Jz~QGy6a*CiGyVtq1|Wc#zWw|0 z_y6C2|NnAvaR2)A>-NX%|3Ci{R?!hvH~jzU``ypCK7Rkq&&~h)FDNvCApj5nF#yj0 z0_X_*{{Q{_|NQXv@Av-qBMmR$teo!O*6-%u-J+8r3n~2s`s?uP{Qmp>{`~+900M{! zNC9;}eE(3IS9-C{62AZc<>Jx>%af}0@?r&05Jg0 z{{#T;0Os`NWh`ko4>SM%|Kw(60099Kad7|t0qcf^`tR-^sIP`Fhru7lkI#w#>Hq?W zkzqQ+@08y_|9v}t;{CEE%)%nTc=-MC@P)7S@!~g$((Ud|+28Q224FCZIGXF0FQ1zcbfB*dX_lJRr z;s3wCNa|2D02KoSAbE^!0Dxf-mZ69ApkCb5fP^9ydGO$cm6w`kGj(t#`M{tFlLo%j z*4%mm2&CaJSn02SzkrtfWBLcO;r%bLy5Gnoqrh)qC;VKmZT`F#yj00W%wG zw4zx17##T6*Z=hN0Tvey7!|wG?K;V)0{r{_`}_X<{Qmp<|NQ*_`}@YSvI2-@&cAgG z*R?p0?_>V(@&EVlEP?{x|1esA`||VNU68t8zyJRJ_3zg&hTp&0WMzR?0R#}s1|E|% zRV}tRkH6o2#3;(nsVMXI-pgBmh17ms`TzTu!pfBl%*_9R;OEbWDJei#0R#}sGpDd$ z96Spi@~bn7G5z{~^_!ZLy2#s;5B~o8&G`G*|6f0Ap0WS=_rFd2C(ubi4FCZEF#yj0 z1a!1=2e0}MwgDi3SU@2S4mePl{012eQ4J-3 z|Mm`933BS6zyJRJ1;ztF0D(08|NVzmQWB*4&)@%$um=Y`lmy1W-@hDx{{qQh3=9AP x#JH7#;TJ3-|G=X54_FW_j)5c_0|P*S0RT0dOSD~(4;cUe002ovPDHLkV1hfJDkcB` literal 0 HcmV?d00001 diff --git a/src/Icons/flags/bn.png b/src/Icons/flags/bn.png new file mode 100755 index 0000000000000000000000000000000000000000..8fb09849e9b5712e9cdd8a2c25035da201535cf5 GIT binary patch literal 639 zcmV-_0)YLAP)8n_8%|dG+hlCr-g% z|9<~wU<9iE{r}%DMphZ1Jpcj3%*DZBWo-@72DFWlk(-gj@!ngb-$#D&C_i9e{QvLY zw|{?r|NHlgiHY~?^IHG`05Jg0{{(k=dF}7->+9=cXlNG}79t%T{rC3_t(pA#`tSX# z4jKOh|NsB|;rr`({{a5__y7Wk5omBxQSrlv5B>nb??0VZ8qCZrpS+?}gatn>o%-+B zPl=+||6st##PspQ2Y>)#{Cu5(QJ~_^?faD-pMV;E|7MwLubjQ@B-gLso$mVYgECpU zxpfp2fEt*XnBKpC4-fz`0M7pb@zVeZ8g>5r-~k2r`Sbhd;{WmN02I(80QmHEv)Ik{ z>H7Nm`}_MdF)?FhWi>T50*LYBMFw`s0-y$le?J(QfB$Fr_2c8e-`_!j`0PG|ckZ*_ zzkY$-`sc5Tips@{7Xbo@1sGC5IYwrQfB%2{|MTZR!ygX*-%McG4cZmTY ZzyK0(F$K@T-Dv;-002ovPDHLkV1la=J3;^e literal 0 HcmV?d00001 diff --git a/src/Icons/flags/bo.png b/src/Icons/flags/bo.png new file mode 100755 index 0000000000000000000000000000000000000000..ce7ba522aa7e948d581478432643c230eed1a658 GIT binary patch literal 500 zcmV^3LvnC{|x`%yaFl$ss8ha0V@6XKS=c-5cwO(_{}IL0ki=i zfLOjo{AE-9^-mn=h(G`Tfz|!{{r?|W+uz?{^yeR#!Nm9NlRN`J0I_^YV&Ikj@%Q)F z|Ns9m{0FN3^Z!3k!*8HnFvf4N5xas50L!z?-wXsAPk7$ ze<1l+iQ((fPYeJ7#KQ200VpKFA^{3Nph^G!{9^b86oDW}(Ek1R7ZiL9e}Ret0*H}e qBRB&8AR!3%7c6cef(%d+Aiw~vBYd|xMihYn0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iXe~ z6CfwzccRAt00GBIL_t(I%dOQY!U4JcQs7f?**+3>MKr2n892$flKcu-Gk%ATtj#ZOiyA@I^Y@A2#0mb!oAX!sz$C z{r>UcJ^1m{;F08KEiE2uYIYKfrP1B5c^ZzOX}^~LT6-|S=ycttc}MkNVj{)lWSXHN zKW6z151yRnfBOxvZOO_?4$HC;BF~+Xb{3Xh>Hq+TL&Gp;Xl_18U$BAB+t(?Tx2Xec zTVh#~LcwBvy~M{)2M9iFQU_FuMwb{KUSwdPju-D+dHMFRT3}5$)_3q~Ur3P-?yQUVfEQt_#blr*H?_%_MEhEqB)d7{p$Cn9(-qF@} zh+B~kQo^YgNG7wGW|2tb6mE};tNq-oa$nj-HAXl7XJGjM{~r+i{r~sxzrQwG-&h#_Y&p;L z=ieV7_s^f-zyJOD{rC5(+EoAn1k&)I;s3Kw&;LT?{{2}P{Pq8T&j0^^J4?LvUd;UK z&+k8ffB*XXONL(tXahh1fi?X94^$0Q>Z$uRRO)Y4)uapmB!2(-ul(c1=C+V!kAF`) z$PCo;`_FHns{jIs3Fu;wy-Z(c2YwAz{&V4aXk?bejFO*Op&u`@i~PecqBpL@DIoojb8mb+WHGK%fG2>)a3=iVf_~v+`s?*1;!`?Kmai^I3i*ZIYtpN f{g(k500bBS@?X&9$f$c0<1|y zK~y-)wUk*%RB;%^fA`LvQ75l9;!^IrqGpLnRq%n&S z{TbE^D#C0LWQ91mwXB8ef;JM2!!st3{x)C`Rd%QJvLmq%oj9sy?ebc1 z|4y(lbco|Qox~UvZai4Wlhy@z6p8F4Guw*pvwq%JjFSS}G81BSaen_fG7>FRcE?iH6NfU*H9FJAlw*@07Khoml>eGl5mp2N zYF?c{G$oS|AB5&LFlh4t;P&cidYeh{nmP)@2U!zorOhTY;5JMzkx}w-Ak9p1+-F2# z^eB%a@v=FQ?=CO0NoB+OC_?9l@xkom&TT7w0}-@zrIMfVj!fCf%_Xf|HpgKm=2k_78{THgi0ilt%fDVxW=yEeX9O%rm68oQEvNeyb-K%%+MaQ2HX9+Wsgee@Iw}ok)|2Ne;m7@DgAUiH-{7af6jJr$13pD3csNLEzH_ zu3BO^)S5ZIXFLaXMMrsi8YNBH^tl2@&(rx>ncIk4Q3#dwxIHRPr-~$r81y=t>Uv0z zz6(IN!^pPhxtw~N#E2^XK4{Ornb`C!k89>=R8634%XMPIEetsn035?!WTS*B#Kpm_ zXVEmM?1^J@!y;O3^2}^HIR_Ovox~axY96hop(C3SkDlC=9*WmKWKi#>ygi*a_BsCL z;Me{sP3>c6QZLd^cX>7OkKXr-UNs{bTs^2gCr95H^s6Fo1}O2_S$Nfl}4;<}o-r{^R8Q_xtzX z|Nnu?|Ni^;2gm@D3=F@4EC#P1& zzuV{ie)#0qf2Lnh)j(~3VeG$ufPMl9Aczeh3x56n#l!R`HRQLfpFjVwfkN;%I39k( zVgne^e?jDThF>oL0*Hk{T6(^^8pGqq44*zhqZ1OZzkZ>_F(mFeH~<0+0A4S6=>Lb* QN&o-=07*qoM6N<$f&=*Yr2qf` literal 0 HcmV?d00001 diff --git a/src/Icons/flags/bt.png b/src/Icons/flags/bt.png new file mode 100755 index 0000000000000000000000000000000000000000..1d512dfff42db1ea3e7c59fa7dd69319e789ee12 GIT binary patch literal 631 zcmV--0*L*IP)?&DC3JV7l?ccjcgB=Qq4l4w|Q;eOZ4z|IjsEI`#PYSloM|AFHF zfy)2>XZQ=$@t;lU|F1tRzpnmg{PUOLH{-8A|F{4CvUU?d0I>k|0TuuM^_1cNUy$nm zzZn?*{^!*ACzSEy$NyhHzB0Wn`TXRU=!%=n%Ci4h82|!^32gR%glZtk^6USnb00o@ z{`LDW>%U)&BK_|-y-75RkKVi&O=|xC<=6keK+72b0*D2q;Xlai|Ns9mF#h@fM(h;aV>^!x1-zNu02XV-n@ zm3imZ@&EI0hChG)|NZlafdL?Zn1I0yH26P<=DUx29QQsc%}izF;QV-S-hYOl|1V4z zX|a-<=Kf#g*Z)7i{{y|szyJ_HEKEEM|C#>$KmJzoZa)M2-~Wm-e7Cl+vi)L|kY`}} z&A$F20RV*|BkB*O Rz6SsR002ovPDHLkV1m;fPLlut literal 0 HcmV?d00001 diff --git a/src/Icons/flags/bulgaria.png b/src/Icons/flags/bulgaria.png deleted file mode 100644 index f0097b058238d34aa4de5766b4814e1335a49ca8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^5gFeGf*hh)5S5w;&k$#|NsBjvq>?ju}L)t za&s_EyBmdKI;Vst0C-b9@Bjb+ diff --git a/src/Icons/flags/bv.png b/src/Icons/flags/bv.png new file mode 100755 index 0000000000000000000000000000000000000000..160b6b5b79db15e623fa55e5774e5d160b933180 GIT binary patch literal 512 zcmV+b0{{JqP)O=a{vExMP2%`MCSoB^FIcLe_%lf;|~%E5I`(IQNh}3Ao>6Q|DFUXMn*>AqQd`w z|1kXd^B;tM|Njjl{{hM0zwd6?1Q0+hV1xeud-4=Wy?p-%sO`^#2S61Jzk!N?s)6X& zzhA%p|N6}=D+{y%Ab`Lc{sL9~1=0UN4*CD*7s%9KAf+JHKs~=eB-8KTKvw|-5R1&; zzd&a|ob(5%^Z$Q=wHy9p13+aOpFRNu5F>N&`Tk_-7w>=n{RejQzkfh&Kn{rf10?_b z{tFTZibx5v&dxav5I~H7|Ney-|DWN1$%1FyagzUW0464;_wU~W1Q5$TW@eGxtUvee z3vAf*8|igK9~@*rr66bh|NrkNM8z+V zAV?>O@ek;bKfu6d00k6 zPW&$KB`I@TtA?2x@Q~7pdcWi#1>DDZ2>MuG0I@IumHuaV^&7|soAMvT0IK){RtF@1 zgH;3B;_Qq-34j1%{P^)BFE1~|NkA(gBv!!4$aw$$eSiRB1ga=2D|__l(H|iA4T2Ex z>lc`SQ9x2&UjE?0g8%`<0`lvhzd$}*14J4{IhY2@0~G@V5J82%q9;EBlXu0U&@_82I`BfBC|Yn~P8llm?myQ3_K18=`^X_ivyEfB<6p_xd%%#*GZ! z-C&_V5IGPDK|g;X*gypg3;+Sd!XPTj0Q7fK5>&$Y{sHB| zjK9DB00sa3QR4q|tc?L6fSCSm+3>HW`NxbYpP7GsX8sK%KS9yYPfWi)GJ)AFzdp14 z{>t>1fsFwmfLQ*Ci!yxq#8guv=_mQ;-(Rp{AoSPbXFRCwBA z{KboB21 z`ppP*BG3|`!vO*asNvt=e_;3gWsp&PA@E<2jYs6ilRy6-zmSku5?~OOP=5aV@4sI_ zSN#QP00zQ!JD>SpAKYgR_QStF|9~F;2M|Ck zz%U1e+FyoWe;B_0VVclq;}vp_kNy3hKMWrj7*{kqJbMcaQ;_Pve;I)x1Q0+h46j}> zeiN4E1lkA+>|e|*mzJsW^M3)l^W_^hf&c&c`Mv->`48yHFF-%s0|+3-*GLfwiRNz% m3}3(u4lrUsie?}H2rvLBbQv(L;??y40000e`b1WGV} ze#gbd^&bp=ef-GykAYc$@BhDltSqdeSy?RXJpcawy+5fJAb?mHcsPJ&{d@EF@4HtJ z)qno||1xd*zaM|Ot4f#|8A1AQ-~Pubz$7IBv;-i4SQvovfB*ge{fFVtAE4aNE7yPi z`^Eg=5yP(^Ur(Q5`TLjM%#`8#_rHuB|9}1hItd_vSpNO`#qjs<|KGp=|NIHm@MXqK z79K7}ZvOwQ9Df%s{`~lX*xI%KzW-!k{Lc96Cr|@G0I@Lq`0?-epMSr9|NHeD?&umBG}6iH(DSogJte zDERNk_kV0Zng09%Itd_vSb&=T{rt@+B*66dJ0my{fpNkvBm!jpV_;xnVgd@XDk?Dx zh=IJyzyJ_HjJJUrz)|>#fr0nRl^;KTz#|yK`2G9$BS%LzureS32rvK^u`=B;c)+&+ O0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L004Oa004ObIJJlp00007bV*G`2iXe` z3nm+rxML{*00J&aL_t(I%bk?XYg0iK#eetBB(KSPZLn%TOf8yXYr$w;XemN>LR|>1 z#Fab!7hDPM-4?`MHzKYq6qo8ss0gAIl!CQdTB~52XqwOW-i(Vhnu4@R&T5!@=N`_? zoFgxj69xclv543pz;Wa2lS>OEPNs+IC2NTcqE)>$j6gYvhyavVH`ZTguVSjTA&JEh ztOc+lXbyn277+ohC@!xej*vWcVsC99IJ5v0h5&5NJ!Nxl{_oyF!-0JiNb^$Ic=&`L zkDq}BH{D12_I0c=h~w<(ZC!z}_2D9jR^(nRQu_Lt;@S$oUcE)Mt`BeOZA*b@hp%%=h0Lp2fKzT_@A6IxcbBnIb5IvLUaEK!~1Y3Dl z?%b!cwn=t=7H=%mi2{WQLJGMLgzt+~zI;P>bp!DI(E?$GQixInKerLBh;tNc3^t0|Cot6-Jr~b%czPOBE~C0Va0DDd`97vnrGI9I z)YN%QwbmJdPIWUjdzZw>FhL;=ik)Njxu=j8rt=6 z2m5f-1L(L<|BWjoPNW+b+KJKrxu^H?C3J5JB7>9c!d7ee6XXAPWy=Ij=(&(3H8sKS zH%lnr!yC_FcjKe;sAvwm-4uVbu`-)NXk-Y`p?2$B#e1 z{(buQ`}e;;zyJNd_UF(2w_nb@VUiUP2igD-Kuin_BL6vl`zgIQV*mR8|8G|2U!T7I zn`-)Ow$bxne}9LGfB5z5*XcJ*K(;aeSD>o^0st`p&i@1e@&c~g4N@7~{}B9V!5sbp z`j|K8<@Nq-&kt=P>@pAZ`T7Q#;RiPl^j;kSgdzX}05Jg0{{#R8=f>y-z~LG0`u_d< z{QLg=2?6_k)DH^)`=sFo8YTUi-v;{r`o8J{6Wj>^)c^vB2^cJY|Nnmc_5b@He}DY@ z_51JdufKoSslWR1>-W9)3`r;XfsXn0`_Fc($H!lT!V@5Xn1Igu{qOIuf50&L{qg7D z?|*(LofMGa_%_k-*{}b_0g?9mMSwvE)Bq4bEIr*1})*zF_+U)&LMdEMOb{Nb-vOh6FrNC(tkd{&4;N%g_D$&)>g> z0^hO}m?z%iIsOJ1mka;_#K>R{i_RZNQ42x8VJSe8f#Ern2@qfa%&RHCyvg>Q00000 LNkvXXu0mjf=TkSf literal 0 HcmV?d00001 diff --git a/src/Icons/flags/cd.png b/src/Icons/flags/cd.png new file mode 100644 index 0000000000000000000000000000000000000000..5e489424884d2ec9e429f70d69af00edf242a077 GIT binary patch literal 528 zcmV+r0`L8aP)JkPqeYl28iLgD=0{><0$P44T5yOrT$dE?(KkwMFdoG^-J zGv9P)Kk|i5`lcNgUUAbboca5{hI)v&h!9!~`Yg)Ld}$VwYqqXn@gVLi>3LSVGm1W? z3qnDJAk6chH(u7f~FohUBCxfQDx8?5BQsCcprAnfVhO SHC~zk0000@|NZ~|iEi8i zh~?j3h8^dV0y&$fY|i?}`2XK;hJSzm|G$6#|L@;V)&KqZ3sU;$?>`_ZF38C6g#jRd z7@s_ODJ3Nev=9gw8UKSQhX4P)z5oCE{eQ>y|1j|H-+x9%#`EXT0R#{W1H*5i5@u$g zs{agN2m-%;fixfipeaCQpFe*F2q2cU!)f`}`5%6M06O*WzrTN({{8*;CkCkD_wPBk z=llWket~@P=ieVecEOTuB>(}$vTge|RYlbYUmpDW_v_E!KfnL|{{8n?G|>28zowm@ z_UrGj-+zAtrGTUoztWctUjPD#h2amw@BhDn5OHz(52cFPg zot=T34qlT?57Mzkg5?0ssOG0Ftp>paW8OyZ`_I07*qoM6N<$f+2k} AjsO4v literal 0 HcmV?d00001 diff --git a/src/Icons/flags/cg.png b/src/Icons/flags/cg.png new file mode 100755 index 0000000000000000000000000000000000000000..a859792ef32a02b41503b5ab5f216191af397e02 GIT binary patch literal 521 zcmV+k0`~ohP)i@P`2b{=v9^Ktp0uZ001fLMSM)r!?%mH+B91 z=ii?+(ckX8zrd=&8g~5t-|*}I50LQ;KzRlRfB=Hn08;wv->)Q*Kc0LLgTdsU-~VfV z{r~#=|1XdRMzE6r0tlo5X#B6gzhXrG`18Y*0!g6iieLY~Kvgqz}`W zLWO>Z3Lv@r7+CdZpiy8Ae}EeP0z(_<2Y>)#Vfe-1#`njMUlORAfdMG=o8iiD#%aG9 z#Q!h|feZ$rzkeYJ=p=vuV)VVru?7U|?FE@Zm|i>fBlzF zc~M_qKf%h=bAcoS;}NE7f8|yFe%B9?;;8%o@BeG_!|(4qhyo=(h-XBmKHXpc{~y!A z`THH3fsDVeudko)ARzm9UL&JI!+~uEM*rBES1=kd6zV%LH0J*N$gIQAc0y}k9qTFv z4h1oVG?rB#zNY^8{QUp5wE>>R#S4NZQd1i@F)*?OF@6y}@zmk^!Gr7L9asuAf!ae1 z{{CbBBH^Az=(+fAb?mHzA!MjRs*H~|NF=I z{~td;@BjZG-hUVsqZ#w(|L@=b|NQ>{d(*K^00G3pzycQk`jp|{UxvSb;p*Vv_V?Sr z{{Q;@@3$6WKrBG#F*5vR z`2XiW&+Xo6{KsbP_-SF+DJF`pL$*;0gaz z7NKVhyo`U;4*0+SK#>rfFFfafF5DUYXKh;r+@n*scPQUy6`!63S zGXn!71H*qtMn-04W+o=4|487=moEST#KiEAA;m(3;Xgy1iO{3BKc9a12~-UM7^Z`) z1qdLZI~bN-c=z}J|D88K{QmR*&tHcBxB*ZDKmf5Ya0q<-!`is-{h$8~f7m(x{QZSX zH3Jv`1P}|uy*o^wIGI2G`1kie)4zYe_&EQ6|NftW0ohon1}3I|Z{7d|5aVBMp0ssVo0Ek~;W>Z#0SJsA+2j`G% zv|UVeYYs-#Sn6_J90h1VosR?LBU7{U1rQ6+R0f9sPrg3=`~UA>#=n0a|7Q67_y6zT zP{j57|G!`V{{zu)Mn+knB>(|98e;E17s>tTLaMG-~Y>h{r`!g0jL-tfS4HmF#P%V_xIo5zyJLP zk|2W%e*G8w^1X|KC618W{eAoCFX+EI literal 0 HcmV?d00001 diff --git a/src/Icons/flags/cn.png b/src/Icons/flags/cn.png new file mode 100755 index 0000000000000000000000000000000000000000..89144146219e6fbec7eaa89e1bf4b073d299569e GIT binary patch literal 472 zcmV;}0Vn>6P)$bmtfBa_T{rmsVufH!rO2O)W0!b+P{TrwO zAb?mv&i(NBbu;G`sX*)cv$d*%>MiL-(QdhpkjakVmyu%k;sfcNRj;yhJaxT5MTg0u5&QfH8#Bf O0000XbC_7v4G9~kE;3? z$h?1GrT>4y7{3|*{r>Zd0U&@_82$jY{AFPH^Plk#hy=QU5o|Ds0oDLyFn~2M0QE2c z1P~*G;PKK9g@-SH{rUU<_aC4k|G@~v`1Kn|{`&=C|M{yZ!G37cNq_)iVfexD=MNA8 zh5p0Hf4_c1v;p<}|Ak}_F!%rh2&CcXZ-(!`82uZ|6kw1e(|`ZafY;uxuir}nLuxpgT&@8$XA^gF6?xq}zd#y5N`WeVBbyB+frxZH0- literal 0 HcmV?d00001 diff --git a/src/Icons/flags/croatia.png b/src/Icons/flags/croatia.png deleted file mode 100644 index 2d37756958e25460a628a788daf9c995f6223a3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmV<50U-W~P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iXe{ z4=4%o@zDAJ00Cb~L_t(I%jJ~2N&`_4hW~Rot1%Z*lMvVCpp>Yi@aEY7~!ZvtRQMjLA0+bb+C%^FOu$d%_2gAp;i zvtStC)Byxq_Yv?2iQIf0eg#@Ck11 V7h0I40;T`}002ovPDHLkV1g&u#FGF3 diff --git a/src/Icons/flags/cs.png b/src/Icons/flags/cs.png new file mode 100755 index 0000000000000000000000000000000000000000..8254790ca72f98d9e79d94bdfcb8839b1fd434ad GIT binary patch literal 439 zcmV;o0Z9IdP)|s3jQ%L{DG0k=ogG+0SLgMnA-pV!aytqt1(q3VU5g2cTadE%W~lnu`}m; z-504zOD10s2K8+~RqF^K7O;8$o;>*sR0>r0`!|sM`x~eNg#P~i_4n8BzrTI~MgGdl z@-i@d0|+1%Q&SyHO(9WHu7Cgk{{@--A8b6x2B1zb1BygNIks=N00WJ{7y^0)%zz1kWJN^&bany+5X-;o*O`wU`+x5q12BMq=+`e0f-vAB ze||Ik`OBc90(3J#0I>iAmFf2%21!Yv97q%>_xm>^i2a8FLV}HlAfRG^0AlbRVNjfdgKH->)<41fMG{Q1Z53yA)}NHF>VM86o=*Z=~EMTLRklg;&|8vY-+ zh5rBh|L@=bKM?ZoKOp1JpMQV<{rmmr|L=eQfFkpA_5cJB<7Wm2?&_*f&z|!oCH%Iq zVPN&@1^xa7gnxhi`TP6#zh6KNfByZH;9_972M|CY z4S#m*VEXjw_teQhfB)LctFzlGTKpda#8eRa1F`|=V+j!s1_l{`0AhU0z`&K2_5c3; z?|=UACdB;@3Hy%?Ffai9!1(6P8-M@;JL%7#4}bn}Wu*W1^8Nqk|9@zxfJk8Yg2Rge z5=!5G`~e6c79IwMkAMHSMfCl8%kXF6O^EHl82Alg`~}6s-@pI={`>#;Kf}J}IRF8~ zc$$I1RCFdZQi0L={}0epF!T#d{sWT?V3G+SzyRi{Q|!NXWpDrh002ovPDHLkV1m+z B7Bv6> literal 0 HcmV?d00001 diff --git a/src/Icons/flags/cv.png b/src/Icons/flags/cv.png new file mode 100755 index 0000000000000000000000000000000000000000..a63f7eaf63c028615b2ded5878b5e14a7dbe962f GIT binary patch literal 529 zcmV+s0`C2ZP)*82p^=00=`tlmIeOf&y&dk@6oT z&CV8YCOfMzZ7b-;WHc4ffO0*K`UGc#9pHKW{n=1`s=Y4`sB0UGuD|F2(+4xFrs{6A+r|Fh*S$P>SRGs(%l z+O-QHfEa)O{tdAK=ovi517(5A-n@AO5I`)f0sl(Vm><0RZzq2;(QtLuuFT6X6;y@p zb-8u)9gSFj-3}5^z@SqUX4qfA01!aT3<}j|#!Osn3@^V(zxysO&hx#~ZN`f)vS*$d zpLlA?$HBnM&cM&k$j1o^^oKjY0t65vgZ)>ehy*ei5K#*ZyWju7F%Ll?01#jRixNU5 T4U6zw00000NkvXXu0mjf>cZT~ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/cx.png b/src/Icons/flags/cx.png new file mode 100755 index 0000000000000000000000000000000000000000..48e31adbf4cc0074f40e95f87c1f103b91fe270e GIT binary patch literal 608 zcmV-m0-ybfP)Uz~~Q*L}q{yKmai^Fs!d`Rbj9@@=xl~KZbvQ|NZ^*|L@=bfBpc` zKOp-38^rz{DEepVv)`L`Yyt=%76t}3hHqR?<~aN{I`!9n&u`}MKs~?z|Ni|Cihlk3 z1w?Q7fI4M?HUI<=3&<7!82Y{{Q;@?^mDN?|=V) z{r~^ll=rtu5CcE}F#**BRkyY(adR>Mc_H{~T5^XRV~oVFSgBv#s=t2z{grn0SJIVV z|Ni~D^5u8)5(a<(0%_pmV<{@S{pr)+Nt0E6|KyV7{&xHKulY}Z0S*2Ic2cIyuhSoY z&3*a@=p=vu0%~ALNs$10lZEA9e*W!WzkWV{%9A7hYlh}ewm<)V{rd@2{rBIm&Idr} z{RV0P2mmnv&i?}d08{q%2kh+oUtbt0DGA2L@2{yn^Xv%Q%_4hjZ2Q{KfBuh*0fWjOcoPYi>{Qk`ejtlm`TPy!Q@c0|K1n4Ay00P>u ul!4(JQe+}W>@P40kp+Sq42=5$0t^6?P(4CrvcmZQ0000s1`2Y9I{~ve$KWO@Yukru?KTxgz{s9CK3*7Y} zZC_6Qf4TJkuQ&gHzW)Di+kXz$|9k=eg(Cm|XMz~|=g%L20Ahjo4`KiVr|y5|U;qEV z`p@?NKb!P_9;^R?@o<+hfSm*oKp+h;f&YIQ*bg)L>I;A4WVP82*P-nR{;Wu@%{Vvyu7@~4txIf`R>OD+-01E zIfRil07L2S-Mat*#Q65@TRuKMWMi;}EJy%|ff@h;2;_%%@7_UT@edf{0+7H22rvMY Ws9gjvbyTka0000? z0048MLcfb{@Lpld*gfdL?Z zSQvhRtN^J#x6%GQNHxSfxHgc;AD{-1tAIKH0tl!9q}uD*5!1Kl8Kk6va!f$;fJ%WL z`2Cv^NdEc54D$xi27mx!VfgXqT8ME7!~2)OPy-`SXu#NiAkhzFFflLy1Q-A_8F>@M S6G{sJ0000B*k-vwZ+N$P0~qFJSED*!;`pvy+KNx&DjrWzvEv;DSY}Z z?fiAIGtaa6^CpP0SLkl|{bRzyM;8;>8tv^*^rfs3EBN>O@Pz+QSeozOmKJ%=%)@Q6 ze{WhwML~n(x99GwQcQNR`uzWId}QCQ6BGXYkzqdlzdl4;D?$PYRO)IIS5#Lt9DHz^ ud)4%1I(hHk8%?pXJ9XgmcX4K228L%$rxvS-?+yWmGJ~h9pUXO@geCwT>BCR} diff --git a/src/Icons/flags/de.png b/src/Icons/flags/de.png new file mode 100755 index 0000000000000000000000000000000000000000..ac4a977362738ca7daa20784717f10f9617136b4 GIT binary patch literal 545 zcmV++0^a?JP)h<6BFn%a z@b8~2SoNP@zd$;E{sbbRuHQd?{QCI=sNwhbA3*&Qe}GP900=;09NYi^fU@pUdVa9*13;+Sd!tjgXKhXQEMobL97(p6<{RLvMGBN!7 j!N9=G@a-1^K!5=NcXWu!7_DDe00000NkvXXu0mjfeQx^H literal 0 HcmV?d00001 diff --git a/src/Icons/flags/denmark.png b/src/Icons/flags/denmark.png deleted file mode 100644 index 3e055375a99293477473bc8b90ffa0a99da7031b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^51 z85ghSW}dvs=%kpzzyJUL+xs@ZxPM8sqV~Xxcc%^j!H54pJlp<%e>XYtV9UuJx)&}c zCbUIvsOCSs|LpA(9Z#O?7o7I;Qo12;XY?S{de%j^b*v1pd{qua9FZ{vI+MZE)z4*} HQ$iB}tx{)2 diff --git a/src/Icons/flags/dj.png b/src/Icons/flags/dj.png new file mode 100755 index 0000000000000000000000000000000000000000..582af364f8a9cb680628beae33cc9a2dbe0559f4 GIT binary patch literal 572 zcmV-C0>k}@P);we;9uK`S<6~zaM{qBL9B<0yBR7V`E_e2q4D) z|Nnpa!Ep64!{fLA8NdLj;oraifB*mg`;Xx-kn#6Fhzn-q&in!pKrBENJRA&WD*ySo z7*5@0`26EP69WTC_22)0z>5C-g{l_hVFa245I`UeKudt6h7^Mc@BgDW81BCO4-x~L z`sXhc{R3+I%fRsKA3y*x{R6rHsA1>M|6jifb2E4w{z{xB{`~z5CPC;Y7bk|9<`c2PXgjR$^CT@Hzz$KrBEfF#?VC z^aSdB^z+g5SJMxCJOGqNsQwQkfr0#&=?~CJ009Kjz|71H^!MIRd#Ajb^76;aUyQ$y z%m(TN#spBq-#`C>zGeUjAdrR+|30kwu=eoBL!3-pGMq9%bs!`E|ACMovw

4;Zk2 z8GbPU1Q5%#7t@Nb6*GKbU;u{yA29j{CVzn$|6qa)V3LCYAiw~8(_SNKujRx50000< KMNUMnLSTY(1rd4x literal 0 HcmV?d00001 diff --git a/src/Icons/flags/dk.png b/src/Icons/flags/dk.png new file mode 100755 index 0000000000000000000000000000000000000000..e2993d3c59ae78855f777c158a6aae6c1fb5c843 GIT binary patch literal 495 zcmVh!ZNvLM`<}kPiIA3?K?Zl!VJuS0ABN12uI2v;s z000mK68GQM4oDR3?|C6;zBc4LR82Q1eETXSa+3nD0Ad8%4|Ml`Fn}2U{~ypshW{9V zk%{T!hYtV&#KHiVV*o?2zW>+&Bgm+K00G4EikX==E9>w5`yf~S`o*<00G4K6dZ++hy)_Bw{QPEdi2K7 l5H1Kw2asrHVqgFWFaQRwS@oh;XP^K8002ovPDHLkV1foV*8Tth literal 0 HcmV?d00001 diff --git a/src/Icons/flags/dm.png b/src/Icons/flags/dm.png new file mode 100755 index 0000000000000000000000000000000000000000..5fbffcba3cb0f20016c9717614127b89db4c9664 GIT binary patch literal 620 zcmV-y0+aoTP)yt}{r~U(pZ|aU z{rk@#!dhJXj+vP`D&$&!2yPR?Jud5I`&tqo00z_V3?cpb$_)%#~li z5Bw?p&G@T5&5h~tB<;UIJ-`3_mgbQL+5iwhOdtm^{QZlh+Tg>NcGo{qR#UR9ewx4g zlzHy^uRp(j{rmOj?;oHBfB*n70M7pb{ow!s5r+W$=Kufw0RQ~_o$a1N^GPoTT-yiw z&XGVBSbe$r0&xrf|M~#~9P-zx0st`p&i?@b004Y@cH`sX`~3X;`}>j`1PlZ1WGkKd zF1~FN+w&9T}cJeJULy4V8r?0tNHM6WN&<2126ppbC05A-~q$vMCOd&N)3^rn&3WaiZo>@dB zxpL5=L>h@#UjVT%{Q39iA58Ths0J3s|NohoLF&Lt!8(8c18V>XAjZFc|1vT%{s#lF z^Kb%2CZ>-cJ^%y|<6Q;@;r#qR4;}z*|Nr|B$h_ab1b6QI%fu2>dIV_O?>~RRu82tM4=f|&Ke}8;oX5+eBw}y?G6)5=s|Nnnr@aNATAPEpaEN{Mj=m^OD z&%p5S|G&Tg{{H#<7bL;LEGj9<&cFmz{_j5mJbLs9Ab?m{m{|TZ{D1lB9Z2clKfnI{ z`ThHs^2c9)q;CF`l>Eoa3N#g>nv07INCE^93jWH3lKe}28-VENu!{qxMpm&svFOiawo%#4hT5U&FS z5Yzu(KY%Xz`RDh~-yl6N|NT~b@qz9A2lm1$Hf43G`D-AmnZXVNY5)izCWas1fbRMA z8?52ykLBVV-&q+tkKFpbbOC=r`2SzOfQo=l0_p*hfB*gk2q2IKpzD7Eo%H+Hk6%A8 za57|Q3rv;f;d1r)FDv_xg9F*eKs^8f#KQ37)2~0jMR){${rwHH2k3S7pO3`Z{#jf7 z{|`16Y&=9YkOT-IMh0&|hF9+yelRe6V}O#tcxPkSx96}BCoe=1&?OKCkOT-Y05IoG U$(*n^qyPW_07*qoM6N<$f?|9Y@c;k- literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ec.png b/src/Icons/flags/ec.png new file mode 100755 index 0000000000000000000000000000000000000000..0caa0b1e785295d003869330fc4e073dce07e7f6 GIT binary patch literal 500 zcmV1sCzZm}g`N!}J$oTi?|G$4gL7*^D3`7C}Kmf5Y{CmeN)&f@km*M|^ zrvE_l-~a!AA&BAspa1{=fXIJ9!9O2vbOQts3j+fX{b%^|8m0my0Yd-4N`WN9@BjaR z=no^SIM8~400P%s(0a|A0FHhM?*o#se9Q zEZ;b|7ytr@MWm#zEz$bb`!9d~{{Q>$@1MW_!07MqKOpw+zkh)g(B$8L|49h*Ov!x= z5I`*NZ%IAX?Fbu$UUAQCA3`wxix_2=I& zAouq_SzðCcuS!~%52Kai0?gF&VORsRAR2~rJG2PFT1^!)w@)C_d-AAkU2Vc75Z z*R<@y`9z1vevIh)-p7{p`5C+7f|6l;f1_&?! X)GmJPc-xs)00000NkvXXu0mjfGFPrC literal 0 HcmV?d00001 diff --git a/src/Icons/flags/eg.png b/src/Icons/flags/eg.png new file mode 100755 index 0000000000000000000000000000000000000000..8a3f7a10b5757b006948ea4436fb242d02dc9a4e GIT binary patch literal 465 zcmV;?0WSWDP)LAHVtk{r`=k{y)(2e*gi*sIRYISXlV_^=qKp{(!;n-+xj9 zUjemETFMXP0$m6sfwJP_;%#kh009JYeOg-Dy?gh5gTXH_fG|KLm<2Qhs6|CZ<>JMQ z009IFR-loRl9E6vpeV=!FaTTi8)D~Q7yv2;2q2OXK!5=N{?|@pNV(X=00000NkvXX Hu0mjfG@sA` literal 0 HcmV?d00001 diff --git a/src/Icons/flags/egypt.png b/src/Icons/flags/egypt.png deleted file mode 100644 index e863d40be40751f4ce2aeda1d96a73317bcff2bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^5qX z7;+tQ5ODqPXS9p0Wra$s0*iG11TWi3%Ri|ly=2YN$rTA)%rg1zM~=P;CXZIz|B<|B z;KtzCEfDoA{=-Cp%6%8xRzJ--a{I5OU%j}SOGxHKu79OX<}A-x43^w+F#h?u;dUXf zuuH){hR+NiQ?AZoelK58%Ec?9|-V1FIeYrV|G*Sx7HL^+1ZXZ2ZMN& z+Iq#SPG-(}XL7Ki!DM61w5|JNvX|=}_%Hsq=Ad-NI*Wx1D)eUoeZk=A>gTe~DWM4f DrJ;5P diff --git a/src/Icons/flags/eh.png b/src/Icons/flags/eh.png new file mode 100755 index 0000000000000000000000000000000000000000..90a1195b47a6f12c70d06cb0bd0e4ea88d7bfb03 GIT binary patch literal 508 zcmV`hKmn*~pz%QT=MPXRKmaj;?1ifa0xhloNlE|L zuK&--1mwx?-uoV+`qwW8u#*4+i1F_GyFwg7fByafIr{%Uh)$p>Ae%w(|Nq~=m~|`# z{`_H7QhIal96$iEC^sml1*F~kc<(nb4FCQ91q_kDz!3TkBLDsd`Sky<|4qNomi`s~ z`xoeVfB<3v8uI)9A4wibp!A=AfB%5B0nwj-e?TNKsQ>@@`|oeijK3Q@{{o!^5I~F! y*$fQd7#Mzm(H|HCnf(WhfND7yc3x%x2rvM-AWsdQI)rrq0000&(jx%j7OGE_~DVuFcQkgj@33fJv($pjj zgoNxWFM>pG#K4X+%S_Ys!f>f$mib36%ekHNec$;y5njB{!+Y`YzVGwA&4mTVh%ikU z03gD2Hn&LPeNu%hDG7PUvzrphs|^(-as$IIo1LmPya%Hc0Qn*6qc4XX3oKoa+Z)_XBQk8 znPA)XelBh#6J<)fj|w>7X+~Yun^@Bp4$+N z6L8rb{%QnJN{fql*fJH1L*2YjUlB~CXS&&LY)1V3h&68|x1_5-(4l3HUgs~3JvLXI z$_D=zL{dTnq9RK`-w~w|sCYqqA;@OoAE0!{9Gi+cF%zA>5*8OAiXWs z!A~!@Tb_6WJ;mn(q~>CYJ~Oq(|Mc`miY)G1d$)?S_lf*=dz3nd-8+hwz5w#U=!7L- z+Ve0W8Werm#o=KvYxRVVNtM9!poHk%m;Y{gxKdXC|Y{ fc0^aUlspXz7vm>S7OoCUZUIwXLGJ6E%Z+~lY(hhH literal 0 HcmV?d00001 diff --git a/src/Icons/flags/es.png b/src/Icons/flags/es.png new file mode 100755 index 0000000000000000000000000000000000000000..c2de2d7111e3cb59cf6511dd2ab045e824bdb43e GIT binary patch literal 469 zcmV;`0V@89P)@|4`Xj5kLT%`al?B=W5I`&pe;NKW0^Ri&h`xRJ_x;0v zUa?=y?0^3M|NZ~}FE9c#{{3cP{Qd6}13&;Vf!z&M{pZWqKYu4MFm$tgedF}w=P#IQ z7-9gT-$11R0mKA$(qEu4%ok$*y!^wMRm*x;`R7|k6yu?K{s8?55I{^|9{?Tjhec2I zv+6&FhFWG_BbNVc|Ns94tNRJp!0`V!Py;{!F#$2enB#XZaohg-5%Tlk#oa&nzQW9g zl0Y{D4gK?n0U&@Fe=;yIr=|V7caH%YEYL84k`Tt9-wc2LGODP&y?7BIfLMT@X8Qey zK~fSFpuiXa$^kk7RCwBA zWQbH``0|MX0{;DB`1Ob3-!Fz=zZw28fY1*HhF@R=VQ?@21P}|ur+3w` z_wT=dfByab`{x&s{PXYspTB>919^Y{{Qd`I{N9v10U&@_7=ExZ{APUe{`KE~Al1MB z{rb!Jhml3<_uqeCzux)%bv7|NkFAvw@aK@N+YWG5`bsF#yj00sZ{|0ReUZ0OJ4u`~d&_lgxzd z_7grGtKje;)ax=32IqJ>VE_O6|Nr{|0Uz@6!2*a0?AgCSJ_s@V{`!jztXlEUzkg2h zOW%AK0ILQg2A~)NKmdU>0L=y=29PKt(~s@sMWK)O87MU|4G0ImPt*+y7s`{{I1L_{;G9FVHyv z0R+;(^!pEkq$JpwzYKqVGyVRp{reTr#sB4{{{Q&{G@Ah!GGGK$3=lw!Ux87Egcwk{ eXi`7`5MTfy3O%OUuKb?>0000FP2AE)Ir2{}>qlLBSs|`Qg(SfB<4)VqlOE;Q=cD|Nnn$ zna02W|Nj1E&`=Tpav_4q;M$#E00G4E4{SI@`q`VGKvVzz{r4XmU}R+c_2(Zz0I~c7 zs`v*r?Dty(;z&PFFXX zRA5t=4x{1SIibD)Vqy6A2V^D4P_SySA|L?j2ip1XFA)9%V~_%1r~w2J3=}{2Oiu1 f7(RXZ0uW#T>&I!FfdIJb00000NkvXXu0mjfj-u42 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/finland.png b/src/Icons/flags/finland.png deleted file mode 100644 index 818f5d415f4834a651d031c8121cf8df7e73cd76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^5|2F^s^LhT< zM+&p*e>^VF5t^-E_jmWZJK}i~_dT0GyU((cY*)_ diff --git a/src/Icons/flags/fj.png b/src/Icons/flags/fj.png new file mode 100755 index 0000000000000000000000000000000000000000..cee998892eb316c3293ef2d52afec9218bdbbc03 GIT binary patch literal 610 zcmV-o0-gPdP)2C05Lr?a%1G+Sb3M_ z-f!*)-&mJ@lxC7weD@!u;s2li|9<}wjr{Zf&o8mqKR`Cn4*&rGF#yj01QaSLwCD}R z0w(ww8v*|PzTN}jB`Pj8{QK|!{{8;|gOCLd|L9jy6{oELG6Dcq@B)aDq496GGsCmb z5T7wXTnzN$?|=Wl{r{i6vr6{G)xV#={AXc)t!L+QBoiQjSb+Zc`=1dU2n>I~p8E|B z6OfY_{`1$ji1Pn`9_T5yZrhJfj0}g~00a;V(9A!7nZZWFG{8az7^c++|9dI@cmDl* z!Nvb)UorrL86bdIfbsI1fk}{;;V;BV|AE?oY(}v2K-{x07*6Kx`SfB<4-V2A|A=r2_C101z~ iU~vp#0R6xN5MThlzdwv9U#bcK0000}CO1*!he@c;k+ zfB*mg{rg{#hxPwIh8G{d0|o#7{Raep|AEAFCm#U_AQp((@4x;AD*Xo({rB(3@4q1y z(m>63@(hzyJPYWMEi%>@iRTXyxzU zAo>qT2S^W413&<={Q1WKlmMyz`(Hzv@8AD_R~~+N^7b200Z@m&0zc4{Q@7rNwftxJ z^$Q??fEu9g1Db8CAq;fMkDq@pJa`8*&sI~^TtyHla^%`8uswf)HUI<=3()%@Pl0^! zf8Ui?K|l%XeRX{Qd(n@juAHz(D*15I`UefB!>$cK-hRUqIf!|Kj}Y zKt+#Ue>r^ZHOMRf{y`i940V72V*2%m0pg)Q5O4ka4>U8*PAAEH2(%ZZ;ol#C0AiF(UW*)& q3=s4Oj6m#vP&UxAe?ZIt5MTgFMVEBke8_SD0000BE0lK=nzFYgc)d0A2*B+AFf z2joHok-@WP&j1351!6Wt`q9fjf1W;g`1ALFY=DuG5oiNI0I|ST{|2JJ|Ni~?`|A$_ zRt*pr0t5gt0M7pe4IJopi4@}M{rvp?{Qds``}+I+|3-D|`uqR;{Qmm<|NHy?`uqO- z{Qn;q1i_Qs0*LV@1A}N|@t-FT{{IC^{`vn0sPGp^)o&2vABgb_!eEtCyu9%!Kmf6* zGhfda5_|CT&#%8A#S0%rhKer*8VNG{57cZ3sU*g7is3Rq0I|G(Bf-nd3vr@r@vHy8 ze*OIQ@9-oMOb-A(eJ@7=Ab?mP;SCW2x*O<#U%#>Y7zqCS`2!F@APw*!ml9!S{vjhP z$_zA&0R;fLP(1(v#Q5^%OL#2G%0Af7VC%@R_vTF*lgG%);U`26kn-@hOg zU%!6+4+cOs(0HIde9xZz`}Onxub&LUB0x(30+2WcIRJn#2ut|?gWYu1Cf+!-K%B8# zdf?1WA}#uZ8oj7u>$I1i0Al&`=O0k%-@icgAIJnM0xA6maSq6BK-ECw|NZ*S`0Lj% z1_pot6puj;05Ax`F!=umqj7^frO?t|3^&I1kxUq9yECc+jQpY84SWH_0#pxl$?v~F z@*hy-KN0|X07U)z`4{NpU%#2aHUI<=%a31wK(7Du52Oc(|3O^?R1IN+RRjI-n*kVB z3=9AP#PZ|EACPLGJ%9cJNh|>9B%spYzZw7h1%?tp0I_@ndg9MNE>313@6R75NcceF zkr51-#U+7;F#`Sf7i0rK0I_`g_NQ&Zk)EZ(2O=d>QH$KN3zEi7S9u{+2K>GX4ds`2QcM z=+A$K-~a!^(JwH9Fn%*K{{Cdb01!YdV9)*qi~a#?`wdg{8%Z^Y!NB>w;@|&31~6!UgVU(k2*|8J(R-+sudaynhucHbwAMTnor{mwqO^w7JHzaBsT z{O^B8RYf5+LvDs&KmRKVd78=o{`1#HTiEo_OolaGleS)G+IQ#sUI`b*pv<`1zCJ=H0jd{{2S>p`ri%{LsXJ%FbMS z$#S`6f|?OG!^Jxczkf6Q`UNF{l0Sd`ad7zm>({^EzyAS6{{CgrkluOb3l1A>ZU2~A zK+FZ=zkmP!`TOVhpFbzBzFaPmD2$N3;+$pK?>zdet`f0002ovPDHLkV1gy;I?Vt8 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/gd.png b/src/Icons/flags/gd.png new file mode 100755 index 0000000000000000000000000000000000000000..9ab57f5489bb9ebb6450cb27f4efe0cfb466144e GIT binary patch literal 637 zcmV-@0)qXCP)@|2i2MUNJEAGBA`g{QJZ3ub1IpEW7h{~Z4K zJ3#Qa=Q1XS-;5h0el2+U>(Te$zyAID&HDTIKad810Ad2W{jW5`@9y)AKr^5J{4Kqa z;cw*UKQW)B)-pW&@%z{RUqB7N{{H&&_Ycr?fB*vd;rG8kGw%JlqX`uK!_D~nn&&T_ z*-Q+-7;nUX=6mt$`7e;3-;BTi{QC{m01!YRC;j>JdmqEEKMa4Icz%Tm{+4F_^}h({ z_1{sye%WyRp84|E^4Gur0Kxx1e;6150*D2Oe>41%=Kmef^V^IA7&yOx!2%AYU;o*D z%dq`!;`!w)_PhDb-(PS30!;@9Adn3rpZ_$9NHVegX88Y?;V;N+#{WPzFy?-P;*ar< zJ?CFrnZE^h{{CWM00h;Fvzl@K2fHp9I6dqaaxb00=Mu XLcuQ~?TP?t00000NkvXXu0mjf`7udf literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ge.png b/src/Icons/flags/ge.png new file mode 100755 index 0000000000000000000000000000000000000000..728d97078df1d07241ae605dff2f2cac463be72e GIT binary patch literal 594 zcmV-Y0^8x|9^h-OG^F+g7@$L?BC01YQ`Wbb?43;K=s|G$6#bNnb!1Cx>Qe>QfY2m>?Izi&U8 z1o&Rm*8l_%%a6%3nS?}u4*37)&;Q?l7=Q-<`}?1Z>;KQLY|KmGQ@ZWEch0Jnt zUmm{%2p|@g=ujpTGX@n^21dqzKYxO4`1a@2NuYivJ4XgKw*UYBFf%g!{qd7YP>5~& zE`R_4F#yj00OjT7{QUg;`}^~|xBB|}`T6Q!vcs262Lz;t$n|1+qbnVARhhy8{z5C(*C%JTg?tEV3%;s64O@&5h$(1-*>2%Ak`A87BFlP7^( gh&l)WvH=1N0MfQja}g1cO8@`>07*qoM6N<$g4hNuZ2$lO literal 0 HcmV?d00001 diff --git a/src/Icons/flags/georgia.png b/src/Icons/flags/georgia.png deleted file mode 100644 index 5d646b548329ee57693f95badee4ea179d898ddb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 680 zcmV;Z0$2TsP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iXe~ z6B-C?4?*Vu00JmUL_t(I%e9lsOB+!b#m|h_kdOzNWEX=erKLqN-9{mxivj%T`iFs%qbGvATq;@*v!UNytp8MV3 zy&w00Qktfe%6cUVLhT%&=K#$uFV~IqP)gG*04D(MxujT(yAFl8MlQ#7t}}#K@J9?G z=1#Af&vVzI5GQSHboBsmvgnY!y$yzCQAsAzNT*RbI)a`m$H!>o^QfMkL9N&Eb8D;1 z?*e4!=8#)lL`zZdo##>7-`53{_V(~~co?lh0k?vH%0EQ6bvK)Y0eWpGdzU>O<$eSCy%bQBCBu#Jp# z`Q+~gcQ_1pIE>e**W-aN7W=2iTsRzRyIf}Q2I_G*D2q21G5LI|TCMizZEPzFTC)86 zW=Yu}yf)xtB7t}DI9Rh8eo=&bX2wvG{dafh^?KnE1bjX{)dpAt z0kmZq+~g!$_xCUl3>ZqXTC2f6HUgFn)bR&p>Ta0r-bp4XKGn$6(p>gTe~DWM4fh#fmj diff --git a/src/Icons/flags/gf.png b/src/Icons/flags/gf.png new file mode 100755 index 0000000000000000000000000000000000000000..8332c4ec23c853944c29b02d7b32a88033f48a71 GIT binary patch literal 545 zcmV++0^a?JP)lgG%);U`26kn-@hOg zU%!6+4+cOs(0HIde9xZz`}Onxub&LUB0x(30+2WcIRJn#2ut|?gWYu1Cf+!-K%B8# zdf?1WA}#uZ8oj7u>$I1i0Al&`=O0k%-@icgAIJnM0xA6maSq6BK-ECw|NZ*S`0Lj% z1_pot6puj;05Ax`F!=umqj7^frO?t|3^&I1kxUq9yECc+jQpY84SWH_0#pxl$?v~F z@*hy-KN0|X07U)z`4{NpU%#2aHUI<=%a31wK(7Du52Oc(|3O^?R1IN+RRjI-n*kVB z3=9AP#PZ|EACPLGJ%9cJNh|>9B%spYzZw7h1%?tp0I_@ndg9MNE>313@6R75NcceF zkr51-#U+7;F#`Sf7i0rK0I_`g_NQ&ZRCwBA z{Lg>@|4`Xj5kLT%`al?B=W5I`(ov;U*021*0XgD3^5{teN< z@cTDV13&-@;@|`T5QYI@3O)ok?1DO<2trehc#kXh!0Z4iC6of!=I9L4Jz5Qk(jP`l zJOKo8(qFLXAF#IH8`u5XwDI@PAHNy@|4L4RsD^0x1N0+605O4m05bkR14QCiMDQ;; z>0h$aKjWi;+@CNFzZm}i25JBZAQt8_hOB_!_dovn^Y72^zrTL{{r&6TuiuWpfB*e$ zwD}j1{Ph<^0%eu?|D0`P00`k|9}4iHT+`$2p~p=WCoxfpgkZGj{YEt g{DC2GLI4Ob02tU}a;hkw5&!@I07*qoM6N<$g4!w08~^|S literal 0 HcmV?d00001 diff --git a/src/Icons/flags/gi.png b/src/Icons/flags/gi.png new file mode 100755 index 0000000000000000000000000000000000000000..e76797f62fedcbfca8c83c51951680d6a6e9081f GIT binary patch literal 463 zcmV;=0WkiFP)VoB37QQ+R{;bN6GSUi z+kb{HA3p-oUOth}-@kwP{0U71P%%INK{Y@H82)oDp3V0Dt?T`39Pi$;RTl%zL?{P4 z2_S%&kW~Z0x6qjPzkeV9`s>}VU!Q7P|1&Wm)PrpR2q2b!5Hle5FfeebsWZ)5spT9vc*+3O2}Iw&|Nr{sqx*C2&8&?7c>c4n{QvVC zD9-TjFQbI?+i42`0*K|`>)%Y*uQL4o{r~rGhChE9{`~$Pz`@Ka$@uLpb; literal 0 HcmV?d00001 diff --git a/src/Icons/flags/gl.png b/src/Icons/flags/gl.png new file mode 100755 index 0000000000000000000000000000000000000000..ef12a73bf9628ff5a67b81bd980d9c5d2b2c0f05 GIT binary patch literal 470 zcmV;{0V)28P)J{teTOL@z0+>00G1VRSiT77W_YWkm2*^|KGm- zfAHXcOY8ruSJ7+$Itd_vn4oTd_U!+mLkz$F{Qvdq|L@-*^6S_C%a&nk00990)`(*=-xesBS%qG0|gf?f~#iu^9N|j9|i`10Ac}ZUz>% literal 0 HcmV?d00001 diff --git a/src/Icons/flags/gm.png b/src/Icons/flags/gm.png new file mode 100755 index 0000000000000000000000000000000000000000..0720b667aff506d7892c5c301af04e6bbf932751 GIT binary patch literal 493 zcmVwRhhvIeu00_fCKU~B)yH$s9sXS^B!W{?M(W&}hPbMwO z;*cg65E@7haJ!!XVgYOW|Le(9kkY?@fpY);{sqc`6amR!K*q2CzkUI^Y_hUI(*XjA zMdSH%VNp?r|Ns620Z1T|}fB<6Q zlw#oF`Oo_sVk+2%KTsoq3?TP6gz@)3Ki_`_=6?VI#CZSdeQ9y&f57m8xf%uh13`xW zAjrhTbmsgSfB<4-$Y)3kNW1sx-tWJ^f#}!YUqA$5fJva>FJQR-`S({vK;>fVMSuWe z0mcW=Ig;FxKxv@ppTFP`1*!N0BL9M&0|dYz`1hCL7Xv^5F*2kxF#KQuvOqEU3km&! jiTr^fV1zR<00bBS-TrJ5MX@2w00000NkvXXu0mjfGz`_@ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/gn.png b/src/Icons/flags/gn.png new file mode 100755 index 0000000000000000000000000000000000000000..ea660b01faefde01ad2527a6abcf7d1a5c1b0526 GIT binary patch literal 480 zcmV<60U!Q}P)@|A6>41A`El{SSoRd}EL3@|NdrR`1}9=ZwUJP z@AvHwzkdDu1yn7|BMY<#Ab?oFX8(t({tZ$6>;L~hU=2XVuU~(E|N0Bk07O6y00G1T zbT=bV^`Afg|NLS2{ReI~M8m&-NE-fuGynt;*hzmtW+Q3%1=j#1fvO=I{`~y|)Bq4b zU?=?r84r{KY4``%041R|`~%zYhXEjfz)k`h|LYgXRlk0r+3@c_)IERx{rUUv4^RU@ z0D&|xgN*;p0Mzyy>QQ8EKn=iP{qyfH5CNS85I`UeOuzpyNJ@hA{P_#yFfjaPWc&?| zr{By>f0X$D{QV0G@4r9|{}=!Qi18~pg5ikaD#Jf9Xfy-Svu_Nh0nj)GNi#731Q-A_ W8E1tdJ(&;y0000P)fLk0D%}*I7ff3uKv?i+N*~ULWZ>4 zW5%k%a3T{@*`z6pma6eF$JtK+F@C*&o=d^t|Ns9GOCXH@*Z?CVuP#7nB5Y|1kmu|NQ^=?>FP0zrYX%2q2aZH;)P`n*#-K1r9WbfYOYN z??RUX1P~*`M}`*mir*mb{sxCVG>rbhqT(MY2L1y54rHu+wi6(L7#SX-$0bVa{(;3h egu%oB5MTiLH(5{VMZMqv0000u-`~Ig{`~p> z=MRwl_xtx>F!}G#@4vq{&D;bKKrBFA+{}CzK0Nsg1pog2{{I_D14*DX1pWH^3y6RW zSzcL&Zwvqd#Pa7K10w^wlkmIISh(4kI3GTJhN2$mzJLD! z0*D0|DC|s(0(}1j8UFtJ4HA_S5@P=M@9)2VV#30}-~k05FvNkXnV5ck`2-L^EDTKl zn1259n3DG7^QXUm{{H**3#f!E|`n6Mz6>fhdBj29g(UfB*aM-=Dw#|NaG$fByXc1LXhxFC@THKjjKQ05P&# zA9gbr+SsEBRPB^?1!&T?30hEBFhHFGv5AR^>DH}B00G4E=NHV45I6k$@0N4rAH*g9 z{zDN+_&*OP%Y{RC0Ro8e#fvv0A_7PTA~XKMG0?q08}8kE2oOLl>koag&}IJi^WT4% zN&g{c!yE%t3}J9_Fdy0V1t5S}4xV|TB*XjR%dfvcU;YDm6wdeu;Q~GU4MbXoCa z2D3$h#c2(94?dnhBKzxy{hRxst_*0~p#)@fLe>PnJ%$%&+-!%ubnNt$f6>OdBgNXB zj@@MgXJrqS$0(4j$^O$(uBHqqH~J~hObP%%{gsjU#c?uB4GZe8Nc4pufa5*!n{5t8 z_UyM|=0LX4ahP6Op|Cv;5wV~N1XH7=JZNOQEJHT5Xn8*14@|E{Lrn5*tyfJ1bF>5j z7~;}D9hf^^7b%v0xN0=g1Q0WSrrN>5wQHx^0k%5tX##!$W@dWKZ9Mlq00000NkvXX Hu0mjfl%2g@ diff --git a/src/Icons/flags/gs.png b/src/Icons/flags/gs.png new file mode 100755 index 0000000000000000000000000000000000000000..7ef0bf598d9aa7c12264551d5db06f44307911d1 GIT binary patch literal 630 zcmV-+0*U>JP)J`S$qz^!f=A3G?{>83*rF;63vB|NHv-`~3j>`uzF%_#GV;x3_Tu z05Jg0{{&$2KZ#9J4f5RdzRdzC6Ae5p=(o+T{uB7y^ZNSwN=h$cVmJ#62-nx+ob%l!TKAE1V~I16T$|E1+i#l`u&y!03t z7ytqQF#yj01Tv_Ick58z;rzG}_y7F-%)*RRAv1X@1^f8;`}+eA4+yBm#PKA>w6y_L zQ&a!|00ICp0M7peY0>I$KneW(?7rp&{QCm?`vUdU)NRiG`uYI-`}gbY@;Dai8vP{| z4h7uY=>Px#0*Hx$0pxvffc*LW3+PFp{}_J#0ty11^n2!vLjod>mX_Jy|Cz2{eHy3% zAb?mH7=HZ$2N_TWSP@V&gaITO7A`uvc=2f<_uIFxDk_pd4FCZI)bI_+mz3lOl7E0f z{^u`PGlT&Y`3GeD{rm6lUtS;y)Bq4bz=+dkVE6#Ehk@Y-82x6z3jhKP0OI&0DF;s+ Q-T(jq07*qoM6N<$f)`^cRsaA1 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/gt.png b/src/Icons/flags/gt.png new file mode 100755 index 0000000000000000000000000000000000000000..c43a70d36424b66f1627216ad988cd23a4be9285 GIT binary patch literal 493 zcmV|9}7f|M~m>&%ghRD!%{(5DNnfNcHoNKp}=7 ze;EG#|IZ9j4hBF)cVB@t{Qmo2T96TF4?qC109^ty;2+Qi2B0xObN{1)Uw^{8{`KJ4gZ0H zP(J{D2s9NSfWR7{27t^!x8NVhN&g{E`Ueb#e*ggla?+pwj3Cv27=VUhwE^V&zaVoN z82$hR5DUYve}Dck14V%vK+Z)23?LgAK*7ZT@-zbjKmf4-BkT7+CNVw+pd~+kF)%WM zL>VCz0|PT7gS-eZm>Gd?16jcE4PH%g~!@=<9&!2x_@aEGW jS9>vVD)6R*AQp(xFW-Wt{{mJ2|NHk};Jc-)O#kPzME?5A`1{ZQ-#|To{!0im{$XGM z2p}eq*?*y`{{RjC%V7Pj<(}hvo^Z>=hrJ-xK=d0#0&M^~2_S%&fR6tAp8=>2$p8C? z0q7F5H=q9h`}OesIT^OczkdG%sRkpU6i@>|0I@Lq1-k@j0La}yZU2}V|JX_T{{Q!% z>EEtDfBydd!vuBJUq+w?fB<6o2X+#W53~WS;s2M<|9d72Yseq)`11cZJHs!aS-+wF z1}X*!ASNLG{ST%Ze}QTk7ytqY@{}>p)on&BOV)*xm;om>72$%sP!HhqD7ytr@1teTu4J7{m`^Wh2AGglm{~UiA z82u;s5_9PZ|FH1)~3de={)r1*?FgUtsi`kx>?C4?qC1 zfX)8@|LZe*d2K>lZN0{{I4*^b@QIr~;(tA5`a`e}Ddhy$ldQAPvkwr9kh3`~WiS7Zcc2 zh-#qDKOj^7{QC<;3||-k0tlpm>GvN7NlB2NKYyjTe{-?^h8PLd@aHekus?tQg2Ee! zfN=^CK#X6(5e!Gd)(i|h;JEn(j5jcXFhHq*fkB7?Aiw}&uW^ngBcx#f0000J&k9ol;AaCAG*Vvs6lsG2f+AJUecp&K4&zS7@MzJZZ+RCHJO2~-cn~)8*ZB# z%#~(Seaqctb3On>xdArM!+zLfe2=iS%3k1HK82I)yo62#|&;D2*%o~N(LQ$HrxFU=@<#wgQDty7s|5?>qxBTrc>UoBZ!}1le z#)a`Pq~$aEPO=D0fO80I7h5SSMqU=q48*j9Qb*%7#+Pi|ervSf?0bSFwKsAPn1FO| zKH_&kh#AJmvOUSnl~!1AmcaNJM5awz`0DF46>zWZuCh$z(7uBp0to4w2iu-uj zV9oc#M;CkJ!OT_8;~(;r&Cw`0K3r=(%@VWyiIA#;S}+n)^}q>|)QZ|IaYyyY!;frq z6mATysX~aM!z!n$rJ$=27fpoIr3iB{q|Gr32uDRa3PcNj==OQGHve|07^1DbtUgzuEQ=j%rDF literal 0 HcmV?d00001 diff --git a/src/Icons/flags/hk.png b/src/Icons/flags/hk.png new file mode 100755 index 0000000000000000000000000000000000000000..d5c380ca9d84d30674f05b95c2f645b500626c07 GIT binary patch literal 527 zcmV+q0`UEbP)00;JD`K-EmLvOuK( z0R&e6?>|)a-@i;iz|8zVIqAQ;I)|_@BNM~FU%wy-s0ZjAfB<3vx(uZH&mV?Ae;64V zIcsYEzkmP#{)7J;N}0Ju0muUq%~ z^Jl0Zz)k`PASO^y0(FCg{s2v4J zf4+RlSW)rg;lp2_Kl2?q^5yYkpazCNzyJOD%k=jzP%%INf#Tuc?>~%^l1w0DfWH6z z1E^V4lvz;l%d1x`a&jQQ{ROE8h7C|LKmaj5WMKG(8n4KVKd5of#=rm&U;y%qJ?5>3 RVzdAN002ovPDHLkV1mTk^F06n literal 0 HcmV?d00001 diff --git a/src/Icons/flags/hm.png b/src/Icons/flags/hm.png new file mode 100755 index 0000000000000000000000000000000000000000..a01389a745d51e16b01a9dc0a707572564a17625 GIT binary patch literal 673 zcmV;S0$%-zP)>fJ3En$GhGS>sbE%%m3$AD)q?8M9y>88-}kR7#RKlk!P~Y_PLuF7~U~3`~nC7 zF#yj00ZUDdpLsm{7ajP|&HwoK0Usg|6%f4L_{`Mi{rvv-`ukf=Ed&Gs-sA7L!Q7*a zj{*QO0M7pb%?Sw^g@yy{>ihEY{`vU@3=8@G0rvO$i3mOL`~mv-`W+b$Mmr&io5dg< z5v!7q0*L95jt`TzK8Kd(Utv)OSp_aLv){6ccV+Z`{Q2+asKUU&aO3`Kpz6wW8wp`< z28M3{0mSqnB#A*-c*8%1=RD#sSOwMznKA3=e&iEzwo{cA=PgXK`2OQ}gqId83!|%* zA_Kz@fB*n70M7pdECCwp4H&@R`1|(w-}M5x*74i)0}%fAt;XafA{48))#>Z>?CD#}*e}Ret0tl$#*RMZ7}Jl7Z|M45`5*URzH9L z{rmSnPy;{!u>dsyO%meg+00000NkvXX Hu0mjfN{&}S literal 0 HcmV?d00001 diff --git a/src/Icons/flags/hn.png b/src/Icons/flags/hn.png new file mode 100755 index 0000000000000000000000000000000000000000..96f838859fd2aed975f5f4134050fdbc0486ce1e GIT binary patch literal 537 zcmV+!0_OdRP)yNpn^YtfB*U? zE6K^g@B<)#SlTBTcsfda`|@_0R#{e$UZ3l|Ic6l=B#}T zWCl5lg}RFY8S^$g{qgfJOdc2ve*glAv3c@IFK6|y-~NDH^$#cn3{a5k!L9^_5>O@B z$^W^zSlTD;0tg^R28Q0WdbfK|zW)9V43odV{`~*->+kR1AO=tbO#T4}-G3E1?u#4x z0Ro5x7#++k42m+GppXWk{}2W^;6Y*k7i(1vOT1`b$6{=&w9#5#oJ b00=Mu*}Zhb7k&Za00000NkvXXu0mjfKokPk literal 0 HcmV?d00001 diff --git a/src/Icons/flags/hr.png b/src/Icons/flags/hr.png new file mode 100755 index 0000000000000000000000000000000000000000..696b515460ddb670acb7e9de4438aaf21fc5fb77 GIT binary patch literal 524 zcmV+n0`vWeP)@|4`Xj5kLU3fF!G{fyDoR{}_Q36Vv~H|Ns5{^Z)NZrr*Dqe*gae=g)r_`DNuw zfB*t(VEF(4$y0{Ee}M=nS{mB(NB;kxJOBSE{F_{n`2Y8>|G$0##TjK~fi?gH5EIz! z|8Uj6|NiY-l-<0|OxA@1MWlzkmOI;leLR z$De1;{4g{7^y$;LZ{NOt{rct07a;lk`E!5(f@%OM1_PkhC8`eE9egqWbga z&p;hdpFRZ$Adm)#>fe8W4*Ct02B|hR1*-n0rS<;(dx&bFRY1n$$BzL5h>;=uaC^Mc z(+@v?|NZ~x@4w%F|9yUZW7+yTpo@LH>e(bUfFghX{rmIxzpNnpimU?w0mQ=a>kp9s z8>AGffmuv7DrFgv!3yU7{`2q8f1ngFoPlxn4AoS-S!;e2821p2q{((sbfB+=MK@k8U5Cg$|VB~~? z2XKWZk_lAZtGhi{|56nPieMKY$Bq=4KgZ0muK;2JYWn}5;nka8K-GUCa!{rJenZIL z|9<}gF~mh#ftCOS5DU<%|Ns8~1)2?0{RgZLWF&|Ls)lL+iU2hL1Q5&LKMX(>AUTM^ zNU9+S#0FXN@8@rz^Zx+^5DWL07wmsTIe-5EX@IBzTJ`52%kO`z5F362$-h7b*KaNc zh6exv#P}EJiR%3Sk01R1^NZmZ(C**=fB*Xb3rzn04HN{CU^bJS()(Sf00M~R4FdxY z(0f3MKYtkh0!g5OAQFsz{e$TF`x|H}%fCO*7#IKo2o$W~FaxWA8VofRr202h8w1#j zz=!|{Ah3qte;CCj89_$={rBfLBSbS$5J>(7`GW}-*g)q41Q6q6a2)=FMdm+9l%onl dL?8elzyJ+{hsuy4pm6{I002ovPDHLkV1hP90PyYjz{{0J*12TXlP$`i71!VmC|LYf!%PK1iv=Z0I@Lq zVgLrRB#$I8Q2qeT`3KSlX8!?(3s3+U9e@9T1Mx3N13&;VGFUSJ^?=Y13<>&kweotH;U@Xz#jyMaQMo-U3d7N?W-n4g%ft-+{r_KYBFbCLEwS3H{gTNfN!=<*x8REg+Zh;24Y}p(G`)`l4Po$f L^>bP0l+XkKvlulk diff --git a/src/Icons/flags/iceland.png b/src/Icons/flags/iceland.png deleted file mode 100644 index b3b7984b6309eb21077b933a4c8b427cc05693c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^5iU&Ns1n3!Bzl4_luso<`s;GI~MQ(T;%$7Fv+ z1E^3Mq|ha`IJqdZpd>RtkHNz+*h9mh!ot)j+04*Ha|&>(w{+;pg^uK5x5U|g`n`97n>v)2W`=*~fJ=aZ5Haug_ zVm!8;Tl~?M2hZ0=^T=Ocm-@iOB;~=^4+^K5raf}s6rox&wN)}mcB!P@y4ceP)-5|$ z5O%mT@#ebQOQJUL4ko`{dS{y&o}*V Q1A2?W)78&qol`;+09+@fc>n+a diff --git a/src/Icons/flags/icons-set-readme.txt b/src/Icons/flags/icons-set-readme.txt new file mode 100755 index 000000000..1028eec3b --- /dev/null +++ b/src/Icons/flags/icons-set-readme.txt @@ -0,0 +1,9 @@ +Flag icons - http://www.famfamfam.com + +These icons are public domain, and as such are free for any use (attribution appreciated but not required). + +Note that these flags are named using the ISO3166-1 alpha-2 country codes where appropriate. A list of codes can be found at http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 + +If you find these icons useful, please donate via paypal to mjames@gmail.com (or click the donate button available at http://www.famfamfam.com/lab/icons/silk) + +Contact: mjames@gmail.com \ No newline at end of file diff --git a/src/Icons/flags/id.png b/src/Icons/flags/id.png new file mode 100755 index 0000000000000000000000000000000000000000..c6bc0fafac79403c97c64ba0228d35f250d05b57 GIT binary patch literal 430 zcmV;f0a5;mP)Wr{r~&-|6d^ahvDC! z|G)qK`}^nrA0Ybu|2K$nd)6X=0AgWa1{?O`IRi-PU$8V7{r&w9sOb0ae<0Pr|Nr{M zEF}%J0U&@_82&N|Y=e#y>zg27mx!0Xgp5*S}vr z{r~fq0csvl>92pk!P<5VDfB!NI2#TFQ3lKnzfB%Al=06ZHfFW+c#KiRe{d<4_V)^&)A0s0pNIe5S)eu>r zF8~6F38(?TQZ#J<0R*xEXct5e0}KG|WIzExE=U%r7$AT^8h-rv@ecwRzz_$3Xaxu` Y0RLik?wUgPu>b%707*qoM6N<$f;0ZTz5oCK literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ie.png b/src/Icons/flags/ie.png new file mode 100755 index 0000000000000000000000000000000000000000..26baa31e182ddd14106e67de1ac092a7da8e4899 GIT binary patch literal 481 zcmV<70UrK|P)1Ab?mHSU}=WzCQi??=KL1`SXRBmG?g! zeExSVgb4YXfjasA0Ybs`#&c5^XvcLUqDM3{{9AP00d^^H2e48-+%sM)d02u=%hct8G!N( z3;+QH((o5-_OE}xfO;@2_y=+i*h!3FCjkTyNW*WSt$#tPfB*dj3@CIxKqoQ$2DuvO z1O^6x00KJ+r1UogVe!Ksu!etsL5P6?Ab?navG)7lA4zUWkT?GPWdcP410y3N0|YR! zFo-FE!v&-P=p=vuVq_>~VE6=zV^DnmVAx)=U5ZNz6vaS)0m(NHWW2-wfs+9Q00bBS XO2cxg3=*#z00000NkvXXu0mjf|9Z^l literal 0 HcmV?d00001 diff --git a/src/Icons/flags/il.png b/src/Icons/flags/il.png new file mode 100755 index 0000000000000000000000000000000000000000..2ca772d0b79b255872cde2fb29060bbbbad950f2 GIT binary patch literal 431 zcmV;g0Z{&lP)WlqUuh`uiUU82D1+EBLb>EWz|Nj3k zj6%@>aVJ0ku|Ql5RsEk~{?`9D9{=ZO{V&1vKX2lHHJSgJ0SFC1p8y096I?Y|?05b{XcgblKTHZ zfByjpAQrd=h&?HOAa>`R|6Hv9XB30N3RxDY7$AV4en1PH(j<7uAT&Tc4G=&q@-F{c z8i9e$01Rv(35=ybe;NM%WdxES!M~uG0dj%y@b5pvikg1_0mOLw_HE>d#AF}?ph|!M Z0{|%qc@l5wel7q2002ovPDHLkV1m6PxaI%= literal 0 HcmV?d00001 diff --git a/src/Icons/flags/in.png b/src/Icons/flags/in.png new file mode 100755 index 0000000000000000000000000000000000000000..e4d7e81a98d705da8d7054e77e7d311805659678 GIT binary patch literal 503 zcmVl^KlW*80IEmzVa(K3*_6 zG7fg0I9Zj&0woGah`r_&Kwu3FK=xChQigwjfh>?7kc!_h@)sEWW@MKI+5iwhEdRtz z89B8WSj7JS|MwrL=l|b3uZ7Osk^B4auaUxSRgtG4v;Y11_x}$gi|9Y8?EnG9`1|i) zCPv2p|ADsrhuF4k`@Nr^zUpfTpS$xp!A}Wj4A3Yb2~_s}<0pUsVqyY2p8>1`g1&zJ zsVvR4Yya)fUw{4wtNss>0tLxGfB<5GmnRH!zxweH8<(Mq0N7e&^ba6_ z7#WHgIs!VLeti1p-=9B!fB*jb=l8$ge}LrQ-#`%%`S%Y9{re-sFSERHIY0ohF#KVF z2*K4Ml>Ykz*ZJq)UtlmW{9*tIAQm77@g5-u&wghk1ysZXQWTO| zl9S4ykeQc~nP{->gCbB|93<{oT9T1p#Nd-yT9jF=;GI~IlbKhXo#`Z%R1Q>f$jG^{jNA#lx&*EyTf_T)8qa6er?TsFOP1We0=k@u3KB{?r*+R6ZAi} z;}6^U$&5EQ=r?sdj>;{s5jXuE6CARC%{J?mp=_F4AHIHmW~Grz;^aRO!CB5LdpRC? z_l3Nfyv=z{>#LlM)eY0Q0ydt|>wlg3$Kh6|M2YYvzau3ozu6nUZ<}Fx)+@A4<&kwUTUc05eetH9yMRKAJY5_^EKa|@ z;@j2Yz~k^R+;FMVluHk;DW5MoXR%l4V$_e|kY57MWqivZHv6^D-9=+*LRtsMVS@?9&usjIyjEx_Ijx=g*h1p?#M=9Tq02HCO>sIW e8TxczzTK=N6P+z*ZxjH!mci52&t;ucLK6U*WN#?| diff --git a/src/Icons/flags/io.png b/src/Icons/flags/io.png new file mode 100755 index 0000000000000000000000000000000000000000..3e74b6a316477b90cce8b5f2111f911b1c640950 GIT binary patch literal 658 zcmV;D0&V??P)e!0?Mfa}mS!7%=x2KmY(S z0M7pbTSu9imq`K?75n7n_u%3MB_szB3#hl|A07@E6$<6-<>30S5egmg@cSkZL+Ix9 z0st`p&i@3O7{&wE8wU3C1oia^`T7CwI=ckcau@Q71iA1L?!*;{7^Nm*&$?GLJd|NjPb3=0E0KfCb4 z#nAu(05Jg0{{-+tQ26`)!^rI-{P_e371QGlF%9qW_x;Sb;QRdk{r*xJJ*zy?_rWgu z&$=$1lYjzR(%pFe+p|Ni$IOoG{eTR0XemVUia$~;LXXZeDO z0096o0M7peXKyl1N+90g@dyY5ARP|N&gc{s2^<#+#>?j*9u48*^A9U5-*(6(kqBPq zC^|QM0*Gbi#3NFYyicBf1{wyk;Wx-spzFb0kX0fvuWZ`CzyHEKd)}3G%ew&r05Jg0 z{{dZPvvzMc=Kqyj=IHYZ2nGGUe(f)J7ZwZK+v5TV s=!a5B6v9X#`iH^&14cjw13-WQ0BQ>oQ(TIK+W-In07*qoM6N<$f`&OQ@|4`Xj5kLT%`al?B=W5P+gNxB&nJfgpGfTOih;e`=>T z5jZ8;?_>v5xi(~iU^udv!6f5$jpNVh2O?$m1OPDr&i?@Y{r&#_{`vm=wBfh>{Qda+ z{Pz3$!R5rm=Ee2+`0e-d?)LGV)1LD5^!4@i=jZ1F2;wA$U5|F$_;B;f&rf1p(qbG! zCte(9VPa-y5lGpbZn4ZFhzcT9$vfdqmuG z@j$ZG>u9())mkwqmYHSd7eFi*FJ3%$?AX0~_kM%HFED^GKqQ#;=g)7T_f%9=fX)F3 zAdr)QMoCIaf{X{6{|BNG$o>N%f#5F;02KoS5XlH2zyJ$0KZ{``H1_}i002ovPDHLk FV1nFR>VE(L literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ir.png b/src/Icons/flags/ir.png new file mode 100755 index 0000000000000000000000000000000000000000..c5fd136aee534ecb59914e336cad18d18ead2a4a GIT binary patch literal 512 zcmV+b0{{JqP)r;gUH{1e{Y(x2_S%2fSMQ?7@vH7`tSc=xS~J*|Ni>>`_JFszyAFKs{8d9NdA)L zm1AIH00;mv0M7pew_3Ln1`-ek5ajjb8VVZW^Whu|9pCfc910uY_2L}~8{YEX9t$4Z z@!Kj9D)d(L0*LYN-@lBEj6f&-|Nox>4F7-s`Ty{t|Ns8~x3>Pz!S){pfXY67`UDU_ zOc38f#US*GW&hv2{?Eqpf6;>f$N=n5fB<4bR}BO)G5?=F{eR-b|HMQT_5c3^H2?$< zb1geNgNn-kGiMln{`!CM;{TsNL8PAke-;*?JV+Z*eYOvhv$==KunT1sF?AKYlWZiGf7_{AKv_o8k9wMiBcC z1B3*kzkfmK*Ds)AfB<6r3XWMgVnF4hNdW;sfB^vU;z%SnI0)(h000032Sba4!^IGt=V z=g^1wjO-7Ro~A~~R<=4$3g=t>=l*toiF;R~jsE=q$U0q+$A`y+ZLwHSltI?P6|9TJ ccsRKkBF(w0D<`Mk0h+|%>FVdQ&MBb@0F!w*{Qv*} diff --git a/src/Icons/flags/is.png b/src/Icons/flags/is.png new file mode 100755 index 0000000000000000000000000000000000000000..b8f6d0f06675a9570c2c6e696ee51282097c3876 GIT binary patch literal 532 zcmV+v0_**WP)4s{hykP}!$Xp8x`g@iqg4NJaUd z$B+Mm%>4cD_iu*Zzrl=O|9^qF|9<`Y547mdFIIVlOMCYL1Q5sui18rvfj0Ph3vJwt z)dnUeruXmP0|XEYv&@95W{1bGfWG{@sKWZ+FOVO6s`df7U=M&0& zKrFzJ{`2=AL>j0RlpinR(g8$%zH2dih1^v)|cB0TuCp6oq7# z3mKLWLdAr1fGB7YId%8G=SoB_< zx;Kj{P{8f{U7egohHN>PSydF2GO}0C?VWl<=f!7^q{Y4d3K0>vB2F|Vcrgn(W{ zpLW$HP(A;_JF)1LS38T}@!U6G?Bc>} zaNjDm`0hWpgsoPIx5e9>+4aRrStF($PAgt^{dSN>&4kl?m6;}<;Jy5Ez4gJ>cfS4J zJmvKKp!NDSC$CKBXJd};bFa4xSb634|9h^hZpN^23vhmu`@<;rw{V4a|DuJ!z+~`r L^>bP0l+XkKV7a`T diff --git a/src/Icons/flags/it.png b/src/Icons/flags/it.png new file mode 100755 index 0000000000000000000000000000000000000000..89692f74f051cd43503744c3dab65c8ba773b7e2 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2~3KHq6QcQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrIztFq(O~IEGZ*N=lh=;=qSyMwWku z27eMOW_|f0uQeek^e_9g7KH|eq{JVG0^UaP2Jy4}|L^JL_3uCblfVD@mnS9t`~UCn z|MT(+KT|KOfz%~1cG~~^_2vEk{SFNQ?Cjg~|NsBWy<%2im{vp^YdeS=hk-Cyo6U`Hgs{l4FR(w#{P`G0;a3G2@YSmzI~fu(ZE1> L{an^LB{Ts58L6#6 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/italy.png b/src/Icons/flags/italy.png deleted file mode 100644 index c46d8a1ae68c3b24e19cad83dc399cf4c3662138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^5n@1{5iY0YW604*ulWa#KQ4`bpzwFUQXHH{K6nJ7(8A5 KT-G@yGywqEZZG8k diff --git a/src/Icons/flags/japan.png b/src/Icons/flags/japan.png deleted file mode 100644 index 2aaa7cce702bb589c86378abc69d59ed7d0e7c63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmeAS@N?(olHy`uVBq!ia0vp^l0YoT!3HEXcCqsTDVAa<&kznEsNqQI0P;BtJR*yM zbSMZj7QRyZ2xLf>xJHx&=ckpFCl;kLl$V$5W#(lUCnpx9>g5-u&wghk1ypp<)5S5w zqWA6;Yp!Mofwp?*4TeXImt2hg@nZYtnch`w^5Gs!eUC8b2qq~XTEfLL>5NW?*w4gO zKg;cIR92ihb0eaCE#q#-zIDf{BOe8Z&e+XYC-Zp9a|`j-+sR>DB2G6O*09m94?ae02_#*e|bS22js=a~8X9_ON;E*C(mhu%kR{&;SJ>96_Pe^?Ap8Jn3}FI)%o O41=eupUXO@geCxR6M8%V diff --git a/src/Icons/flags/jm.png b/src/Icons/flags/jm.png new file mode 100755 index 0000000000000000000000000000000000000000..7be119e03d203695325568174b72522124bb2f12 GIT binary patch literal 637 zcmV-@0)qXCP){QLU}0{l%6`#}@@_VD{9F|q;xF#yj01gpgWJ+A*m zGUYZW{T>4SpXmF{^Zon(`}_X;`}_MY3j1pm`Wy}V&B*(tydCWT00ICp0M7pd0000m zGd#J&@cQ@tG$8vu6a54J`qTCN{{H)06Z&u*`VIU0o2UAMn)~_v4c^|~0*D2u;qTwS zKYspMz5CDEtAAp>e+Mf5)@1$t_wR2Fu3uNK{_0!&`}CDxK-+|V{{|`s2p}dP{`2SW zZ!oxe=XdSY-}fK=Qse!l!T0O_!(X}WAk`4?=MOLh7ytr@32Xz9{pZ*3U(#Z~DiVIl zOa8j^;n%JAKjo!$j^Xni)Y$z6WB&k?3JlvV7}WR}00ImE Xyv9Bjb9W)}00000NkvXXu0mjf@Xt#6 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/jo.png b/src/Icons/flags/jo.png new file mode 100755 index 0000000000000000000000000000000000000000..11bd4972b6d5f134045d4e8ce134601ea9b5654f GIT binary patch literal 473 zcmV;~0Ve*5P)M00|Ni~>`!`VeZ#eh`f&K#;fdS|pfB*tJ>FU-06DIsWc#z@uumAs9{`&>~&q~MQB#;&cfB*tH z31sk|Jq+K!KjiuK-^&B5YLK~LCjkTy3s3{|pFco7yH$Tr@L>D>cm1y|D}MvS>F@7f ze}Db{_vg<)5c|)+zsmedM_Y~p1Q1BWd$vDo!X?isvq}Pk|KA^w>VH5L!1(y{_x~TD z9$-NK{r~sxzrPHB7ytr@v6F$JJdlAwh=Ji34E;f3{DCq4fk_4ifB*vkxQ1J~H9>i| P00000NkvXXu0mjf0T$ba literal 0 HcmV?d00001 diff --git a/src/Icons/flags/jp.png b/src/Icons/flags/jp.png new file mode 100755 index 0000000000000000000000000000000000000000..325fbad3ffd3075a4a84d8d898ad26ef7d3e0d56 GIT binary patch literal 420 zcmV;V0bBlwP)9whYk?f=!Q|Ns8||JN@lTD;`{R1ZWk|EGa3dAO8ObDh3E3Cb;oH_5X#1 z|NHy@|M?558b}5Q|Cf`4hZv9q2p|@?lb|{i68>{>{ol0lx`{mi O0000=G`P)0NEt6k^VGA)9E1hT9ocRoN>wSfaWv)?-raRm?)Slj<6Po6w} z{P+i;{`~nD6~!ec29@~tkBNo($fnHz0mS%{fq}QS{_m4#|Ns2?|K~SQUHy-* z`HU>AfB)8feAoK(-@hL}|Nr_0bQ_Dj+^xMk00K}f2RQ&hFc1JYLgN3=lsJ)M+p3uR zWC5ydAM*!ly4H1hsiEFvIU^1)HH_GYz!QMsIYt5i1c4ZMLC4DfztdU-q)WGxxg;|L zi3%uAJ2fm~N8&I2%AdL;`{4^9#;e!&D=C-&Lk8;9|NlO`c*HPy9@C${KeOWnB;`P2 zATRu9VP-jSWFD-S8kh{*zoh2aO#pT8A2W0o(w3 z|5bef!~)j#|KF3RAf-U``!@sYUq;#A42-}3UHtv;%kTfcfBpOQ3nmTE<|1vNq z0ns0zZx{dq2xP;5h!=kY&G_~A;V*`-zy9<8Vi5ZI|I4p`PkusG11$kMn1KNxfWUtE z{TpHc!>?a|&i!W8{>5bQ`~TnHf3N=fz5nHq%!z>% literal 0 HcmV?d00001 diff --git a/src/Icons/flags/kh.png b/src/Icons/flags/kh.png new file mode 100755 index 0000000000000000000000000000000000000000..30f6bb1b9b6c5bf355f67a17531fa73beafa6639 GIT binary patch literal 549 zcmV+=0^0qFP)P;@arD~1pHxO_zPr1&>t9y%wPZrAQpyS3=Ms1K-T|%K*j%o>i_=z2W0&D^Y8ax zhQELQ{rLl7|Ns5_-|C4+00M}Gf#D0s|6k8u{RAokD*W^JKSaeZAp18+HBcQ8{rdA) zTAYJ{;SE3lu^j&CtN66?*W<_k{(=kvTJiVSPc{h&pyuy)ZZrJ(`}gOM|G$0#rP$=; zY#H_d1P~L*>3>1SGXDMzbOE=49-9EaM0J&9T`emwH;=g~P!Ocy*DnU30tNVGcpOKXK;IXGH`G*aB%Pig@_cF{AXeP^XnG~{rU5QfdL?ZSim;?VE{Sy z7c(ax6CWR+s|%BWAkauYPfsQR0VXz9sPSMM00M{!7+@fO0fqklmFn#S3Nf;>{s#gU z7DjgV{|pRrOO`MKef9?wUO?vn1P~(w!@{x_lZQ{f0d@UhVEX<0FF08K{sNMJKnNIa zzrX(mdR{@6d*A9+009Ja65pra?7SkZU^!3-{)PrTC`>`Y0b%_6|LHH#J`sQb0@|>a n0T_AEh(trkF%3aX009O7j5IT?Rho+J00000NkvXXu0mjf2r}#E literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ki.png b/src/Icons/flags/ki.png new file mode 100755 index 0000000000000000000000000000000000000000..2dcce4b33ffe1f40d490cb1a2e03efe22ea56155 GIT binary patch literal 656 zcmV;B0&o3^P)8t@U|NsC0_uv12fBrK4XN%za&+zB_ z{P)aXfBpaa=ii?{|9}7d|NHmt1seeZhy|?e|DWei8UFwK|L5=jKYtkh{P{kK2}m(L z`||tm?|;94|Ns5#-_IY+QnEm+00M{!r2OxHhJR4iK=k+TZ>A77)*#lue}Db^^$Tb= zko*TE|NI8J3LpSOb8Z9x2m%4nC$a{*Gqe90@enzQH`ta%tA$7d{Sv5iP&~x@8dMF~ z(;dfh&fyCHF#yj00oRR-9sTeJMNR(n^YxvS3U`G57YhIQc>VqR{rPSM@(uBDU=5F+ z{|5&5hj_*A{sI6o0M7pbe|x2IYDAmA_)R$v7XIy^!u#*~18PtP{r&xWnDPVw`hiji zey{rM^8J)$5m8%@0*JA9=57`qRaXnayHCFDJ@r1pR}vUfQ&&Fu_xE3Vu+-%{U$!58 zQy3!)avcufO?mzv0@a%gl z1HS+N7!IC&H?5`#AOHX{0M7pb00(zPR4BWp;5AJa{{8^XwcY>#`eSh{`1tyzm&^bF q{8L{tuE6I1;oe7AG|b!z0t^7P6ga05`yJ%~00001r;P)}L!W`0l>rF;|7So3KrTcC!ho;=0*Gbf0S0@;YBwbYEs=i=3_$ev|Np-X41fOr z{{tp}0~v7g%iT=?0mQ<{9!@# z-(SD~{`vL)_wRqdfBpaan?+XX#@15+0mRIp%kY{1qrJR?xs-YLhQhSVzk_f6;`sgh z57Tc3#$ODKzZsZ*F#y?2e^`Y0-&}tV5I|5HD)yDjz7nmS1pU~~aVF#A6wD&YtO00ImETIDprOD_2B P00000NkvXXu0mjfKOhx^ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/kn.png b/src/Icons/flags/kn.png new file mode 100755 index 0000000000000000000000000000000000000000..febd5b486f3f90056637b23caa26d838fbadd7d0 GIT binary patch literal 604 zcmV-i0;BzjP)h(K@ANy8uaQvQ^_nWcs z*Z-GL)eL_?t_B7*Kmf7KbznHW;LqhtK<$TZ9ej=*TGLweOZn#S|EVB#AOzI#2dDw) z)4xDJ00a;t5ND<*{rU5ogY7p9)8EGU->gS|Gwk>cG!LX2Y%nmu8NlfEl`8-N#0ZOI q248)K1w0H4M?n#d6+r+%fB^s&Q!OA|2rzyC0000Cs@aq@DuRlQczuzDZ5@KTj2q4CTH~*`MftCON|DS>3-+w6c z9|(gO{~7-O`v>9vKX&5_Kmaj*WME|P@B8=S6~kYUnG7sU|G#_z>G}QV|KC3#^7rq5 ze}4b}^_xjb^7)+E00G1Tlwy4KiiwGVIVgltUY_yi&tI!o|Jl8p;n#15-@icU*KbCk z6Mz3^`1ON{fdL?ZnEnBs@%JyYzyH5mxBfr4|7*t%=AfYeY;6C2{Q{!DKY#uG1wwy- z+}}Xm3;+QH(!lWNFN3HElfM4XRjZk-tp4-xFo=l!{|(XrbkBdVP9XXJ&!0aG3;+Sd z1adCWtuJ2w-n@w=AmGpT?F`?)|9k%Y-_M^QML&N+RfBB+Dh3E3pdT0*fp#rf!j_o$ zUs8faP3>oG?f*A#7{O)(oeuE;(0C>wVqgFWAQqr4|9E)*J$m%5y#o|bz~KAxm4S=v zKP&4$usU!k0b}RSKS4oYgaHH)%c-;9wWL`3={r0|OreK!5=N4TMk7RCwBA z{P_JV0}}Z6?;n_iu%H+Q{s1vR05Jij`8c?M=-GouSI=K${m;n9!7aeW#m~(x$j!^i z%zXLG*~fS9it_V|2?zl-00a;V#NgMjUvJ&I^~3uQB4T37ii-d5-u?gQ&wmw_XD?o^ zUAsm=P*7M%NJdr`Xazt3fo%By|Nn;%AAbM-ZD?YwEG7BBxA%WR!T-FR|8><0Vxn$d zUT@yKdH&)BP#Mq$fB<3y`hl076R7Rgt5;mSyo`Gea7>-}|M%}Nf0%y${3VbO@hKwm zAWK?W z+TGp#<;$01Vv<1pdP-ancZ!Qkd3bmLHK?nrgX5I}Ab=R3zkQ1wk#LIP517FKVgLC9 eRt>}e0R{ktF&Q^6#MUGL0000@P)xg`upqGzh6Lx zERQVE2><~E((v!!|G%IA{@M07EI*V_ln=0RjjdN{oM|h)7EO z{{7?6U#34`ML_iD4-=RKMg|km5|FijfgS(|AV#2u+YAh13=HqUkqe1m1{eb(!T=Kl c0)PMm0G()MDW>>^I{*Lx07*qoM6N<$g4p`a`Tzg` literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ky.png b/src/Icons/flags/ky.png new file mode 100755 index 0000000000000000000000000000000000000000..15c5f8e4775b2b68e0360c1f4ff1f37e61611276 GIT binary patch literal 643 zcmV-}0(||6P)0{QUt82Kj15^L?rd`uqE`oNxjFF#yj0 z1e^fI2i-9Q(8&Vs@%;Dq2on+Z{QuwM00sm0@b~}!1OzrH#hk+X+Tt}E6bb+U_yPbi z0M7pcvI;2tA|wYPA^Z*x0300&EGqR875n@A_WS?(`uvdQq*oFTSt1&p=b-!h{Qv;{ z0st`p&i?}PGCBeX39IA)-~tZg`v#`;6$Tz2`uqI%`ThF(|NnA-^wR?L!uSAshx_~g z0000205Jg0{{tif814-hz}E2g`1#%M`@GEN)${-9=jr|Z1Nim(?*qH%B39iMC&AR2 z>ggNf+PVUWW##cF5^jI~{P}h24a1+`jKBZ?zJB$|uU|aB82|la`WF`1`0wBUe?VZ- zRnf8uXahh1u`n?Z4sYX?@pO{;x_8g;0tl$# z2T+})81L`j|Nel$KOpz_zrTNegN!(Tli}h6pb7teeq#K~3=Aa(fB<4-V9 d!wLWb3;+YKCC*ol*cJc)002ovPDHLkV1loTFLeL_ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/kz.png b/src/Icons/flags/kz.png new file mode 100755 index 0000000000000000000000000000000000000000..45a8c887424cff6eb0471f5a1535139b965e241e GIT binary patch literal 616 zcmV-u0+;=XP)g01!ZoKn?Fz`<^k#?O_Q1 z`=8<8e}=z6_5c2{{QvRuAM+0emcRf01JR%V|9}7gKjGLHfB<4)U|@L0AiL;yFw=jq zasNSbGXHKG{NMlfpWxpAK41Q^gEaj6FV4=$@arEy05LIu!2gi{Gync$`1$|;-~a#q z|NCw7f0xa__4fbPn*ZDO{onuJ|3JnA^#F|o2q31v4F4ql-&_7K9cVD)|KCjiesKSP ztM&iLe}uy71TZ z|DRv){|H?Bqoe!x=x?wkfBu3(0w91`fMN3Vzue;gQUCt^|MZVr;{RRU{|DCmOS=6} z@%2BU5C8a_|1a6~&;1YB8$b;J0mKBvKpP_e^#OhS_CN2(f86)~DtrE)Yx94t!v9OT z|MTDe69TJd_zQH>zdry01PrBrQvYt3|7!q-C@@&>{!_XBPnqZ6E6@K61pYml`M2uu ze+NdW22lI}1Q5_kK)3wPV4bt}e=;a?{xkdrMUmL?|7pP3c>kYY0b~&4U$AjN34j1% zWLW#P{SRLy(>r)v0s|Y${(}_LK*N79FfcIy1Q-CnX{(%t#68R664G@6GIJN-*24NrwB3rW+v!ydOp^Ef6{n_)(btIFVjHa=pdp6)} zz^!@$h^2tpKUmc4)64h&|Ni?2LVth#{QKwk-@kwU{{Q=j;qSk{fBpc`pWlD@C4}l3 zHUR_xF#yj01d}3g9TFqw{rUX<|NZ>{`TG464+L38761SLpR(uO=J){s0Q&s>`~3bJ z6bIb^kphT`;m^O{e;I!LWBmP>@yDNkj7*H>@iN-VTtHNrD96Ue^ySz8pMMxZ=pRTg zKmaiT)&Bj@@b3@E4ZnZ>72sjw}n?8s2>T{qV)lKMV{%|NQ?241(YPff@h;hz00Cp!a_N2HF7% zr}y9gR8D)C;wJ_Sx5=xYz5MWpi4mv-=yjk&KmiL7K#aZ&_9^w5@1DH=3l15e)xUl~ z-0=7B?|)4HL4sh3f5LL21siGr0*GY=!$H*K#ZR;BJ~dv8zS`wDeeIR3;>1y|KC3hK=RLTAp0Mf zWcc&@%EC-|_DIyI;S5 zZoa(f#*3@};Q;9GfBygi2&4h78pxV*WHQhn|Nk-k{`>pa-{0-~I{v`b{|EZ(4?qC1 zz%@X;G0|`0)6dV-R;K{9rJ5v|%9;KB_nVP{8R7~c2@pVx*BKb3t8)H6dH@UxP=NgY z{qNULVEFv`^^@@rIK+N~gX`}f7I~!;+fM-m5DPFa{(t+%C?E(7W+q^;{`t)a3di3} zzd^yz010JK%>4cT^&8LzfB<5=h#HaqkRlk)Wq^@D01#jR5K~0vg#SK#00000NkvXX Hu0mjf%Ubyh literal 0 HcmV?d00001 diff --git a/src/Icons/flags/lc.png b/src/Icons/flags/lc.png new file mode 100644 index 0000000000000000000000000000000000000000..a47d065541b0d998da832e1981b479097a9b36aa GIT binary patch literal 520 zcmV+j0{8uiP)#-NSZgwz{Qh@GSmETWyIzrrS!pkkqDDw`CEYY|A1Dxfxke?UP9EWUlaZ{K@! zXYTRdfWyFioqIm+xW_M=V(hYvbO?~5ZHkEt37xh?rY1@PqM%`P+i2w@_wXJJO#nzA zheNt~+w1B3H|fqGMx=x!lms6SMy;uqQ4R``NH&49%B_cditsDHI6DHXLNubec}E0~ zb8dy|txA`rTkZMN{rCM3FV`MqlfuwZrz$X1)+?ntF|UvTkD3M?FxSaem74ag}Vzy5sA+`s~GjvDl6>(E?=UGu{=w?r5#MJIwhn?GrT#s zeRSo}v&#TUmcjL&mxEF>2%EIxN+SI=O=izlM$T5JH;yv-C%^zTfK|9CLa`qJ0000< KMNUMnLSTZ|5$YcR literal 0 HcmV?d00001 diff --git a/src/Icons/flags/li.png b/src/Icons/flags/li.png new file mode 100755 index 0000000000000000000000000000000000000000..6469909c013eb9b752ca001694620a229f5792c7 GIT binary patch literal 537 zcmV+!0_OdRP)sI{|q~>>TZ2$qp!tjsj_dmuxH+6SkQv+K1^Dpafp!@&+{r#8W&u@@le*a|z zk$)I|{ss9HAb?mjKkZQc#wYOgBhb-*|NQ;?=l9<~e?U(E{r5MB3DgSYf*4|4g1Z=I z0R#}sfv@v<-|;cLeDMG8um8XQ{Qv#?|LOa4L zz5|hefaLFgf557NB#8Tm`R|`M3=9AP!~zPVKOloaN+E`UP5lQo8*B+s^WVQre?jpA z5I`*dz#16EB$cmd~05Jg0{{#R40Cvt10RRAw z`u+d`{`)-+^5ON`yb$y0|Ni^@{rvm=`~3g>{0I^G8ZGb(2;2e)q~Yi9|KETAVEFqN zi2na)xwe&yo%hS1uZ%yx{Q;WF%<}W+mp@!0-yWP|m)B$h2q2(_|NnsK|6hiGKudoE zUGn9{-`6*oEmQ72y~rUb^YQPmzn@?Idwh=T>wA{p3V#3shzY3p@87?_|NZ&@_cy~| zpmRZP`1kJ@JI^@8AFa{s9OeCZO+ts{j1?4b<=-Nd5zA z`2GL?FD{9%H@9*#{QvEce@o8hC9n7wpg7QIfB<3vS^!iHvfyK-U8V5ZH#le}4S|yXQB^Nt}W|`Q?5-JjKDn&hY;a$Df~n9-WqyG5z}b zHWMS`AAkU20!9tv|KD6JO#c`e|FbePFfi-*z4`Hxjg_16|9{rM|5*PsvHt$a@%k1I zzvO#v;hz8j#Q5o)BT__yf)$AVfxHBa6HpujodJ?%_y>%AV59*A7yy`5b5c`Z!JhyC N002ovPDHLkV1l?nIh6na literal 0 HcmV?d00001 diff --git a/src/Icons/flags/lr.png b/src/Icons/flags/lr.png new file mode 100755 index 0000000000000000000000000000000000000000..89a5bc7e70711575c1ee3b83cc2be7f0e1fb29c5 GIT binary patch literal 466 zcmV;@0WJQCP)2Y|A4{o z-@kwT`t|eY&mTX2eEM}Kp+i!_T03wQQEla((gZiC0cs^;{c3|jAkj>009Kl@aN){ zC);;k0UG-E&);Xo*&wq)roznr3pD=Ezu&)DC1p;}S_BY4jKAN$W)>8Nm;toyKW@Ot z#Ps&Y4S)b*xg;zq)7SR<*)x!NAa?^@4{|ZkY%l|8FPQu15397y$%U%{0*LYZ>zAxx z8}J(slm+_X#f@tK0mO1iR9wET{^!#tU}GSb{Q3uSG}s1+e?a74b~(9Y%Qpf95aZY9 zPuWDo(ENa58%O|%pI^NU5I`*FB&GkLM&}>Ys6}P~0YHEO0B+J}4VS0Fk^lez07*qo IM6N<$g3a05u>b%7 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ls.png b/src/Icons/flags/ls.png new file mode 100755 index 0000000000000000000000000000000000000000..33fdef101f74e38e2422bb85dc8a31bbf1da326b GIT binary patch literal 628 zcmV-)0*n2LP)NT^udI6UX~&u_xA`izWBNXkIq%g^6Y%Pu{8|3yZC zlYxl^Ab?nacHcU-^!@XD|Nj5|`r(zVwkHE4BV6^xC+~{3+xxCp=yQ1PA~B|JUd6PoU1p;PCnS`uh0!`Wt}y4#)fi z@&Nb%0tn=Xmv@c{N@*}KFh0M&kIP1>YRmQG4?lbdn);9N*SEXB6{h}Te)Ie9Zy;d! z#Q+chF#yj01pfa18Ye&*C_n-K{_XVnU82h1@caA!0{i;;`V*Y{7}WX#^!xhz{Qms? z{`>&^00Ic4fsvW@|G$6Ruf6C#{P_EiKfi$f`+Dz}{FL7;Z+`vz4fMjFe?Sd?fe5Gp zAb>y`UVr&E@!c&!7K){sO`Ozkh)melY+9 z5KGUl3lpbYV0iHf6xF}JF{n*t;A3C_dhHtn&^!?O1t$N2Nj?UE00RIWZBXJNY9>Gc O0000 zKY#!H`S<7dzuzGA_xCRl`Rmu;Um!M^l;`6=xPSp5fLIuQF#P%V7sv;y25A5(1xW+7 z{Q_w~Xakza@Pz>&fLMUe`uqRSpZ|Y=>VQIE8-4+ehiC(l5cdDyKm=3_5I`(zTN!l! z|Nj0Es0O49Xx6_!5M^MM5b`fj@gGk4KbtNx00a<=83P0Vn?HYFf{Xx4|Nr&tKga?w z11|FC_y0eCSvdcCFfafF5XlYnMRN&=-B{`>{W0U03nA0WvHB!TYz`r< y{$OAL2q4DW;E4VQBmbdt8IZ(*2pDGo0R{jiB6maa(%qQ=0000! literal 0 HcmV?d00001 diff --git a/src/Icons/flags/lu.png b/src/Icons/flags/lu.png new file mode 100755 index 0000000000000000000000000000000000000000..4cabba98ae70837922beadc41453b5f848f03854 GIT binary patch literal 481 zcmV<70UrK|P)?-#?r-wgj45C|ZESQtLMVW?~Zs{a4) zALIXj41fOq2a1uNeOQW%&E= z|DQh$fB%40fEE4z10q3;-;ClCKpOx8h=su~@}N>;ErcnO|V^hXG82+5i4Q+5aFU0|N&GK!5=N X;lz1sunOP500000NkvXXu0mjf*7env literal 0 HcmV?d00001 diff --git a/src/Icons/flags/luxembourg.png b/src/Icons/flags/luxembourg.png deleted file mode 100644 index 70f03280a6deb99142409f3803697dc865040b50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^5sg7P`6#fBygfpP?o7Zsmy@+rx>omMOJKE?$|jBbtHX YkudkafFFA@fQB%5y85}Sb4q9e0B03FD*ylh diff --git a/src/Icons/flags/lv.png b/src/Icons/flags/lv.png new file mode 100755 index 0000000000000000000000000000000000000000..49b69981085ff54568907cd51a56a1e5d8b01ada GIT binary patch literal 465 zcmV;?0WSWDP)TuF);jrk;v#5jAUY900)zv`N|Ns31p}&9s{rUUv@1OsF{`>=? z-@pHYNg(_0@82^wZ2|}&78a1v|Gz$Y3Q`J0Kshi8lm?N%fQ(=Ne*FS+xn*U6mIDM3 z3(!4({{8=rtQsf{G!?8Agn$gN2Dab7KQS->1Q6rPlP7uPKoY|E^ZWmwzrbJwx)~sVSb)*-|Mwp*NlCCVfB*i0>4ZfB zFhYR-gakS;`Tzomv6O+~6D%TsAw}vh)M$o8KMw-~K!5=Nd?C`~#DJkl4QvBtQTT<=hAW5C&pkLRXaMS_oX@ePCublh%7`S0>4^BHJ{X z&jSWU1bzAnAdrUt4F8|~c=q?-U!ZD;3Wy>I`UNEa{sJFg8g4-`_wR00IcC z0c`wlknw+DNZ2$-$7NDlT|NlUo0ap!i1F~k2r~my1Y5)izkcK~h z{{rRU9);Krw*=%9uq;py&^Z7B1lI8X4~o-~jQ<6)85pKOHYf~%iU9%$qyZ=)&LIKv z04P8aRsoF!DgoLL3cdee4gVMb0*H~J5hWs_B!uw~i3^Ex1_pot0|0+0kn{N-xWWJc N002ovPDHLkV1lkWn<4-J literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ma.png b/src/Icons/flags/ma.png new file mode 100755 index 0000000000000000000000000000000000000000..f386770280b92a96a02b13032e056c3adfebfa18 GIT binary patch literal 432 zcmV;h0Z;ykP)@|4`Xj5kLT%`al?B=W5I`(ov;U*0{`Ko0*gOW1x?dnY zU=0kve*-lD1P}`lGXhluRs8wG@Eb_}{{H{>S-s!?{`@vR^^5K2FR(pO4M5WY0*DFZ zqCZG(`2G8?)UU4`zrJw%x*-cw4MBhY08Ix7Ah47E{sH^x7s!U+ztwL3`tbkv-#@=J zum1jzWCJ7ENdN%^b`n?!Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L004Oa004ObIJJlp00007bV*G`2iXe` z6bmhDQb-a200IL^L_t(I%hi)RXj5Sn$A90=?TvXPffkoETM{{9C9O;Llv%27i*cALP-qjksL~hT*`p z6iicr#qS8$q5Z0N^t7ri*whcGGF&}3MM>8e6b%Geg6)w{bo=w18jE2X4itw?c^77Xuu!M5I65)XnronDVb0213$sI~wckJwxpGAS9g zw@B=YOf+?9vMT1ljt-8-d{m6u<6^dBZS$AhL@|4`Xj5kLT%`al?B=W5I`(ov;U*021*0XgD3^5{teN< z@cTDV13&<=05Ky_HBiN$KMcQtBo?#b8i1w)1P}`YD=UMn?0*)P|9^oV_=9jUlG7n1 zgOt?2g9iZui1GF7*Fr)<|ABx33~>V{CZ_AxuLA@S%fEmBAbhajaRP`eP%%INfiyrk z1T_G`pFe*90tjjYTn_{=GBPrt03a7C3lKmc4KH52_yY$2zyM+rgbiXafFO_o^aD@| aAix0StzUbk+v2SN0000M*00(~<{@!wBU}0eR!0_)M!#^$%c|o1wA4mpD0t66HlA)zv9Z3HD2a;wKuKxf3 zKLhV?#{Ykr|9@us&njQ==l`GI|Ns8^_xsQFIm-b82&94GKf}}4zyJRI4@Cd}JZ511 zyk#BtzrVk|eZKww|NG~I-~WGu5Q~)bF9rsH0Ad2#1T-6>`p@704FCVWdiqyE_S>%? zzn?t&`v3p0|G$6zgQ7n`R{;bN6VP4%{xkdmsRoGvjXbc2Q*ib#i+$e?>}LD_@7KRy zzyJOE_4n5=pu>QE00u!g^X8F}1){Re7)$pq2>GzRP>hz5WF0{Q`{ z7%1`&WXbP;Kox)fFb41M1d2p!76A1_RfAN3oCFX+Kn)0M$tdvjY9_8yH^9QVjn@nfZP*{rmI(|3?O9b~d@cVAX$tK?&3V z5I~F!3@gDg2t{v?r~d;6^$&1NgV7;ZP#i-L5C8-i0C2iwRaxXp%>V!Z07*qoM6N<$ Eg62#MXaE2J literal 0 HcmV?d00001 diff --git a/src/Icons/flags/me.png b/src/Icons/flags/me.png new file mode 100644 index 0000000000000000000000000000000000000000..ac7253558ab939481a85cc06dcc4d73503afb9f0 GIT binary patch literal 448 zcmV;x0YCnUP)l$FJ^m&#tWvBA4C(n)b76qu^ z3TjKJi*u=MzAs;^(tHqT@6cZ|8AHxz+0T%zR}I9mkc`8_`<$ti=`o*slAtiVuuA_Hq>y8zi()JD_ zE)xVeq{T*{LJf7CjVaO>DSXzij?F*MQnr$$vJxHT+<> z_g2(;wselTtQPz3k4#lj#Z_g8lJ7p<`ti`wi*nz;z6Pp@6}|rX#}%>sq-34e`&mbr zUzFHel<~j(#b{;QC#Lu~Mf1AWk1uRYR}SzAragN;p@#3inaS$uEuOPio-`4=cHi7% z1q-XXyS1@z!DpA}wyrx2ycOe>Bo8Wy9zFgjs59-tqCWx7+k;cWr$jX(7_(n(kJOb9T*7(8A5T-G@yGywo%l%691 diff --git a/src/Icons/flags/mg.png b/src/Icons/flags/mg.png new file mode 100755 index 0000000000000000000000000000000000000000..d2715b3d0e11b3a92c4f33cfad6b4f3488d0310d GIT binary patch literal 453 zcmV;$0XqJPP)faCz48MN^H2?$<3((yN)j;^`52o304M1f80R+|X9}Iwu*X+N)@cjDs2c+lU z?_dAGBv9wyKfl@e{~Tjr001}1@4rADVDj%Tpgtwu-=}^u z00a=o2DtG+^6#HtKYxRyQB?o^{pa7Gzs!FaUNHa!5W-0i5^f%h1nT_t=O0kRUm#-m z!vGLKP#fTS#5u+P{rv~@0nkXGhChFS;q~V)5d8o97pUPE13&;VK7Rc89~k`k^9M+( vx2Q8b0Y@nl1JFDW`UNKcfk_?)fB*vkB(P&2-J7g<00000NkvXXu0mjfGX%sy literal 0 HcmV?d00001 diff --git a/src/Icons/flags/mh.png b/src/Icons/flags/mh.png new file mode 100755 index 0000000000000000000000000000000000000000..fb523a8c39d40401b9abcfb144a73cbb2d76b286 GIT binary patch literal 628 zcmV-)0*n2LP)qpJCu1p{#SASZ=3QjbPhlO05Jg0{{#T~{M_a8tGL(@4F<^6===Qr`uzX+`vVjI z>RSuFND|!tCprH%UjG&-`Tqfgkh}r_F#yj01OWa1_W1j+!`}P+|NQ*@_xS<*{r*D) z#ao8o+xY#_%t@QS?0~yfBW+Wj{_zyJQv%*f2f%)|)v=^uaq0&4j6{l|Ybrbh`TZ`2ITPyN!~wBya;Q+wXO z|N8qsP{n^H7N*~zApZOB??0dhfB*t%@KJoPW~Y4ZyXB%oU++J<@%!g5F#%3te)iws z==lAQ0jwGr+CT&T00a=DyL0x5XB;1||6pKv0FF^K^bd&vjBEyg00RK!=O6aq+V@KU O0000p}y_ZxVsQQo9l8qD!tQ%&&F2zEbEdU-v3mY$p-gb*;wwp?LFG<9EeNpZLj7Q z>zeacpNZ>XJG@0bcmXcALo;Ad(L@#C92p0~G#aM!FfF0T7^YIJVVFaIl|0gRpSyF_ z@0dgJ{oT}qqUk#4;-a-U9Fej5EJ`tIE9)E!qDfL@GEq>vEDI}q@P8EmenIHxu!*Cc zLK?@%1j7u0A`mPlm`kyT;5daWs;EH!+LV0IWO0Zyj4+sHxRqia#e9ki#cu?^6YQn9 zOfZ8&4uw%r9nR_}FG?tJ1sBpnAsdGMh7pA$Mlm3ABvgz9aj&GrxaT8{1^YB+UzPEM zQQ5*0;(QnblJRNh>E*%16wccXl466KPu9Lk=M%$}%9~Z3xs9na6KbZ+^U;AoQ+JVg=BO3kgY$Vuu?iP6r(sQV=EH;Iwf|hcN2Nd zPl_EfW;$kS3zh=H4ojC&X!7Bd!`~OdX{VxLp z5dC3f{KL%rhe`hT|Cm4jfB*jf2Sk3^vlaWpqpU2@27mx!VE|eEAE^2d5dHlPWd8sE>;L~hU=6?i|N8~f1J=Os z`!`SnKmdWv|I6_A575egAcQa*n+Bj_fB<3vdK75(@4vtQ{Do`yh0yRHtQw*LD9^wE z5I`Uef5B$|`u7W{2T22%M6!Vq>?D8y0%`dD|M#!IAl1MB{`!Yz!@u8fUYwuxex*z#9GlH2{4I3~mO10Ac~g+V6jVB)KI)-uUyEi4o|t-;5vX%A}^sE-TCS?;peW@7xO)zGwLT z>;Lb2Aa%cf{|B;v0lB{!Wo3aj00dxJ4sHN|VGstA{YR$4C2D_2_!cBcz(8l;%*ju; z_5-pDt^fjRVEX=(;rPk#zkV}({q}dw+K<0~Gco-B2UY|%8?FIpIzRw{{P+Lo&pY>j zzJB!i)2Bb*-v4F%#qjU=2Y>(qX<+*Ohe1*jY|LMVKOmiqU?UkIBoO`m3qe4|00G4K6*VFmu*EK13J3rK Z3;;9iRuWt9^;rM_002ovPDHLkV1h$@)rkNA literal 0 HcmV?d00001 diff --git a/src/Icons/flags/mn.png b/src/Icons/flags/mn.png new file mode 100755 index 0000000000000000000000000000000000000000..9396355db45a8ee040c790782209868acaad4b85 GIT binary patch literal 492 zcmV@{}>pU8D26lh`@M2^zAEy;6E4#hyVhJ1te8n&0xjw|I|OmAOC9q@qGTx`1kMs zKYtki{9$JJ&B6L7=Kt^CKt7QCvS|}Q0D(0y{Qoccl;O=^hIfA-|M~k7Bn3tPfBpOS z`}Y4|zknP@Sy`YB00G1VQttboLEtY##9yH3?>`J++5f+PL6rRiQNLgu1_potVgX{t z{eKx$|NOuHhk@zOpC3@OA=>```VZI207MK7009KDfg$woe}>=xgMa@Q`TZMV99$1f z=+7UZ=>P!)^22||KmS$!{Ac;a@cR$YT8L7JY6c`57{N{g2q3VN{s9Bw7X!l|paf9r z=TC&I7$7zP9Rm!dKY#u(FaQJ)NCWfVKmVWoW?%y` zm}dTA_#*kA1?Z>0QqoLZAnySq0pv->KTM2<4My5DUW>hHBSpkmCRUfavf4zkmMxWn=;={POe9 zpZ~vq|NHajABg<@_xGlmn*aic1*nOE;s2AbPk~B-;NSn>+$?|p{{I~>&N%tu*Drs5 zfBO0B*Z*HY)v`RYKsx~fhzW>+Cjb5S_s>6&>Le+qufKnBv&bF%YWVBlABO)w3uGC7 z{rLq%Ks`WL0R#{e(EPs)fB*akI^_5N|9=)g|N8#t9~WuY61}otf4Tqs`!(tD7m$X( zzkdG%X#fZyCZKPCW&?Et`7z=QS^~DI8Yx-=nhgK{7whGvYgWDg!B8&G1k~{7FHk81 zKmY(S0M7pd06qXVA~x>%?)v`v$?y7WENVL!I|c#<=Jn<;5-<%03=swpg4MkH|N9RH z59P$=0*D2u3CIB%01Ag+CC5rQSvY_G`T70NcNRvLcR${}{{9+hIZ*cRKadRo0R++j zv0Gk5I)>DQ+oULEUYSww-@{VeP#&z`*?j4i%tcfB<3v#u_k;CAlSmszIWE zes6rZ@!!9HKqG(r{Q)GE1e8GG4GeUkhF=T-0mR5q%E0gm7LmVTk@^EErhg$tKMw;y afB^u%K|axUkwLit0000qX z*m^TN3bf6?xp()9<8B6z#3LfIlG7*NvY#OTa{q=6o45MuuyD6JyPC*tKlv^~V&iVx z3k|NzqMzNZOq*HmuElmr=+&K&qSn_XnW z6W`3uD;LyA9KQOF%{bY!TowD`2?i9nKZz0AnpUe2A@2E_9 z#MKt+YwwcuNc5znON*_%M40LH->Ty7v*+wFlQH?6^3l&&V9N6|MX$NszQ147dLnk_ z=ZK238V@Ixy;@Tm7BJ1M^W4kP_I~r9YpzYHiL+ccI@K4gp8w}RIqP)p`2X)eQ1zd`|Kz0p8A$%R z`bTZnZKVTj3KfeK`2Ky*5B&e@&)?sFfZ#7s13&;VG5q=W=RZg_5SU54z5Mv&imk%` z|FW?#NF2HHZpKX|PKHOnfBpIO`|qDW|9~0*0*DFdzkh#$Hv9ux`j_+Xe->2}ZC)XM zHV0!dKPS0Ur}$Y}|Nr_6wBa96o`K;HKmdVl_zUt7(16dMgtTSeTz>rQ?Z?ko?mjsC zklD%d+V79-zd^=BZ2$-$7GT%`Z2%eY=kMmT9MVkp=Y%mFes6g9+4CZ|=Y~?>`*tz_ z9Sja7kOqJN0yzojravHW{k?SeQ|&okK5=fKkARLe6n%c?uEf?;0ubZ>f;9XA2p|@Q zU%!CHiwJW41sn7GB}e}J|9v$?qW1mmH(Bw2pdk4RbO%twKY##YWMEE2jz}>2 jgG53Y5Cqh~01#jRFwa04;J&RL00000NkvXXu0mjf4K^ZQ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/mq.png b/src/Icons/flags/mq.png new file mode 100755 index 0000000000000000000000000000000000000000..010143b3867f21e7791b8254e806b325c13b2895 GIT binary patch literal 655 zcmV;A0&x9_P)$g8u&g1qF5h0Q6aJN-{1Mbz`Ie0O|k$ z{sM@ZfzzR@(T$Ir&B098+eukMUeMl2+1^x^fq~&CAE%jZ{^O4ipMU-bgNM&P{`mQajg9%ivrm#DT>t+4XJGgP z5I`&pzyAFG^Do#{Ra%^vg_(hwneqG2-w+MozW@IH=Wj)-86P+6=Wo9l8G*Kb0|+3- z*{jc+=}JF+`H7W<>HmKQUT#*P1{)(8poaY?9|3*x^4(W97N$Rc|4EDS&R=&5Ab=SE z{{73y$Ox4F`Rgyx2o@H`|EK_{=f}^#%*+g|tSlctd;ka_mU(L~nd(ak@UpY9GCq0n z(2rN05Jg0{{a96b$W_S@ACL(Rxa}M z`G=gy|Nj54lTiQv|3YG^`}+MH7z}h_G^4TA+~V=RqI&{}iQ&&bpkF?J{dw&CQ*JI+ z5dlsHn4|vw{rBhJzZb8+p1k+fF;B_XE! z42<9q0s8Xa-+!garV_&3Uw`~!Vgv;%KmY+HvKbgYfiyF)F);jMVE6!x-Ip&{0DU4U p=>-f&1_my$6wo1$fFwYG0RX)13*@;vt7rfK002ovPDHLkV1lt{Hh%yB literal 0 HcmV?d00001 diff --git a/src/Icons/flags/mr.png b/src/Icons/flags/mr.png new file mode 100755 index 0000000000000000000000000000000000000000..319546b100864f32c26f29b54b87fe1aee73af21 GIT binary patch literal 569 zcmV-90>=G`P)rBb0vs`uywH-=91j zzd+y*NDt6q00G1Vbl+cwzkmM!`SbO+m+YTk|9<^u`R%^_m*bXSzgT|#{QE0P`4>nh zQ2ZZA13&;V0loO=-(MgHX#3gMzn3`u{`KzHucyC$Kl}CT<*&8wzt6n|ss8o%*Pp+C zfTjZk5DUl#p#T2<`NjV0^vyqym4EMy|26&E??3;3WoiC?{O#A4)4zWSfZPMI0U&@t z8bCe+8UPFj-d`E(e|zZv%GLeN@c(z$rC;+8f>rHtN0D&|BIS>OtI{AOC zx$tZGDUcCBkzc|7XAeyp!)#=hy@sHz%Z8Nmi!G71?uGb{rk^vkcEsO8W!D1Ad0T=%Vj%gtVfB*vk>3V2g53(}_00000NkvXX Hu0mjfpCtxQ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ms.png b/src/Icons/flags/ms.png new file mode 100755 index 0000000000000000000000000000000000000000..d4cbb433d8f9fe49f06585dc46ee15593e3e621c GIT binary patch literal 614 zcmV-s0-61ZP)w!6%f1G{My^>{rmp(`~Up={s8&+{Qm#<{R63-jRF8M0M7pe zp74|h+7SfEy9M#{{`U3;5)b(M0y+2j#`QMv`vWF8IQ;$o{QUp?{QmLR&;S7V0*Gk~ zkHv3!H5OU9Kb*Y(q-ELEH9vC;U*%N({+r?VuV26a{F4-VqagC^H&EN}zd$De1Q633 zj~FHafsLPJA96}RV-#A)X~v?X^MOAye@1K9u&05Jg0{{zeC zH7h(V@9+2F_Xpti2mAc}=j!&)<^S{h0sZ;_Q7ob~2($C-{v8Cq(%>lF*}4LV2^e-j zV}AbzqQAd@=ogUu2Vs2v^{02G<;{1(|2aQ(EV23Z2N=G800M{wXv^O}|A7VrH9+)$ z7=NG)mcRcxm)QV402KN07wDuv009Kl@CPU%A;t|Pff9c}I{*Fo2PXf3L>PYm|M&kd z6T{yxzy1Ri0|XEw14AS%MzNxQNDQDd27mwq0OfZ^Ej7^!+W-In07*qoM6N<$g6Gg9 AMF0Q* literal 0 HcmV?d00001 diff --git a/src/Icons/flags/mt.png b/src/Icons/flags/mt.png new file mode 100755 index 0000000000000000000000000000000000000000..00af94871de66cd0fbf0ca8e46dc436d66e2f713 GIT binary patch literal 420 zcmV;V0bBlwP)Io>l+&W2PtRx|M&0z2M_*#`0)SN z@BhDl{r~j~sG3n$7H9)N0I@K!uxMy#e*W?mp&AJO{R1fisrv=e1J=Os`!`SnKmf7) z1AD;K%nYO&458rnZ>;h=xCZfJy-Z2&4h30>ylo1|%C8 z!A=4QAQtS#|N9SD2R9xVP=6R000Ic%Boqz*|DhQF2dLpM!{5I^H2?v`f~*=Iag5B& z3^Fndyu3hzLFn&a2m+c75I`Us-n@D94+enNf~Z%o__l08i(?1?2rvLmwOi|Xk;8TX O0000wT1SlAdCl&Y)$gVg>5qW^#Y{{Qp$|KC6V{`~n5M8AIn z$$wxH$UeVm6F>m5>|$VWV&MJy|4IE<4N06-W9 zfN4+=|Nq*iiwn$Q2C&jbT&$=TD3oCSlHOGFpRx(;BY;>KBo9alsWSh04>T2o{{H<9 zq`@}){__Va_~#GM1}QP2gACgN0*LYNU!Z^U|NnpRpWzq7|3Cl#|Nj5~7gmyqN$LIj zQvdWzhA$B4g=Z%5I`U&fgJtk z_g|1x{{H;?U6oxK=&at?J**6@V8K5Oe}Dh~1#%?NbbtT?*#Hy-y7l+}Kff9N{$pgg z_WK6Ie}+7v0!uEdpa1{-Wc>4s0pu$NunhnK1op#kuysJ&8U8Z;`FH#0jm^LQ>Tv2E z__*)izhD3U{sq|pR0FmFAb=oF`osMFS8?ijP~d>v`s?4X6Tl#928Ghke_*>=zWoA* zI8ZS_0I~c5+3<%^Qj!Z4rNibE_6+kRtZU3J46>yw zfWS`r^B2emYGC;Nhw;yEHn21ZK^Q<1%m5k+3<-b$0%`dF7h*inus>j>Kov-;VIf zD*pWek$*v<0SxiK|NjEzfQkVEh>@X`f#DO--wX`DVCWAL;}4AS4@`0~00bBSj-y@M TF2~k{00000NkvXXu0mjf^ET$> literal 0 HcmV?d00001 diff --git a/src/Icons/flags/mx.png b/src/Icons/flags/mx.png new file mode 100755 index 0000000000000000000000000000000000000000..5bc58ab3e3552b74d990d28a0f500e9eb6209dfe GIT binary patch literal 574 zcmV-E0>S->P)LFc1LT4cKmY-iGBrkbGB7ay`}g

Nzrc?B z!}RAj&|v@p#KiFL&)@$*g@6D2{reke@BjagZ=QH_|HA5tt#{7v1Ul>guV4Ru|Ni&u z_rKqNfHnXG5DUYvUm)ZE{sF26>H%tC6A=5t#K$G4Eg-G_A87rbKVS#^0WyF#00a;d z1Ca3#WHt~1jRI=eclPL04k1AU{avRH{sTG*Y{UOQAO!R;KmY+XFaVtnvEdic(+vNe zOr8IIc?-17*~$Z`|L?Eg|G`fB4^+g!01!YxCouq>54Pd=FQ6a({TC7tjr5F#2GXxz z|3N{=01TJ^fBykB00a<7!|#88#Ce2)8ovGh$;ikEv=>5x7)(s8a literal 0 HcmV?d00001 diff --git a/src/Icons/flags/my.png b/src/Icons/flags/my.png new file mode 100755 index 0000000000000000000000000000000000000000..9034cbab2c02704b65fba6ecc4a7a1c1d053b6c5 GIT binary patch literal 571 zcmV-B0>u4^P)Z-xKO+5@Bcl`=5c~|G$6#Vc^TNX8-{JF#yj01a@w+002>mTdm0Dxpa1{C#)An)W@eTA0)PNwiNI_f1h_u_DTrb&+z}xv;{Wj zFGj0Cgf$G002ov JPDHLkV1gu%1+M@A literal 0 HcmV?d00001 diff --git a/src/Icons/flags/mz.png b/src/Icons/flags/mz.png new file mode 100755 index 0000000000000000000000000000000000000000..76405e063d43f2f3b5b9cae4f76d9f1c73cea25b GIT binary patch literal 584 zcmV-O0=NB%P)d!0?ZO;SY>NM!#Sr3j;s^4&s;y01$=&U~zyG1R{bN8&$-J2AZUB z{O~2s*67}BSLujJh!l{(TM_&V!SLx<0I@JIFetqFAHVYHe9OP56#xDPD){#oDEIpx z82$bI>))?me}4fPvfQ#j8vp_bq~ZU+|9p&pvv&RstuJJil>ZL~|9}umff)b({bONa zxh{1bAb?oDF)-ZV`m5;k=ljw>l6BpeezVN}{rlPPKR~N~|N8X{NCKH4>bI<%?516t z00M{!=o3jd#=5m)yzyNB8Nca#eH--U&Fe3(f#?+keR}os(@P+F`}Hl*IRF8~0t}ng zTmN>%etWlrgX7)b6MtD}{$cp_8-#v?7>pqD50GU3{f7;x0U&@Fe=;yIS7rUbaG!zu z&%cJ+j{>}Z{{3SByBg&1|Nj_3~Dr2e;Gh>zZrofD5`!lF#Z7{ z2B7#~hM#}`y~Cfd!0!j9&~4{}>qlfDw=_GI6Spo7yiaSL1(R34j0qF#yj00RRApetkm@ z3-<^I`04Bn_xS?+{Qmv@{`~y?GBy}bOB@O2-v*J4|MK+z`}_2=vH}QbDjOT??*y+^ z9PHma=D0k1DE9l$Z%$6;=mbqObq>D1hX4By|NHgp|L;GHwRPtz;{gH)sDXiz;U6Qz zZ)V2dKoY20MNK$ASA+NcQ;z)f|Igq2|MmO7w9@DL!aL%O?v>U60R+_W>(dw3rWqbw zY+vs`7YYhj_p}$}TRP+a`c40T|N0L!J1pWwjPJac>kgmX!|;RwAb@}x{`~&)@5xJE z5fO>bZXLnj?>WlS|KEEGbn$;~p|4%Vx0QJ+&gI^Ic|%b^5f~5v0R*z)@87>RPSSB9 z(mdPNGA>^D|K~4|Gn`ysXGCuKcCvq8=a*k!egj?m?>8{m00Ic8fvd1cUx@iTXM5HE z^H)FyGjo2eEq-FG+;YA1)Puvn7=8hj{`vO@7;-=x00M~R?)3!82NxK-n*V?K1yZeJ z{HiGaByR2;1J+usHUNMy48Q{FH!M8N)Pwp9Y)wTFo81A^+}-HTA|tp~ zO4-IyLWKVGUAVv#KrFzpU^vb8&*4vW%&*_Sfp-5+Oa#jR{(FIy5oqwQKVTa`BqPut z3=9AP#KLU;d%N^MnR|>Uj{MoN{TEQv&!4|iQhqnS=35v13ux)DKYxDz{qyJVA7#|2T literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ne.png b/src/Icons/flags/ne.png new file mode 100755 index 0000000000000000000000000000000000000000..d85f424f38da0678471ef4b3dc697675118bc7e0 GIT binary patch literal 537 zcmV+!0_OdRP)pTI(!tjlO;rIXl@1HV&)cpmDGW-GR z`3+L^2aNvy`v2$G|KGnEMPz|W00M~d>&=s#l8OvKbwEpiHvESG2>tK>|GyyO9|$ut zvpzk42q1u17-V!9I61+pfvQ08|BZwH@16Yr=jVTUlmA*S|6zcEk@1g`6+i&7`~&$E zYA%%V^7j8zTmS$3{hyirzos*?2B2bq00L=%yMh7Y5+V8jy0-s+|NJkm_8$o_f}Hjb zAb?n|yt|^zto-ZmuYW+t0)q+&<<KJ>BgrQT zRQ>1Q-#;J~AoSPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2iXe{ z4cPK6Z00JjTL_t(I%hi)lXp(Ul$3O4;s->IdRBBcTqq0b&;o6}_5k*8$gY}30 zpq+*t@-XNUG%~84*C;v^6w#r@tk`1FA=;tr(2Qi!*r9)}LDqCSP#3w^Ux(Gy*0Z6#(?cCU$VtvbY%>)%u3@v!IO2SDLZB)Q!e#1fl{fNK(G<7$SMZ^VA5 z3uJ|;V-wDNjA7R<&UZXyVj|1n;JY%2sY(MtDl=UU_~`SA(ie$zCv7r^qRXU6 z_4R?OVhaRFK7G#cw25RohtZ&g)*zrQo{{X-%xM%^#%$CwK3Nz*K78^KBUwES%M=pb z-RwRW!Cu;nF;}m7*^vzM_H~qo&KMw3S8Jf%5yuy*MpZ?Tg%YC3H_d2I zFSnv_b6{-teh`6pHRCwBA zU~p!DquG0BzkdJv^XJbWKYo1u_VxSs@1MSW+P$@#L70Jomw|zm0SEvBhy{qNbE|>m zzkmO1v}^=;1(+C_zx@3C{m*wPUMbGM98Q`}5v}3B|NZ&>_xGmUO#lG|(!jv*|H=EO zfB*gc{`33)|Nj{n|Mza|{r>BFYe?(AfB!%K_3?Y%L>Z^l>!7{V2qIffI$#e zz5f4~?wt{_jNwA=k=tvV8m;04hxH1ClNsp|jaD0d_yUND;Sa;#|9^ps{`~n3bQJ?5 z!?D}Pp1*tk?A@~oJ0>vvX8@W7)C|%C)&LMdARGSt{R`y$`S<5P0|@TEy!-p_?>~S2 z1lj|1A`hhCuT1`^U1^@yK06yzfAV)~#?EnA(07*qoM6N<$f^cITh5!Hn literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ng.png b/src/Icons/flags/ng.png new file mode 100755 index 0000000000000000000000000000000000000000..3eea2e020756c41abf81f765659a864c174f89db GIT binary patch literal 482 zcmV<80UiE{P)E-@kt#fq(zr{dlL|rVbPb$^K$sU||3VAQpx%4ArjH z5b1ya|A`BUvomopF#HDspdkBi_LzW}KMcQr|NHa%@9#}BHvt3?3s4hK`pMU)fB*dj z0+88E|KR{Ac>Ck+U;lpn{`Xs!M;2%gKmf4-G0FZ zKmdWv|I6_A&;LJv{(%shYM_N64Szv401;3FKmf4-Jp?oxsQb@fum%PU8~*%)I0>i# zs2CuCKpOsn%?64Bg>X9QKhy?*00Lh)xZD#`v33$e!wuw~|G$AI0?h>~ z1_&UqlR!#;Ll9OQ{s1-n2ZahyF+c#Z0Amdp#**BUAaDHn%gD$G3dPzV3};X@Gl13bFaQJ? Y0MmSSAW;3b&Hw-a07*qoM6N<$g7#LQDb&XuwlP!fzJKM z`1`}(|Np-K;|B=>MS!;cWf13KY+LvSAb?md?)rCHn)&`aU^p;VI>1V00D#b-){yc34R8!1Sqb680000@|4`Xj5kLTv#?55wQzKoX38|NjLffBpXj6#2y{D-E;(Ab?mHL=FGT z$TP6>fK>na1GWK({(upf0nrSU5*Gz(00%w4e}91F-@gjtJbOE500a;V!?RECzy5mt@dro_q~YJM-#~SLe}OeX zNT7y4|NilCvNABd0|+1%hF>6clER!2lYo}|1|zVkK=SXOfB*mf{rC6ZKVbL)odgg- vjKFAPVE6?_e~=h|kVO7~qZmRm0R$KTYszPUy89K;00000NkvXXu0mjfB$dbi literal 0 HcmV?d00001 diff --git a/src/Icons/flags/no.png b/src/Icons/flags/no.png new file mode 100755 index 0000000000000000000000000000000000000000..160b6b5b79db15e623fa55e5774e5d160b933180 GIT binary patch literal 512 zcmV+b0{{JqP)O=a{vExMP2%`MCSoB^FIcLe_%lf;|~%E5I`(IQNh}3Ao>6Q|DFUXMn*>AqQd`w z|1kXd^B;tM|Njjl{{hM0zwd6?1Q0+hV1xeud-4=Wy?p-%sO`^#2S61Jzk!N?s)6X& zzhA%p|N6}=D+{y%Ab`Lc{sL9~1=0UN4*CD*7s%9KAf+JHKs~=eB-8KTKvw|-5R1&; zzd&a|ob(5%^Z$Q=wHy9p13+aOpFRNu5F>N&`Tk_-7w>=n{RejQzkfh&Kn{rf10?_b z{tFTZibx5v&dxav5I~H7|Ney-|DWN1$%1FyagzUW0464;_wU~W1Q5$TW@eGxtUvee z3vAf*8|igK9~@*rr66bh|NrkNM8z+V zAV?>O@ek;bKfu6d000WbcEP)ZUaRJ0UXQnyaU}lE8@7{T@no=3Jj|ujVZ?ICf=w9sNYw#9Sz!(E6o}YNhO1q8q zdhWFDnX%9Vg@N|g->FjwSu()PKF~Y>0000KAO>U2WB)$@6+CBT{3ok>^7H@y{~6FRKmalQ{r8#S z4^Xx6Je&%q%J2@E@iKAb=Rv<(vO+e^|@#56B5{*~0Mg z>UitA{$OPI`~Tk`F#7!u z%=q{3H<BYX7n!%ts-g52=?&#%8AHvnDo=g*(t zU{@(f3Lcro01!Y-3_uV4{%5PNloM>zp5gQNALI8Qf4=|z|KsPsAHV+n`1$wy&wt;4 zfzU5-=mP{0FqD1)U3&iJ)0b~Q-+l7x$B&=CVSxxV`w!S3U{3%6(9;Y60R+_W0~jFx z85t(6Ir{$dcL`zMKcF!E2U7}WK$QOlX#fZyMg|5;)aZo7D4hMD0TloQ7ytwk}@P)zKX@%&%DST%gMqDF&nJ<9}^SM9e)7=i1G97Xij+!pc8>s z0}TKw06GH{9{>J;c@WiqflO8wrXNp!0t65X1H*raF>uuoM}q1_&UQ zzyE+PV}l7nR6|1@Xe}f}K_mmn5Fh~%KtLN9K+(a>4Du5*FzA2|{m;zE0Q4slD+}03 zKxJTefLQ+k0*D1@+|Oq}Kt_TL2e}yHXa<;L{(_vY&wh05Jg0 z{{*4}t^?F62l4F%@9_Wk_yrLV`1}4n_xiEzG57obO$p>A_3H5V5SZl@9UBk;0Q>>~ zF#yj00jE58tx;oDUfVAO7ZA^g)(IQ}Y8G-;ZB^s|2r!a55}@Ef&J{K=uDyPxdE3 z4FCZEF#yj011R$m=m{0X((d>7`QGgNy~*X%==~K4{m|+BO$p;F|LeE!5zX@o6aMwK z|0Cnry8?)1@m-dDW`RF^3@85Z{`vj)H~*iTuYX^D_V?HC|LG63e*OOQ`}ZH9+h%{4 zR^kLX2_S%&fc^l6#;?EsK&pTL{q^hL&)-1T|AVLlN&WsC!*d@f`}fa3pay^dVgYLS z^XKpHUw?lCNw6Z2x?f-t$o}(Zg7`(je_wy{{yg~C5U2qlfPfml0Rvc4oChck)CmlD zkWL^2sNoMV9{$c|wex0wa`2z{-@pGE82$nT5F-OaFayIEq`3SAj@n=l%a5DE9w9oI(Q6o;?Ey zAdrT?A3yTg*!;YE_t&FGSk*xQBO~LVKYsuMhzTgoEGG70+cq{OrGLMF<5CR)KqmnN z5F^kJDrIFqfoA{t^Z)mszkh!J|NR@N^WQHZ-f!>?ZqK&!y&{zFIzP0wn(b{R37FH0BS}Z;-(ZzkW0R z`o;JgO8$qifBy!003d+C8bA*C^$+NzU%!${e*gOW>-S%fvmgwhvw&=%Tb23#oNZ?S z2p~`>{R0^fayL*XP!U2MkOb-c1#;`ZzkmMzW%$Pc5I_(c{;*0)g6#S8SB49$^)FDx zACSQydx0wd{{073{+Hno13&;Vu4Mp{AoLGRCWbOF`~tJSfrb9TxDaUu27mwq0KDvZ UcsT?Vy#N3J07*qoM6N<$f`X&bC;$Ke literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pa.png b/src/Icons/flags/pa.png new file mode 100755 index 0000000000000000000000000000000000000000..9b2ee9a780955566cc7dc2f59ce175f32d3731a0 GIT binary patch literal 519 zcmV+i0{H!jP)|lVPPN>g8sl5Km-s#EI@faK0YA%?%RKmGG2!N|AD;!zX}Teef|3X z_wWCI{=muCn>GOi5DUcMXP^GBIsf;|&;M~|Oj3M||NsC0d;h_|&!7JP`u*?sum8V( z0aY`}$^xwd2q2IKptK|}gRT_Am!FIf)j$AI2PS_*H2ec11_potVu8EfUYUvEKf`}G z`1lE^`X5*+Sm$r%-@k!200a<=Rv$}~=bu-f|Ns5_|IfewfBrH6Nrpdvs+^pde*a>f6qSrfAZn~Z?Fa+2||AuS*t4lqXH%-ra!^K00G3r z@ax~7e+)2nAoSxWko^y??$?YNza~t8coi7j009Kl08{<<|1U847wF+XP}P60U;n*# z@9*{N{$9Nb{(u|?WHSN*&{SqkP0pSkP;|=6L&63i zfEXEE-vV95@Z%rDuRkCLl>P7efnPxL{(%8d!yj-G00Mvj0{}mHT?%@XEt>!U002ov JPDHLkV1lK4=}rIu literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pakistan.png b/src/Icons/flags/pakistan.png deleted file mode 100644 index 16be3bd21f6c11b83b62ec8a35228cd55cd3e9f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 833 zcmV-H1HSx;P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L002_}002_~@#$h}00007bV*G`2iXe` z6bcu#MWEpT00O~DL_t(I%axSRYgAVh$3N%Z``(*OCJyx{EmVR#jgUfx2ub6r2+byL z)NP=GZd{3O^j|1lxG;NLgmzO=SZn$H-`|+JKE=boex?*BSZf7E0Yn4C{R^ed5aT6Czv=kfwKF+j`>TBT z!AJC$Di~u>)$QtfA$aqy$?)JXXGYHuLSUt_LeM}^<%>@zn7%O0fC9(7~fTc=C{tD~i&W^fC1D5MzhO*gLR?+~*srgGog`%^&5_k<%%Tg#ou8%qrCALO$mb1Z8#g73+;R7-Knf;1Jbv6(9VzF6vq$L68XU{&JUFKi=Z( z*jc{2^gUnS`HHz;=eEFO8!`K6mKSR;C@1Bu67>|ca#CjLCw|%K6QmJ zKR-v>N}2z2p6Poxc;0wU5+#MvJ0TDeN=d?#<-fTweV%WAxXJjDaVmWS{PApo`wRD3 zc(#Bb#4awfAjJ%G?}B{tk1G=0KpCrVt=0#clA;|9S!6>}zWs{r#5A zXEfiX07Q}7nnA_OrDJA;^TD?#Vb@d_w#P0evQeR2L8V>F_lNd>z%Mg&I|ag?00000 LNkvXXu0mjfD58Nu diff --git a/src/Icons/flags/pe.png b/src/Icons/flags/pe.png new file mode 100755 index 0000000000000000000000000000000000000000..62a04977fb2b29b96d01ffef3b88b6bf2ff05862 GIT binary patch literal 397 zcmV;80doF{P)@|A6@UbB2E)`X3x9D*gjYK@dOyv49j-R|ARv|Nb!om5Pi12buAo@&A8j1_q}8 z|NqCt{Qv#?|DQiV^2?@8009Kn!0`Y7lcx-S{{qo}h;n3b`}Y4|zksS4Wo3aj00a;V z*zEsM)xUqEs|Es~YOn@|-@kzx00M{wh#7&Zfj0j6!|?mhe@uX+0cadR0D+zK=P$&S z1T_5l12i2VfWS`r`v>f&U-&gJf}I2qKwu{UjsNuvF#Z0+ASnqp<}V}$85tQ7(W#^a2}2+PDh3E3#;-`R r2#VqJ=b;e{^dbb<+Crtk03g5s0zF}bJ8sS=00000NkvXXu0mjfKVzU% literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pf.png b/src/Icons/flags/pf.png new file mode 100755 index 0000000000000000000000000000000000000000..771a0f652254b4e891fc73910aab38967864da54 GIT binary patch literal 498 zcmV3lobsI zohi_A`bB&J!~)dH$ngL7lczwX3_#UDxxarw>LBRX?|;94{rmL`$Yzn1{l&ll5I~Ht zU%nI;6$RPw9|VBf|1(_vbYnFmA3K-0+yDOt{~_StKSoBzkDopP1Q63dnCt(82%zd$ zpFb}6I_2!oo##J&nDhVtbEpQW0tSEpVuGrMivIupee<8UpWZS`Uj1hH_v_am-&g;K z1CTfW0R#{WvT7jw$rQ2Wy6P|4+kZd)xq2}(*g=aGrk)Yxu73al#Db(Bq?4D0-N;b? z5G()RfB&pB<@s4TkY)e;`2!F@EcYcO{->q=ymt>64xqsK^^5b@FIO-F$h{9?`~e2* zUv?FhqZcm%1P~}#|Nj2NBq_=8`#0mCzd$+0-@loGnqiRuWPl>)F9-k?0|XG`aR!E8 ou!#JF#Q1|6-w+1S#{dBa0Kx%7Vg$%BF8}}l07*qoM6N<$g2}Akn*aa+ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pg.png b/src/Icons/flags/pg.png new file mode 100755 index 0000000000000000000000000000000000000000..10d6233496c10e52ead975c5a504459fad68ffb8 GIT binary patch literal 593 zcmV-X0Hv=@BjaQ|F{1AU+wpQ{$Kys{`!CTH>0fVKL!SX0Ad1a`1cQJ=-<7ptZmH9SAnX3 z{Q_yQ`~BbL*ME+m|K)!Dcl`DLKS&U$0U&@t8vg$M`{&P}#F!W*N5{%vzvln`{r&f^ z{||ospYrSf)?fc0{rZ3A*Z(w-2B2bq00L=XVPVP4%$zZO`i8aZ($dmav$E#>{B`Z@ zum6{R{h$5&|A}A!9e(}a_zUO_pbY>4IGm#s06-9cg3a4XeYH!D;D>_*`V5R3;NTtr z%*@^Mq=>M$LXVh`5jChqDeaf800L?F_U+sH_3M8E<^KOyQ&ao$p literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ph.png b/src/Icons/flags/ph.png new file mode 100755 index 0000000000000000000000000000000000000000..b89e15935d9daf25173f89a36d8111824fda5db5 GIT binary patch literal 538 zcmV+#0_FXQP)N~0_Y@w0Al+04@f;`V3_{@|8#9F=K6XQ9UY*azdwKd1Cc)=8bAo50U&@_7#Kb? zFg*PK|H1$NTnr5Nxw#FRn^&xvtbK0f`#-;cuKxpc)t_H~fDExeq6ZmH0|XFI1NZ;` zGXMXp{AUnj_^>}zDz4B$`$1}#7U0X2MOU=aELU!7sY=Kr&1{QvMCSsj$|2dLpM12Fg)7ytqY zsKMy}yX6c^FZ@4woIyZ63`(G)I*8l(j07*qoM6N<$f~Z~XumAu6 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/philippines.png b/src/Icons/flags/philippines.png deleted file mode 100644 index d33c19c3b5bf6b39fd24ee96c0c85134a2f2d98a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 680 zcmV;Z0$2TsP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L002_}002_~@#$h}00007bV*G`2iXe` z6c8oMzYDqm00JmUL_t(I%dM2lOO#<0#((ekePdahZfLoQ7SW~xyR4)ds9n2)puZr9 zsEvzsC?PVF32ISx#l*shf(n|2g_MPqLg^?L1yh-3%``fW=3KtZds@sa3IlCs-sQV^ zp7Z=T&ry#$zsQmL9!5uhfuSh%Q*I_MvolE=uTF5TC5-kosL~l3-t;;NDb8E#rv=-cT&Ek8EeHhlwswuWf>ZdQ`bC9=;_FU zu_;e`l8v-tkKD%@@62&4TSnQsgIJY*7Og!1K=#vZB=s3{{c%FIZS>uEf-()%JSO=B zHg2?=RJZ{*{u<6gXu8@z-h6DZ6DiO*S6u@ht>?JVAK7-jenPotl`#HnpShu@+o zD@_joWNaMgL=$dXM}F4AdSD^KpG}rb2Dkk#Zha#%@e_qv+%0lqFGvra0zmf@D2$Ehwa59REb5AHTvm7C^p_qcBP;4)7Z{DG+P*O1aAb O0000=G`P)`{xe>ko^7oADI06=l8$gn`UeR2p|@S@&Et-|M&0Ts{jIsi2(+HrUEqpC9EW^)CAOaJl^^9-%lBC8BHP081)#ChQGgo zHUI<=3(zGH+B`^Tu)Z%{q{PpYS&%;j+KluCr=pK*_e;5D)h=t+bKO_wx|Lu6N(?HnJ zN6`lu;-7zgR^V0GaA(7wCwqWF2h;!%KrH_l5Kj8_?>EpHKuhXR);;uSzaAK9KY#yZW@T0p zQ2G1+FVF^n0AhUp{`o&J`0?k5YKbbt8;l4>j(9ExfB*vkhsr>Vq>*li00000NkvXX Hu0mjfu=^7c literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pl.png b/src/Icons/flags/pl.png new file mode 100755 index 0000000000000000000000000000000000000000..d413d010b5b097c4e0a4604eba86dad79567ed16 GIT binary patch literal 374 zcmV-+0g3*JP)Ab?mv3iQ8Nu5A{|6C_|Nk>HFfjc`0biay0|+1% z2B@O{$c+Ek03##gzdwHf0*Hl3)etG5lK=vU1?W~rxN0!OqXDP`Ab?mH`1u+7`u;zA z_W#cxhChG)!_n{G|9=A+zrl>(AX#bYe+w4^1Q6Is4VEzI_51&? zUm!LT$@u9L&^Z7B1a=Zw2xL66B2?87%l|Mi00a<712fnG3~)u5+Wr7F{AKw27w8;- z00L=X`u&GNQW9*;Uxq&*os3{386YGO{rw9;K*az7#P}5)xp2gQ%0-g`0)PMm0MPYZ UsK>Njp#T5?07*qoM6N<$g4HXSwg3PC literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pm.png b/src/Icons/flags/pm.png new file mode 100755 index 0000000000000000000000000000000000000000..ba91d2c7a0de26e554979f6351d42a1a4e22de3b GIT binary patch literal 689 zcmV;i0#5yjP)#D@XkmAv!xDMMW8-mEZ&mK%|%B2@pa*J{pUD?(_ahBqlG}*TVt; zF#yj00{;H~{{a8``T70x^5Ww5-{JLFN2dS#-{Io#@$TjE?&8zZ_V@JO>E`A8`2YX_ z`~rx{;oS`3$G61pUY_{!-0$E2{{CbX;QPSJ^3BEStfg-V`n;-q6+;t+Xyw zOy)sS^8$#8OF-b~@87@v{bTs||L?z_Zq~=&zGIaZd&b4_{m<{;|Ns5^`sL5xKflEU zUjXHSP67x3F#yj01nBVe84eEr00I90|NZ{}FelkBB-0BC^O2xB85HWz)f)HsDi#s! zMLEolpK<^Iq5=Rh0M7pb=>Px;h=2d#;^FNBZtPGJ5bKP1n*{>+?(qio_5k|){tF25 z`1Sjqtv%A&PR-7P0st`p&i?}b008M5=kFQg|M&R&{r=?U4x6PnhWa{`B$w z?CApk{rU?E^8f<&008;|hy@rKe}6M^a>=kt2+9et{QJXr>zQ5ua`W#$8JQS={rbi5 z^Ctr{)6XBj7@3%V17i>%fEb@MFnj<<;{gVSbOv{z8Q{qN1r~!u@ISB;HgNQF0R$KT X>6#2<48ze<00000NkvXXu0mjf$fQr4 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pn.png b/src/Icons/flags/pn.png new file mode 100755 index 0000000000000000000000000000000000000000..aa9344f575bc92f4c1a5043e6e7d0a8b239daa64 GIT binary patch literal 657 zcmV;C0&e|@P)$VEDzr@CQtS7ytnPF#yj0 z0a0(~eP|Fd7x&oU`XvhO+V>M05dgm54eRCe)!y3s`vCp^_5Az)`uqj_{QRhrlmY-T z0M7pd#W4OILofm6?eh2PFCO>E*7Xbx0@lgN z0st`p&i?}F01o{F1pxvB0QdR->g@pe`}O_>?Enew{R9F2_ajBO3l7@{2K78Gz9u`z z008^~05Jg0{{!Vds4FN77!dx<`5YAi^1B#F4D8&$5I)oT72fOU?&Jm;1k~m5*82ws z?b$fe$;$!&F#yj01PbEP9OVUy$0!>9?*iHF&;9=9{2wXIjNS}D{P+g={1WdM4-6DF z>gCe?_5uI^`T_tk0M7per>)2uHb&;=(#87${QNQl(a`kw{Py}Y1nctu{`UwC>ihis z2n-DS{QU(1_5c9-0*DC|aR2`P{`;Tl?{DV6zkmJy$H?%Xjq&fFKfk|zXRCbma58?r#f z00G1Tv;`<3F2eQa&)+|P|NZ&>@AqGj(m#Ly0)zk56?XydpHmj-@bfY4J_0oTA3y*x rGBBhgMo}-R5La>+KsurD7JTOOi{nj8aPR46dHj_HMg!m8s zWi;sCo!7S6+)AD8hV<)qUAGhtShC;M-*sSlqqx)(`TbJOGVg$vF?hQAxvXLV(HL2duafWBDsGAxQW8JhI9{RskD={oyG-rXH~~ zGzAGrc`)OE^aIcY>}PZsEiyY-L&1gj^A=*{kXsut*j37YrEF?Kt(L@DxWl-0pFp_C zW9u%5v2LPmd16aGR}_=b(j=L@s<>$-dG)%5%MAxCMl#&)hsL;1o6c84#DWfUnTd>~ z<6)#Yu)C#QxCgCsQ2)UvARmC~93;Fyv{iv)rexm_M{9ou)n7o*okLXEE=05N&W7;! z+_$>7P#XpP*Lj7VII`lN3&G!{D^lfW(dnOF{Cj2UFX*w8n#32B*Z=?k07*qoM6N<$ Ef}zCm;{X5v diff --git a/src/Icons/flags/pr.png b/src/Icons/flags/pr.png new file mode 100755 index 0000000000000000000000000000000000000000..82d9130da452fc294baa03a349ec2e71259a80af GIT binary patch literal 556 zcmV+{0@MA8P)-@1KAF z|M~a-&+mVKfs8*8^zZj?AObQ@tXl^VK#U9w|7)um9zFT5!1JoGnu}M2{r|uJ|AC@F z;y(;9F@d=M{=L6-3m|})KsNsS&&$bh^PO0375Ag3EPt6;7?_!X=sz3*^#j#0Gyh{@ z0SF+Vlm3Z`F-Ar(?BDbM+y#c5od5B%>y$nn=KcNZ|L>nr$AC#T8JS}%RsaMLPy>UR z34^BAe{Qb-hmSD)`~82~jewZHH;sOtVgB{~2T_Lx z^M7~ue_6TzObGu%0nl7VM#g8?t^ouP$PYjMFazDG!uzbThlgL98zlelKgeJZ;~z*Z zSPxJG!?$k$0R+;(`ulr=6P)M00|Ni~>`!`VeZ#eh`fLE8Q){QmQQ=eGY$|NqCtU}^v=1iBd@fS3^8`SJ7r@8ADF ze*C{^(f_{w|JZZ@y#o+HED**2KY#i6{~yEeU;qEJ{Pzp|pOucqNnlF=0*DFdB%s0n ze*I+l{{11(um4^iSXF}z{SS2YKY#!N`GNV*AE2Jys=p_Au>JnK{@0e3zk%WO_xG>A zzkdJw^XDIk{pa6bWqzfjEk^+Y2&CaX+n+VzlIN6JC4s^J?+-}zKcEU=eEj+Q{|`_P zFrfeb|NHmfUxq&n00G3<$-qz^$iN`P!0-!({va{_z!?9)Bm)CLfB^vHpj0t%_B3$- O0000op82)aAGO;3n0AgYI#891D4N?IF|Ns4E{L7&Dm*MXp#y@|U|NLS4 z{rmr)KmTFmmra`h0*Hly38?u0llM=#nEx6H|J4!x{U`A6pVzdvv{Rd?JIrI9L zs`Fos+0`Q4a^C}Q0+k5A1KaQ$>Lf<6lK=vUh2aka(D+|}f9<^YM_B9kC$A?0Z|}3+ z`ptao7t>dSY6f5^0o~2O01!YR8-T_G^}PA>yZ7X8cHUpx=KlJ_{+sC?ST#h$AD{+c zSpNn30U&@_7``$5{_{tYU-I{#-$2g*Lz_YNHw#c5FVJd`!65YaF9ZRd1Q0-s48{x$ s?-&?Px# literal 0 HcmV?d00001 diff --git a/src/Icons/flags/pw.png b/src/Icons/flags/pw.png new file mode 100755 index 0000000000000000000000000000000000000000..6178b254a5dd2d91eeaa2a2adf124b6dba0af27f GIT binary patch literal 550 zcmV+>0@?kEP)~nkZ zGRMDC%7~XK0S0Tx8Wd7-QG59jKr9SQAk|O4{{Q=*0jSzY^rW5C9>)KFc0aM(`^fh9 z|Np=Kfe=u&EDs~YzkdJ$!~!z=-~YcrJO42FE6xsAYGq`2_Mbt_P-yG_e|4Mhx&31J z|LZSE!|%TgKvw|-5ED@OU$BE2n0|Z9O=M(v1mpqrFfl%gR9?uy{Oi{rkOq*RfB%6# z1PCA|pp${Bfd()#{N!P|4fj41<69Aq$E=K>;Tryc4F(7xpbZRv|AD;q^*8I6-->Vz zfB*5n`o{nM2Peo6f5F}W+3*h_fS7<7;^vxc*?8?`g7w0kCk@cHxaHDByoH$n$~K0fYN5BQR!wAqjL2Kmai^lz(OTgcO%Q oK%!9YKcr{|u^AZn7ytqc0H_5zuk@Q*SpWb407*qoM6N<$f;OS^T>t<8 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/py.png b/src/Icons/flags/py.png new file mode 100755 index 0000000000000000000000000000000000000000..cb8723c06408828ce68a932ff472daabecc64139 GIT binary patch literal 473 zcmV;~0Ve*5P)@|4`Xj5kLT%`al?B=W5I`&pU%&omV`KRD53KJ$2txq_ zg7fbmh|k3I@68*40Al&@kBy(1nSq%Zss!k?M~{APS@-YvZ#JJG201x|0gQ}qez5@r z5EI0wa6>`h%cteq@9Mue|Ns2{KQdro`19u4 z9*F+^0|+3-w;#WAv9bOIX#?r_2Xj8qX@CF21pWab0}C_Lljko10*H}8@M3d^)Z>@G zf!6*0!vH4#gGo5!|DS*V{{HzdC&9L6!fAj26p=v+03Zy*=I{f8|9_}7o838uP_pBd z=z9{Sra^iHOE|+IC{ z-`~G~{{ZRVfB*dX11A6d`CYbrEkFRVK#Yg0UeQ$d`q2ZhA|Uz&)bIy{egR1#X&Imb zfB<4bR{ihazwp{dkXn!mkfPsU#_wMs1hfID1|Wb~;Esc6TU=EJGWFLlunkbN!Q9_} zL0)432p}e)sSwo=4bd$f5a~a^fBpd(3|0LbOac`E1P}{Q!+)sq|NsB}pI=e{a>g%& z)4?|U{s;0mNCQ9sG5v!Z57O~Jp}QY!5N0Be0)lgG%);U`26kn-@hOg zU%!6+4+cOs(0HIde9xZz`}Onxub&LUB0x(30+2WcIRJn#2ut|?gWYu1Cf+!-K%B8# zdf?1WA}#uZ8oj7u>$I1i0Al&`=O0k%-@icgAIJnM0xA6maSq6BK-ECw|NZ*S`0Lj% z1_pot6puj;05Ax`F!=umqj7^frO?t|3^&I1kxUq9yECc+jQpY84SWH_0#pxl$?v~F z@*hy-KN0|X07U)z`4{NpU%#2aHUI<=%a31wK(7Du52Oc(|3O^?R1IN+RRjI-n*kVB z3=9AP#PZ|EACPLGJ%9cJNh|>9B%spYzZw7h1%?tp0I_@ndg9MNE>313@6R75NcceF zkr51-#U+7;F#`Sf7i0rK0I_`g_NQ&Zji7_t0d_@@ozArL?Su`s;*Q{AKpRQ~TD44PX+*q00taD0I@Lq1k(S2nt`tR{g)9*1H=ZfhCe_Je;NM%1^NLXfPkU&2dGq1gcanC zzsyWb(hLmW7#V^70~+_6f#nZ_(jSmgFakOWAb=Pd7`8Gn`~pjZT=;x%FbfOAzdzu3 l1(F{a{)I#17y y$>G{`#yy{Wcud$9i}geqWF1_=x>$^dlba#igwR-T)##NTdjqb^wzQ(`1@?t)Ix4MUXz556teM9A7Ic zq_@itH|pv>q+zrjZJ^Hx5bj=fD{5McI3ol<@^-l_@~tZGV7p>1CU&qG~{YccyC-q z$8~P)6sG{nMmQy85K$E6L33rja$x-b9$ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ru.png b/src/Icons/flags/ru.png new file mode 100755 index 0000000000000000000000000000000000000000..47da4214fd9edb383687c1d4f84fe8b42a51ceb2 GIT binary patch literal 420 zcmV;V0bBlwP)X|NRSO0LlM<{-BURBqYRGSojej zfLOL~|EH_V_~;P>Nc10*D0|Jxss< zFi1)Q<$$6LU}rIc*dU*QNFV}+9T))>0|XG`SD?F)5CbX~O$rDA0t^5@iDe$xIAIn5 O0000?ju}L)t za&s_Edw$;j@)ahx@awH6zOFqyJf$`n>h3t7y`rv7e2T6ZwWM=!PC{xWt~$(69CvfJ$3*9 diff --git a/src/Icons/flags/rw.png b/src/Icons/flags/rw.png new file mode 100755 index 0000000000000000000000000000000000000000..535649178a885355c836b5c838d096ec3ce8d365 GIT binary patch literal 533 zcmV+w0_y#VP)N_~0!B1ZtR02zJmAl3i>|Nr}+@!x-t zvcLa8?7#n*fB$3p|L;$z$Rx)9zm`4EX`B2HAb?mPX21FhQ~^@@2dMNf!=L~E|NQ+A zWdHd6KUK1c=hsc9f8Rnyezh^=0R#{e(Ek5GMIci_s{j0D`2GL?@4p}ozrlKzzsUIh zhw0@n(cNzYfer%*AeP_1{{8vS`0Fp&84w#lmi+$#)ARI~X!Y&+KyeWsW`<9n00M~d z^G^m==F0#79{mS71ZX;t`~_q%fY`tPf!Mzw;*3o4FJA8j2p|?NkT1UdXZrG=;TOYy zh@M|qNhT&CJ~jq`0Ac}pl#vl6#K7 zFA)9u_3syi0VMzY2QmHtx&Qtu@&7&0&HxaAAvs6^7=(cU7?W7&6Z-$piRe`dyDK`^ zN$WO$zWL=wEu!PO?Vu9@iVSM&8cWvf2p~p=WCn&G3_$lI&>tl77dYY}Tp)vm0U*Et X__=7oxWDB`00000NkvXXu0mjfV`BRN literal 0 HcmV?d00001 diff --git a/src/Icons/flags/sa.png b/src/Icons/flags/sa.png new file mode 100755 index 0000000000000000000000000000000000000000..b4641c7e8b0dd79aafaa73babdb525d3d2dc6a8e GIT binary patch literal 551 zcmV+?0@(eDP)4!1u&@QJ10&`rk^HbMk8Ee|uIe&H zS+;4$DbWCt7$DsBz5oJg0IGiW@flDZ69W^F_wDDmUw?kFvatRB^XvPsAO9KtfBpI8 z%a6}8Lb5=`00G1TbjJVx|9}4ZVWnuJEUfzZ$EVZx<$*voWzTGcp~$d(=+V{_?X+ z3y#kPS_RYq5I`UeU<=TsD9Bk~@o?qi&=DPd(?v86a{(`&&3I*E&g8|Wo?Sn;v*0j086Wc~d66UYT>00iU&P>?T9sH-so<2Env*(PEA=-617nh> zi(`mI@6{>3`pk|p$LcrV-F9kQ+^#H77gJjg83Dn}C510KyDfg&*)`-JxHwgq&#v*p z^c53cG#>F@wYEY#X}d9>p3=0E)+3Y8Bu<+7{CoW~d*emrl1KHue*1p5XMC|PWuc;g zNeJ`&4~i`g*Z(lsSo_o(`{Z0B9ky5Ck;`+V^U zT=8yG>8^j33-cI^uQ=PxS+Y=N`qyHWNx!FC^JP^YOPahuMCjxS%SH#2`3oXWC%#C$ zR4eKC&Wp!wQVHAQ7Us84w5@MkIyRB-=xd$HVYAL&-ujF|`C{QSA#R@EH9~c zxm%a;JBQgg(>*(U( h|7Cao|9=z5Xz;nj#GQYo3otSmJYD@<);T3K0RX9P-#!2U diff --git a/src/Icons/flags/sb.png b/src/Icons/flags/sb.png new file mode 100755 index 0000000000000000000000000000000000000000..a9937ccf091a3faecacbd5101c6630ea0d0b16d8 GIT binary patch literal 624 zcmV-$0+0QPP)&^E24DBZ$$%)DV9SRUYEY{Wn z85tspN%!Z^Q&_X+!-^Gee*b1;`1hkUW~HJ2(d(c7|`w2)m##KhU^#|s1eh2YzMVW-Z(;)C{QJl7?-Rp6DTaSP8U8UK5I_L2Ffe?nu66~hU^Xzg zV`^IR|NmbGhChsd{xGln!xZ`Z|DQkqe?!SHn>GOi5KsdU{eSZ0I}_6%bMu4$|G#2j z_zP0e_xu0e-~WI8{{Q>e|6jj=B8;-KKpOx8hy`TyKZd`5nT(9?%F2RO|M~TQ@}K{E zz)C@?e?v4d{QeEp01!YxcLP=bXJGj0<#nFn|DXSVfvSK1-v%}nhwkOu|GvKejg0<-0ptJwK&1cy1oE`H<`Z?5M+~$7{9gq& zn~(3mv&(;P@Bi|05T(EW{(k!9>4UEid{_Ab1OPDr&i@1e0Q5gX)c>UW0I2)_6d3&w~i*%}NQ0G05Jg0{{#gAwk6j%|K36Wcrx-Z zDBuV5-R-~I;@8;l*yr}=_xShx{`~y_{Td7!{r>#`1^@zxvDKIVAJ?B1c2ZXvZZlkB uU;qZ}2Vg*eW0eWa_yywvNgf7(00RJ0?>)A@UfIF`0000`tbb&P~tyW8d(D~GxMiUp8x`gh2bB=pZ|ZjUUI!&{yK1G;4d%$ zIuA;MS%3cg{`2Rrii*m`ix&X`h=t(`1IH^)u0vdsLXv;@{sQG7;18Jf2Mqqg05F6A i0*HaZmVqPy5MTgGElxU<64PS<0000a|fPuet^$h(7pHv_{jfB<3vn*8q{15ov!pR5qo|Ns4BVf^v!57RHO zo?l?}`yWs<(7C?=0*LYNK?X*pGKOD3v;Q#s|MUOfZxH$qCjb2cBQWFtZ$@_cPkRpn z1P}|u9|n-AAQdnT|9?TXAyk7H4FCQBl>h_~&`AvcLF)bhMS(&{8jwh^2qVzve;5D) zh>=0RIIAq+{+o}$pxEl(3%2T)`P!1-fBt~{@Pp~sA7J?W`}60ovKZgl)=2;X#KQ37 z&mWM7{{H^+4`$e}UqIEMAo>Rk|KALM|1kdh!vsX^3=B^I0*D0|DL|!?{M^6*VPKPH z00z{*-?BnHps)wJ`QKllIe-8D1EGJQNCgNWMh3}bctpOPvlbWzK!=K^+cJPc;};D5 g19O2S13-WQ0NlBGh$rR(5C8xG07*qoM6N<$f_QiWUjP6A literal 0 HcmV?d00001 diff --git a/src/Icons/flags/serbia.png b/src/Icons/flags/serbia.png deleted file mode 100644 index c5e3822a0d74d1a0cbb07ba8ada7fecc0dd1a712..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|)JP)5t{lc{O0=WkLc=}8HGON^|-yfO&pA^C2W(%XWvtE&TxrYcch zL*xHvV`XM#A>;verG>1r3nix3DSK^_){A3uKlM+Hv` za&M=)zkl=gZbi!dDBpj-fBz>0e*XBu_~XY9c6N3Y-~IddY30TrckZ)^iSWmVGjXuv zatIv!`uP)!L1chmKYtRLZV3aHKfixdZrGnce*oNy!RK4Vw8Q`a002ovPDHLkV1n^; B;oSfL diff --git a/src/Icons/flags/sg.png b/src/Icons/flags/sg.png new file mode 100755 index 0000000000000000000000000000000000000000..dd34d6121073fffcb2fcb5b9402b3e6361cded35 GIT binary patch literal 468 zcmV;_0W1EAP)dtOYis{Le*Dj#JuDs`KNc)tl9OYUmifJZ zA4uJ=-~WIA`uFP>kj*SB3$z3vfIu4l|NYA>FaP8D^M5;ba1<8<4f|GC2UPm+H&ER# zkRGsxe?Y{*01!YRC;dKnkj2`X)zkCW_8s5b+Wvn23^5y|0jv~A0#!5q{{4%A0U&@_ zfL8pya^=_l{r?#l8F+XY{;)G~as30ko(ZTFY%s&0Ka9WsFiJ`S6$1niy`;Hnv5 zfRT}r0R;fL{~@sn5I`&p|Ni}W_wFAQ`~gBVzyJ~jk&qMs5MThRyiZo6SsHx+0000< KMNUMnLSTY6dB!#X literal 0 HcmV?d00001 diff --git a/src/Icons/flags/sh.png b/src/Icons/flags/sh.png new file mode 100755 index 0000000000000000000000000000000000000000..4b1d2a29107be96413eb86e64a75ac7a3ba5793d GIT binary patch literal 645 zcmYL{Z%9*77>Cd9?woAXO+#E-F%m^1b0Xy*Qky9{B^@hJqB6}jOKKPc70u1CS|Ug( z7>SA^1`5-}4+VvY=3G*k2%(8O!OWTIn!4?td(P>GANugV4?p-l@2B^fCONIbD;IAODX_{rV|BCn_NC>%qlWoHrzH=l|0Y^Rhgkwr%>N3 z(d)FjlCqjgyY4&yRH!;rb)|Z-v~HjxIkvar`*JLyzxBc-B?Ix`3*qGz4q3JAd`#LY+Xw^k(ph!n`d2H7`aI`Eh(LrOLs%9g zj93;8ws%s88WHkIqXqnSf?YSjh=@dF-}4L7dS0HFB@iNj8OY*&4>%Dn8t&*i)aXz6 zSX_wQ?~e=9UcwhrAtAf8XLVoTbE5+<^|-KK=D&>)yX6u!zrPCrbEr|4Yi(XyIGTQI zFEDsraAY{)DhUd*DN;Q?!uSxvkoT|31dF#>2L0DGeRcNZNehm>xm~}-9q?gtV@Qz` zv-lB19|m}3LHcg92}TUOb+%v(0bnUhB(5rQI9?ZY)h~Hw=%2Au&~WB@t;^kVE@F0Y z%=8f1ZN}R1MniiNxkJ!a;3!XFerfimE2A;1XJChGXJ=)MAVRubE8WFo1T(1Cmhdfa ztzC{Qms6asjkstFkFp5L#maeek84Y+NtW^Wf=SRytjpC1=BCX4NH^VxnQ`+YXocAv zR?lKskkKZN7D>{S3>4;4+gPYYq0_5iq@jsB^}M0yMT0|p`lM;R_dwbVrBg^4RRbsq Y$WB%-43-yHbAJTXS^1gPjGK@C0`m$%7XSbN literal 0 HcmV?d00001 diff --git a/src/Icons/flags/si.png b/src/Icons/flags/si.png new file mode 100755 index 0000000000000000000000000000000000000000..bb1476ff5fe8e0d3af4fc6bd11e513d95fd9cccd GIT binary patch literal 510 zcmVm9@#;PEzrU@Gx(rNA|FHo^Mn<3|00G3vEO>ZAhtlWIf1*N!=PZ8p<;&lH z{~7-L`S<7dzu$lU0~x=8==VP$LqeQ==EOq)0mSn6{g=m2e$<)X`O9Zpu5&$Np~P9Kn=gZ0kf<1I-4a zUtk1c`~{K>fBu3(0U&^Y8d(1RW7^4V^6LZG89>!QBmXe{`pfY9FT=0Dj8O6)!|#7g zK*az7#L~(T*h@TpUD*CMKj~9=Qe%Ecih$EUo3dtVx6MW0@1cTIc7EM!uFhhKE<=?hh6F{ zrKr7}KWl?okCYa!aoyab)TjOY-}2@JtK1^Cj#Xy%TdWJ%|CxVaeWnza^!q}|WuX5V NJYD@<);T3K0RSQO=a{vExMP2%`MCSoB^FIcLe_%lf;|~%E5I`(IQNh}3Ao>6Q|DFUXMn*>AqQd`w z|1kXd^B;tM|Njjl{{hM0zwd6?1Q0+hV1xeud-4=Wy?p-%sO`^#2S61Jzk!N?s)6X& zzhA%p|N6}=D+{y%Ab`Lc{sL9~1=0UN4*CD*7s%9KAf+JHKs~=eB-8KTKvw|-5R1&; zzd&a|ob(5%^Z$Q=wHy9p13+aOpFRNu5F>N&`Tk_-7w>=n{RejQzkfh&Kn{rf10?_b z{tFTZibx5v&dxav5I~H7|Ney-|DWN1$%1FyagzUW0464;_wU~W1Q5$TW@eGxtUvee z3vAf*8|igK9~@*rr66bh|NrkNM8z+V zAV?>O@ek;bKfu6d002F*|Nr~{=Pyu%qcHbB24G}l{PX7zKmY(S0M7peLS*D^UKK~y z+6(XH|9gD^r>6bY*OZ>+`2GX^{Qmv@{`~#_{QUm>{r(dW1b1xK0st`p&i@3&%J4-( z6Giy=|7vRh4-WrbUHx`??d0*<@CX3>{QLa=`~Cm?`~Ld;{u~zu0R89!i0SVi2B1U! z{r&fU#+3gbKmA|6l!@v8=U+^J{{8>`mjUR&KfnL~{sUtC1qTg400I5L26X!4i0my} zo;{uZo#CfPX{7DT1DwDAf(-fnkMZ|^ra%9I0mS$d6bftr0mQhUfkCOfiE zM%HqlKU{maemr>kAILSo!3gZ8-+$N@WcKe}3J^dnRtyZx@9+FOdynDWy$P0%j62V; zZC)?>`}hA}zy1SB2;@n0006p>>h67sJD!pI8@uK6+#GPW%ce@CEFZM znTD)%K!F4J_qpc@AQp(ZPk%rA2T{TB=kLG2fBygZ4O9eD_xsnsUl6u5yEM=SfB<5# z6|+@gR}o|u1R4pn+XF1YrQf2oylS zAbS3(sBkhcTmc9mV6grHN=r(zLW3F{=D&YK84x>x_WT70A}|U80*H};VI?9O(a}F7 e1_Utx1Q-B;QgQb4eH!Wj0000&$@`q=h*C=NhfCv+*Z&8&%9O+wYKRDFftM?5mp0l zG>O3YIMUw_UN5Sq2Il6lDoyP5-vV}a&P#-+fh@RO@cIgw3{+G=It`|YrNCbQEkMLJ zXA$stkmY62G|+V<6hiIqe;jMSbJ4A*4!OSvzmMF+Brmh`5DXx(J#MP}&RwKzjBRP< z(bY*j>n9owlF{;vVgo%M!zx(L07@tiJHsFyXyT}&m%Q$#{cxAy z?FBr)fH<3hSR&;BrHXy(14SoYC5yKZaXjSD0XC5OLF2Ep$o3|F`&qmL)6agd+JSm< P00000NkvXXu0mjfMBC+z diff --git a/src/Icons/flags/slovenia.png b/src/Icons/flags/slovenia.png deleted file mode 100644 index 4acc18348580069ff3a54791cd45649a586b4870..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 361 zcmeAS@N?(olHy`uVBq!ia0vp^5P&Dr;B5V#p&cf z|NsB5XOm)5W0PVQOF1`x|9^>h`+l7L@cVr|o2jQ6n_1YYx9Ki?iyoa?%v0O{R6;`H zzoE-V`?LtFqiwtF9wetHB>Xsk=D>j?XAT_pn!6$~vi=!+%fVA;K72l3-xi!J#B)cc zhlgA3Uh<8SkLHK(->=u)tgzy@?v#^f68=ADcjhowKD_-t56}1ce^XxMRUbZZ;6wi* zg{0J$4gdb9TAWyR^h3(+K(@q0zP7jZQzRuK{u>(@7zBx(PEol7!5I{@}e;EG$`~Mq){{FvoV+so& z6Zek;JYV*``O13q$!wq?2!V|I&+z9TKmf4-@!$W9Km&lr1Ie!(IeUNcyZo#F`{&0p z?&{CqnEw9%50U)~((nf$fIu4l{AK07*qoM6N<$g2hARp#T5? literal 0 HcmV?d00001 diff --git a/src/Icons/flags/sn.png b/src/Icons/flags/sn.png new file mode 100755 index 0000000000000000000000000000000000000000..eabb71db4e8275a5bfb7b1b8f3a8374d50da95db GIT binary patch literal 532 zcmV+v0_**WP)6{xSen|M~Ox&!2yPfTn)={d@hr-#`EU4p90fz>J~+=oo+i0%`d3@9*!wzk#ZO z2WQUEDXOGe*gO;$t?-?1~^z5 zels!xNuY7SApXOk^arFAjDSu82p~p=WCoxfknArIdOZOgs+`19}IpFa%0{xSUi1L7diFBr+f01$veIX40Tgn<}np4MoMn3N`o$god9 zrkzn;+j{#q5F}xeh49xZuI$05IKi0v3Lq917Le*!UxBJYN`Vr8|1$jj50VD5fvSOw z-(ZF~46zx($8#~-kUKOh9u19TNY0I~dG z`1hBA5y<}g_y4cI3}({*g*gAq^Z#dL_#dnH|JmpNJMaAe2etv|3x;0|00G4G>kr86 zzYquf`+xk=e@^EAQat}9xc>97{@;He<|?3qzo3u+2q2a}APrzwf*tnl_y6c6m z5?7266~G|=0}2mdsDK;{bP_-SF*1~XW%vY(NDyK`u#uw~6h{mUJPZH<1^~BhcPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L004FX004FYPJ1Q@00007bV*G`2iXe` z6cQRp??eRv00MC}4 zLF2wGmpiV>6%-wvUbMH(b3qUYA)x^T)?Akel!S%zWf-|pNwt*|sY;zwmjTMP;igCca6P!-XArvwku);O zeGg90X*GWKyUUdj4Z;M3Aj$F}E-wT#IBN?q5LnbASwsZzj|X~7zyr!7_aKxMU6IQj zSLF)Y*)i{JYj@2H0zyiWD2Y&;Z=!p5AvNY(vj*RLVhcf7pcxnp@p@-VNv$(CdZV_i zY~0(_G`j@=4OO!LcJdKJ(d6^uT5oTUC#KXiCfV(O(pKt)cy4-wvvDS=0N~P+Bymw% zcipZ_BPY`Lr_|I;DOFWJvH?ip7%eu=ChZC82DT|N)7f|QzQZ-8Ny*=CbD7QVZ2%4b zH(ksRhe$==#jPhT!^fVou9qq?qz}cJ&7RyyE(d_WIfYDcvA%~e00000NkvXXu0mjf D{i#zY diff --git a/src/Icons/flags/south_korea.png b/src/Icons/flags/south_korea.png deleted file mode 100644 index ed1328dba2d0cd78f99d1aef9491b3cfd831159d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1173 zcmV;G1Zw+lkhPwYGP?(}R^%l(y<4&1Giv{+@aDyd#c|j-+827>0qA65sckOeW~M zj$s)5Uxi^v5Co{IimIvrjK^aXMNz)kY`5FkwoR+mLI`nr_Fqd;6b6FHA@Ow*)Vt#aqi9gIi>83f451Q~`1MM3B~Lf07u0fz?%ym;|~ z)6-Kt&%?4T%H=Y;uA@mQnNFvC`0#vej)9=`8m+cw#3mTWeQWm#wdQcC*$KB}s+y1I&GSriHd^0^$! zaLC~OdwM%Nc(%>7-$#kXh_0=X*uIClu}(gpCzwvz-`}U(?J^t=8IQ-a76B-V!rIyz z4<0<==;(;yaL9KzZ*sd@g<6fXhY#sKd&cDWc$OA5f-LTlY&sNv{e@ebRnnOZp66j0 z2Gwd6%d!wc%mAvYvb?-ZKA)%AY|`)d$uBMv^E}$mpW{A$jPE!A_*#T^;tGzRzLx!Zc0t`8=^$4A1jsfD1*VQHsSPQcA>hO8?-1{+r+M+wIFcpW|6} zm$s;9O9&}B|JWzp=&*eKDyg~5WwbA({XKSyq5v?ROz_+;{q|?11OZHRgOAx2-W4|a z9G?RO`skdkLBLWdF^sRueGRyf6bhaerIlDX z2YmsMQsTNUqtS?TGKIdFBrz(p-ew->)!V znCGFR^W#FbwfL4_%M2dh1)ozm;|I5;?9Fc@(6?%lrz4Z!z(9LJ&2XkZuyolb{TD#iVu z@AKomDp#*(Y5d`E-W`%K4HlQKuvE&CNJV-3{5AWv8i_;#Ap}7X5QgDw4ulX0A+Riq zVzJ2K;USLWkWQy(e~GSVx8rBcClU23%&rBaENl@&BiLrRGrGe}1D*^CH*5DF3r2+HL$yH zK~y-)wUjYW0znXkzuj9zJjeld5<9J|HT0H7Ewu7SSZibFZ?QL87#nM248f>{SQxdj zzyt08VcE67#z5nF`^w!+zRa7MCvL#vP!h*-4p7E5piuRvw|=-r1}qe^l9_~VDi}?^TFdE4lgqOlb-`dZ$pHXLuK(bq=M({{T`7 zvO&PZXGj=nsccfaj%TQ7w+}D@A&l9D1PwDqglC0000< KMNUMnLSTZ;ORkat diff --git a/src/Icons/flags/spain_catalunya.png b/src/Icons/flags/spain_catalunya.png deleted file mode 100644 index 015347ccb1be617e888a62b1288e2ac701cd481e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^5FY1 zpB44t^{MUCw`^(n*l2#AdDgFnhyUyIX8n3_yZ-WNldTW#3YN}VrgTi2hv$B#6#JjG zlf*M#G0#fha$Y!Y&XQ7@nuRM_^S7`5x4hJDhg&eWTpQ<}1(_=UtG|C2_pSZ#Z_BgT cs3-;o(e2tFg*NWJ4Ri#9r>mdKI;Vst0323WE&u=k diff --git a/src/Icons/flags/sr.png b/src/Icons/flags/sr.png new file mode 100755 index 0000000000000000000000000000000000000000..5eff9271d28cf8bf1cb85378600c4fa4997faa33 GIT binary patch literal 513 zcmV+c0{;DpP)kWKq{Jk|L6Yw|Nrm*vcLXk{sL#*k)f0!)jRF?KX6FHLLC_7zyJOQ#RJf}AnqSv4E_E0 z_d>^cfB<4-C}v>z1dGUDNRj#r9OZBkNc8hC00bBS^Nnc?6(4BA00000NkvXXu0mjf DM=x{`~^7feaw| z@9%GBrr%pd7ytr@3Fu&;D>$G0;d%9&ckUlP_FsJLznOpkI<);49~%fU|NOOg<1c>p zU%YI;<@gu?0tjRS1JJ?0e*b^_hvDg;|Nnpg`SWY#%HJzjff!!CzZWj}wP?w&U%!5b zMg95nhXEjfKpOu4{R2W=zZm2}8km@V1qJfIu3a z^ZvQT`ny}__wU`%Fad@Sg!~P3A(#OSI%WR9r+OFw0*K`e1H&7RKZ`vj#ee<&!}=E_ z2M*0Ye}N7Llfc;c2aF@2)L(`#3;+SdxR!w-xR`-G2co#^NA%Cx&(BWL^R}Y)RhkE)4%c zaKYZ?lYt_f1s;*bK<(E-n9)gNb_Gz7y~NYkmHj5Su&|1b;K_a7K%u3cE{-7QpRdU*qX{D1je)-H~X zEiH{>_I&Ebf4}Q9A6|Z*V`n_io&SkH?l0B;-^uu2FZO5un*0wghRR-D zu3W-yl9_DNywwE**QB5O@c(4+n#3ll4JR6pp6<@Nd)%Lg=e<3TL)YK`uf-4l-~2rA g$C1{P6V4xHuw0bTxy0&&Jzopr0LwRUdH?_b diff --git a/src/Icons/flags/sv.png b/src/Icons/flags/sv.png new file mode 100755 index 0000000000000000000000000000000000000000..24987990b733244b23f8e03059f4924804662c75 GIT binary patch literal 501 zcmVAxVx?>``QKoX4p z{r>$=Qj`^FFF*h>?mzuiS(feBuYdplGyMPm{~rVab^il$89+1;fd$yvm=2wM1rR`t zfB*hvWMl+7=|4yZ16bGpcem@l{$rO?srZisfXY67`UDU_ED+y9gdmKw*T0{<`x@v9 zlkZkl}Tegi}1FC>)y z`~`;fe+5al?K4jS1P}|@5C%z67NEr6KmWj?{{J^f1u*QH|Ne!BH7L;kfnp0FfEXE= rk23safJY>Z`~zeELt=n*00bBSq*!cC{}>3t00000NkvXXu0mjfg_GrH literal 0 HcmV?d00001 diff --git a/src/Icons/flags/sweden.png b/src/Icons/flags/sweden.png deleted file mode 100644 index 6548b8417fcbbb3dbc65eb8054683263053155ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^5Ld+$Ko^N;rO=2JoS=mBqe}ghU7T|1LGMJ z@|4`Xj5kLT%`al?B=W5I`)SK7Qoo3V-qKd5l^# zgv$taFhBq?zJ2?apPwJU>mjm?jEr~g+yMw6Mj$IKE$!aDd%wZp7Z^YoAQH^_^XK=U zKYvwJR4!h;2oOM^VEz63kEEm|Pzoptl!JgjVAdZn_zMF-#Q*_BG6D!N0MDLEDh$KY Qwg3PC07*qoM6N<$f z|Nj36M1Mf!|33`>e*gaqWCO|HKwFtO#a&sZ0t5gt0M7pel4t!zdFAutyc%F2ByLSib7d z-@iY8{9s{WsjaVha_-{UlG^LGvEO)A^**!$6$1ni3ljqaFhGRYPy6$qf&JG{kKey{ z|N8ae_ixs}{}``bdDhkT?#VOp#VvoBm>H#|fo1~)5aY*A1~#Xrf1jTKgW~`H-wePI z{Ri~aZw6pM{r$!84-_k)u=@Ltg1)Cf2{xiF#iKZ95W~`fDE7~ z|1pDN1{?_>vH!pR*Zxoe2p~qo;+=0k{eVOy5dHe~@Bg1a48OqWACLsaJOfY!7)!uZ dz{3I%U;rfUVNTmRI(Yy9002ovPDHLkV1m_xKPvzL literal 0 HcmV?d00001 diff --git a/src/Icons/flags/taiwan.png b/src/Icons/flags/taiwan.png deleted file mode 100644 index 29b3ff28f8dbabde89d65b5ab33ef02bf57ffde0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmeAS@N?(olHy`uVBq!ia0vp^5qP3?U8S7^7tX%l4J>$=e{SWj5p7R+! Wb4cMt z2Fbqp@bUfi_XiXZ_x%As_WHU2H1hfc9TM^w3-JC0{^0Bg`~MgK0Qv%mWs{6kqN+Cc z+b3Uc-enXLWmi^s_2~6APR{Qy8GilxQ)j#p({t5y7`^LQ4&lw9Z0Ra5^`SSP!?%<&3?fU!$2L%N9{QCa@0Qv%mW$D2m zA^~iFet$Uihac>@UpF6ozx?O#ufL4HfBpRUndtzp5U;>@#TUPR{|1KG4}bt-0)`aO z`@jDF|MM3p^6S^{zdwKf{q+mXVfa4fgq7?27ZxvH%|34Sm*EEk!#{ukVgYLS^A{)$ z3^fq>3urc&4I=;kz4MwgW4X`2zkh%J`Om=vauPrQ0X6*k{pY`=2p7%A_P)?P zUwuVdAkKe=-@h3}_C6p$AOxEwQo+UIeHT5%mg3lYGL;@HP(LjqG0$?6F}(Ht8A z0K*^*BsuTDFa|;zm9Mc;PRcq|KMMBO%8|{GkrU*a2x&r-3HS3`xnqW1|R~39RolBu`vAj19S<{HjoWK z4L}tj8-Qm20eTwfuYbROLyY(bwgDi3SQvf*HG+%>>H*pSauQI_zkmNAP67ugNCPlf z{{97O00g6G8FFbZ~XHln?_bqJeH^V)*lb;YTJ&0)m(r7ytqc06HRil3NF`RsaA107*qo IM6N<$g5!7R+W-In literal 0 HcmV?d00001 diff --git a/src/Icons/flags/tf.png b/src/Icons/flags/tf.png new file mode 100755 index 0000000000000000000000000000000000000000..80529a4361941e01d1def5d581bf2847cf99fef6 GIT binary patch literal 527 zcmV+q0`UEbP)KfiwinSYl|od6I(APxT+{=azr6>87_{|pZw{QvzM zh#vfW|M&NwU%!FG-`~IfN=xzq?EwhD!Wi2C0Dv&)|Bp?Zs+hPi0R-LQn75%cY-O8s zAPsw;Q!9X27=Hcx_y6DDzyCn0!4P6RP{Xg^fBpb%_yyDhbQs7f8-Qku33L4cS@IvK z8OZ(n2kOgTzyGb@ek0IRW9ouaN6$P0x*s5bfH4)06qlIj4>;1{Yyp4(0|4dQTo>gF RMrQy3002ovPDHLkV1fdR=hFZH literal 0 HcmV?d00001 diff --git a/src/Icons/flags/tg.png b/src/Icons/flags/tg.png new file mode 100755 index 0000000000000000000000000000000000000000..3aa00ad4dface0a9c23744ab451cec0443f187bf GIT binary patch literal 562 zcmV-20?qx2P)@|6mN}b_RwI3=Dr@=ogG+VE_mq7La^(HIVqv%*^=nCj$%1|9}7Uoj(8m`RC6+ zAo~61@1NiQe*Xrt|Nh=Ea}z)Sfi-Y&{FjhmFg0aZxaj}$=L~=U)(L)O`TP6-zu*7= z1Ib@N^zYwqCU)6YF9v`BVgi}{>lcH)J%gU!|J)p)>i@rg^Kt&>WCWsLoQyxgk29dnvBpN5vQb0*LYVQ3gi&tp7jnGyMMp z@*mKbe}4Uk_!#8f-w;8De}5R+mEP<>2M|CkH{LKvi2wQh{WmZi827ytqc0C8?ZF&p#S!~g&Q07*qoM6N<$g49|K A6951J literal 0 HcmV?d00001 diff --git a/src/Icons/flags/th.png b/src/Icons/flags/th.png new file mode 100755 index 0000000000000000000000000000000000000000..dd8ba91719ba641502bc7ffda16c25dc71b2066c GIT binary patch literal 452 zcmV;#0XzPQP)@|4`Xj5kLTn#2^O%5QJf({+!S7KyMr1NSdb0?wsyYS6cNVdko7wub89?$EL;)x)00Ic8;m6; z*ldXL$Yz5{poPB}7`^}m5DPc2nu@9r4=+1782$pC1a=$HjDKJ@i17#P6G=(#Q>V-T z0*LYF&!5c9%>VxV!xcCX0F(uW(%ZLh0Ro8SA3Hl!NeKhQjeq|#{05SL7=Ql;MhF4{ ujRQ&nZP~jQAb=RZqDCa1IEDa#00RK>mSUL#9?hx%0000*h@TpUDEZ0+4!4-|6qba4!^IGtQ` z?!brnjcpB`jmH{VU1R4i6Epbt|9^c4`^B!_@=R$Lo=cnC$^?3&94sbH&)@O6-emE^ kuLrYBOK-7VoS?ssG4ZBomwlw4KF~x4Pgg&ebxsLQ0NId2{{R30 diff --git a/src/Icons/flags/tj.png b/src/Icons/flags/tj.png new file mode 100755 index 0000000000000000000000000000000000000000..617bf6455f69849b7f66f43ff36093bbcb07fc3d GIT binary patch literal 496 zcmV(5Af|u+{y|g&!S9Ft%(8imf-XR*|Ns8{XO&`< ztN44b9;zJZ^?&~W0*LYB$B#TbJpUo){|D*(`>^x>w|gKB?9z<#wQ%E^n3(S0zYh>V zEO6uD3`W^f29Wmu3`mZF`w$?27#UO<(rVJ~y}I}N&+p%VfB*XP3y6U1Uw^?QNbuL6 zzrX+d{i`Cbal7Zfib@b53s27mx! mU=U|u;Adc9XCM*)1Q-C-v^a{iiydVE0000+lNu{Qmp=|FW6D0*D1<1Ovm9m%kYQ|7p*Yo3ikU z7~kiESLFZv{{Q#iA0zqwf4<*Xu-*CD8$MYncA&8U0mQ`ckKy0n|9}7f|MB&2MbDkQ z1j{KKBL!IA2(Z7F;(zkuBe#mo9TT;SzkoLU{s(jwKmai@{QdX$=kGt?etVi7(p9*e z(|o73K&5wiaQBkXEB9so{`tH8jIplb^d$ZPi5h|uLD4*o5RnOS|{Qd{@Cr~j!0D)}y0}8T#$FHit{lE#dc*g~k_utsL zxj&Wpto`+k?f2h5mv;mM4gK>M6!-uE1hnA~P_?8O+wWh(`!4wX{Cn2j=z=is`~Uxb zzx=@K_DcEUJ7IZAUZAu8{sn~+Kmai^Fsw$4O9qB73=GeJhA}V*Ffg!yW&gnt6F`6g Y0QOrYft$MNbN~PV07*qoM6N<$f;FEW z@b~ZkKS1)&|37~i{`~p>`}cn&^2?@800G1T)Nta$zvt>t<757@uK4@^{4bCmpb7~3 z1tfp{|Md&VW|Wov$G`v(Kp+kO{{26+>+jbuf7A2+upj>Wf7$Q%RxoV1$N0e}Fas1Q1BW)@@rKJa|xATBWA`D>(WW1JFHv zzy7cP0k+{MTm!^O009K@!>LoJmn~avX#S_9;5YZ-KmTX``u`YaHjD&?*dJiPF#rS* zNW;&cKP?=87yABYZ~OCq-%n(9P{tpi22h9t6$1niNQ1e-pD1xDrvBdy@BT2zfI@>2 zY$OAO1fsuxAqeOsfB<52Wnfst00RHO2+qJn5C9Nh04p0wT74^6IRF3v07*qoM6N<$ Ef~oTCkN^Mx literal 0 HcmV?d00001 diff --git a/src/Icons/flags/tm.png b/src/Icons/flags/tm.png new file mode 100755 index 0000000000000000000000000000000000000000..828020ecd0f6fc73348373c9e7a235fdced09de7 GIT binary patch literal 593 zcmV-X0VKiqu&g@GZ_kb&V31Gky(*8`UselaloV1SZ886W^4001!n&i@1e004Y* zk0R&!|NaLC5DIk$@CyeC@AU9ebDYiJ)zswL{Qdm<{`>p<{rmm%TMiuO{1voVt6d+$)WVk%^O){nwx0zkdJv^%rQ#Z=eQ%0Ac}Z`19}Y zkI%oqe*ekA`2WvehFzDBOo*xZ{rB(cQ`_&qdGhP`Z=jyvAOx}jAb?nae){+CFDvWc zZ(siLa{c@D=g;LQw^HX+sY@u`d-M3!$G1SGAWQ!Ifj9{ufLMTG0<_`#=U?|Ye)D|< z8pH7G?=PVA*@stt1I-4xpA0e#40jk9 f${7d%fB*vk3(!F(w2U8u00000NkvXXu0mjf+94t7 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/tn.png b/src/Icons/flags/tn.png new file mode 100755 index 0000000000000000000000000000000000000000..183cdd3dc98c6957bde83f375a431e543a3ce9e4 GIT binary patch literal 495 zcmV@|4`Xj5kLT%gT|L_r@28Q3iff@h;hzaCwplYy<4FCT9KXmB7 zhQ|Nt)Bg(#gN*m^{Qvt8$Of<_K(zn?!~}BDpT8hi0uj&>pxItt|NHv>A2{&e(C|Mm zFGw7s;m;qS=>P!)((wQ9AF!W(0sZ}7M&|#9_5TYB{zpfHZ20g2t^wjCfB*tH2_nSs z8?4R7=Kq6S{f9wP5^T(0hI#XVIvK%6GC)WrB}fdh6SO{nUiXv3iAlW}aH!uJM5J&?vILH{_iZHeP0c!XQ3PuJ7 zfB*t%VEX-sK~fTI%wL8-Af1e0BN-qh5dHlNK|sX-0mS$fH6j^sMDRaYQUC}r0RA0L U-~OCsp8x;=07*qoM6N<$f)6&Rz5oCK literal 0 HcmV?d00001 diff --git a/src/Icons/flags/tr.png b/src/Icons/flags/tr.png new file mode 100755 index 0000000000000000000000000000000000000000..be32f77e9910c0896c1ee8e7ed4f0edf815a517e GIT binary patch literal 492 zcmV@|4`Xj5kLT%yy% zCxE~j7#aURc>+`lQtjr(@bBOM9XtMi`UFz<>-YcPzyAOF1!ObI$^vZw2q2J#|6qeb zs-vSBOie-Rl$HN?bb!_U0_g#3VEFwTr~x2=m_Y6Zss`GqsL0^t^nd#F|4B*zH*EO- z_3QuT%m4H6g6)A?0#pkSKujPf{rCwIb#eU5`( z{s2t}2q2J#|9}60{Pg58FvR|AYlEDjruP5RC6KEgJ^H_IA4CJhNdN)F0>q49OBog~ z{?Etvzo-c07$As@{Qu?4|3!FoS~(Xu$ujuK&Ki|5;f$7pYF;Nfxh(xqFs zZUMDjzjMbfEbRY>5C0Dx`v3aP|JSeozj_5kj66I)?%V+g05Jg0{{w&k0RJ5w0P^!X zSy|WJ-R9=z(aMV97z{4myy=pj4$^bx3|zy{hYtY)h`Ao9!QA5iyLbPuTmkB_PfP?Vee~$j z!-o&gUAyj)n+wu&>J&%=KmU)%j{yP*q=CWA45Z=rFNTYkfO?!$Q_o+&{s0WlT)E;? zRQUhj|NkdWF!J+%fBF<4fS7B68jOwqzkLe|6QI@S&;S4b-#s()-1Y1C!Qjl5tA6F> zpisYc>&x@!00G2Y!@$5~Xb92(47=Z8{{bD%z~Ggi4>bPny?b}>+&OjWQc!g@0~6Et z-Maw-h`Ac5K~JB7o9jOp7XvpB0}lu>-nqlT$mpA&|LpDCZ{NOs`t<42?c44-IbZwx z0Rjj;B7x{N1H(%OhUW|nPgz+XA3Vr_1a9x%4G>@ep<^{rq?UTJ00000NkvXXu0mjf Doa;3l literal 0 HcmV?d00001 diff --git a/src/Icons/flags/turkey.png b/src/Icons/flags/turkey.png deleted file mode 100644 index b5d03f26929581fc754b957e3bb8f6ee2352c483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmV+f0{i`mP)R;er;NT*NEk$rpx9$$QiDL&r z930wBr%r_q20}DK5khTD{B=c4)7+bzdyc~mF3FI@+`)G|9L~e}zW05lk;yx_?FmAX zB4mXQi1a-*209(k8W2zlA{K~@2_S+jW{{aw0BJPQ$2DlThlWJ@J+5*~#2##*(&y0i zZ|Gtf@A)gtaSgl<$UgwoLYk?U&oJL@oI4NE`)|QgsFf_{>>Sj;1|!sZpx^WWqW9O4 z={U}fO?2TM#HRqz#WFIVh70ErkzizQdw3UFSFd1xpWq)9g600bsWA3WthH4px1SKZ zdn*K+S{5>!LQ*Nr4|_C#Unn7oGg$dt*QQ-*jU*HJulHzOzlpc|W;B5J=qbi=nRvW~ z%3gxg7Pv0z@_hJWgR0Yo)Dhs^; z6NFb5(#T8_d>>Al=;{}6-Ejmhs0#D3f(f%Kh(`a9HvI!tmX=T0oo1>40000mzpv3Mmw05Sgm{~xFtLc$sUu>nR##!sI<0R#{WMEdpj-yJ7j ze)|0V&%b{_!~X#7`1>EofS_N0|E)GoUH&SsFy}2m05O4F@}ffYb$qvjbfSUipMQUU zgY^9U_4m&&5D8KZ)HC5u^uad<48Q&W1P~L@hOIAb7eDp_T4W)^*Xg48{r4ZBJ-_}k z{QCPJq~Q-pPnz693xQJ%zkUG(5aZwHtqd&u|9`*u&+TyOvq{_Ghd=&6oB?#w{~Yv(xYPgr|NRH*haKioowt*& z{dC`3v>70P7=Ql!$;`|Q@(GT>fdHT^FqGcDeG3pkjNS|k>E&sEfzAeo{ckY&=g(gd z`CCrwmxA8!XLtTy-uM6CzrVnM%iVPzAb=R%ks=j>et^j`MFs;Wh8c4i)_^1XKP)u> a1Q-A&>r+tW$-Nl>0000<~s!0-E7R}a|Ns2?4|9|}gs%Dgx1=;`*KrBFO{{8#+``2Fv2B6@-@8AFY{`(K80jdYk13&NH4;SYnOGgJvc0I@K9VW@Vk1}Xmk4~YK$|NH0P z-@pI<0D+Rop8&DnA}oIvEc_iD{O9-Y-=|4+U?1uFgf@9*z_zyJRJ z%fS3QR^zuR^Y0tyerNXndi(YlP_?gzto2+5fB<3vIsj-gQ0X6_*?&Q*d^>boB3^zoi8Kq^tbl{qlR!{9jwQ|Nij< z=(=A?F~8j-MSe1{Hl8Yc@zaXo%Ljk}VgUvb(2HJbe?0kqy?_3vsPXrUmq2rWE6M!I zE@4*I;Mw}vw&7&iFGdC>zW)rr{s9CK3xfnhrsi*1wqMhx{@J=6sPgxpU%z6)f4fBr zzxpd#a3tyYE8}0lKnA+|-+zWbe*glA<)R0}-=}{Pnt#7~1q_Mb;=;f3i~oshNgsS> zIr~z~(_bRL|NZ|1LO_>;A_pLVSoBpHQd9nLa7ao@{lMMx#__lBLe9Cjx?EiU z71{s)`Oon8FXP|;z>s7BItd_v7-5mj(Adb}701wVj$!S*>kNN{fN~5FV)t0eYh-DxnQ(+0I@JIfmA>F`X8wD?>`2h#NWRRzyE`zA&Pzh5tt#% z!^rUCA3y+sZ1@LM1hf`pHc0ia|NsB|1uKPX0CRu;1-SztfLMSo`wOxir1}rsY$VlC z667idh7Sw?0mQ-}a!Q0#;n&}vAb0=!_Zy@WNd5!6=O2ju7s{65Vq=gx0uVrqe;+b1 z$mIY3|KLBvF9x7j{{!v#g_UGtQhI;<6hHv607H@yECdWlR7EJN!LomVp$!l~APvkQ z4p0cL2#YobhQA>6hXEjfKpL3-19eKmL_s!=;22W8vpXP)6RGKQPvx1q)UK1Q6rb{|u}Q zRsa7#{m<~1f#L7}|GzNK{&HxZVEKJ4>jAefr9{u_M=MTegAo-i2ynN}MJ5kZm z42KRel$J95{>|{~*Z<$Y8RdVo9Ap3pAeIsa2H!t_KmPs=bot-kKnMR0GBy2s>sC=w zQFmwO;@`jj{`v(%zkl=p`BTQg01!Yd{Xp;j{qx|@pI^U!0X_En_iwRd$6{h)tX8f( zaOhC?&!0e%U%!3phy1#1%V=eK#YHXK~n$!{#(ib5I~GyfqpX6&+$j0cy;bE2(0B$u4^P)1J@ZrOUii!$=0Ad7ci1(2A^!3kwFaT->5i7Ttz54h6XL$JkA3s3o z=g)t?e>01U3h&zo5I`(I-#Hr#t~u}$WXZu-Kyv1Rm&rE5wcB1YFI@@=0EYkn8G$4- z^Xb{M0Ro8S57@^*QJ}#<$Im$M^4iKw z00a=@`Sa(sw6y;I{R{T)e~6KA2AmBHF`#D(ii!XNh(#nN}rF)(}plRy9vU;su%e@J`J?dSji002ov JPDHLkV1n4Y8}|SJ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/united_arab_emirates.png b/src/Icons/flags/united_arab_emirates.png deleted file mode 100644 index 811584668db1c71aa4e5aab4ea12e855cf056882..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^5EMTshx*NI%&iTbjmHwMFf}!>&Q^F{KW+c2IiLFN{{8>e`_uk$ zeOJy8peA`{ZOz)h-~a#r`agtW@kASs;ET7fum5lQ?D_tLj*Ff8ZBB+{c#*~#z!b2&~+z^H512d7|n2@r!OI9 z3$)4QtH`|iJJEqbyi2{j{oWQ@&-l35+J$A!0gnHfYy%QUQYz0>xhbFNBWIwE)T&ju za^3WX9B5})!JYFL$#+Cpvm=$Yo6GTJS7D?YT)BLWA^#L$J!H59$0G9GNqCG|8Y^sS zFo>IySmioyr5AAQ=q0rM$9p8S&oO_vy-_#1?H zK#~+gC3A_BcemzKJ=RY0jS*x+J*KCOQ|AXbe6)!hgX5^CRs8Wp(1Aa!FfcU3W4W2+ zhDJ!fJxGqXh~gSALUHh7bv9Fn4grwW*vL(PfLD`;sn(|`-uM)*np)cCGC6$uCM_*j z=<;2|vZ834>%2%?5{#GxS61VAu8_H|R>Hn+3TkR8+*CnMx{ehM%@eSqQ5v_EdoJM7*Ot5fuTpv@tCksi+_Xc03MJqN)nvzJC1m z^#J5GH)D97z!qwv&omP_O+nMtgqrsPDEdo_=d)ME7lQ$Y_d4B6EVm&8s@T)Gno8p?6GxgExbPco>E-P0TTDyq0Jd#E;MK|R+xX!96P)`iMC9dd zIG$clN#qv0%VX@SOQ$eX#i_f{-mI_V_3br0J~v9rv9D02$@Qfre0_0(?)W%;lW~Z} z5(X_WD=-})FnyaZ5B^Gf_Z_ysP{hWMc4PH)qkZ!uSstCXy!B`en{)AwwG+8DL`UCU zE)QGy(sTG}NGBE?1=M@zKLG?_uz!e~*Cq%|1sHf~HLEiUDcH1*{AiFIzn^~q)fdw; TZETgR00000NkvXXu0mjfFUTb? diff --git a/src/Icons/flags/us.png b/src/Icons/flags/us.png new file mode 100755 index 0000000000000000000000000000000000000000..10f451fe85c41c6c9a06d543a57114ae2f87ecc1 GIT binary patch literal 609 zcmV-n0-pVeP){qW|y?pud`Sa)3|NY&vWd%S0u>b>P!2!lUe;6EF*#G_c zFVXVt@6Q{uX@40W{p0iY2Aa+A^Cu7i8KT+YH}2j52q4BskM2rJ$^k9;2Xxc_|Np=M z&VaLlA*IO5FlECMfB<5VUNC{tBZO(|zW*;@GJN;|bTJ71`0*d;`d`2P!x=ymOA`2> z+y@9C##^^8%gd{MW@Y91_2d742B2~OQNf=-zkmD?Vqkdk_wPTUNeuu2#KPTG{_;O4 v7C%8E5*DLB7#Kb?Fnj}}-(W6879hX?8lYRg`Y`<~00000NkvXXu0mjfD6Jtx literal 0 HcmV?d00001 diff --git a/src/Icons/flags/usa.png b/src/Icons/flags/usa.png deleted file mode 100644 index 2395fd83728731d906c6fd15d735b9a0db2dbcb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmV;C0&e|@P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L00GMY00GMZ9`Tpe00007bV*G`2iXe` z6ec7xq^el}00I$7L_t(I%e9luZW3V>hToa_hWUZE6d9%F`eE91h% zwQ=ih81KNXF|ND`qp6LwrcKnKmD*A&fia~>p$J7f^TFq$7ofA4cYTs4&w0<`5(|%+ zDof~@7AWl_;2**6k9{N)QEV3tXnrru{s82-gQr{>631XC#55_qLvE;w1W_btwY!*` ziKArHFqw#y~F2}G{FraH* zSQdq-s*FFq6Vw|mT#28r^C^7zxP@3mN6)mNN6+%}ubvF6iewAG1*aae zkbVZDC_q&tl#CkES1)0C?F;5+;@B&n8nmi)`ZBHUD1^7wG70HEsHzL5NpaZxjbtK< zm9?+9b8`wCpSCd`*3dI4gn)OTWfl)Tvddn{`?Urlp#XS}gXSASey5Cu8ZvrYmCal1uF4c^{ba_vmzq~N}&z08z z0*LYY{pZr+B0$d}2MCnI@DC;m3N;oM#uMkR0R#{ugY)L9Y<*xj0QCR^`!^)W!R$Za z5CobHbl5+T3;%B|S`QFFjQ1Zt|MTw;G#Vi+hCg5i(ELAtfD|ak8UBG;ObiSF0R{lf Wla#5zB1?M!0000JMe1P}`Y1HZufM;3|NZsr4^XwNEI-g5fB<4iWtjhPj`qjL zFGT_P{{Q>;-(R370Ro7T!5$Ws$Po%5A+Zb!3j_cNFaSC{Z(fWD@s$7o002ovPDHLk FV1jsy^u+)G literal 0 HcmV?d00001 diff --git a/src/Icons/flags/va.png b/src/Icons/flags/va.png new file mode 100755 index 0000000000000000000000000000000000000000..b31eaf225d6fd770e0557c2baf8747c91ce88983 GIT binary patch literal 553 zcmV+^0@nSBP)|05Jg_ z#sD@3Z1&&(|Ni{{_Zx)%v%Gr!NnLzkb;C z@#QWhJ{xI9$+*)bNX$S?E90e{K^EMkYok78VXhR-hjM0*K`g z$j^Tmm_>oEVgxdn{xJOg$-v0L$jHRN$OsH@P9Y&+^ne@=1^@xXcy~X;zaPM$WdOPj ri2i^{AeYDB@IM9-1r;P))4B5XW#s0WPsWLbObPT z00IbN14#96puqp%TKvBf)PA*{`~CO-uM~~n%6z|m{re4Z55!3T0R+GV5`UO(`=kK4te?c|?1P~}#f$jmC10=!0@{8gBFK@Zu z-~WJALqveC|MTzfA7GIDVE_mqkOrW8BqZ2?K4D^#WMJTBVE7%b47BbKBg1c?EHl#| zW&XdQF#ikE01!Zo3=CVrargu%_x5NZPzVyc@Ms2-@*Gr#1lu5DU{kh6%sopXB}uDxAo`@Bt_a*7F+) z{Q{%kjEu5C8vp``Wse8Lf5q7h438n|z~nEOsZga5l7ZnjPy;{!05Jg0{{a91!FF~d z;^O)I`~dv>{`>s@o}L{E2?GEB|Mm6!N=n`P`~Ld+{`>p?A0G$7!M*~B3FM_eAU;q6 zNCH*w+4I@c^Ny?Q?QPpWZQiU1R1HBuWkA0H1P}`l|NYDG=gP=Ihyj(0CItil0R{kn^jdV2 S*Eqib00003_-&c2+@O*Bba;fM%rBo$$qwJnuekcf#0k*RG7MM`2+5Y7dK4k?R% z*@ue~6f;u_A~T0evP6qS=VxXnGS_mt>CSmS&gmG`kLSL)e_Vf_=c&!fKB7`4C;*C(7s2O*P zOs1$U0urzb3<=a`d9ABG4Q$eK<6~5Cg~V%B8`UqrfRSN8f&?QTVICs^VT=&p*?Eut zt4Ur&-BL_ON(Z|Xfgo93lf|gRkT$Mz-7^OQoD^XMF@}g>R?uoU0094KbXv)l?aF0E zh@GXQVr04m@05R(Rjxq*p|CCIRfv;QJmH1kf!hsqX*sha?_l;f%e5i5I~4YG#H4;6sPG2&U~bv( zNr`eMXGIX9?wP^zPQP(6+&$05Jg0{{;N}{t6CR|M}we`P%>f+X)5&j)Fc04NUj< zI`HZ2Woe@k6UF22`V|Qe2MTi(6bb?WF#yj00*Hv<{QLmnFd+P z9@fS%;@9^E|H1b5`Vk8^2@Yw;#}(}C_yUN9iGkt%y>Cxm>T2lO13mifZBc!n`jhHL z!MK>$6Z_d%|GfHMapIVnqod%T-`{|q1_&S~IR%b4Z+;63vi@iI?>jBz=eJjkjQ{>J z{QUQa@gMhBW_GSe5B=V~`@+h~@c%z3lmG&V@$K8U{QUg?|NjRX|KX9x@@rf{MxIY^ z?fG>3gQ&3ruaE-Yw>fW_PfAH~0~Or8dmA8tSRg?T(ZDLQOiOw%6RWM9%$i>kkAMHu z-oH0qLBYb*loP0ck&zJ?LI42-(g0BnBsn<*tTlsx%zxbLe*S!R<%*E3>|Z7(9Y#iG zpdch>0Ro8e`Sa&!arp;m4%k`<1H=Xjf<=G;Aix0Vb{`Xo7A9K&0000@|4`Xj5kLT%B_22*h{r-RE_y1qN|Ns8=|JN^|IHRmA&<212VgZ}|A4N4# z+WpUe-rxU^{Q|504bi~x`!`SnKmf4-F(Xhl(8fQ1fG+vp^85d{-~aW0|NsB{f9tRR zg1`PJA~XO^2M8drlm7gLxRT-bpa1p0|1bLmQVm3Azy5pw{{IQ;B%q-{(*XjA3FM@| zf53hMJK)W)|CK-uK=ku}!>|93eu7kk5yVLV0R(o^Z;+)RSAk6exg_KF|98LtFaPy_ z#c#OrKtum9FaQJ)NCPuC$bbfbRI>n`@$3IHusZAC|2cmD|MKhqAD{+Mr~sV<5I`Ue zOuzpyNJ@f@0s0=KlTj9AB*>SXe;D}wK*A7+fQkVEi190GMB<5K2mlB$03I1qT8uIj Q5C8xG07*qoM6N<$f}XY6qW}N^ literal 0 HcmV?d00001 diff --git a/src/Icons/flags/vu.png b/src/Icons/flags/vu.png new file mode 100755 index 0000000000000000000000000000000000000000..b3397bc63d718b344e604266259134e653925c9d GIT binary patch literal 604 zcmV-i0;BzjP)7(YpZ_rO%ce~L0mQ<@*ghnz= zZvXM=_iyVze?clB=ogUu_5ar|Ae&KE_8$WSKmaiTHT?Vg|MaE5OE>+VAUAUr;?j4FCZIvLVX%uQ>mocOU*NTK^}%njy93_oP3+fBpUa=kKpye|`ZO zzyE?r`Mc+5Xcyo_v6>E-#|Nl{r(LkAS94bRQz)6 z1Oq?-fi&zp{`>yDUnV+0)eJF{zWfaN_0t9DjNiZhfxY|}ME?2z=O_CghC>Vh0R+`!~0W%8&aG{{H+4 zRPp!M??1nPG5q=k)Wabw3seITKp+kO{xLwc{r>&$?_UrCGJgGL;^k4Qujka#`tk7L zjnovNAkb9+0R(gvNCCu>f4~1QF);xde}DY=^Xr#I=|`5hhp|NZyp>({@(egUPqbabS$v+tIbNu;L>xVSv%=>ggR z5I`*V_U`A@(fj`3!N1?XfHr^}17rYw{OcFcC69Z0BvMmfELgy8V88%&5l9HrLN(5b9xs8l&q^Gm-@&XkD1Q1BW|346ee?wJ+H2_`p`^l3V z+1Wtu|3AMO{`_T8Q2{Cj2q2bUARGR$NlJo(=nv2bFrDDw2U!bb{QV0-KNuJQ0*G-b s1H(6@xcrC2{sj~H2V-zBFaQJ?0G2^Lae{Q+uK)l507*qoM6N<$f;6K8u>b%7 literal 0 HcmV?d00001 diff --git a/src/Icons/flags/ws.png b/src/Icons/flags/ws.png new file mode 100755 index 0000000000000000000000000000000000000000..c16950802ea95b40a4e024be6cce870b1991f40e GIT binary patch literal 476 zcmV<20VDp2P)>E69JA<-5ee*C|6>(%ey48MQ<`3*E1sOaY}WDP*a00a=wNxxYB{9yb2 zOU?HFZD2h;3gJl2w`NO~f5I`Ue%-|qnfGfh(_6MlpFT>xzKtBKk z5J&^l?>`KZl3-*0GW-GQWCR<@03m_s?_UT4Dh3E3#;>Rm$$$~H$WlN65MTgr(_Ikn S3@&c~00004%P)h=Z!r1m*T3JtfNUmdS)dI70mLHE z+xy?%p5eHez0mS(A>sL-rPOy{yGk_s3 zz{tq>=+Ps90Al&~?;k`pNCN|I|RMxbJV00L=%3E(v!XamT}{{RArWx|9$7Z{pWi2U{IKN}lRCnF;x&=P&!(V3Rv&T;|GP6K500a;d#1A^U zy8js%fB*jT=jRXRU*A|5K#2L*r(ZvQ{P_O!=da%umKG4l0|XG%NkAKznV4BvSbj4y zawHV~fBoj~uiyXJSQwZYIoR0QIXM3O{tc7`Dgy{0# literal 0 HcmV?d00001 diff --git a/src/Icons/flags/za.png b/src/Icons/flags/za.png new file mode 100755 index 0000000000000000000000000000000000000000..57c58e2119f402072640ca758657798b621f3fb1 GIT binary patch literal 642 zcmV-|0)737P)Cfuwe;F7c=r;qyPX>nX3=Cfx7(O#Fd}LsF&%p4OfdL?Z7#j~W z{9>KL@b8bfkaUokt?1q(EJu$q{Qdp^&mV?AfBydlG2rBvO`8A$h{fmzgIW0J+B07s zK74uV#pQB`MAdI!SdN|k|KJ`--LK#OfB*Xb>lcvCC@cGqfdL=@05Jg0{{a910Lj6A zAt&mC*9zzO1pWQ@b1`Tn1`iV6=KuBe|Nj2}{{8>`{{Q~|0SOB6tE&PCq@k>=Oh@B| zgDu0v2b@p;u)h2C^Y4EK4rY$O|Ni{`3qc?^$?%A8m^2X}fLMSU{`~p7aqHLD@0rW| zzIWc|c>Ry-$DePXKfn0(_xG>AzksTL{re5n#{Tyw!wUw000L?F`}dEV6O*(3zu6Di z9{gne@#pKG|NpqSh1vf81DXBz&mW+Me}8zmL>PD&00Ic4!QY)xLzl7RCikV!EWdtz zoorLj&BXoYF88-DfB*gk`{Eza7yo#;S!C4G00M|*elvr*8B6X-zBgb0FtGkEHc8mM zoOScs_b*;Q0~!ksq<=swfJjA!^Ww!_00G4E&x@hvA~zQkvxU59n3VsHd7Nj?ec|R~ zkmuqAx#JHo0{#K*`TG}00$uYDAb=PdGJ(Ek5Vx?d6PS=4{E7kSFNS|$^b5xL14ayB ck_{lh0N_F{UmK66LjV8(07*qoM6N<$f>aVd=Kufz literal 0 HcmV?d00001 diff --git a/src/Icons/flags/zm.png b/src/Icons/flags/zm.png new file mode 100755 index 0000000000000000000000000000000000000000..c25b07beef894408ae11c3be294d6e0eeb28c0bb GIT binary patch literal 500 zcmVLz(k0+Rp#|Nr~{@4x^5fB>iy$Oe)U zA3pkg`SAPSuU~)vaR2(F*|!oPfLI`Azxw(Lr25~#KmY#x{rl(7|GyyW-|wp|{||Bf z=)Cuc_0O*fYWnY`7ytr@1!(pEfB(To0uBE22c#NA{{8#+_rKq)zyAFG`zKdY6euFW z2yzlY0I`6SGJqWbGV%`;{r&ytA5hcp-u`P`AAdOg`t|1D?}h2=^+y>10tjRS&?yMj zfBygt2HEouXg1LCzyJLD1w#LR1MLR}1V8|>0KE@nffPa916Bvu_V4#Epof105yNkw zzknJ50tl=DS->P)FK#X6%e&u3i|I74$@9uP0*YE!se={)r{r~?r68Z&3 zzZn^2KYiK`5I`&p3=IF7JHD>uaSofgtUAf*-w!6nU;qF7`S<(x|35&+uYZ4j|Njjl zS;T)|pU40ZKrEjoRWbQ1@P?oGFzcPCjLiCzcU8ZC{rmejNW<@6e}U*1kPT$~=Kk_~ z83O}A05QHjx|ikdd7h}_|NsB_wl9j+&d<}^`}fbEzkmP!1q4tEL@O#P9zA*#Ab?m{ zv`qe9Isj6Ah@Z*IdsTw}WYHgB8-D!*lmGvK*?)d>i2vThzyJ_HEdLn(@uk-N0|t-& z`$Yv&?#y3UfPVP*`ya#a|BS!>G5-DsFR)1c1&eHCHYDzO7ytqc0P0;>l>h9)WB>pF M07*qoM6N<$g71PE`~Uy| literal 0 HcmV?d00001 diff --git a/src/geoip.h b/src/geoip.h deleted file mode 100644 index 7a426cf45..000000000 --- a/src/geoip.h +++ /dev/null @@ -1,223 +0,0 @@ -/* - * Bittorrent Client using Qt4 and libtorrent. - * Copyright (C) 2006 Christophe Dumez - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * In addition, as a special exception, the copyright holders give permission to - * link this program with the OpenSSL project's "OpenSSL" library (or with - * modified versions of it that use the same license as the "OpenSSL" library), - * and distribute the linked executables. You must obey the GNU General Public - * License in all respects for all of the code used other than "OpenSSL". If you - * modify file(s), you may extend this exception to your version of the file(s), - * but you are not obligated to do so. If you do not wish to do so, delete this - * exception statement from your version. - * - * Contact : chris@qbittorrent.org - */ - -#ifndef GEOIP_H -#define GEOIP_H - -#include -#include -#include -#include -#include -#include "misc.h" - -using namespace libtorrent; - -class GeoIP : public QObject { - Q_OBJECT -protected: -#ifdef WITH_GEOIP_EMBEDDED - static QString geoipFolder(bool embedded=false) { - if(embedded) - return ":/geoip/"; - return misc::QDesktopServicesDataLocation()+"geoip"+QDir::separator(); -#else - static QString geoipFolder(bool) { - if(QFile::exists("/usr/local/share/GeoIP/GeoIP.dat")) - return "/usr/local/share/GeoIP/"; - if(QFile::exists("/var/lib/GeoIP/GeoIP.dat")) - return "/var/lib/GeoIP/"; - return "/usr/share/GeoIP/"; -#endif - } - - static QString geoipDBpath(bool embedded=false) { - return geoipFolder(embedded)+"GeoIP.dat"; - } - -#ifdef WITH_GEOIP_EMBEDDED - static void exportEmbeddedDb() { - if(!QFile::exists(geoipDBpath(false)) || QFile(geoipDBpath(false)).size() != QFile(geoipDBpath(true)).size()) { // Export is required - qDebug("A local Geoip database update is required, proceeding..."); - // Create geoip folder is necessary - QDir gfolder(geoipFolder(false)); - if(!gfolder.exists()) { - if(!gfolder.mkpath(geoipFolder(false))) { - std::cerr << "Failed to create geoip folder at " << qPrintable(geoipFolder(false)) << std::endl; - return; - } - } - // Remove destination files - if(QFile::exists(geoipDBpath(false))) - misc::safeRemove(geoipDBpath(false)); - // Copy from executable to hard disk - qDebug("%s -> %s", qPrintable(geoipDBpath(true)), qPrintable(geoipDBpath(false))); - if(!QFile::copy(geoipDBpath(true), geoipDBpath(false))) { - std::cerr << "ERROR: Failed to copy geoip.dat from executable to hard disk" << std::endl; - } - qDebug("Local Geoip database was updated"); - } - } -#endif - -public: - static void loadDatabase(session *s) { - #ifdef WITH_GEOIP_EMBEDDED - exportEmbeddedDb(); -#endif - if(QFile::exists(geoipDBpath(false))) { - qDebug("Loading GeoIP database from %s...", qPrintable(geoipDBpath(false))); - if(!s->load_country_db(geoipDBpath(false).toLocal8Bit().constData())) { - std::cerr << "Failed to load Geoip Database at " << qPrintable(geoipDBpath(false)) << std::endl; - } - } else { - qDebug("ERROR: Impossible to find local Geoip Database"); - } - } - - // TODO: Support more countries - // http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm - static QIcon CountryISOCodeToIcon(const char* iso, QString &country_name) { - switch(iso[0]) { - case 0: - case '-': - case '!': - //qDebug("Not returning any icon because iso is invalid: %s", iso); - return QIcon(); - case 'A': - if(iso[1] == 'U') { country_name = tr("Australia"); return QIcon(":/Icons/flags/australia.png"); } - if(iso[1] == 'R') { country_name = tr("Argentina"); return QIcon(":/Icons/flags/argentina.png"); } - if(iso[1] == 'T') { country_name = tr("Austria"); return QIcon(":/Icons/flags/austria.png"); } - if(iso[1] == 'E') { country_name = tr("United Arab Emirates"); return QIcon(":/Icons/flags/united_arab_emirates.png"); } - break; - case 'B': - if(iso[1] == 'R') { country_name = tr("Brazil"); return QIcon(":/Icons/flags/brazil.png"); } - if(iso[1] == 'G') { country_name = tr("Bulgaria"); return QIcon(":/Icons/flags/bulgaria.png"); } - if(iso[1] == 'Y') { country_name = tr("Belarus"); return QIcon(":/Icons/flags/belarus.png"); } - if(iso[1] == 'E') { country_name = tr("Belgium"); return QIcon(":/Icons/flags/belgium.png"); } - if(iso[1] == 'A') { country_name = tr("Bosnia"); return QIcon(":/Icons/flags/bosnia.png"); } - break; - case 'C': - if(iso[1] == 'A') { country_name = tr("Canada"); return QIcon(":/Icons/flags/canada.png"); } - if(iso[1] == 'Z') { country_name = tr("Czech Republic"); return QIcon(":/Icons/flags/czech.png"); } - if(iso[1] == 'N') { country_name = tr("China"); return QIcon(":/Icons/flags/china.png"); } - if(iso[1] == 'R') { country_name = tr("Costa Rica"); return QIcon(":/Icons/flags/costa_rica.png"); } - if(iso[1] == 'H') { country_name = tr("Switzerland"); return QIcon(":/Icons/flags/suisse.png"); } - break; - case 'D': - if(iso[1] == 'E') { country_name = tr("Germany"); return QIcon(":/Icons/flags/germany.png"); } - if(iso[1] == 'K') { country_name = tr("Denmark"); return QIcon(":/Icons/flags/denmark.png"); } - if(iso[1] == 'Z') { country_name = tr("Algeria"); return QIcon(":/Icons/flags/algeria.png"); } - break; - case 'E': - if(iso[1] == 'S') { country_name = tr("Spain"); return QIcon(":/Icons/flags/spain.png"); } - if(iso[1] == 'G') { country_name = tr("Egypt"); return QIcon(":/Icons/flags/egypt.png"); } - break; - case 'F': - if(iso[1] == 'I') { country_name = tr("Finland"); return QIcon(":/Icons/flags/finland.png"); } - if(iso[1] == 'R') { country_name = tr("France"); return QIcon(":/Icons/flags/france.png"); } - break; - case 'G': - if(iso[1] == 'B') { country_name = tr("United Kingdom"); return QIcon(":/Icons/flags/united_kingdom.png"); } - if(iso[1] == 'R') { country_name = tr("Greece"); return QIcon(":/Icons/flags/greece.png"); } - if(iso[1] == 'E') { country_name = tr("Georgia"); return QIcon(":/Icons/flags/georgia.png"); } - break; - case 'H': - if(iso[1] == 'U') { country_name = tr("Hungary"); return QIcon(":/Icons/flags/hungary.png"); } - if(iso[1] == 'K') { country_name = tr("China"); return QIcon(":/Icons/flags/china.png"); } - if(iso[1] == 'R') { country_name = tr("Croatia"); return QIcon(":/Icons/flags/croatia.png"); } - break; - case 'I': - if(iso[1] == 'T') { country_name = tr("Italy"); return QIcon(":/Icons/flags/italy.png"); } - if(iso[1] == 'N') { country_name = tr("India"); return QIcon(":/Icons/flags/india.png"); } - if(iso[1] == 'L') { country_name = tr("Israel"); return QIcon(":/Icons/flags/israel.png"); } - if(iso[1] == 'E') { country_name = tr("Ireland"); return QIcon(":/Icons/flags/ireland.png"); } - if(iso[1] == 'S') { country_name = tr("Iceland"); return QIcon(":/Icons/flags/iceland.png"); } - if(iso[1] == 'D') { country_name = tr("Indonesia"); return QIcon(":/Icons/flags/indonesia.png"); } - break; - case 'J': - if(iso[1] == 'P') { country_name = tr("Japan"); return QIcon(":/Icons/flags/japan.png"); } - break; - case 'K': - if(iso[1] == 'R') { country_name = tr("South Korea"); return QIcon(":/Icons/flags/south_korea.png"); } - break; - case 'L': - if(iso[1] == 'U') { country_name = tr("Luxembourg"); return QIcon(":/Icons/flags/luxembourg.png"); } - break; - case 'M': - if(iso[1] == 'Y') { country_name = tr("Malaysia"); return QIcon(":/Icons/flags/malaysia.png"); } - if(iso[1] == 'X') { country_name = tr("Mexico"); return QIcon(":/Icons/flags/mexico.png"); } - if(iso[1] == 'E') { country_name = tr("Serbia"); return QIcon(":/Icons/flags/serbia.png"); } - if(iso[1] == 'A') { country_name = tr("Morocco"); return QIcon(":/Icons/flags/morocco.png"); } - break; - case 'N': - if(iso[1] == 'L') { country_name = tr("Netherlands"); return QIcon(":/Icons/flags/netherlands.png"); } - if(iso[1] == 'O') { country_name = tr("Norway"); return QIcon(":/Icons/flags/norway.png"); } - if(iso[1] == 'Z') { country_name = tr("New Zealand"); return QIcon(":/Icons/flags/newzealand.png"); } - break; - case 'P': - if(iso[1] == 'T') { country_name = tr("Portugal"); return QIcon(":/Icons/flags/portugal.png"); } - if(iso[1] == 'L') { country_name = tr("Poland"); return QIcon(":/Icons/flags/poland.png"); } - if(iso[1] == 'K') { country_name = tr("Pakistan"); return QIcon(":/Icons/flags/pakistan.png"); } - if(iso[1] == 'H') { country_name = tr("Philippines"); return QIcon(":/Icons/flags/philippines.png"); } - break; - case 'R': - if(iso[1] == 'U') { country_name = tr("Russia"); return QIcon(":/Icons/flags/russia.png"); } - if(iso[1] == 'O') { country_name = tr("Romania"); return QIcon(":/Icons/flags/romania.png"); } - if(iso[1] == 'E') { country_name = tr("France (Reunion Island)"); return QIcon(":/Icons/flags/france.png"); } - if(iso[1] == 'S') { country_name = tr("Serbia"); return QIcon(":/Icons/flags/serbia.png"); } - break; - case 'S': - if(iso[1] == 'A') { country_name = tr("Saudi Arabia"); return QIcon(":/Icons/flags/saoudi_arabia.png"); } - if(iso[1] == 'E') { country_name = tr("Sweden"); return QIcon(":/Icons/flags/sweden.png"); } - if(iso[1] == 'K') { country_name = tr("Slovakia"); return QIcon(":/Icons/flags/slovakia.png"); } - if(iso[1] == 'G') { country_name = tr("Singapore"); return QIcon(":/Icons/flags/singapore.png"); } - if(iso[1] == 'I') { country_name = tr("Slovenia"); return QIcon(":/Icons/flags/slovenia.png"); } - break; - case 'T': - if(iso[1] == 'W') { country_name = tr("Taiwan"); return QIcon(":/Icons/flags/china.png"); } - if(iso[1] == 'R') { country_name = tr("Turkey"); return QIcon(":/Icons/flags/turkey.png"); } - if(iso[1] == 'H') { country_name = tr("Thailand"); return QIcon(":/Icons/flags/thailand.png"); } - break; - case 'U': - if(iso[1] == 'S') { country_name = tr("USA"); return QIcon(":/Icons/flags/usa.png"); } - if(iso[1] == 'M') { country_name = tr("USA"); return QIcon(":/Icons/flags/usa.png"); } - if(iso[1] == 'A') { country_name = tr("Ukraine"); return QIcon(":/Icons/flags/ukraine.png"); } - break; - case 'Z': - if(iso[1] == 'A') { country_name = tr("South Africa"); return QIcon(":/Icons/flags/south_africa.png"); } - break; - } - qDebug("Unrecognized country code: %c%c", iso[0], iso[1]); - return QIcon(); - } -}; - -#endif // GEOIP_H diff --git a/src/geoipmanager.cpp b/src/geoipmanager.cpp new file mode 100644 index 000000000..1983d3860 --- /dev/null +++ b/src/geoipmanager.cpp @@ -0,0 +1,204 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2010 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * In addition, as a special exception, the copyright holders give permission to + * link this program with the OpenSSL project's "OpenSSL" library (or with + * modified versions of it that use the same license as the "OpenSSL" library), + * and distribute the linked executables. You must obey the GNU General Public + * License in all respects for all of the code used other than "OpenSSL". If you + * modify file(s), you may extend this exception to your version of the file(s), + * but you are not obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + * + * Contact : chris@qbittorrent.org + */ + +#include "geoipmanager.h" + +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2010 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * In addition, as a special exception, the copyright holders give permission to + * link this program with the OpenSSL project's "OpenSSL" library (or with + * modified versions of it that use the same license as the "OpenSSL" library), + * and distribute the linked executables. You must obey the GNU General Public + * License in all respects for all of the code used other than "OpenSSL". If you + * modify file(s), you may extend this exception to your version of the file(s), + * but you are not obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + * + * Contact : chris@qbittorrent.org + */ + +#include +#include +#include + +#include "misc.h" + +using namespace libtorrent; + +QString GeoIPManager::geoipFolder(bool embedded) { +#ifdef WITH_GEOIP_EMBEDDED + if(embedded) + return ":/geoip/"; + return misc::QDesktopServicesDataLocation()+"geoip"+QDir::separator(); +#else + Q_UNUSED(embedded); + if(QFile::exists("/usr/local/share/GeoIP/GeoIP.dat")) + return "/usr/local/share/GeoIP/"; + if(QFile::exists("/var/lib/GeoIP/GeoIP.dat")) + return "/var/lib/GeoIP/"; + return "/usr/share/GeoIP/"; +#endif +} + +QString GeoIPManager::geoipDBpath(bool embedded) { + return geoipFolder(embedded)+"GeoIP.dat"; +} + +#ifdef WITH_GEOIP_EMBEDDED +void GeoIPManager::exportEmbeddedDb() { + if(!QFile::exists(geoipDBpath(false)) || QFile(geoipDBpath(false)).size() != QFile(geoipDBpath(true)).size()) { // Export is required + qDebug("A local Geoip database update is required, proceeding..."); + // Create geoip folder is necessary + QDir gfolder(geoipFolder(false)); + if(!gfolder.exists()) { + if(!gfolder.mkpath(geoipFolder(false))) { + std::cerr << "Failed to create geoip folder at " << qPrintable(geoipFolder(false)) << std::endl; + return; + } + } + // Remove destination files + if(QFile::exists(geoipDBpath(false))) + misc::safeRemove(geoipDBpath(false)); + // Copy from executable to hard disk + qDebug("%s -> %s", qPrintable(geoipDBpath(true)), qPrintable(geoipDBpath(false))); + if(!QFile::copy(geoipDBpath(true), geoipDBpath(false))) { + std::cerr << "ERROR: Failed to copy geoip.dat from executable to hard disk" << std::endl; + } + qDebug("Local Geoip database was updated"); + } +} +#endif + +void GeoIPManager::loadDatabase(session *s) { +#ifdef WITH_GEOIP_EMBEDDED + exportEmbeddedDb(); +#endif + if(QFile::exists(geoipDBpath(false))) { + qDebug("Loading GeoIP database from %s...", qPrintable(geoipDBpath(false))); + if(!s->load_country_db(geoipDBpath(false).toLocal8Bit().constData())) { + std::cerr << "Failed to load Geoip Database at " << qPrintable(geoipDBpath(false)) << std::endl; + } + } else { + qDebug("ERROR: Impossible to find local Geoip Database"); + } +} + +const char country_code[253][3] = +{ "--","AP","EU","AD","AE","AF","AG","AI","AL","AM","AN", + "AO","AQ","AR","AS","AT","AU","AW","AZ","BA","BB", + "BD","BE","BF","BG","BH","BI","BJ","BM","BN","BO", + "BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD", + "CF","CG","CH","CI","CK","CL","CM","CN","CO","CR", + "CU","CV","CX","CY","CZ","DE","DJ","DK","DM","DO", + "DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ", + "FK","FM","FO","FR","FX","GA","GB","GD","GE","GF", + "GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT", + "GU","GW","GY","HK","HM","HN","HR","HT","HU","ID", + "IE","IL","IN","IO","IQ","IR","IS","IT","JM","JO", + "JP","KE","KG","KH","KI","KM","KN","KP","KR","KW", + "KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT", + "LU","LV","LY","MA","MC","MD","MG","MH","MK","ML", + "MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV", + "MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI", + "NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF", + "PG","PH","PK","PL","PM","PN","PR","PS","PT","PW", + "PY","QA","RE","RO","RU","RW","SA","SB","SC","SD", + "SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO", + "SR","ST","SV","SY","SZ","TC","TD","TF","TG","TH", + "TJ","TK","TM","TN","TO","TL","TR","TT","TV","TW", + "TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE", + "VG","VI","VN","VU","WF","WS","YE","YT","RS","ZA", + "ZM","ME","ZW","A1","A2","O1","AX","GG","IM","JE", + "BL","MF"}; + +static const uint num_countries = (unsigned)(sizeof(country_code)/sizeof(country_code[0])); + +const char * country_name[253] = +{"N/A","Asia/Pacific Region","Europe","Andorra","United Arab Emirates","Afghanistan","Antigua and Barbuda","Anguilla","Albania","Armenia","Netherlands Antilles", + "Angola","Antarctica","Argentina","American Samoa","Austria","Australia","Aruba","Azerbaijan","Bosnia and Herzegovina","Barbados", + "Bangladesh","Belgium","Burkina Faso","Bulgaria","Bahrain","Burundi","Benin","Bermuda","Brunei Darussalam","Bolivia", + "Brazil","Bahamas","Bhutan","Bouvet Island","Botswana","Belarus","Belize","Canada","Cocos (Keeling) Islands","Congo, The Democratic Republic of the", + "Central African Republic","Congo","Switzerland","Cote D'Ivoire","Cook Islands","Chile","Cameroon","China","Colombia","Costa Rica", + "Cuba","Cape Verde","Christmas Island","Cyprus","Czech Republic","Germany","Djibouti","Denmark","Dominica","Dominican Republic", + "Algeria","Ecuador","Estonia","Egypt","Western Sahara","Eritrea","Spain","Ethiopia","Finland","Fiji", + "Falkland Islands (Malvinas)","Micronesia, Federated States of","Faroe Islands","France","France, Metropolitan","Gabon","United Kingdom","Grenada","Georgia","French Guiana", + "Ghana","Gibraltar","Greenland","Gambia","Guinea","Guadeloupe","Equatorial Guinea","Greece","South Georgia and the South Sandwich Islands","Guatemala", + "Guam","Guinea-Bissau","Guyana","Hong Kong","Heard Island and McDonald Islands","Honduras","Croatia","Haiti","Hungary","Indonesia", + "Ireland","Israel","India","British Indian Ocean Territory","Iraq","Iran, Islamic Republic of","Iceland","Italy","Jamaica","Jordan", + "Japan","Kenya","Kyrgyzstan","Cambodia","Kiribati","Comoros","Saint Kitts and Nevis","Korea, Democratic People's Republic of","Korea, Republic of","Kuwait", + "Cayman Islands","Kazakhstan","Lao People's Democratic Republic","Lebanon","Saint Lucia","Liechtenstein","Sri Lanka","Liberia","Lesotho","Lithuania", + "Luxembourg","Latvia","Libyan Arab Jamahiriya","Morocco","Monaco","Moldova, Republic of","Madagascar","Marshall Islands","Macedonia","Mali", + "Myanmar","Mongolia","Macau","Northern Mariana Islands","Martinique","Mauritania","Montserrat","Malta","Mauritius","Maldives", + "Malawi","Mexico","Malaysia","Mozambique","Namibia","New Caledonia","Niger","Norfolk Island","Nigeria","Nicaragua", + "Netherlands","Norway","Nepal","Nauru","Niue","New Zealand","Oman","Panama","Peru","French Polynesia", + "Papua New Guinea","Philippines","Pakistan","Poland","Saint Pierre and Miquelon","Pitcairn Islands","Puerto Rico","Palestinian Territory","Portugal","Palau", + "Paraguay","Qatar","Reunion","Romania","Russian Federation","Rwanda","Saudi Arabia","Solomon Islands","Seychelles","Sudan", + "Sweden","Singapore","Saint Helena","Slovenia","Svalbard and Jan Mayen","Slovakia","Sierra Leone","San Marino","Senegal","Somalia","Suriname", + "Sao Tome and Principe","El Salvador","Syrian Arab Republic","Swaziland","Turks and Caicos Islands","Chad","French Southern Territories","Togo","Thailand", + "Tajikistan","Tokelau","Turkmenistan","Tunisia","Tonga","Timor-Leste","Turkey","Trinidad and Tobago","Tuvalu","Taiwan", + "Tanzania, United Republic of","Ukraine","Uganda","United States Minor Outlying Islands","United States","Uruguay","Uzbekistan","Holy See (Vatican City State)","Saint Vincent and the Grenadines","Venezuela", + "Virgin Islands, British","Virgin Islands, U.S.","Vietnam","Vanuatu","Wallis and Futuna","Samoa","Yemen","Mayotte","Serbia","South Africa", + "Zambia","Montenegro","Zimbabwe","Anonymous Proxy","Satellite Provider","Other","Aland Islands","Guernsey","Isle of Man","Jersey", + "Saint Barthelemy","Saint Martin"}; + +QString GeoIPManager::CountryISOCodeToName(const char* iso) { + if(iso[0] == 0) return "N/A"; + for(uint i = 0; i < num_countries; ++i) { + if(iso[0] == country_code[i][0] && iso[1] == country_code[i][1]) { + return QLatin1String(country_name[i]); + } + } + qDebug("GeoIPManager: Country name resolution failed for: %c%c", iso[0], iso[1]); + return "N/A"; +} + +// http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm +QIcon GeoIPManager::CountryISOCodeToIcon(const char* iso) { + if(iso[0] == 0 || iso[0] == '!') return QIcon(); + const QString isoStr = QString(QByteArray(iso, 2)).toLower(); + return QIcon(":/Icons/flags/"+isoStr+".png"); +} + diff --git a/src/geoipmanager.h b/src/geoipmanager.h new file mode 100644 index 000000000..00bb730fa --- /dev/null +++ b/src/geoipmanager.h @@ -0,0 +1,55 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2010 Christophe Dumez + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * In addition, as a special exception, the copyright holders give permission to + * link this program with the OpenSSL project's "OpenSSL" library (or with + * modified versions of it that use the same license as the "OpenSSL" library), + * and distribute the linked executables. You must obey the GNU General Public + * License in all respects for all of the code used other than "OpenSSL". If you + * modify file(s), you may extend this exception to your version of the file(s), + * but you are not obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + * + * Contact : chris@qbittorrent.org + */ + +#ifndef GEOIPMANAGER_H +#define GEOIPMANAGER_H + +#include +#include +#include + +class GeoIPManager : public QObject { + Q_OBJECT + +public: + static void loadDatabase(libtorrent::session *s); + static QIcon CountryISOCodeToIcon(const char* iso); + static QString CountryISOCodeToName(const char* iso); + +private: + static QString geoipFolder(bool embedded=false); + static QString geoipDBpath(bool embedded=false); +#ifdef WITH_GEOIP_EMBEDDED + static void exportEmbeddedDb(); +#endif +}; + + +#endif // GEOIP_H diff --git a/src/icons.qrc b/src/icons.qrc index a399de7a3..9dea07a47 100644 --- a/src/icons.qrc +++ b/src/icons.qrc @@ -63,66 +63,247 @@ Icons/skin/filteractive.png Icons/skin/bg-handle-horizontal.gif Icons/skin/download.png - Icons/flags/pakistan.png - Icons/flags/argentina.png - Icons/flags/netherlands.png - Icons/flags/australia.png - Icons/flags/finland.png - Icons/flags/croatia.png - Icons/flags/indonesia.png - Icons/flags/greece.png - Icons/flags/belarus.png - Icons/flags/morocco.png - Icons/flags/portugal.png - Icons/flags/egypt.png - Icons/flags/georgia.png - Icons/flags/costa_rica.png - Icons/flags/denmark.png - Icons/flags/bosnia.png - Icons/flags/newzealand.png - Icons/flags/serbia.png - Icons/flags/singapore.png - Icons/flags/italy.png - Icons/flags/brazil.png - Icons/flags/taiwan.png - Icons/flags/south_korea.png - Icons/flags/turkey.png - Icons/flags/algeria.png - Icons/flags/japan.png - Icons/flags/luxembourg.png - Icons/flags/poland.png - Icons/flags/iceland.png - Icons/flags/spain.png - Icons/flags/saoudi_arabia.png - Icons/flags/norway.png - Icons/flags/russia.png - Icons/flags/slovakia.png - Icons/flags/philippines.png - Icons/flags/thailand.png - Icons/flags/israel.png - Icons/flags/bulgaria.png - Icons/flags/czech.png - Icons/flags/usa.png - Icons/flags/malaysia.png - Icons/flags/belgium.png - Icons/flags/south_africa.png - Icons/flags/slovenia.png - Icons/flags/china.png - Icons/flags/germany.png - Icons/flags/ukraine.png - Icons/flags/india.png - Icons/flags/spain_catalunya.png - Icons/flags/romania.png - Icons/flags/united_kingdom.png - Icons/flags/united_arab_emirates.png - Icons/flags/sweden.png - Icons/flags/canada.png - Icons/flags/mexico.png - Icons/flags/hungary.png - Icons/flags/france.png - Icons/flags/ireland.png - Icons/flags/austria.png - Icons/flags/suisse.png + Icons/flags/sm.png + Icons/flags/lt.png + Icons/flags/th.png + Icons/flags/sd.png + Icons/flags/mr.png + Icons/flags/by.png + Icons/flags/sc.png + Icons/flags/mz.png + Icons/flags/tt.png + Icons/flags/kp.png + Icons/flags/re.png + Icons/flags/um.png + Icons/flags/ec.png + Icons/flags/fk.png + Icons/flags/aw.png + Icons/flags/lb.png + Icons/flags/vg.png + Icons/flags/do.png + Icons/flags/ee.png + Icons/flags/ck.png + Icons/flags/gn.png + Icons/flags/cg.png + Icons/flags/ao.png + Icons/flags/dk.png + Icons/flags/ms.png + Icons/flags/sg.png + Icons/flags/bw.png + Icons/flags/br.png + Icons/flags/cn.png + Icons/flags/ua.png + Icons/flags/ae.png + Icons/flags/tg.png + Icons/flags/ge.png + Icons/flags/ne.png + Icons/flags/km.png + Icons/flags/bf.png + Icons/flags/nf.png + Icons/flags/az.png + Icons/flags/sl.png + Icons/flags/md.png + Icons/flags/ph.png + Icons/flags/mc.png + Icons/flags/mq.png + Icons/flags/ng.png + Icons/flags/vu.png + Icons/flags/et.png + Icons/flags/bj.png + Icons/flags/nl.png + Icons/flags/ad.png + Icons/flags/tv.png + Icons/flags/fj.png + Icons/flags/to.png + Icons/flags/ru.png + Icons/flags/jp.png + Icons/flags/ma.png + Icons/flags/bz.png + Icons/flags/vn.png + Icons/flags/bt.png + Icons/flags/ht.png + Icons/flags/kw.png + Icons/flags/tr.png + Icons/flags/sy.png + Icons/flags/nr.png + Icons/flags/nz.png + Icons/flags/np.png + Icons/flags/uz.png + Icons/flags/in.png + Icons/flags/ga.png + Icons/flags/sa.png + Icons/flags/tl.png + Icons/flags/ly.png + Icons/flags/lr.png + Icons/flags/cz.png + Icons/flags/bm.png + Icons/flags/us.png + Icons/flags/ye.png + Icons/flags/gs.png + Icons/flags/sb.png + Icons/flags/hm.png + Icons/flags/ke.png + Icons/flags/so.png + Icons/flags/ni.png + Icons/flags/cm.png + Icons/flags/li.png + Icons/flags/gp.png + Icons/flags/co.png + Icons/flags/kz.png + Icons/flags/de.png + Icons/flags/mm.png + Icons/flags/gb.png + Icons/flags/mx.png + Icons/flags/la.png + Icons/flags/au.png + Icons/flags/gu.png + Icons/flags/gw.png + Icons/flags/lc.png + Icons/flags/st.png + Icons/flags/nc.png + Icons/flags/ch.png + Icons/flags/cd.png + Icons/flags/mh.png + Icons/flags/pg.png + Icons/flags/bh.png + Icons/flags/kr.png + Icons/flags/is.png + Icons/flags/gh.png + Icons/flags/mp.png + Icons/flags/ca.png + Icons/flags/bi.png + Icons/flags/yt.png + Icons/flags/it.png + Icons/flags/kn.png + Icons/flags/ve.png + Icons/flags/cu.png + Icons/flags/bs.png + Icons/flags/rs.png + Icons/flags/tw.png + Icons/flags/bd.png + Icons/flags/pr.png + Icons/flags/lk.png + Icons/flags/sn.png + Icons/flags/gr.png + Icons/flags/gm.png + Icons/flags/na.png + Icons/flags/om.png + Icons/flags/tz.png + Icons/flags/as.png + Icons/flags/no.png + Icons/flags/mv.png + Icons/flags/ki.png + Icons/flags/eg.png + Icons/flags/tj.png + Icons/flags/sj.png + Icons/flags/fi.png + Icons/flags/lv.png + Icons/flags/cx.png + Icons/flags/ci.png + Icons/flags/vi.png + Icons/flags/be.png + Icons/flags/mw.png + Icons/flags/zw.png + Icons/flags/si.png + Icons/flags/dm.png + Icons/flags/jo.png + Icons/flags/hk.png + Icons/flags/me.png + Icons/flags/va.png + Icons/flags/pm.png + Icons/flags/qa.png + Icons/flags/cc.png + Icons/flags/kh.png + Icons/flags/id.png + Icons/flags/ai.png + Icons/flags/mn.png + Icons/flags/gd.png + Icons/flags/mt.png + Icons/flags/gq.png + Icons/flags/hr.png + Icons/flags/sv.png + Icons/flags/dz.png + Icons/flags/kg.png + Icons/flags/gy.png + Icons/flags/bv.png + Icons/flags/ag.png + Icons/flags/hn.png + Icons/flags/ml.png + Icons/flags/fo.png + Icons/flags/pw.png + Icons/flags/mg.png + Icons/flags/iq.png + Icons/flags/jm.png + Icons/flags/bo.png + Icons/flags/sk.png + Icons/flags/sh.png + Icons/flags/tf.png + Icons/flags/mk.png + Icons/flags/my.png + Icons/flags/es.png + Icons/flags/py.png + Icons/flags/ax.png + Icons/flags/ls.png + Icons/flags/tn.png + Icons/flags/ps.png + Icons/flags/bn.png + Icons/flags/dj.png + Icons/flags/cs.png + Icons/flags/pl.png + Icons/flags/cl.png + Icons/flags/pf.png + Icons/flags/gi.png + Icons/flags/bb.png + Icons/flags/ws.png + Icons/flags/cy.png + Icons/flags/pt.png + Icons/flags/ba.png + Icons/flags/gl.png + Icons/flags/ie.png + Icons/flags/fr.png + Icons/flags/tm.png + Icons/flags/er.png + Icons/flags/cr.png + Icons/flags/af.png + Icons/flags/mu.png + Icons/flags/lu.png + Icons/flags/pk.png + Icons/flags/am.png + Icons/flags/ar.png + Icons/flags/uy.png + Icons/flags/hu.png + Icons/flags/pn.png + Icons/flags/gf.png + Icons/flags/ir.png + Icons/flags/pe.png + Icons/flags/nu.png + Icons/flags/ro.png + Icons/flags/mo.png + Icons/flags/za.png + Icons/flags/ky.png + Icons/flags/zm.png + Icons/flags/se.png + Icons/flags/il.png + Icons/flags/fm.png + Icons/flags/sr.png + Icons/flags/pa.png + Icons/flags/cv.png + Icons/flags/tc.png + Icons/flags/an.png + Icons/flags/sz.png + Icons/flags/io.png + Icons/flags/rw.png + Icons/flags/eh.png + Icons/flags/cf.png + Icons/flags/gt.png + Icons/flags/al.png + Icons/flags/ug.png + Icons/flags/td.png + Icons/flags/at.png + Icons/flags/vc.png + Icons/flags/tk.png + Icons/flags/bg.png + Icons/flags/wf.png Icons/oxygen/peer.png Icons/oxygen/unavailable.png Icons/oxygen/subscribe.png diff --git a/src/options_imp.cpp b/src/options_imp.cpp index 65cbbf78d..30d95d741 100644 --- a/src/options_imp.cpp +++ b/src/options_imp.cpp @@ -76,67 +76,7 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){ connect(buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(applySettings(QAbstractButton*))); comboStyle->addItems(QStyleFactory::keys()); // Languages supported - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/united_kingdom.png"))), QString::fromUtf8("English")); - locales << "en_GB"; - comboI18n->setCurrentIndex(0); - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/france.png"))), QString::fromUtf8("Français")); - locales << "fr_FR"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/germany.png"))), QString::fromUtf8("Deutsch")); - locales << "de_DE"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/hungary.png"))), QString::fromUtf8("Magyar")); - locales << "hu_HU"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/italy.png"))), QString::fromUtf8("Italiano")); - locales << "it_IT"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/netherlands.png"))), QString::fromUtf8("Nederlands")); - locales << "nl_NL"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/spain.png"))), QString::fromUtf8("Español")); - locales << "es_ES"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/spain_catalunya.png"))), QString::fromUtf8("Català")); - locales << "ca_ES"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/portugal.png"))), QString::fromUtf8("Português")); - locales << "pt_PT"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/brazil.png"))), QString::fromUtf8("Português brasileiro")); - locales << "pt_BR"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/poland.png"))), QString::fromUtf8("Polski")); - locales << "pl_PL"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/czech.png"))), QString::fromUtf8("Čeština")); - locales << "cs_CZ"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/slovakia.png"))), QString::fromUtf8("Slovenčina")); - locales << "sk_SK"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/croatia.png"))), QString::fromUtf8("Hrvatski")); - locales << "hr_HR"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/serbia.png"))), QString::fromUtf8("Српски")); - locales << "sr_CS"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/romania.png"))), QString::fromUtf8("Română")); - locales << "ro_RO"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/turkey.png"))), QString::fromUtf8("Türkçe")); - locales << "tr_TR"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/saoudi_arabia.png"))), QString::fromUtf8("عربي")); - locales << "ar_SA"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/greece.png"))), QString::fromUtf8("Ελληνικά")); - locales << "el_GR"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/sweden.png"))), QString::fromUtf8("Svenska")); - locales << "sv_SE"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/finland.png"))), QString::fromUtf8("Suomi")); - locales << "fi_FI"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/norway.png"))), QString::fromUtf8("Norsk")); - locales << "nb_NO"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/denmark.png"))), QString::fromUtf8("Dansk")); - locales << "da_DK"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/bulgaria.png"))), QString::fromUtf8("Български")); - locales << "bg_BG"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/ukraine.png"))), QString::fromUtf8("Українська")); - locales << "uk_UA"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/russia.png"))), QString::fromUtf8("Русский")); - locales << "ru_RU"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/japan.png"))), QString::fromUtf8("日本語")); - locales << "ja_JP"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/china.png"))), QString::fromUtf8("中文 (简体)")); - locales << "zh_CN"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/taiwan.png"))), QString::fromUtf8("中文 (繁體)")); - locales << "zh_TW"; - comboI18n->addItem((QIcon(QString::fromUtf8(":/Icons/flags/south_korea.png"))), QString::fromUtf8("한글")); - locales << "ko_KR"; + initializeLanguageCombo(); // Load week days (scheduler) for(uint i=1; i<=7; ++i) { @@ -267,6 +207,22 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){ loadWindowState(); } +void options_imp::initializeLanguageCombo() +{ + // List language files + const QDir lang_dir(":/lang"); + const QStringList lang_files = lang_dir.entryList(QStringList() << "qbittorrent_*.qm", QDir::Files); + foreach(QString lang_file, lang_files) { + QString localeStr = lang_file.mid(12); // remove "qbittorrent_" + localeStr.chop(3); // Remove ".qm" + QLocale locale(localeStr); + const QString country = locale.name().split("_").last().toLower(); + QString language_name = QLocale::languageToString(locale.language()); + comboI18n->addItem(QIcon(":/Icons/flags/"+country+".png"), language_name, locale.name()); + qDebug() << "Supported locale:" << locale.name(); + } +} + // Main destructor options_imp::~options_imp(){ qDebug("-> destructing Options"); @@ -1009,14 +965,19 @@ QString options_imp::getProxyPassword() const{ // Locale Settings QString options_imp::getLocale() const{ - return locales.at(comboI18n->currentIndex()); + return comboI18n->itemData(comboI18n->currentIndex(), Qt::UserRole).toString(); } -void options_imp::setLocale(QString locale){ - int indexLocales=locales.indexOf(QRegExp(locale)); - if(indexLocales != -1){ - comboI18n->setCurrentIndex(indexLocales); +void options_imp::setLocale(QString localeStr) { + QLocale locale(localeStr); + // Attempt to find exact match + int index = comboI18n->findData(locale.name(), Qt::UserRole); + if(index < 0) { + // Unreconized, use US English + index = comboI18n->findData(QLocale("en").name(), Qt::UserRole); + Q_ASSERT(index >= 0); } + comboI18n->setCurrentIndex(index); } QString options_imp::getExportDir() const { @@ -1180,3 +1141,4 @@ void options_imp::showConnectionTab() { tabSelection->setCurrentRow(2); } + diff --git a/src/options_imp.h b/src/options_imp.h index 68758167d..ca34f2bf0 100644 --- a/src/options_imp.h +++ b/src/options_imp.h @@ -45,23 +45,56 @@ class AdvancedSettings; class options_imp : public QDialog, private Ui_Preferences { Q_OBJECT -private: - QButtonGroup choiceLanguage; - QStringList locales; - QAbstractButton *applyButton; - AdvancedSettings *advancedSettings; - QList addedScanDirs; - public: // Contructor / Destructor options_imp(QWidget *parent=0); ~options_imp(); QSize sizeFittingScreen(); -protected: +protected slots: + void enableUploadLimit(bool checked); + void enableDownloadLimit(bool checked); + void enableProxy(int comboIndex); + void enableProxyAuth(bool checked); + void enableMaxConnecsLimit(bool checked); + void enableMaxConnecsLimitPerTorrent(bool checked); + void enableMaxUploadsLimitPerTorrent(bool checked); + void enableMaxRatio(bool checked); + void setStyle(QString style); + void on_buttonBox_accepted(); + void closeEvent(QCloseEvent *e); + void on_buttonBox_rejected(); + void applySettings(QAbstractButton* button); + void on_browseExportDirButton_clicked(); + void on_browseFilterButton_clicked(); + void on_browseSaveDirButton_clicked(); + void on_browseTempDirButton_clicked(); + void enableApplyButton(); + void enableSystrayOptions(); + void disableSystrayOptions(); + void setSystrayOptionsState(bool checked); + void changePage(QListWidgetItem*, QListWidgetItem*); + void loadWindowState(); + void saveWindowState() const; + void on_randomButton_clicked(); + void on_addScanFolderButton_clicked(); + void on_removeScanFolderButton_clicked(); + void handleScanFolderViewSelectionChanged(); + +public slots: + void setLocale(QString locale); + void useStyle(); + void showConnectionTab(); + +signals: + void status_changed() const; + void exitWithCancel(); + +private: // Methods void saveOptions(); void loadOptions(); + void initializeLanguageCombo(); // General options QString getLocale() const; QString getStyle() const; @@ -116,44 +149,12 @@ protected: QString webUiUsername() const; QString webUiPassword() const; -protected slots: - void enableUploadLimit(bool checked); - void enableDownloadLimit(bool checked); - void enableProxy(int comboIndex); - void enableProxyAuth(bool checked); - void enableMaxConnecsLimit(bool checked); - void enableMaxConnecsLimitPerTorrent(bool checked); - void enableMaxUploadsLimitPerTorrent(bool checked); - void enableMaxRatio(bool checked); - void setStyle(QString style); - void on_buttonBox_accepted(); - void closeEvent(QCloseEvent *e); - void on_buttonBox_rejected(); - void applySettings(QAbstractButton* button); - void on_browseExportDirButton_clicked(); - void on_browseFilterButton_clicked(); - void on_browseSaveDirButton_clicked(); - void on_browseTempDirButton_clicked(); - void enableApplyButton(); - void enableSystrayOptions(); - void disableSystrayOptions(); - void setSystrayOptionsState(bool checked); - void changePage(QListWidgetItem*, QListWidgetItem*); - void loadWindowState(); - void saveWindowState() const; - void on_randomButton_clicked(); - void on_addScanFolderButton_clicked(); - void on_removeScanFolderButton_clicked(); - void handleScanFolderViewSelectionChanged(); - -public slots: - void setLocale(QString locale); - void useStyle(); - void showConnectionTab(); +private: + QButtonGroup choiceLanguage; + QAbstractButton *applyButton; + AdvancedSettings *advancedSettings; + QList addedScanDirs; -signals: - void status_changed() const; - void exitWithCancel(); }; #endif diff --git a/src/preferences.h b/src/preferences.h index bbc556520..1764b27b9 100644 --- a/src/preferences.h +++ b/src/preferences.h @@ -36,6 +36,7 @@ #include #include #include +#include #include #ifndef DISABLE_GUI @@ -62,7 +63,9 @@ class Preferences : public QIniSettings { Q_DISABLE_COPY(Preferences); public: - Preferences() : QIniSettings("qBittorrent", "qBittorrent") {} + Preferences() : QIniSettings("qBittorrent", "qBittorrent") { + qDebug() << "Preferences constructor"; + } public: // General options @@ -174,7 +177,7 @@ public: QString getSavePath() const { #ifdef Q_WS_WIN return value(QString::fromUtf8("Preferences/Downloads/SavePath"), - QDir(QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation)).absoluteFilePath("Downloads")).toString(); + QDir(QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation)).absoluteFilePath("Downloads")).toString(); #else return value(QString::fromUtf8("Preferences/Downloads/SavePath"), QDir::home().absoluteFilePath("qBT_dir")).toString(); #endif diff --git a/src/properties/peerlistwidget.cpp b/src/properties/peerlistwidget.cpp index 9583d41e6..e1e28ebf7 100644 --- a/src/properties/peerlistwidget.cpp +++ b/src/properties/peerlistwidget.cpp @@ -33,7 +33,7 @@ #include "reverseresolution.h" #include "preferences.h" #include "propertieswidget.h" -#include "geoip.h" +#include "geoipmanager.h" #include "peeraddition.h" #include "speedlimitdlg.h" #include @@ -355,11 +355,10 @@ QStandardItem* PeerListWidget::addPeer(QString ip, peer_info peer) { if(resolver && host.isNull()) resolver->resolve(peer.ip); if(display_flags) { - QString country_name; - const QIcon ico = GeoIP::CountryISOCodeToIcon(peer.country, country_name); + const QIcon ico = GeoIPManager::CountryISOCodeToIcon(peer.country); if(!ico.isNull()) { listModel->setData(listModel->index(row, IP), ico, Qt::DecorationRole); - Q_ASSERT(!country_name.isEmpty()); + const QString country_name = GeoIPManager::CountryISOCodeToName(peer.country); listModel->setData(listModel->index(row, IP), country_name, Qt::ToolTipRole); } else { missingFlags.insert(ip); @@ -378,11 +377,10 @@ void PeerListWidget::updatePeer(QString ip, peer_info peer) { QStandardItem *item = peerItems.value(ip); int row = item->row(); if(display_flags) { - QString country_name; - const QIcon ico = GeoIP::CountryISOCodeToIcon(peer.country, country_name); + const QIcon ico = GeoIPManager::CountryISOCodeToIcon(peer.country); if(!ico.isNull()) { listModel->setData(listModel->index(row, IP), ico, Qt::DecorationRole); - Q_ASSERT(!country_name.isEmpty()); + const QString country_name = GeoIPManager::CountryISOCodeToName(peer.country); listModel->setData(listModel->index(row, IP), country_name, Qt::ToolTipRole); missingFlags.remove(ip); } diff --git a/src/qtlibtorrent/qbtsession.cpp b/src/qtlibtorrent/qbtsession.cpp index 2d446b3fb..fb6afc63b 100644 --- a/src/qtlibtorrent/qbtsession.cpp +++ b/src/qtlibtorrent/qbtsession.cpp @@ -46,7 +46,7 @@ #include "preferences.h" #include "scannedfoldersmodel.h" #ifndef DISABLE_GUI -#include "geoip.h" +#include "geoipmanager.h" #endif #include "torrentpersistentdata.h" #include "httpserver.h" @@ -356,7 +356,7 @@ void QBtSession::configureSession() { resolve_countries = new_resolv_countries; if(resolve_countries && !geoipDBLoaded) { qDebug("Loading geoip database"); - GeoIP::loadDatabase(s); + GeoIPManager::loadDatabase(s); geoipDBLoaded = true; } // Update torrent handles diff --git a/src/src.pro b/src/src.pro index 3f09cd693..33a1affb9 100644 --- a/src/src.pro +++ b/src/src.pro @@ -291,7 +291,6 @@ contains(DEFINES, DISABLE_GUI) { transferlistdelegate.h \ transferlistfilterswidget.h \ torrentfilesmodel.h \ - geoip.h \ deletionconfirmationdlg.h \ statusbar.h \ reverseresolution.h \ @@ -308,7 +307,8 @@ contains(DEFINES, DISABLE_GUI) { advancedsettings.h \ hidabletabwidget.h \ sessionapplication.h \ - torrentimportdlg.h + torrentimportdlg.h \ + geoipmanager.h win32 { HEADERS += programupdater.h @@ -380,7 +380,8 @@ SOURCES += main.cpp \ transferlistwidget.cpp \ torrentadditiondlg.cpp \ sessionapplication.cpp \ - torrentimportdlg.cpp + torrentimportdlg.cpp \ + geoipmanager.cpp win32 { SOURCES += programupdater.cpp