from collections import defaultdict


class Charset:
    def __init__(self, id, name, collation, is_default=False, dbms="mysql"):
        self.id, self.name, self.collation = id, name, collation
        self.is_default = is_default
        self.dbms = dbms

    def __repr__(self):
        return (
            f"Charset(id={self.id}, name={self.name!r}, collation={self.collation!r})"
        )

    @property
    def encoding(self):
        name = self.name
        if name in ("utf8mb4", "utf8mb3"):
            return "utf8"
        if name == "latin1":
            return "cp1252"
        if name == "koi8r":
            return "koi8_r"
        if name == "koi8u":
            return "koi8_u"
        return name

    @property
    def is_binary(self):
        return self.id == 63


class Charsets:
    def __init__(self):
        self._by_id = defaultdict(dict)  # key: mysql / mariadb
        self._by_name = defaultdict(dict)  # key: mysql / mariadb

    def add(self, _charset):
        self._by_id[_charset.dbms][_charset.id] = _charset
        if _charset.is_default:
            self._by_name[_charset.dbms][_charset.name] = _charset

    def by_id(self, id, dbms="mysql"):
        return self._by_id.get(dbms, {}).get(int(id))

    def by_name(self, name, dbms="mysql"):
        if name == "utf8":
            name = "utf8mb4"
        return self._by_name.get(dbms, {}).get(name.lower())


charsets = Charsets()
charset_by_name = charsets.by_name
charset_by_id = charsets.by_id

# id, name, collation, is_default, dbms
charsets.add(Charset(1, "big5", "big5_chinese_ci", True, "mysql"))
charsets.add(Charset(2, "latin2", "latin2_czech_cs", False, "mysql"))
charsets.add(Charset(3, "dec8", "dec8_swedish_ci", True, "mysql"))
charsets.add(Charset(4, "cp850", "cp850_general_ci", True, "mysql"))
charsets.add(Charset(5, "latin1", "latin1_german1_ci", False, "mysql"))
charsets.add(Charset(6, "hp8", "hp8_english_ci", True, "mysql"))
charsets.add(Charset(7, "koi8r", "koi8r_general_ci", True, "mysql"))
charsets.add(Charset(8, "latin1", "latin1_swedish_ci", True, "mysql"))
charsets.add(Charset(9, "latin2", "latin2_general_ci", True, "mysql"))
charsets.add(Charset(10, "swe7", "swe7_swedish_ci", True, "mysql"))
charsets.add(Charset(11, "ascii", "ascii_general_ci", True, "mysql"))
charsets.add(Charset(12, "ujis", "ujis_japanese_ci", True, "mysql"))
charsets.add(Charset(13, "sjis", "sjis_japanese_ci", True, "mysql"))
charsets.add(Charset(14, "cp1251", "cp1251_bulgarian_ci", False, "mysql"))
charsets.add(Charset(15, "latin1", "latin1_danish_ci", False, "mysql"))
charsets.add(Charset(16, "hebrew", "hebrew_general_ci", True, "mysql"))
charsets.add(Charset(18, "tis620", "tis620_thai_ci", True, "mysql"))
charsets.add(Charset(19, "euckr", "euckr_korean_ci", True, "mysql"))
charsets.add(Charset(20, "latin7", "latin7_estonian_cs", False, "mysql"))
charsets.add(Charset(21, "latin2", "latin2_hungarian_ci", False, "mysql"))
charsets.add(Charset(22, "koi8u", "koi8u_general_ci", True, "mysql"))
charsets.add(Charset(23, "cp1251", "cp1251_ukrainian_ci", False, "mysql"))
charsets.add(Charset(24, "gb2312", "gb2312_chinese_ci", True, "mysql"))
charsets.add(Charset(25, "greek", "greek_general_ci", True, "mysql"))
charsets.add(Charset(26, "cp1250", "cp1250_general_ci", True, "mysql"))
charsets.add(Charset(27, "latin2", "latin2_croatian_ci", False, "mysql"))
charsets.add(Charset(28, "gbk", "gbk_chinese_ci", True, "mysql"))
charsets.add(Charset(29, "cp1257", "cp1257_lithuanian_ci", False, "mysql"))
charsets.add(Charset(30, "latin5", "latin5_turkish_ci", True, "mysql"))
charsets.add(Charset(31, "latin1", "latin1_german2_ci", False, "mysql"))
charsets.add(Charset(32, "armscii8", "armscii8_general_ci", True, "mysql"))
charsets.add(Charset(33, "utf8mb3", "utf8mb3_general_ci", True, "mysql"))
charsets.add(Charset(34, "cp1250", "cp1250_czech_cs", False, "mysql"))
charsets.add(Charset(35, "ucs2", "ucs2_general_ci", True, "mysql"))
charsets.add(Charset(36, "cp866", "cp866_general_ci", True, "mysql"))
charsets.add(Charset(37, "keybcs2", "keybcs2_general_ci", True, "mysql"))
charsets.add(Charset(38, "macce", "macce_general_ci", True, "mysql"))
charsets.add(Charset(39, "macroman", "macroman_general_ci", True, "mysql"))
charsets.add(Charset(40, "cp852", "cp852_general_ci", True, "mysql"))
charsets.add(Charset(41, "latin7", "latin7_general_ci", True, "mysql"))
charsets.add(Charset(42, "latin7", "latin7_general_cs", False, "mysql"))
charsets.add(Charset(43, "macce", "macce_bin", False, "mysql"))
charsets.add(Charset(44, "cp1250", "cp1250_croatian_ci", False, "mysql"))
charsets.add(Charset(45, "utf8mb4", "utf8mb4_general_ci", False, "mysql"))
charsets.add(Charset(46, "utf8mb4", "utf8mb4_bin", False, "mysql"))
charsets.add(Charset(47, "latin1", "latin1_bin", False, "mysql"))
charsets.add(Charset(48, "latin1", "latin1_general_ci", False, "mysql"))
charsets.add(Charset(49, "latin1", "latin1_general_cs", False, "mysql"))
charsets.add(Charset(50, "cp1251", "cp1251_bin", False, "mysql"))
charsets.add(Charset(51, "cp1251", "cp1251_general_ci", True, "mysql"))
charsets.add(Charset(52, "cp1251", "cp1251_general_cs", False, "mysql"))
charsets.add(Charset(53, "macroman", "macroman_bin", False, "mysql"))
charsets.add(Charset(54, "utf16", "utf16_general_ci", True, "mysql"))
charsets.add(Charset(55, "utf16", "utf16_bin", False, "mysql"))
charsets.add(Charset(56, "utf16le", "utf16le_general_ci", True, "mysql"))
charsets.add(Charset(57, "cp1256", "cp1256_general_ci", True, "mysql"))
charsets.add(Charset(58, "cp1257", "cp1257_bin", False, "mysql"))
charsets.add(Charset(59, "cp1257", "cp1257_general_ci", True, "mysql"))
charsets.add(Charset(60, "utf32", "utf32_general_ci", True, "mysql"))
charsets.add(Charset(61, "utf32", "utf32_bin", False, "mysql"))
charsets.add(Charset(62, "utf16le", "utf16le_bin", False, "mysql"))
charsets.add(Charset(63, "binary", "binary", True, "mysql"))
charsets.add(Charset(64, "armscii8", "armscii8_bin", False, "mysql"))
charsets.add(Charset(65, "ascii", "ascii_bin", False, "mysql"))
charsets.add(Charset(66, "cp1250", "cp1250_bin", False, "mysql"))
charsets.add(Charset(67, "cp1256", "cp1256_bin", False, "mysql"))
charsets.add(Charset(68, "cp866", "cp866_bin", False, "mysql"))
charsets.add(Charset(69, "dec8", "dec8_bin", False, "mysql"))
charsets.add(Charset(70, "greek", "greek_bin", False, "mysql"))
charsets.add(Charset(71, "hebrew", "hebrew_bin", False, "mysql"))
charsets.add(Charset(72, "hp8", "hp8_bin", False, "mysql"))
charsets.add(Charset(73, "keybcs2", "keybcs2_bin", False, "mysql"))
charsets.add(Charset(74, "koi8r", "koi8r_bin", False, "mysql"))
charsets.add(Charset(75, "koi8u", "koi8u_bin", False, "mysql"))
charsets.add(Charset(76, "utf8mb3", "utf8mb3_tolower_ci", False, "mysql"))
charsets.add(Charset(77, "latin2", "latin2_bin", False, "mysql"))
charsets.add(Charset(78, "latin5", "latin5_bin", False, "mysql"))
charsets.add(Charset(79, "latin7", "latin7_bin", False, "mysql"))
charsets.add(Charset(80, "cp850", "cp850_bin", False, "mysql"))
charsets.add(Charset(81, "cp852", "cp852_bin", False, "mysql"))
charsets.add(Charset(82, "swe7", "swe7_bin", False, "mysql"))
charsets.add(Charset(83, "utf8mb3", "utf8mb3_bin", False, "mysql"))
charsets.add(Charset(84, "big5", "big5_bin", False, "mysql"))
charsets.add(Charset(85, "euckr", "euckr_bin", False, "mysql"))
charsets.add(Charset(86, "gb2312", "gb2312_bin", False, "mysql"))
charsets.add(Charset(87, "gbk", "gbk_bin", False, "mysql"))
charsets.add(Charset(88, "sjis", "sjis_bin", False, "mysql"))
charsets.add(Charset(89, "tis620", "tis620_bin", False, "mysql"))
charsets.add(Charset(90, "ucs2", "ucs2_bin", False, "mysql"))
charsets.add(Charset(91, "ujis", "ujis_bin", False, "mysql"))
charsets.add(Charset(92, "geostd8", "geostd8_general_ci", True, "mysql"))
charsets.add(Charset(93, "geostd8", "geostd8_bin", False, "mysql"))
charsets.add(Charset(94, "latin1", "latin1_spanish_ci", False, "mysql"))
charsets.add(Charset(95, "cp932", "cp932_japanese_ci", True, "mysql"))
charsets.add(Charset(96, "cp932", "cp932_bin", False, "mysql"))
charsets.add(Charset(97, "eucjpms", "eucjpms_japanese_ci", True, "mysql"))
charsets.add(Charset(98, "eucjpms", "eucjpms_bin", False, "mysql"))
charsets.add(Charset(99, "cp1250", "cp1250_polish_ci", False, "mysql"))
charsets.add(Charset(101, "utf16", "utf16_unicode_ci", False, "mysql"))
charsets.add(Charset(102, "utf16", "utf16_icelandic_ci", False, "mysql"))
charsets.add(Charset(103, "utf16", "utf16_latvian_ci", False, "mysql"))
charsets.add(Charset(104, "utf16", "utf16_romanian_ci", False, "mysql"))
charsets.add(Charset(105, "utf16", "utf16_slovenian_ci", False, "mysql"))
charsets.add(Charset(106, "utf16", "utf16_polish_ci", False, "mysql"))
charsets.add(Charset(107, "utf16", "utf16_estonian_ci", False, "mysql"))
charsets.add(Charset(108, "utf16", "utf16_spanish_ci", False, "mysql"))
charsets.add(Charset(109, "utf16", "utf16_swedish_ci", False, "mysql"))
charsets.add(Charset(110, "utf16", "utf16_turkish_ci", False, "mysql"))
charsets.add(Charset(111, "utf16", "utf16_czech_ci", False, "mysql"))
charsets.add(Charset(112, "utf16", "utf16_danish_ci", False, "mysql"))
charsets.add(Charset(113, "utf16", "utf16_lithuanian_ci", False, "mysql"))
charsets.add(Charset(114, "utf16", "utf16_slovak_ci", False, "mysql"))
charsets.add(Charset(115, "utf16", "utf16_spanish2_ci", False, "mysql"))
charsets.add(Charset(116, "utf16", "utf16_roman_ci", False, "mysql"))
charsets.add(Charset(117, "utf16", "utf16_persian_ci", False, "mysql"))
charsets.add(Charset(118, "utf16", "utf16_esperanto_ci", False, "mysql"))
charsets.add(Charset(119, "utf16", "utf16_hungarian_ci", False, "mysql"))
charsets.add(Charset(120, "utf16", "utf16_sinhala_ci", False, "mysql"))
charsets.add(Charset(121, "utf16", "utf16_german2_ci", False, "mysql"))
charsets.add(Charset(122, "utf16", "utf16_croatian_ci", False, "mysql"))
charsets.add(Charset(123, "utf16", "utf16_unicode_520_ci", False, "mysql"))
charsets.add(Charset(124, "utf16", "utf16_vietnamese_ci", False, "mysql"))
charsets.add(Charset(128, "ucs2", "ucs2_unicode_ci", False, "mysql"))
charsets.add(Charset(129, "ucs2", "ucs2_icelandic_ci", False, "mysql"))
charsets.add(Charset(130, "ucs2", "ucs2_latvian_ci", False, "mysql"))
charsets.add(Charset(131, "ucs2", "ucs2_romanian_ci", False, "mysql"))
charsets.add(Charset(132, "ucs2", "ucs2_slovenian_ci", False, "mysql"))
charsets.add(Charset(133, "ucs2", "ucs2_polish_ci", False, "mysql"))
charsets.add(Charset(134, "ucs2", "ucs2_estonian_ci", False, "mysql"))
charsets.add(Charset(135, "ucs2", "ucs2_spanish_ci", False, "mysql"))
charsets.add(Charset(136, "ucs2", "ucs2_swedish_ci", False, "mysql"))
charsets.add(Charset(137, "ucs2", "ucs2_turkish_ci", False, "mysql"))
charsets.add(Charset(138, "ucs2", "ucs2_czech_ci", False, "mysql"))
charsets.add(Charset(139, "ucs2", "ucs2_danish_ci", False, "mysql"))
charsets.add(Charset(140, "ucs2", "ucs2_lithuanian_ci", False, "mysql"))
charsets.add(Charset(141, "ucs2", "ucs2_slovak_ci", False, "mysql"))
charsets.add(Charset(142, "ucs2", "ucs2_spanish2_ci", False, "mysql"))
charsets.add(Charset(143, "ucs2", "ucs2_roman_ci", False, "mysql"))
charsets.add(Charset(144, "ucs2", "ucs2_persian_ci", False, "mysql"))
charsets.add(Charset(145, "ucs2", "ucs2_esperanto_ci", False, "mysql"))
charsets.add(Charset(146, "ucs2", "ucs2_hungarian_ci", False, "mysql"))
charsets.add(Charset(147, "ucs2", "ucs2_sinhala_ci", False, "mysql"))
charsets.add(Charset(148, "ucs2", "ucs2_german2_ci", False, "mysql"))
charsets.add(Charset(149, "ucs2", "ucs2_croatian_ci", False, "mysql"))
charsets.add(Charset(150, "ucs2", "ucs2_unicode_520_ci", False, "mysql"))
charsets.add(Charset(151, "ucs2", "ucs2_vietnamese_ci", False, "mysql"))
charsets.add(Charset(159, "ucs2", "ucs2_general_mysql500_ci", False, "mysql"))
charsets.add(Charset(160, "utf32", "utf32_unicode_ci", False, "mysql"))
charsets.add(Charset(161, "utf32", "utf32_icelandic_ci", False, "mysql"))
charsets.add(Charset(162, "utf32", "utf32_latvian_ci", False, "mysql"))
charsets.add(Charset(163, "utf32", "utf32_romanian_ci", False, "mysql"))
charsets.add(Charset(164, "utf32", "utf32_slovenian_ci", False, "mysql"))
charsets.add(Charset(165, "utf32", "utf32_polish_ci", False, "mysql"))
charsets.add(Charset(166, "utf32", "utf32_estonian_ci", False, "mysql"))
charsets.add(Charset(167, "utf32", "utf32_spanish_ci", False, "mysql"))
charsets.add(Charset(168, "utf32", "utf32_swedish_ci", False, "mysql"))
charsets.add(Charset(169, "utf32", "utf32_turkish_ci", False, "mysql"))
charsets.add(Charset(170, "utf32", "utf32_czech_ci", False, "mysql"))
charsets.add(Charset(171, "utf32", "utf32_danish_ci", False, "mysql"))
charsets.add(Charset(172, "utf32", "utf32_lithuanian_ci", False, "mysql"))
charsets.add(Charset(173, "utf32", "utf32_slovak_ci", False, "mysql"))
charsets.add(Charset(174, "utf32", "utf32_spanish2_ci", False, "mysql"))
charsets.add(Charset(175, "utf32", "utf32_roman_ci", False, "mysql"))
charsets.add(Charset(176, "utf32", "utf32_persian_ci", False, "mysql"))
charsets.add(Charset(177, "utf32", "utf32_esperanto_ci", False, "mysql"))
charsets.add(Charset(178, "utf32", "utf32_hungarian_ci", False, "mysql"))
charsets.add(Charset(179, "utf32", "utf32_sinhala_ci", False, "mysql"))
charsets.add(Charset(180, "utf32", "utf32_german2_ci", False, "mysql"))
charsets.add(Charset(181, "utf32", "utf32_croatian_ci", False, "mysql"))
charsets.add(Charset(182, "utf32", "utf32_unicode_520_ci", False, "mysql"))
charsets.add(Charset(183, "utf32", "utf32_vietnamese_ci", False, "mysql"))
charsets.add(Charset(192, "utf8mb3", "utf8mb3_unicode_ci", False, "mysql"))
charsets.add(Charset(193, "utf8mb3", "utf8mb3_icelandic_ci", False, "mysql"))
charsets.add(Charset(194, "utf8mb3", "utf8mb3_latvian_ci", False, "mysql"))
charsets.add(Charset(195, "utf8mb3", "utf8mb3_romanian_ci", False, "mysql"))
charsets.add(Charset(196, "utf8mb3", "utf8mb3_slovenian_ci", False, "mysql"))
charsets.add(Charset(197, "utf8mb3", "utf8mb3_polish_ci", False, "mysql"))
charsets.add(Charset(198, "utf8mb3", "utf8mb3_estonian_ci", False, "mysql"))
charsets.add(Charset(199, "utf8mb3", "utf8mb3_spanish_ci", False, "mysql"))
charsets.add(Charset(200, "utf8mb3", "utf8mb3_swedish_ci", False, "mysql"))
charsets.add(Charset(201, "utf8mb3", "utf8mb3_turkish_ci", False, "mysql"))
charsets.add(Charset(202, "utf8mb3", "utf8mb3_czech_ci", False, "mysql"))
charsets.add(Charset(203, "utf8mb3", "utf8mb3_danish_ci", False, "mysql"))
charsets.add(Charset(204, "utf8mb3", "utf8mb3_lithuanian_ci", False, "mysql"))
charsets.add(Charset(205, "utf8mb3", "utf8mb3_slovak_ci", False, "mysql"))
charsets.add(Charset(206, "utf8mb3", "utf8mb3_spanish2_ci", False, "mysql"))
charsets.add(Charset(207, "utf8mb3", "utf8mb3_roman_ci", False, "mysql"))
charsets.add(Charset(208, "utf8mb3", "utf8mb3_persian_ci", False, "mysql"))
charsets.add(Charset(209, "utf8mb3", "utf8mb3_esperanto_ci", False, "mysql"))
charsets.add(Charset(210, "utf8mb3", "utf8mb3_hungarian_ci", False, "mysql"))
charsets.add(Charset(211, "utf8mb3", "utf8mb3_sinhala_ci", False, "mysql"))
charsets.add(Charset(212, "utf8mb3", "utf8mb3_german2_ci", False, "mysql"))
charsets.add(Charset(213, "utf8mb3", "utf8mb3_croatian_ci", False, "mysql"))
charsets.add(Charset(214, "utf8mb3", "utf8mb3_unicode_520_ci", False, "mysql"))
charsets.add(Charset(215, "utf8mb3", "utf8mb3_vietnamese_ci", False, "mysql"))
charsets.add(Charset(223, "utf8mb3", "utf8mb3_general_mysql500_ci", False, "mysql"))
charsets.add(Charset(224, "utf8mb4", "utf8mb4_unicode_ci", False, "mysql"))
charsets.add(Charset(225, "utf8mb4", "utf8mb4_icelandic_ci", False, "mysql"))
charsets.add(Charset(226, "utf8mb4", "utf8mb4_latvian_ci", False, "mysql"))
charsets.add(Charset(227, "utf8mb4", "utf8mb4_romanian_ci", False, "mysql"))
charsets.add(Charset(228, "utf8mb4", "utf8mb4_slovenian_ci", False, "mysql"))
charsets.add(Charset(229, "utf8mb4", "utf8mb4_polish_ci", False, "mysql"))
charsets.add(Charset(230, "utf8mb4", "utf8mb4_estonian_ci", False, "mysql"))
charsets.add(Charset(231, "utf8mb4", "utf8mb4_spanish_ci", False, "mysql"))
charsets.add(Charset(232, "utf8mb4", "utf8mb4_swedish_ci", False, "mysql"))
charsets.add(Charset(233, "utf8mb4", "utf8mb4_turkish_ci", False, "mysql"))
charsets.add(Charset(234, "utf8mb4", "utf8mb4_czech_ci", False, "mysql"))
charsets.add(Charset(235, "utf8mb4", "utf8mb4_danish_ci", False, "mysql"))
charsets.add(Charset(236, "utf8mb4", "utf8mb4_lithuanian_ci", False, "mysql"))
charsets.add(Charset(237, "utf8mb4", "utf8mb4_slovak_ci", False, "mysql"))
charsets.add(Charset(238, "utf8mb4", "utf8mb4_spanish2_ci", False, "mysql"))
charsets.add(Charset(239, "utf8mb4", "utf8mb4_roman_ci", False, "mysql"))
charsets.add(Charset(240, "utf8mb4", "utf8mb4_persian_ci", False, "mysql"))
charsets.add(Charset(241, "utf8mb4", "utf8mb4_esperanto_ci", False, "mysql"))
charsets.add(Charset(242, "utf8mb4", "utf8mb4_hungarian_ci", False, "mysql"))
charsets.add(Charset(243, "utf8mb4", "utf8mb4_sinhala_ci", False, "mysql"))
charsets.add(Charset(244, "utf8mb4", "utf8mb4_german2_ci", False, "mysql"))
charsets.add(Charset(245, "utf8mb4", "utf8mb4_croatian_ci", False, "mysql"))
charsets.add(Charset(246, "utf8mb4", "utf8mb4_unicode_520_ci", False, "mysql"))
charsets.add(Charset(247, "utf8mb4", "utf8mb4_vietnamese_ci", False, "mysql"))
charsets.add(Charset(248, "gb18030", "gb18030_chinese_ci", True, "mysql"))
charsets.add(Charset(249, "gb18030", "gb18030_bin", False, "mysql"))
charsets.add(Charset(250, "gb18030", "gb18030_unicode_520_ci", False, "mysql"))
charsets.add(Charset(255, "utf8mb4", "utf8mb4_0900_ai_ci", True, "mysql"))
charsets.add(Charset(256, "utf8mb4", "utf8mb4_de_pb_0900_ai_ci", False, "mysql"))
charsets.add(Charset(257, "utf8mb4", "utf8mb4_is_0900_ai_ci", False, "mysql"))
charsets.add(Charset(258, "utf8mb4", "utf8mb4_lv_0900_ai_ci", False, "mysql"))
charsets.add(Charset(259, "utf8mb4", "utf8mb4_ro_0900_ai_ci", False, "mysql"))
charsets.add(Charset(260, "utf8mb4", "utf8mb4_sl_0900_ai_ci", False, "mysql"))
charsets.add(Charset(261, "utf8mb4", "utf8mb4_pl_0900_ai_ci", False, "mysql"))
charsets.add(Charset(262, "utf8mb4", "utf8mb4_et_0900_ai_ci", False, "mysql"))
charsets.add(Charset(263, "utf8mb4", "utf8mb4_es_0900_ai_ci", False, "mysql"))
charsets.add(Charset(264, "utf8mb4", "utf8mb4_sv_0900_ai_ci", False, "mysql"))
charsets.add(Charset(265, "utf8mb4", "utf8mb4_tr_0900_ai_ci", False, "mysql"))
charsets.add(Charset(266, "utf8mb4", "utf8mb4_cs_0900_ai_ci", False, "mysql"))
charsets.add(Charset(267, "utf8mb4", "utf8mb4_da_0900_ai_ci", False, "mysql"))
charsets.add(Charset(268, "utf8mb4", "utf8mb4_lt_0900_ai_ci", False, "mysql"))
charsets.add(Charset(269, "utf8mb4", "utf8mb4_sk_0900_ai_ci", False, "mysql"))
charsets.add(Charset(270, "utf8mb4", "utf8mb4_es_trad_0900_ai_ci", False, "mysql"))
charsets.add(Charset(271, "utf8mb4", "utf8mb4_la_0900_ai_ci", False, "mysql"))
charsets.add(Charset(273, "utf8mb4", "utf8mb4_eo_0900_ai_ci", False, "mysql"))
charsets.add(Charset(274, "utf8mb4", "utf8mb4_hu_0900_ai_ci", False, "mysql"))
charsets.add(Charset(275, "utf8mb4", "utf8mb4_hr_0900_ai_ci", False, "mysql"))
charsets.add(Charset(277, "utf8mb4", "utf8mb4_vi_0900_ai_ci", False, "mysql"))
charsets.add(Charset(278, "utf8mb4", "utf8mb4_0900_as_cs", False, "mysql"))
charsets.add(Charset(279, "utf8mb4", "utf8mb4_de_pb_0900_as_cs", False, "mysql"))
charsets.add(Charset(280, "utf8mb4", "utf8mb4_is_0900_as_cs", False, "mysql"))
charsets.add(Charset(281, "utf8mb4", "utf8mb4_lv_0900_as_cs", False, "mysql"))
charsets.add(Charset(282, "utf8mb4", "utf8mb4_ro_0900_as_cs", False, "mysql"))
charsets.add(Charset(283, "utf8mb4", "utf8mb4_sl_0900_as_cs", False, "mysql"))
charsets.add(Charset(284, "utf8mb4", "utf8mb4_pl_0900_as_cs", False, "mysql"))
charsets.add(Charset(285, "utf8mb4", "utf8mb4_et_0900_as_cs", False, "mysql"))
charsets.add(Charset(286, "utf8mb4", "utf8mb4_es_0900_as_cs", False, "mysql"))
charsets.add(Charset(287, "utf8mb4", "utf8mb4_sv_0900_as_cs", False, "mysql"))
charsets.add(Charset(288, "utf8mb4", "utf8mb4_tr_0900_as_cs", False, "mysql"))
charsets.add(Charset(289, "utf8mb4", "utf8mb4_cs_0900_as_cs", False, "mysql"))
charsets.add(Charset(290, "utf8mb4", "utf8mb4_da_0900_as_cs", False, "mysql"))
charsets.add(Charset(291, "utf8mb4", "utf8mb4_lt_0900_as_cs", False, "mysql"))
charsets.add(Charset(292, "utf8mb4", "utf8mb4_sk_0900_as_cs", False, "mysql"))
charsets.add(Charset(293, "utf8mb4", "utf8mb4_es_trad_0900_as_cs", False, "mysql"))
charsets.add(Charset(294, "utf8mb4", "utf8mb4_la_0900_as_cs", False, "mysql"))
charsets.add(Charset(296, "utf8mb4", "utf8mb4_eo_0900_as_cs", False, "mysql"))
charsets.add(Charset(297, "utf8mb4", "utf8mb4_hu_0900_as_cs", False, "mysql"))
charsets.add(Charset(298, "utf8mb4", "utf8mb4_hr_0900_as_cs", False, "mysql"))
charsets.add(Charset(300, "utf8mb4", "utf8mb4_vi_0900_as_cs", False, "mysql"))
charsets.add(Charset(303, "utf8mb4", "utf8mb4_ja_0900_as_cs", False, "mysql"))
charsets.add(Charset(304, "utf8mb4", "utf8mb4_ja_0900_as_cs_ks", False, "mysql"))
charsets.add(Charset(305, "utf8mb4", "utf8mb4_0900_as_ci", False, "mysql"))
charsets.add(Charset(306, "utf8mb4", "utf8mb4_ru_0900_ai_ci", False, "mysql"))
charsets.add(Charset(307, "utf8mb4", "utf8mb4_ru_0900_as_cs", False, "mysql"))
charsets.add(Charset(308, "utf8mb4", "utf8mb4_zh_0900_as_cs", False, "mysql"))
charsets.add(Charset(309, "utf8mb4", "utf8mb4_0900_bin", False, "mysql"))
charsets.add(Charset(310, "utf8mb4", "utf8mb4_nb_0900_ai_ci", False, "mysql"))
charsets.add(Charset(311, "utf8mb4", "utf8mb4_nb_0900_as_cs", False, "mysql"))
charsets.add(Charset(312, "utf8mb4", "utf8mb4_nn_0900_ai_ci", False, "mysql"))
charsets.add(Charset(313, "utf8mb4", "utf8mb4_nn_0900_as_cs", False, "mysql"))
charsets.add(Charset(314, "utf8mb4", "utf8mb4_sr_latn_0900_ai_ci", False, "mysql"))
charsets.add(Charset(315, "utf8mb4", "utf8mb4_sr_latn_0900_as_cs", False, "mysql"))
charsets.add(Charset(316, "utf8mb4", "utf8mb4_bs_0900_ai_ci", False, "mysql"))
charsets.add(Charset(317, "utf8mb4", "utf8mb4_bs_0900_as_cs", False, "mysql"))
charsets.add(Charset(318, "utf8mb4", "utf8mb4_bg_0900_ai_ci", False, "mysql"))
charsets.add(Charset(319, "utf8mb4", "utf8mb4_bg_0900_as_cs", False, "mysql"))
charsets.add(Charset(320, "utf8mb4", "utf8mb4_gl_0900_ai_ci", False, "mysql"))
charsets.add(Charset(321, "utf8mb4", "utf8mb4_gl_0900_as_cs", False, "mysql"))
charsets.add(Charset(322, "utf8mb4", "utf8mb4_mn_cyrl_0900_ai_ci", False, "mysql"))
charsets.add(Charset(323, "utf8mb4", "utf8mb4_mn_cyrl_0900_as_cs", False, "mysql"))
charsets.add(Charset(1, "big5", "big5_chinese_ci", True, "mariadb"))
charsets.add(Charset(2, "latin2", "latin2_czech_cs", False, "mariadb"))
charsets.add(Charset(3, "dec8", "dec8_swedish_ci", True, "mariadb"))
charsets.add(Charset(4, "cp850", "cp850_general_ci", True, "mariadb"))
charsets.add(Charset(5, "latin1", "latin1_german1_ci", False, "mariadb"))
charsets.add(Charset(6, "hp8", "hp8_english_ci", True, "mariadb"))
charsets.add(Charset(7, "koi8r", "koi8r_general_ci", True, "mariadb"))
charsets.add(Charset(8, "latin1", "latin1_swedish_ci", True, "mariadb"))
charsets.add(Charset(9, "latin2", "latin2_general_ci", True, "mariadb"))
charsets.add(Charset(10, "swe7", "swe7_swedish_ci", True, "mariadb"))
charsets.add(Charset(11, "ascii", "ascii_general_ci", True, "mariadb"))
charsets.add(Charset(12, "ujis", "ujis_japanese_ci", True, "mariadb"))
charsets.add(Charset(13, "sjis", "sjis_japanese_ci", True, "mariadb"))
charsets.add(Charset(14, "cp1251", "cp1251_bulgarian_ci", False, "mariadb"))
charsets.add(Charset(15, "latin1", "latin1_danish_ci", False, "mariadb"))
charsets.add(Charset(16, "hebrew", "hebrew_general_ci", True, "mariadb"))
charsets.add(Charset(18, "tis620", "tis620_thai_ci", True, "mariadb"))
charsets.add(Charset(19, "euckr", "euckr_korean_ci", True, "mariadb"))
charsets.add(Charset(20, "latin7", "latin7_estonian_cs", False, "mariadb"))
charsets.add(Charset(21, "latin2", "latin2_hungarian_ci", False, "mariadb"))
charsets.add(Charset(22, "koi8u", "koi8u_general_ci", True, "mariadb"))
charsets.add(Charset(23, "cp1251", "cp1251_ukrainian_ci", False, "mariadb"))
charsets.add(Charset(24, "gb2312", "gb2312_chinese_ci", True, "mariadb"))
charsets.add(Charset(25, "greek", "greek_general_ci", True, "mariadb"))
charsets.add(Charset(26, "cp1250", "cp1250_general_ci", True, "mariadb"))
charsets.add(Charset(27, "latin2", "latin2_croatian_ci", False, "mariadb"))
charsets.add(Charset(28, "gbk", "gbk_chinese_ci", True, "mariadb"))
charsets.add(Charset(29, "cp1257", "cp1257_lithuanian_ci", False, "mariadb"))
charsets.add(Charset(30, "latin5", "latin5_turkish_ci", True, "mariadb"))
charsets.add(Charset(31, "latin1", "latin1_german2_ci", False, "mariadb"))
charsets.add(Charset(32, "armscii8", "armscii8_general_ci", True, "mariadb"))
charsets.add(Charset(33, "utf8mb3", "utf8mb3_general_ci", True, "mariadb"))
charsets.add(Charset(34, "cp1250", "cp1250_czech_cs", False, "mariadb"))
charsets.add(Charset(35, "ucs2", "ucs2_general_ci", True, "mariadb"))
charsets.add(Charset(36, "cp866", "cp866_general_ci", True, "mariadb"))
charsets.add(Charset(37, "keybcs2", "keybcs2_general_ci", True, "mariadb"))
charsets.add(Charset(38, "macce", "macce_general_ci", True, "mariadb"))
charsets.add(Charset(39, "macroman", "macroman_general_ci", True, "mariadb"))
charsets.add(Charset(40, "cp852", "cp852_general_ci", True, "mariadb"))
charsets.add(Charset(41, "latin7", "latin7_general_ci", True, "mariadb"))
charsets.add(Charset(42, "latin7", "latin7_general_cs", False, "mariadb"))
charsets.add(Charset(43, "macce", "macce_bin", False, "mariadb"))
charsets.add(Charset(44, "cp1250", "cp1250_croatian_ci", False, "mariadb"))
charsets.add(Charset(45, "utf8mb4", "utf8mb4_general_ci", True, "mariadb"))
charsets.add(Charset(46, "utf8mb4", "utf8mb4_bin", False, "mariadb"))
charsets.add(Charset(47, "latin1", "latin1_bin", False, "mariadb"))
charsets.add(Charset(48, "latin1", "latin1_general_ci", False, "mariadb"))
charsets.add(Charset(49, "latin1", "latin1_general_cs", False, "mariadb"))
charsets.add(Charset(50, "cp1251", "cp1251_bin", False, "mariadb"))
charsets.add(Charset(51, "cp1251", "cp1251_general_ci", True, "mariadb"))
charsets.add(Charset(52, "cp1251", "cp1251_general_cs", False, "mariadb"))
charsets.add(Charset(53, "macroman", "macroman_bin", False, "mariadb"))
charsets.add(Charset(54, "utf16", "utf16_general_ci", True, "mariadb"))
charsets.add(Charset(55, "utf16", "utf16_bin", False, "mariadb"))
charsets.add(Charset(56, "utf16le", "utf16le_general_ci", True, "mariadb"))
charsets.add(Charset(57, "cp1256", "cp1256_general_ci", True, "mariadb"))
charsets.add(Charset(58, "cp1257", "cp1257_bin", False, "mariadb"))
charsets.add(Charset(59, "cp1257", "cp1257_general_ci", True, "mariadb"))
charsets.add(Charset(60, "utf32", "utf32_general_ci", True, "mariadb"))
charsets.add(Charset(61, "utf32", "utf32_bin", False, "mariadb"))
charsets.add(Charset(62, "utf16le", "utf16le_bin", False, "mariadb"))
charsets.add(Charset(63, "binary", "binary", True, "mariadb"))
charsets.add(Charset(64, "armscii8", "armscii8_bin", False, "mariadb"))
charsets.add(Charset(65, "ascii", "ascii_bin", False, "mariadb"))
charsets.add(Charset(66, "cp1250", "cp1250_bin", False, "mariadb"))
charsets.add(Charset(67, "cp1256", "cp1256_bin", False, "mariadb"))
charsets.add(Charset(68, "cp866", "cp866_bin", False, "mariadb"))
charsets.add(Charset(69, "dec8", "dec8_bin", False, "mariadb"))
charsets.add(Charset(70, "greek", "greek_bin", False, "mariadb"))
charsets.add(Charset(71, "hebrew", "hebrew_bin", False, "mariadb"))
charsets.add(Charset(72, "hp8", "hp8_bin", False, "mariadb"))
charsets.add(Charset(73, "keybcs2", "keybcs2_bin", False, "mariadb"))
charsets.add(Charset(74, "koi8r", "koi8r_bin", False, "mariadb"))
charsets.add(Charset(75, "koi8u", "koi8u_bin", False, "mariadb"))
charsets.add(Charset(77, "latin2", "latin2_bin", False, "mariadb"))
charsets.add(Charset(78, "latin5", "latin5_bin", False, "mariadb"))
charsets.add(Charset(79, "latin7", "latin7_bin", False, "mariadb"))
charsets.add(Charset(80, "cp850", "cp850_bin", False, "mariadb"))
charsets.add(Charset(81, "cp852", "cp852_bin", False, "mariadb"))
charsets.add(Charset(82, "swe7", "swe7_bin", False, "mariadb"))
charsets.add(Charset(83, "utf8mb3", "utf8mb3_bin", False, "mariadb"))
charsets.add(Charset(84, "big5", "big5_bin", False, "mariadb"))
charsets.add(Charset(85, "euckr", "euckr_bin", False, "mariadb"))
charsets.add(Charset(86, "gb2312", "gb2312_bin", False, "mariadb"))
charsets.add(Charset(87, "gbk", "gbk_bin", False, "mariadb"))
charsets.add(Charset(88, "sjis", "sjis_bin", False, "mariadb"))
charsets.add(Charset(89, "tis620", "tis620_bin", False, "mariadb"))
charsets.add(Charset(90, "ucs2", "ucs2_bin", False, "mariadb"))
charsets.add(Charset(91, "ujis", "ujis_bin", False, "mariadb"))
charsets.add(Charset(92, "geostd8", "geostd8_general_ci", True, "mariadb"))
charsets.add(Charset(93, "geostd8", "geostd8_bin", False, "mariadb"))
charsets.add(Charset(94, "latin1", "latin1_spanish_ci", False, "mariadb"))
charsets.add(Charset(95, "cp932", "cp932_japanese_ci", True, "mariadb"))
charsets.add(Charset(96, "cp932", "cp932_bin", False, "mariadb"))
charsets.add(Charset(97, "eucjpms", "eucjpms_japanese_ci", True, "mariadb"))
charsets.add(Charset(98, "eucjpms", "eucjpms_bin", False, "mariadb"))
charsets.add(Charset(99, "cp1250", "cp1250_polish_ci", False, "mariadb"))
charsets.add(Charset(101, "utf16", "utf16_unicode_ci", False, "mariadb"))
charsets.add(Charset(102, "utf16", "utf16_icelandic_ci", False, "mariadb"))
charsets.add(Charset(103, "utf16", "utf16_latvian_ci", False, "mariadb"))
charsets.add(Charset(104, "utf16", "utf16_romanian_ci", False, "mariadb"))
charsets.add(Charset(105, "utf16", "utf16_slovenian_ci", False, "mariadb"))
charsets.add(Charset(106, "utf16", "utf16_polish_ci", False, "mariadb"))
charsets.add(Charset(107, "utf16", "utf16_estonian_ci", False, "mariadb"))
charsets.add(Charset(108, "utf16", "utf16_spanish_ci", False, "mariadb"))
charsets.add(Charset(109, "utf16", "utf16_swedish_ci", False, "mariadb"))
charsets.add(Charset(110, "utf16", "utf16_turkish_ci", False, "mariadb"))
charsets.add(Charset(111, "utf16", "utf16_czech_ci", False, "mariadb"))
charsets.add(Charset(112, "utf16", "utf16_danish_ci", False, "mariadb"))
charsets.add(Charset(113, "utf16", "utf16_lithuanian_ci", False, "mariadb"))
charsets.add(Charset(114, "utf16", "utf16_slovak_ci", False, "mariadb"))
charsets.add(Charset(115, "utf16", "utf16_spanish2_ci", False, "mariadb"))
charsets.add(Charset(116, "utf16", "utf16_roman_ci", False, "mariadb"))
charsets.add(Charset(117, "utf16", "utf16_persian_ci", False, "mariadb"))
charsets.add(Charset(118, "utf16", "utf16_esperanto_ci", False, "mariadb"))
charsets.add(Charset(119, "utf16", "utf16_hungarian_ci", False, "mariadb"))
charsets.add(Charset(120, "utf16", "utf16_sinhala_ci", False, "mariadb"))
charsets.add(Charset(121, "utf16", "utf16_german2_ci", False, "mariadb"))
charsets.add(Charset(122, "utf16", "utf16_croatian_mysql561_ci", False, "mariadb"))
charsets.add(Charset(123, "utf16", "utf16_unicode_520_ci", False, "mariadb"))
charsets.add(Charset(124, "utf16", "utf16_vietnamese_ci", False, "mariadb"))
charsets.add(Charset(128, "ucs2", "ucs2_unicode_ci", False, "mariadb"))
charsets.add(Charset(129, "ucs2", "ucs2_icelandic_ci", False, "mariadb"))
charsets.add(Charset(130, "ucs2", "ucs2_latvian_ci", False, "mariadb"))
charsets.add(Charset(131, "ucs2", "ucs2_romanian_ci", False, "mariadb"))
charsets.add(Charset(132, "ucs2", "ucs2_slovenian_ci", False, "mariadb"))
charsets.add(Charset(133, "ucs2", "ucs2_polish_ci", False, "mariadb"))
charsets.add(Charset(134, "ucs2", "ucs2_estonian_ci", False, "mariadb"))
charsets.add(Charset(135, "ucs2", "ucs2_spanish_ci", False, "mariadb"))
charsets.add(Charset(136, "ucs2", "ucs2_swedish_ci", False, "mariadb"))
charsets.add(Charset(137, "ucs2", "ucs2_turkish_ci", False, "mariadb"))
charsets.add(Charset(138, "ucs2", "ucs2_czech_ci", False, "mariadb"))
charsets.add(Charset(139, "ucs2", "ucs2_danish_ci", False, "mariadb"))
charsets.add(Charset(140, "ucs2", "ucs2_lithuanian_ci", False, "mariadb"))
charsets.add(Charset(141, "ucs2", "ucs2_slovak_ci", False, "mariadb"))
charsets.add(Charset(142, "ucs2", "ucs2_spanish2_ci", False, "mariadb"))
charsets.add(Charset(143, "ucs2", "ucs2_roman_ci", False, "mariadb"))
charsets.add(Charset(144, "ucs2", "ucs2_persian_ci", False, "mariadb"))
charsets.add(Charset(145, "ucs2", "ucs2_esperanto_ci", False, "mariadb"))
charsets.add(Charset(146, "ucs2", "ucs2_hungarian_ci", False, "mariadb"))
charsets.add(Charset(147, "ucs2", "ucs2_sinhala_ci", False, "mariadb"))
charsets.add(Charset(148, "ucs2", "ucs2_german2_ci", False, "mariadb"))
charsets.add(Charset(149, "ucs2", "ucs2_croatian_mysql561_ci", False, "mariadb"))
charsets.add(Charset(150, "ucs2", "ucs2_unicode_520_ci", False, "mariadb"))
charsets.add(Charset(151, "ucs2", "ucs2_vietnamese_ci", False, "mariadb"))
charsets.add(Charset(159, "ucs2", "ucs2_general_mysql500_ci", False, "mariadb"))
charsets.add(Charset(160, "utf32", "utf32_unicode_ci", False, "mariadb"))
charsets.add(Charset(161, "utf32", "utf32_icelandic_ci", False, "mariadb"))
charsets.add(Charset(162, "utf32", "utf32_latvian_ci", False, "mariadb"))
charsets.add(Charset(163, "utf32", "utf32_romanian_ci", False, "mariadb"))
charsets.add(Charset(164, "utf32", "utf32_slovenian_ci", False, "mariadb"))
charsets.add(Charset(165, "utf32", "utf32_polish_ci", False, "mariadb"))
charsets.add(Charset(166, "utf32", "utf32_estonian_ci", False, "mariadb"))
charsets.add(Charset(167, "utf32", "utf32_spanish_ci", False, "mariadb"))
charsets.add(Charset(168, "utf32", "utf32_swedish_ci", False, "mariadb"))
charsets.add(Charset(169, "utf32", "utf32_turkish_ci", False, "mariadb"))
charsets.add(Charset(170, "utf32", "utf32_czech_ci", False, "mariadb"))
charsets.add(Charset(171, "utf32", "utf32_danish_ci", False, "mariadb"))
charsets.add(Charset(172, "utf32", "utf32_lithuanian_ci", False, "mariadb"))
charsets.add(Charset(173, "utf32", "utf32_slovak_ci", False, "mariadb"))
charsets.add(Charset(174, "utf32", "utf32_spanish2_ci", False, "mariadb"))
charsets.add(Charset(175, "utf32", "utf32_roman_ci", False, "mariadb"))
charsets.add(Charset(176, "utf32", "utf32_persian_ci", False, "mariadb"))
charsets.add(Charset(177, "utf32", "utf32_esperanto_ci", False, "mariadb"))
charsets.add(Charset(178, "utf32", "utf32_hungarian_ci", False, "mariadb"))
charsets.add(Charset(179, "utf32", "utf32_sinhala_ci", False, "mariadb"))
charsets.add(Charset(180, "utf32", "utf32_german2_ci", False, "mariadb"))
charsets.add(Charset(181, "utf32", "utf32_croatian_mysql561_ci", False, "mariadb"))
charsets.add(Charset(182, "utf32", "utf32_unicode_520_ci", False, "mariadb"))
charsets.add(Charset(183, "utf32", "utf32_vietnamese_ci", False, "mariadb"))
charsets.add(Charset(192, "utf8mb3", "utf8mb3_unicode_ci", False, "mariadb"))
charsets.add(Charset(193, "utf8mb3", "utf8mb3_icelandic_ci", False, "mariadb"))
charsets.add(Charset(194, "utf8mb3", "utf8mb3_latvian_ci", False, "mariadb"))
charsets.add(Charset(195, "utf8mb3", "utf8mb3_romanian_ci", False, "mariadb"))
charsets.add(Charset(196, "utf8mb3", "utf8mb3_slovenian_ci", False, "mariadb"))
charsets.add(Charset(197, "utf8mb3", "utf8mb3_polish_ci", False, "mariadb"))
charsets.add(Charset(198, "utf8mb3", "utf8mb3_estonian_ci", False, "mariadb"))
charsets.add(Charset(199, "utf8mb3", "utf8mb3_spanish_ci", False, "mariadb"))
charsets.add(Charset(200, "utf8mb3", "utf8mb3_swedish_ci", False, "mariadb"))
charsets.add(Charset(201, "utf8mb3", "utf8mb3_turkish_ci", False, "mariadb"))
charsets.add(Charset(202, "utf8mb3", "utf8mb3_czech_ci", False, "mariadb"))
charsets.add(Charset(203, "utf8mb3", "utf8mb3_danish_ci", False, "mariadb"))
charsets.add(Charset(204, "utf8mb3", "utf8mb3_lithuanian_ci", False, "mariadb"))
charsets.add(Charset(205, "utf8mb3", "utf8mb3_slovak_ci", False, "mariadb"))
charsets.add(Charset(206, "utf8mb3", "utf8mb3_spanish2_ci", False, "mariadb"))
charsets.add(Charset(207, "utf8mb3", "utf8mb3_roman_ci", False, "mariadb"))
charsets.add(Charset(208, "utf8mb3", "utf8mb3_persian_ci", False, "mariadb"))
charsets.add(Charset(209, "utf8mb3", "utf8mb3_esperanto_ci", False, "mariadb"))
charsets.add(Charset(210, "utf8mb3", "utf8mb3_hungarian_ci", False, "mariadb"))
charsets.add(Charset(211, "utf8mb3", "utf8mb3_sinhala_ci", False, "mariadb"))
charsets.add(Charset(212, "utf8mb3", "utf8mb3_german2_ci", False, "mariadb"))
charsets.add(Charset(213, "utf8mb3", "utf8mb3_croatian_mysql561_ci", False, "mariadb"))
charsets.add(Charset(214, "utf8mb3", "utf8mb3_unicode_520_ci", False, "mariadb"))
charsets.add(Charset(215, "utf8mb3", "utf8mb3_vietnamese_ci", False, "mariadb"))
charsets.add(Charset(223, "utf8mb3", "utf8mb3_general_mysql500_ci", False, "mariadb"))
charsets.add(Charset(224, "utf8mb4", "utf8mb4_unicode_ci", False, "mariadb"))
charsets.add(Charset(225, "utf8mb4", "utf8mb4_icelandic_ci", False, "mariadb"))
charsets.add(Charset(226, "utf8mb4", "utf8mb4_latvian_ci", False, "mariadb"))
charsets.add(Charset(227, "utf8mb4", "utf8mb4_romanian_ci", False, "mariadb"))
charsets.add(Charset(228, "utf8mb4", "utf8mb4_slovenian_ci", False, "mariadb"))
charsets.add(Charset(229, "utf8mb4", "utf8mb4_polish_ci", False, "mariadb"))
charsets.add(Charset(230, "utf8mb4", "utf8mb4_estonian_ci", False, "mariadb"))
charsets.add(Charset(231, "utf8mb4", "utf8mb4_spanish_ci", False, "mariadb"))
charsets.add(Charset(232, "utf8mb4", "utf8mb4_swedish_ci", False, "mariadb"))
charsets.add(Charset(233, "utf8mb4", "utf8mb4_turkish_ci", False, "mariadb"))
charsets.add(Charset(234, "utf8mb4", "utf8mb4_czech_ci", False, "mariadb"))
charsets.add(Charset(235, "utf8mb4", "utf8mb4_danish_ci", False, "mariadb"))
charsets.add(Charset(236, "utf8mb4", "utf8mb4_lithuanian_ci", False, "mariadb"))
charsets.add(Charset(237, "utf8mb4", "utf8mb4_slovak_ci", False, "mariadb"))
charsets.add(Charset(238, "utf8mb4", "utf8mb4_spanish2_ci", False, "mariadb"))
charsets.add(Charset(239, "utf8mb4", "utf8mb4_roman_ci", False, "mariadb"))
charsets.add(Charset(240, "utf8mb4", "utf8mb4_persian_ci", False, "mariadb"))
charsets.add(Charset(241, "utf8mb4", "utf8mb4_esperanto_ci", False, "mariadb"))
charsets.add(Charset(242, "utf8mb4", "utf8mb4_hungarian_ci", False, "mariadb"))
charsets.add(Charset(243, "utf8mb4", "utf8mb4_sinhala_ci", False, "mariadb"))
charsets.add(Charset(244, "utf8mb4", "utf8mb4_german2_ci", False, "mariadb"))
charsets.add(Charset(245, "utf8mb4", "utf8mb4_croatian_mysql561_ci", False, "mariadb"))
charsets.add(Charset(246, "utf8mb4", "utf8mb4_unicode_520_ci", False, "mariadb"))
charsets.add(Charset(247, "utf8mb4", "utf8mb4_vietnamese_ci", False, "mariadb"))
charsets.add(Charset(576, "utf8mb3", "utf8mb3_croatian_ci", False, "mariadb"))
charsets.add(Charset(577, "utf8mb3", "utf8mb3_myanmar_ci", False, "mariadb"))
charsets.add(Charset(578, "utf8mb3", "utf8mb3_thai_520_w2", False, "mariadb"))
charsets.add(Charset(608, "utf8mb4", "utf8mb4_croatian_ci", False, "mariadb"))
charsets.add(Charset(609, "utf8mb4", "utf8mb4_myanmar_ci", False, "mariadb"))
charsets.add(Charset(610, "utf8mb4", "utf8mb4_thai_520_w2", False, "mariadb"))
charsets.add(Charset(640, "ucs2", "ucs2_croatian_ci", False, "mariadb"))
charsets.add(Charset(641, "ucs2", "ucs2_myanmar_ci", False, "mariadb"))
charsets.add(Charset(642, "ucs2", "ucs2_thai_520_w2", False, "mariadb"))
charsets.add(Charset(672, "utf16", "utf16_croatian_ci", False, "mariadb"))
charsets.add(Charset(673, "utf16", "utf16_myanmar_ci", False, "mariadb"))
charsets.add(Charset(674, "utf16", "utf16_thai_520_w2", False, "mariadb"))
charsets.add(Charset(736, "utf32", "utf32_croatian_ci", False, "mariadb"))
charsets.add(Charset(737, "utf32", "utf32_myanmar_ci", False, "mariadb"))
charsets.add(Charset(738, "utf32", "utf32_thai_520_w2", False, "mariadb"))
charsets.add(Charset(1025, "big5", "big5_chinese_nopad_ci", False, "mariadb"))
charsets.add(Charset(1027, "dec8", "dec8_swedish_nopad_ci", False, "mariadb"))
charsets.add(Charset(1028, "cp850", "cp850_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1030, "hp8", "hp8_english_nopad_ci", False, "mariadb"))
charsets.add(Charset(1031, "koi8r", "koi8r_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1032, "latin1", "latin1_swedish_nopad_ci", False, "mariadb"))
charsets.add(Charset(1033, "latin2", "latin2_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1034, "swe7", "swe7_swedish_nopad_ci", False, "mariadb"))
charsets.add(Charset(1035, "ascii", "ascii_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1036, "ujis", "ujis_japanese_nopad_ci", False, "mariadb"))
charsets.add(Charset(1037, "sjis", "sjis_japanese_nopad_ci", False, "mariadb"))
charsets.add(Charset(1040, "hebrew", "hebrew_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1042, "tis620", "tis620_thai_nopad_ci", False, "mariadb"))
charsets.add(Charset(1043, "euckr", "euckr_korean_nopad_ci", False, "mariadb"))
charsets.add(Charset(1046, "koi8u", "koi8u_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1048, "gb2312", "gb2312_chinese_nopad_ci", False, "mariadb"))
charsets.add(Charset(1049, "greek", "greek_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1050, "cp1250", "cp1250_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1052, "gbk", "gbk_chinese_nopad_ci", False, "mariadb"))
charsets.add(Charset(1054, "latin5", "latin5_turkish_nopad_ci", False, "mariadb"))
charsets.add(Charset(1056, "armscii8", "armscii8_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1057, "utf8mb3", "utf8mb3_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1059, "ucs2", "ucs2_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1060, "cp866", "cp866_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1061, "keybcs2", "keybcs2_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1062, "macce", "macce_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1063, "macroman", "macroman_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1064, "cp852", "cp852_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1065, "latin7", "latin7_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1067, "macce", "macce_nopad_bin", False, "mariadb"))
charsets.add(Charset(1069, "utf8mb4", "utf8mb4_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1070, "utf8mb4", "utf8mb4_nopad_bin", False, "mariadb"))
charsets.add(Charset(1071, "latin1", "latin1_nopad_bin", False, "mariadb"))
charsets.add(Charset(1074, "cp1251", "cp1251_nopad_bin", False, "mariadb"))
charsets.add(Charset(1075, "cp1251", "cp1251_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1077, "macroman", "macroman_nopad_bin", False, "mariadb"))
charsets.add(Charset(1078, "utf16", "utf16_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1079, "utf16", "utf16_nopad_bin", False, "mariadb"))
charsets.add(Charset(1080, "utf16le", "utf16le_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1081, "cp1256", "cp1256_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1082, "cp1257", "cp1257_nopad_bin", False, "mariadb"))
charsets.add(Charset(1083, "cp1257", "cp1257_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1084, "utf32", "utf32_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1085, "utf32", "utf32_nopad_bin", False, "mariadb"))
charsets.add(Charset(1086, "utf16le", "utf16le_nopad_bin", False, "mariadb"))
charsets.add(Charset(1088, "armscii8", "armscii8_nopad_bin", False, "mariadb"))
charsets.add(Charset(1089, "ascii", "ascii_nopad_bin", False, "mariadb"))
charsets.add(Charset(1090, "cp1250", "cp1250_nopad_bin", False, "mariadb"))
charsets.add(Charset(1091, "cp1256", "cp1256_nopad_bin", False, "mariadb"))
charsets.add(Charset(1092, "cp866", "cp866_nopad_bin", False, "mariadb"))
charsets.add(Charset(1093, "dec8", "dec8_nopad_bin", False, "mariadb"))
charsets.add(Charset(1094, "greek", "greek_nopad_bin", False, "mariadb"))
charsets.add(Charset(1095, "hebrew", "hebrew_nopad_bin", False, "mariadb"))
charsets.add(Charset(1096, "hp8", "hp8_nopad_bin", False, "mariadb"))
charsets.add(Charset(1097, "keybcs2", "keybcs2_nopad_bin", False, "mariadb"))
charsets.add(Charset(1098, "koi8r", "koi8r_nopad_bin", False, "mariadb"))
charsets.add(Charset(1099, "koi8u", "koi8u_nopad_bin", False, "mariadb"))
charsets.add(Charset(1101, "latin2", "latin2_nopad_bin", False, "mariadb"))
charsets.add(Charset(1102, "latin5", "latin5_nopad_bin", False, "mariadb"))
charsets.add(Charset(1103, "latin7", "latin7_nopad_bin", False, "mariadb"))
charsets.add(Charset(1104, "cp850", "cp850_nopad_bin", False, "mariadb"))
charsets.add(Charset(1105, "cp852", "cp852_nopad_bin", False, "mariadb"))
charsets.add(Charset(1106, "swe7", "swe7_nopad_bin", False, "mariadb"))
charsets.add(Charset(1107, "utf8mb3", "utf8mb3_nopad_bin", False, "mariadb"))
charsets.add(Charset(1108, "big5", "big5_nopad_bin", False, "mariadb"))
charsets.add(Charset(1109, "euckr", "euckr_nopad_bin", False, "mariadb"))
charsets.add(Charset(1110, "gb2312", "gb2312_nopad_bin", False, "mariadb"))
charsets.add(Charset(1111, "gbk", "gbk_nopad_bin", False, "mariadb"))
charsets.add(Charset(1112, "sjis", "sjis_nopad_bin", False, "mariadb"))
charsets.add(Charset(1113, "tis620", "tis620_nopad_bin", False, "mariadb"))
charsets.add(Charset(1114, "ucs2", "ucs2_nopad_bin", False, "mariadb"))
charsets.add(Charset(1115, "ujis", "ujis_nopad_bin", False, "mariadb"))
charsets.add(Charset(1116, "geostd8", "geostd8_general_nopad_ci", False, "mariadb"))
charsets.add(Charset(1117, "geostd8", "geostd8_nopad_bin", False, "mariadb"))
charsets.add(Charset(1119, "cp932", "cp932_japanese_nopad_ci", False, "mariadb"))
charsets.add(Charset(1120, "cp932", "cp932_nopad_bin", False, "mariadb"))
charsets.add(Charset(1121, "eucjpms", "eucjpms_japanese_nopad_ci", False, "mariadb"))
charsets.add(Charset(1122, "eucjpms", "eucjpms_nopad_bin", False, "mariadb"))
charsets.add(Charset(1125, "utf16", "utf16_unicode_nopad_ci", False, "mariadb"))
charsets.add(Charset(1147, "utf16", "utf16_unicode_520_nopad_ci", False, "mariadb"))
charsets.add(Charset(1152, "ucs2", "ucs2_unicode_nopad_ci", False, "mariadb"))
charsets.add(Charset(1174, "ucs2", "ucs2_unicode_520_nopad_ci", False, "mariadb"))
charsets.add(Charset(1184, "utf32", "utf32_unicode_nopad_ci", False, "mariadb"))
charsets.add(Charset(1206, "utf32", "utf32_unicode_520_nopad_ci", False, "mariadb"))
charsets.add(Charset(1216, "utf8mb3", "utf8mb3_unicode_nopad_ci", False, "mariadb"))
charsets.add(Charset(1238, "utf8mb3", "utf8mb3_unicode_520_nopad_ci", False, "mariadb"))
charsets.add(Charset(1248, "utf8mb4", "utf8mb4_unicode_nopad_ci", False, "mariadb"))
charsets.add(Charset(1270, "utf8mb4", "utf8mb4_unicode_520_nopad_ci", False, "mariadb"))
