shell bypass 403
<?php declare(strict_types=1); namespace BenMorel\GsmCharsetConverter; /** * GSM charset maps. */ class Charset { /** * Maps the GSM 03.38 default alphabet and extension table to UTF-8. * * These mappings have been checked manually for consistency against the following sources: * * https://en.wikipedia.org/wiki/GSM_03.38 * https://github.com/chadselph/smssplit/blob/master/js/gsm.js * http://mobiletidings.com/2009/07/06/gsm-7-encoding-gnu-libiconv/ * * The last link (mobiletidings.com) has a conflicting entry for 0x09, mapping it to LATIN SMALL LETTER C WITH * CEDILLA. It turns out to be wrong, it's LATIN CAPITAL LETTER C WITH CEDILLA instead, as mentioned in the other * links. Tested on Twilio: ç is sent as UCS2, while Ç is sent as GSM. */ public const GSM_TO_UTF8 = [ "\x00" => "\u{0040}", // COMMERCIAL AT "\x01" => "\u{00A3}", // POUND SIGN "\x02" => "\u{0024}", // DOLLAR SIGN "\x03" => "\u{00A5}", // YEN SIGN "\x04" => "\u{00E8}", // LATIN SMALL LETTER E WITH GRAVE "\x05" => "\u{00E9}", // LATIN SMALL LETTER E WITH ACUTE "\x06" => "\u{00F9}", // LATIN SMALL LETTER U WITH GRAVE "\x07" => "\u{00EC}", // LATIN SMALL LETTER I WITH GRAVE "\x08" => "\u{00F2}", // LATIN SMALL LETTER O WITH GRAVE "\x09" => "\u{00C7}", // LATIN CAPITAL LETTER C WITH CEDILLA "\x0A" => "\u{000A}", // LINE FEED "\x0B" => "\u{00D8}", // LATIN CAPITAL LETTER O WITH STROKE "\x0C" => "\u{00F8}", // LATIN SMALL LETTER O WITH STROKE "\x0D" => "\u{000D}", // CARRIAGE RETURN "\x0E" => "\u{00C5}", // LATIN CAPITAL LETTER A WITH RING ABOVE "\x0F" => "\u{00E5}", // LATIN SMALL LETTER A WITH RING ABOVE "\x10" => "\u{0394}", // GREEK CAPITAL LETTER DELTA "\x11" => "\u{005F}", // LOW LINE "\x12" => "\u{03A6}", // GREEK CAPITAL LETTER PHI "\x13" => "\u{0393}", // GREEK CAPITAL LETTER GAMMA "\x14" => "\u{039B}", // GREEK CAPITAL LETTER LAMDA "\x15" => "\u{03A9}", // GREEK CAPITAL LETTER OMEGA "\x16" => "\u{03A0}", // GREEK CAPITAL LETTER PI "\x17" => "\u{03A8}", // GREEK CAPITAL LETTER PSI "\x18" => "\u{03A3}", // GREEK CAPITAL LETTER SIGMA "\x19" => "\u{0398}", // GREEK CAPITAL LETTER THETA "\x1A" => "\u{039E}", // GREEK CAPITAL LETTER XI // \x1B = ESCAPE TO EXTENSION TABLE, see below "\x1C" => "\u{00C6}", // LATIN CAPITAL LETTER AE "\x1D" => "\u{00E6}", // LATIN SMALL LETTER AE "\x1E" => "\u{00DF}", // LATIN SMALL LETTER SHARP S (German) "\x1F" => "\u{00C9}", // LATIN CAPITAL LETTER E WITH ACUTE "\x20" => "\u{0020}", // SPACE "\x21" => "\u{0021}", // EXCLAMATION MARK "\x22" => "\u{0022}", // QUOTATION MARK "\x23" => "\u{0023}", // NUMBER SIGN "\x24" => "\u{00A4}", // CURRENCY SIGN "\x25" => "\u{0025}", // PERCENT SIGN "\x26" => "\u{0026}", // AMPERSAND "\x27" => "\u{0027}", // APOSTROPHE "\x28" => "\u{0028}", // LEFT PARENTHESIS "\x29" => "\u{0029}", // RIGHT PARENTHESIS "\x2A" => "\u{002A}", // ASTERISK "\x2B" => "\u{002B}", // PLUS SIGN "\x2C" => "\u{002C}", // COMMA "\x2D" => "\u{002D}", // HYPHEN-MINUS "\x2E" => "\u{002E}", // FULL STOP "\x2F" => "\u{002F}", // SOLIDUS "\x30" => "\u{0030}", // DIGIT ZERO "\x31" => "\u{0031}", // DIGIT ONE "\x32" => "\u{0032}", // DIGIT TWO "\x33" => "\u{0033}", // DIGIT THREE "\x34" => "\u{0034}", // DIGIT FOUR "\x35" => "\u{0035}", // DIGIT FIVE "\x36" => "\u{0036}", // DIGIT SIX "\x37" => "\u{0037}", // DIGIT SEVEN "\x38" => "\u{0038}", // DIGIT EIGHT "\x39" => "\u{0039}", // DIGIT NINE "\x3A" => "\u{003A}", // COLON "\x3B" => "\u{003B}", // SEMICOLON "\x3C" => "\u{003C}", // LESS-THAN SIGN "\x3D" => "\u{003D}", // EQUALS SIGN "\x3E" => "\u{003E}", // GREATER-THAN SIGN "\x3F" => "\u{003F}", // QUESTION MARK "\x40" => "\u{00A1}", // INVERTED EXCLAMATION MARK "\x41" => "\u{0041}", // LATIN CAPITAL LETTER A "\x42" => "\u{0042}", // LATIN CAPITAL LETTER B "\x43" => "\u{0043}", // LATIN CAPITAL LETTER C "\x44" => "\u{0044}", // LATIN CAPITAL LETTER D "\x45" => "\u{0045}", // LATIN CAPITAL LETTER E "\x46" => "\u{0046}", // LATIN CAPITAL LETTER F "\x47" => "\u{0047}", // LATIN CAPITAL LETTER G "\x48" => "\u{0048}", // LATIN CAPITAL LETTER H "\x49" => "\u{0049}", // LATIN CAPITAL LETTER I "\x4A" => "\u{004A}", // LATIN CAPITAL LETTER J "\x4B" => "\u{004B}", // LATIN CAPITAL LETTER K "\x4C" => "\u{004C}", // LATIN CAPITAL LETTER L "\x4D" => "\u{004D}", // LATIN CAPITAL LETTER M "\x4E" => "\u{004E}", // LATIN CAPITAL LETTER N "\x4F" => "\u{004F}", // LATIN CAPITAL LETTER O "\x50" => "\u{0050}", // LATIN CAPITAL LETTER P "\x51" => "\u{0051}", // LATIN CAPITAL LETTER Q "\x52" => "\u{0052}", // LATIN CAPITAL LETTER R "\x53" => "\u{0053}", // LATIN CAPITAL LETTER S "\x54" => "\u{0054}", // LATIN CAPITAL LETTER T "\x55" => "\u{0055}", // LATIN CAPITAL LETTER U "\x56" => "\u{0056}", // LATIN CAPITAL LETTER V "\x57" => "\u{0057}", // LATIN CAPITAL LETTER W "\x58" => "\u{0058}", // LATIN CAPITAL LETTER X "\x59" => "\u{0059}", // LATIN CAPITAL LETTER Y "\x5A" => "\u{005A}", // LATIN CAPITAL LETTER Z "\x5B" => "\u{00C4}", // LATIN CAPITAL LETTER A WITH DIAERESIS "\x5C" => "\u{00D6}", // LATIN CAPITAL LETTER O WITH DIAERESIS "\x5D" => "\u{00D1}", // LATIN CAPITAL LETTER N WITH TILDE "\x5E" => "\u{00DC}", // LATIN CAPITAL LETTER U WITH DIAERESIS "\x5F" => "\u{00A7}", // SECTION SIGN "\x60" => "\u{00BF}", // INVERTED QUESTION MARK "\x61" => "\u{0061}", // LATIN SMALL LETTER A "\x62" => "\u{0062}", // LATIN SMALL LETTER B "\x63" => "\u{0063}", // LATIN SMALL LETTER C "\x64" => "\u{0064}", // LATIN SMALL LETTER D "\x65" => "\u{0065}", // LATIN SMALL LETTER E "\x66" => "\u{0066}", // LATIN SMALL LETTER F "\x67" => "\u{0067}", // LATIN SMALL LETTER G "\x68" => "\u{0068}", // LATIN SMALL LETTER H "\x69" => "\u{0069}", // LATIN SMALL LETTER I "\x6A" => "\u{006A}", // LATIN SMALL LETTER J "\x6B" => "\u{006B}", // LATIN SMALL LETTER K "\x6C" => "\u{006C}", // LATIN SMALL LETTER L "\x6D" => "\u{006D}", // LATIN SMALL LETTER M "\x6E" => "\u{006E}", // LATIN SMALL LETTER N "\x6F" => "\u{006F}", // LATIN SMALL LETTER O "\x70" => "\u{0070}", // LATIN SMALL LETTER P "\x71" => "\u{0071}", // LATIN SMALL LETTER Q "\x72" => "\u{0072}", // LATIN SMALL LETTER R "\x73" => "\u{0073}", // LATIN SMALL LETTER S "\x74" => "\u{0074}", // LATIN SMALL LETTER T "\x75" => "\u{0075}", // LATIN SMALL LETTER U "\x76" => "\u{0076}", // LATIN SMALL LETTER V "\x77" => "\u{0077}", // LATIN SMALL LETTER W "\x78" => "\u{0078}", // LATIN SMALL LETTER X "\x79" => "\u{0079}", // LATIN SMALL LETTER Y "\x7A" => "\u{007A}", // LATIN SMALL LETTER Z "\x7B" => "\u{00E4}", // LATIN SMALL LETTER A WITH DIAERESIS "\x7C" => "\u{00F6}", // LATIN SMALL LETTER O WITH DIAERESIS "\x7D" => "\u{00F1}", // LATIN SMALL LETTER N WITH TILDE "\x7E" => "\u{00FC}", // LATIN SMALL LETTER U WITH DIAERESIS "\x7F" => "\u{00E0}", // LATIN SMALL LETTER A WITH GRAVE // Extension table "\x1B\x0A" => "\u{000C}", // FORM FEED // 1B0D = CR2 is a control char, not implemented here "\x1B\x14" => "\u{005E}", // CIRCUMFLEX ACCENT // 1B1B = SS2 is a control char reserved for future extensions, not implemented here "\x1B\x28" => "\u{007B}", // LEFT CURLY BRACKET "\x1B\x29" => "\u{007D}", // RIGHT CURLY BRACKET "\x1B\x2F" => "\u{005C}", // REVERSE SOLIDUS "\x1B\x3C" => "\u{005B}", // LEFT SQUARE BRACKET "\x1B\x3D" => "\u{007E}", // TILDE "\x1B\x3E" => "\u{005D}", // RIGHT SQUARE BRACKET "\x1B\x40" => "\u{007C}", // VERTICAL LINE "\x1B\x65" => "\u{20AC}", // EURO SIGN ]; /** * Maps UTF-8 chars that are not present in the GSM charset to a close match in one or more GSM charset-compatible * UTF-8 chars. */ public const TRANSLITERATE = [ // Characters in the Unicode range 0000 - 00FF (latin1). // This list is hand-crafted and aims to cover the full latin1 range. Mappings marked with (*) are very // rough approximations that could be candidate for removal if full latin1 range is not a requirement anymore. "\u{0060}" => "\u{0027}", // GRAVE ACCENT => APOSTROPHE "\u{00A0}" => "\u{0020}", // NO-BREAK SPACE => SPACE "\u{00A2}" => "\u{0063}", // CENT SIGN => LATIN SMALL LETTER C "\u{00A6}" => "\u{007C}", // BROKEN BAR => VERTICAL LINE "\u{00A8}" => "\u{0022}", // DIAERESIS => QUOTATION MARK (*) "\u{00A9}" => "(c)" , // COPYRIGHT SIGN "\u{00AA}" => "\u{0061}", // FEMININE ORDINAL INDICATOR => LATIN SMALL LETTER A "\u{00AB}" => "\u{0022}", // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK => QUOTATION MARK "\u{00AC}" => "\u{002D}", // NOT SIGN => HYPHEN-MINUS (*) "\u{00AD}" => "\u{002D}", // SOFT HYPHEN => HYPHEN-MINUS "\u{00AE}" => "(r)", // REGISTERED SIGN "\u{00AF}" => "\u{005F}", // MACRON => LOW LINE (*) "\u{00B0}" => "\u{006F}", // DEGREE SIGN => LATIN SMALL LETTER O (*) "\u{00B1}" => "+/-", // PLUS-MINUS SIGN "\u{00B2}" => "\u{0032}", // SUPERSCRIPT TWO => DIGIT TWO "\u{00B3}" => "\u{0033}", // SUPERSCRIPT THREE => DIGIT THREE "\u{00B4}" => "\u{0027}", // ACUTE ACCENT => APOSTROPHE "\u{00B5}" => "\u{0075}", // MICRO SIGN => LATIN SMALL LETTER U "\u{00B6}" => "\u{00A7}", // PILCROW SIGN => SECTION SIGN (*) "\u{00B7}" => "\u{002E}", // MIDDLE DOT => FULL STOP "\u{00B8}" => "\u{002C}", // CEDILLA => COMMA (*) "\u{00B9}" => "\u{0031}", // SUPERSCRIPT ONE => DIGIT ONE "\u{00BA}" => "\u{006F}", // MASCULINE ORDINAL INDICATOR => LATIN SMALL LETTER O (*) "\u{00BB}" => "\u{0022}", // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK => QUOTATION MARK "\u{00BC}" => "1/4", // VULGAR FRACTION ONE QUARTER "\u{00BD}" => "1/2", // VULGAR FRACTION ONE HALF "\u{00BE}" => "3/4", // VULGAR FRACTION THREE QUARTERS "\u{00C0}" => "\u{0041}", // LATIN CAPITAL LETTER A WITH GRAVE => LATIN CAPITAL LETTER A "\u{00C1}" => "\u{0041}", // LATIN CAPITAL LETTER A WITH ACUTE => LATIN CAPITAL LETTER A "\u{00C2}" => "\u{0041}", // LATIN CAPITAL LETTER A WITH CIRCUMFLEX => LATIN CAPITAL LETTER A "\u{00C3}" => "\u{0041}", // LATIN CAPITAL LETTER A WITH TILDE => LATIN CAPITAL LETTER A "\u{00C8}" => "\u{0045}", // LATIN CAPITAL LETTER E WITH GRAVE => LATIN CAPITAL LETTER E "\u{00CA}" => "\u{0045}", // LATIN CAPITAL LETTER E WITH CIRCUMFLEX => LATIN CAPITAL LETTER E "\u{00CB}" => "\u{0045}", // LATIN CAPITAL LETTER E WITH DIAERESIS => LATIN CAPITAL LETTER E "\u{00CC}" => "\u{0049}", // LATIN CAPITAL LETTER I WITH GRAVE => LATIN CAPITAL LETTER I "\u{00CD}" => "\u{0049}", // LATIN CAPITAL LETTER I WITH ACUTE => LATIN CAPITAL LETTER I "\u{00CE}" => "\u{0049}", // LATIN CAPITAL LETTER I WITH CIRCUMFLEX => LATIN CAPITAL LETTER I "\u{00CF}" => "\u{0049}", // LATIN CAPITAL LETTER I WITH DIAERESIS => LATIN CAPITAL LETTER I "\u{00D0}" => "\u{0044}", // LATIN CAPITAL LETTER ETH => LATIN CAPITAL LETTER D "\u{00D2}" => "\u{004F}", // LATIN CAPITAL LETTER O WITH GRAVE => LATIN CAPITAL LETTER O "\u{00D3}" => "\u{004F}", // LATIN CAPITAL LETTER O WITH ACUTE => LATIN CAPITAL LETTER O "\u{00D4}" => "\u{004F}", // LATIN CAPITAL LETTER O WITH CIRCUMFLEX => LATIN CAPITAL LETTER O "\u{00D5}" => "\u{004F}", // LATIN CAPITAL LETTER O WITH TILDE => LATIN CAPITAL LETTER O "\u{00D7}" => "\u{0078}", // MULTIPLICATION SIGN => LATIN SMALL LETTER X "\u{00D9}" => "\u{0055}", // LATIN CAPITAL LETTER U WITH GRAVE => LATIN CAPITAL LETTER U "\u{00DA}" => "\u{0055}", // LATIN CAPITAL LETTER U WITH ACUTE => LATIN CAPITAL LETTER U "\u{00DB}" => "\u{0055}", // LATIN CAPITAL LETTER U WITH CIRCUMFLEX => LATIN CAPITAL LETTER U "\u{00DD}" => "\u{0059}", // LATIN CAPITAL LETTER Y WITH ACUTE => LATIN CAPITAL LETTER Y "\u{00DE}" => "TH", // LATIN CAPITAL LETTER THORN "\u{00E1}" => "\u{0061}", // LATIN SMALL LETTER A WITH ACUTE => LATIN SMALL LETTER A "\u{00E2}" => "\u{0061}", // LATIN SMALL LETTER A WITH CIRCUMFLEX => LATIN SMALL LETTER A "\u{00E3}" => "\u{0061}", // LATIN SMALL LETTER A WITH TILDE => LATIN SMALL LETTER A "\u{00E7}" => "\u{0063}", // LATIN SMALL LETTER C WITH CEDILLA => LATIN SMALL LETTER C "\u{00EA}" => "\u{0065}", // LATIN SMALL LETTER E WITH CIRCUMFLEX => LATIN SMALL LETTER E "\u{00EB}" => "\u{0065}", // LATIN SMALL LETTER E WITH DIAERESIS => LATIN SMALL LETTER E "\u{00ED}" => "\u{0069}", // LATIN SMALL LETTER I WITH ACUTE => LATIN SMALL LETTER I "\u{00EE}" => "\u{0069}", // LATIN SMALL LETTER I WITH CIRCUMFLEX => LATIN SMALL LETTER I "\u{00EF}" => "\u{0069}", // LATIN SMALL LETTER I WITH DIAERESIS => LATIN SMALL LETTER I "\u{00F0}" => "\u{0064}", // LATIN SMALL LETTER ETH => LATIN SMALL LETTER D "\u{00F3}" => "\u{006F}", // LATIN SMALL LETTER O WITH ACUTE => LATIN SMALL LETTER O "\u{00F4}" => "\u{006F}", // LATIN SMALL LETTER O WITH CIRCUMFLEX => LATIN SMALL LETTER O "\u{00F5}" => "\u{006F}", // LATIN SMALL LETTER O WITH TILDE => LATIN SMALL LETTER O "\u{00F7}" => "\u{002F}", // DIVISION SIGN => SOLIDUS "\u{00FA}" => "\u{0075}", // LATIN SMALL LETTER U WITH ACUTE => LATIN SMALL LETTER U "\u{00FB}" => "\u{0075}", // LATIN SMALL LETTER U WITH CIRCUMFLEX => LATIN SMALL LETTER U "\u{00FD}" => "\u{0079}", // LATIN SMALL LETTER Y WITH ACUTE => LATIN SMALL LETTER Y "\u{00FE}" => "th", // LATIN SMALL LETTER THORN "\u{00FF}" => "\u{0079}", // LATIN SMALL LETTER Y WITH DIAERESIS => LATIN SMALL LETTER Y "\u{FEFF}" => "", // ZERO WIDTH NO-BREAK SPACE "\u{2019}" => "\u{0027}", // RIGHT SINGLE QUOTATION MARK => APOSTROPHE "\u{02BC}" => "\u{0027}", // MODIFIER LETTER APOSTROPHE => APOSTROPHE "\u{275C}" => "\u{0027}", // HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT => APOSTROPHE // French chars. "\u{0152}" => "OE", // LATIN CAPITAL LIGATURE OE "\u{0153}" => "oe", // LATIN SMALL LIGATURE OE "\u{0178}" => "\u{0059}", // LATIN CAPITAL LETTER Y WITH DIAERESIS => LATIN CAPITAL LETTER Y // Polish chars. // See: https://github.com/BenMorel/GsmCharsetConverter/issues/1 "\u{0105}" => "\u{0061}", "\u{0104}" => "\u{0041}", "\u{0107}" => "\u{0063}", "\u{0106}" => "\u{0043}", "\u{0119}" => "\u{0065}", "\u{0118}" => "\u{0045}", "\u{0142}" => "\u{006C}", "\u{0141}" => "\u{004C}", "\u{0144}" => "\u{006E}", "\u{0143}" => "\u{004E}", "\u{015b}" => "\u{0073}", "\u{015a}" => "\u{0053}", "\u{017a}" => "\u{007A}", "\u{0179}" => "\u{005A}", "\u{017c}" => "\u{007A}", "\u{017b}" => "\u{005A}", // Romanian chars. // See: https://github.com/BenMorel/GsmCharsetConverter/issues/3 "\u{0218}" => "\u{0053}", // Ș => S "\u{0219}" => "\u{0073}", // ș => s "\u{021A}" => "\u{0054}", // Ț => T "\u{021B}" => "\u{0074}", // ț => t "\u{0102}" => "\u{0041}", // Ă => A "\u{0103}" => "\u{0061}", // ă => a // Greek chars. "\u{0391}" => "\u{0041}", // GREEK CAPITAL LETTER ALPHA (A) "\u{0386}" => "\u{0041}", // GREEK CAPITAL LETTER ALPHA TONOS Ά "\u{0392}" => "\u{0042}", // GREEK CAPITAL LETTER BETTA (Β) "\u{0395}" => "\u{0045}", // GREEK CAPITAL LETTER EPSILON TONOS (Ε) "\u{0388}" => "\u{0045}", // GREEK CAPITAL LETTER EPSILON TONOS (Έ) "\u{0396}" => "\u{005A}", // GREEK CAPITAL LETTER ZITA (Z) "\u{0397}" => "\u{0048}", // GREEK CAPITAL LETTER ITA (Η) "\u{0389}" => "\u{0048}", // GREEK CAPITAL LETTER ITA TONOS (Ή) "\u{0399}" => "\u{0049}", // GREEK CAPITAL LETTER YIOTA (Ι) "\u{038A}" => "\u{0049}", // GREEK CAPITAL LETTER YIOTA TONOS (Ί) "\u{039A}" => "\u{004B}", // GREEK CAPITAL LETTER KAPPA (Κ) "\u{039C}" => "\u{004D}", // GREEK CAPITAL LETTER MI (Μ) "\u{039D}" => "\u{004E}", // GREEK CAPITAL LETTER NI (Ν) "\u{039F}" => "\u{004F}", // GREEK CAPITAL LETTER OMIKRON (Ο) "\u{038C}" => "\u{004F}", // GREEK CAPITAL LETTER OMIKRON TONOS (Ό) "\u{03A1}" => "\u{0050}", // GREEK CAPITAL LETTER RO (Ρ) "\u{03A4}" => "\u{0054}", // GREEK CAPITAL LETTER TAF (Τ) "\u{03A5}" => "\u{0059}", // GREEK CAPITAL LETTER IPSILON (Υ) "\u{038E}" => "\u{0059}", // GREEK CAPITAL LETTER IPSILON TONOS (Ϋ) "\u{03A7}" => "\u{0058}", // GREEK CAPITAL LETTER CHI (Χ) "\u{038F}" => "\u{03A9}", // GREEK CAPITAL LETTER OMEGA TONOS (Ώ) // Czech and Slovak chars. "\u{010C}" => "\u{0043}", // Č => C "\u{010D}" => "\u{0063}", // č => c "\u{0160}" => "\u{0053}", // Š => S "\u{0161}" => "\u{0073}", // š => s "\u{0164}" => "\u{0054}", // Ť => T "\u{0165}" => "\u{0074}", // ť => t "\u{017D}" => "\u{005A}", // Ž => Z "\u{017E}" => "\u{007A}", // ž => z "\u{013D}" => "\u{004C}", // Ľ => L "\u{013E}" => "\u{006C}", // ľ => l "\u{0147}" => "\u{004E}", // Ň => N "\u{0148}" => "\u{006E}", // ň => n "\u{010E}" => "\u{0044}", // Ď => D "\u{010F}" => "\u{0064}", // ď => d "\u{0139}" => "\u{004C}", // Ĺ => L "\u{013A}" => "\u{006C}", // ĺ => l "\u{0155}" => "\u{0072}", // ŕ => r "\u{011A}" => "\u{0045}", // Ě => E "\u{011B}" => "\u{0065}", // ě => e "\u{0158}" => "\u{0052}", // Ř => R "\u{0159}" => "\u{0072}", // ř => r "\u{016E}" => "\u{0055}", // Ů => U "\u{016F}" => "\u{0075}", // ů => u ]; }