"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const boundaries_1 = require("./boundaries"); const GraphemerHelper_1 = __importDefault(require("./GraphemerHelper")); const GraphemerIterator_1 = __importDefault(require("./GraphemerIterator")); class Graphemer { /** * Returns the next grapheme break in the string after the given index * @param string {string} * @param index {number} * @returns {number} */ static nextBreak(string, index) { if (index === undefined) { index = 0; } if (index < 0) { return 0; } if (index >= string.length - 1) { return string.length; } const prevCP = GraphemerHelper_1.default.codePointAt(string, index); const prev = Graphemer.getGraphemeBreakProperty(prevCP); const prevEmoji = Graphemer.getEmojiProperty(prevCP); const mid = []; const midEmoji = []; for (let i = index + 1; i < string.length; i++) { // check for already processed low surrogates if (GraphemerHelper_1.default.isSurrogate(string, i - 1)) { continue; } const nextCP = GraphemerHelper_1.default.codePointAt(string, i); const next = Graphemer.getGraphemeBreakProperty(nextCP); const nextEmoji = Graphemer.getEmojiProperty(nextCP); if (GraphemerHelper_1.default.shouldBreak(prev, mid, next, prevEmoji, midEmoji, nextEmoji)) { return i; } mid.push(next); midEmoji.push(nextEmoji); } return string.length; } /** * Breaks the given string into an array of grapheme clusters * @param str {string} * @returns {string[]} */ splitGraphemes(str) { const res = []; let index = 0; let brk; while ((brk = Graphemer.nextBreak(str, index)) < str.length) { res.push(str.slice(index, brk)); index = brk; } if (index < str.length) { res.push(str.slice(index)); } return res; } /** * Returns an iterator of grapheme clusters in the given string * @param str {string} * @returns {GraphemerIterator} */ iterateGraphemes(str) { return new GraphemerIterator_1.default(str, Graphemer.nextBreak); } /** * Returns the number of grapheme clusters in the given string * @param str {string} * @returns {number} */ countGraphemes(str) { let count = 0; let index = 0; let brk; while ((brk = Graphemer.nextBreak(str, index)) < str.length) { index = brk; count++; } if (index < str.length) { count++; } return count; } /** * Given a Unicode code point, determines this symbol's grapheme break property * @param code {number} Unicode code point * @returns {number} */ static getGraphemeBreakProperty(code) { // Grapheme break property taken from: // https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakProperty.txt // and generated by // node ./scripts/generate-grapheme-break.js if (code < 0xbf09) { if (code < 0xac54) { if (code < 0x102d) { if (code < 0xb02) { if (code < 0x93b) { if (code < 0x6df) { if (code < 0x5bf) { if (code < 0x7f) { if (code < 0xb) { if (code < 0xa) { // Cc [10] .. if (0x0 <= code && code <= 0x9) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { // Cc if (0xa === code) { return boundaries_1.CLUSTER_BREAK.LF; } } } else { if (code < 0xd) { // Cc [2] .. if (0xb <= code && code <= 0xc) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { if (code < 0xe) { // Cc if (0xd === code) { return boundaries_1.CLUSTER_BREAK.CR; } } else { // Cc [18] .. if (0xe <= code && code <= 0x1f) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } } } } else { if (code < 0x300) { if (code < 0xad) { // Cc [33] .. if (0x7f <= code && code <= 0x9f) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { // Cf SOFT HYPHEN if (0xad === code) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } } else { if (code < 0x483) { // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X if (0x300 <= code && code <= 0x36f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x591) { // Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE // Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN if (0x483 <= code && code <= 0x489) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG if (0x591 <= code && code <= 0x5bd) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x610) { if (code < 0x5c4) { if (code < 0x5c1) { // Mn HEBREW POINT RAFE if (0x5bf === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT if (0x5c1 <= code && code <= 0x5c2) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x5c7) { // Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT if (0x5c4 <= code && code <= 0x5c5) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x600) { // Mn HEBREW POINT QAMATS QATAN if (0x5c7 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE if (0x600 <= code && code <= 0x605) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } } } } else { if (code < 0x670) { if (code < 0x61c) { // Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA if (0x610 <= code && code <= 0x61a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x64b) { // Cf ARABIC LETTER MARK if (0x61c === code) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { // Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW if (0x64b <= code && code <= 0x65f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x6d6) { // Mn ARABIC LETTER SUPERSCRIPT ALEF if (0x670 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x6dd) { // Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN if (0x6d6 <= code && code <= 0x6dc) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cf ARABIC END OF AYAH if (0x6dd === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } } } } } } else { if (code < 0x81b) { if (code < 0x730) { if (code < 0x6ea) { if (code < 0x6e7) { // Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA if (0x6df <= code && code <= 0x6e4) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON if (0x6e7 <= code && code <= 0x6e8) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x70f) { // Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM if (0x6ea <= code && code <= 0x6ed) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cf SYRIAC ABBREVIATION MARK if (0x70f === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } // Mn SYRIAC LETTER SUPERSCRIPT ALAPH if (0x711 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x7eb) { if (code < 0x7a6) { // Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH if (0x730 <= code && code <= 0x74a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [11] THAANA ABAFILI..THAANA SUKUN if (0x7a6 <= code && code <= 0x7b0) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x7fd) { // Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE if (0x7eb <= code && code <= 0x7f3) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x816) { // Mn NKO DANTAYALAN if (0x7fd === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH if (0x816 <= code && code <= 0x819) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x898) { if (code < 0x829) { if (code < 0x825) { // Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A if (0x81b <= code && code <= 0x823) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U if (0x825 <= code && code <= 0x827) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x859) { // Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA if (0x829 <= code && code <= 0x82d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x890) { // Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK if (0x859 <= code && code <= 0x85b) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cf [2] ARABIC POUND MARK ABOVE..ARABIC PIASTRE MARK ABOVE if (0x890 <= code && code <= 0x891) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } } } } else { if (code < 0x8e3) { if (code < 0x8ca) { // Mn [8] ARABIC SMALL HIGH WORD AL-JUZ..ARABIC HALF MADDA OVER MADDA if (0x898 <= code && code <= 0x89f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x8e2) { // Mn [24] ARABIC SMALL HIGH FARSI YEH..ARABIC SMALL HIGH SIGN SAFHA if (0x8ca <= code && code <= 0x8e1) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cf ARABIC DISPUTED END OF AYAH if (0x8e2 === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } } } else { if (code < 0x903) { // Mn [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA if (0x8e3 <= code && code <= 0x902) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc DEVANAGARI SIGN VISARGA if (0x903 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn DEVANAGARI VOWEL SIGN OE if (0x93a === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } else { if (code < 0xa01) { if (code < 0x982) { if (code < 0x94d) { if (code < 0x93e) { // Mc DEVANAGARI VOWEL SIGN OOE if (0x93b === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn DEVANAGARI SIGN NUKTA if (0x93c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x941) { // Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II if (0x93e <= code && code <= 0x940) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x949) { // Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI if (0x941 <= code && code <= 0x948) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU if (0x949 <= code && code <= 0x94c) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x951) { if (code < 0x94e) { // Mn DEVANAGARI SIGN VIRAMA if (0x94d === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW if (0x94e <= code && code <= 0x94f) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x962) { // Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE if (0x951 <= code && code <= 0x957) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x981) { // Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL if (0x962 <= code && code <= 0x963) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn BENGALI SIGN CANDRABINDU if (0x981 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x9c7) { if (code < 0x9be) { if (code < 0x9bc) { // Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA if (0x982 <= code && code <= 0x983) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn BENGALI SIGN NUKTA if (0x9bc === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x9bf) { // Mc BENGALI VOWEL SIGN AA if (0x9be === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x9c1) { // Mc [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II if (0x9bf <= code && code <= 0x9c0) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR if (0x9c1 <= code && code <= 0x9c4) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x9d7) { if (code < 0x9cb) { // Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI if (0x9c7 <= code && code <= 0x9c8) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x9cd) { // Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU if (0x9cb <= code && code <= 0x9cc) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn BENGALI SIGN VIRAMA if (0x9cd === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x9e2) { // Mc BENGALI AU LENGTH MARK if (0x9d7 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x9fe) { // Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL if (0x9e2 <= code && code <= 0x9e3) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn BENGALI SANDHI MARK if (0x9fe === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } else { if (code < 0xa83) { if (code < 0xa47) { if (code < 0xa3c) { if (code < 0xa03) { // Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI if (0xa01 <= code && code <= 0xa02) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc GURMUKHI SIGN VISARGA if (0xa03 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0xa3e) { // Mn GURMUKHI SIGN NUKTA if (0xa3c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xa41) { // Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II if (0xa3e <= code && code <= 0xa40) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU if (0xa41 <= code && code <= 0xa42) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xa70) { if (code < 0xa4b) { // Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI if (0xa47 <= code && code <= 0xa48) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xa51) { // Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA if (0xa4b <= code && code <= 0xa4d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn GURMUKHI SIGN UDAAT if (0xa51 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xa75) { // Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK if (0xa70 <= code && code <= 0xa71) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xa81) { // Mn GURMUKHI SIGN YAKASH if (0xa75 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA if (0xa81 <= code && code <= 0xa82) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0xac9) { if (code < 0xabe) { // Mc GUJARATI SIGN VISARGA if (0xa83 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn GUJARATI SIGN NUKTA if (0xabc === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xac1) { // Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II if (0xabe <= code && code <= 0xac0) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xac7) { // Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E if (0xac1 <= code && code <= 0xac5) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI if (0xac7 <= code && code <= 0xac8) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xae2) { if (code < 0xacb) { // Mc GUJARATI VOWEL SIGN CANDRA O if (0xac9 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xacd) { // Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU if (0xacb <= code && code <= 0xacc) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn GUJARATI SIGN VIRAMA if (0xacd === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xafa) { // Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL if (0xae2 <= code && code <= 0xae3) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xb01) { // Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE if (0xafa <= code && code <= 0xaff) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn ORIYA SIGN CANDRABINDU if (0xb01 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } } else { if (code < 0xcf3) { if (code < 0xc04) { if (code < 0xb82) { if (code < 0xb47) { if (code < 0xb3e) { if (code < 0xb3c) { // Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA if (0xb02 <= code && code <= 0xb03) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn ORIYA SIGN NUKTA if (0xb3c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xb40) { // Mc ORIYA VOWEL SIGN AA // Mn ORIYA VOWEL SIGN I if (0xb3e <= code && code <= 0xb3f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xb41) { // Mc ORIYA VOWEL SIGN II if (0xb40 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR if (0xb41 <= code && code <= 0xb44) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xb4d) { if (code < 0xb4b) { // Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI if (0xb47 <= code && code <= 0xb48) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU if (0xb4b <= code && code <= 0xb4c) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0xb55) { // Mn ORIYA SIGN VIRAMA if (0xb4d === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xb62) { // Mn [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK // Mc ORIYA AU LENGTH MARK if (0xb55 <= code && code <= 0xb57) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL if (0xb62 <= code && code <= 0xb63) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0xbc6) { if (code < 0xbbf) { // Mn TAMIL SIGN ANUSVARA if (0xb82 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc TAMIL VOWEL SIGN AA if (0xbbe === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xbc0) { // Mc TAMIL VOWEL SIGN I if (0xbbf === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xbc1) { // Mn TAMIL VOWEL SIGN II if (0xbc0 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU if (0xbc1 <= code && code <= 0xbc2) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0xbd7) { if (code < 0xbca) { // Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI if (0xbc6 <= code && code <= 0xbc8) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xbcd) { // Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU if (0xbca <= code && code <= 0xbcc) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn TAMIL SIGN VIRAMA if (0xbcd === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xc00) { // Mc TAMIL AU LENGTH MARK if (0xbd7 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xc01) { // Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE if (0xc00 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA if (0xc01 <= code && code <= 0xc03) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } } else { if (code < 0xcbe) { if (code < 0xc4a) { if (code < 0xc3e) { // Mn TELUGU SIGN COMBINING ANUSVARA ABOVE if (0xc04 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn TELUGU SIGN NUKTA if (0xc3c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xc41) { // Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II if (0xc3e <= code && code <= 0xc40) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xc46) { // Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR if (0xc41 <= code && code <= 0xc44) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI if (0xc46 <= code && code <= 0xc48) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xc81) { if (code < 0xc55) { // Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA if (0xc4a <= code && code <= 0xc4d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xc62) { // Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK if (0xc55 <= code && code <= 0xc56) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL if (0xc62 <= code && code <= 0xc63) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xc82) { // Mn KANNADA SIGN CANDRABINDU if (0xc81 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xcbc) { // Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA if (0xc82 <= code && code <= 0xc83) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn KANNADA SIGN NUKTA if (0xcbc === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0xcc6) { if (code < 0xcc0) { // Mc KANNADA VOWEL SIGN AA if (0xcbe === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn KANNADA VOWEL SIGN I if (0xcbf === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xcc2) { // Mc [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U if (0xcc0 <= code && code <= 0xcc1) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xcc3) { // Mc KANNADA VOWEL SIGN UU if (0xcc2 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR if (0xcc3 <= code && code <= 0xcc4) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0xccc) { if (code < 0xcc7) { // Mn KANNADA VOWEL SIGN E if (0xcc6 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xcca) { // Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI if (0xcc7 <= code && code <= 0xcc8) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO if (0xcca <= code && code <= 0xccb) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0xcd5) { // Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA if (0xccc <= code && code <= 0xccd) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xce2) { // Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK if (0xcd5 <= code && code <= 0xcd6) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL if (0xce2 <= code && code <= 0xce3) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } else { if (code < 0xddf) { if (code < 0xd4e) { if (code < 0xd3f) { if (code < 0xd02) { if (code < 0xd00) { // Mc KANNADA SIGN COMBINING ANUSVARA ABOVE RIGHT if (0xcf3 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU if (0xd00 <= code && code <= 0xd01) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xd3b) { // Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA if (0xd02 <= code && code <= 0xd03) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xd3e) { // Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA if (0xd3b <= code && code <= 0xd3c) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc MALAYALAM VOWEL SIGN AA if (0xd3e === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xd46) { if (code < 0xd41) { // Mc [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II if (0xd3f <= code && code <= 0xd40) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR if (0xd41 <= code && code <= 0xd44) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xd4a) { // Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI if (0xd46 <= code && code <= 0xd48) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xd4d) { // Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU if (0xd4a <= code && code <= 0xd4c) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn MALAYALAM SIGN VIRAMA if (0xd4d === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0xdca) { if (code < 0xd62) { // Lo MALAYALAM LETTER DOT REPH if (0xd4e === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } // Mc MALAYALAM AU LENGTH MARK if (0xd57 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xd81) { // Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL if (0xd62 <= code && code <= 0xd63) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xd82) { // Mn SINHALA SIGN CANDRABINDU if (0xd81 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA if (0xd82 <= code && code <= 0xd83) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0xdd2) { if (code < 0xdcf) { // Mn SINHALA SIGN AL-LAKUNA if (0xdca === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xdd0) { // Mc SINHALA VOWEL SIGN AELA-PILLA if (0xdcf === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA if (0xdd0 <= code && code <= 0xdd1) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0xdd6) { // Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA if (0xdd2 <= code && code <= 0xdd4) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xdd8) { // Mn SINHALA VOWEL SIGN DIGA PAA-PILLA if (0xdd6 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA if (0xdd8 <= code && code <= 0xdde) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } } else { if (code < 0xf35) { if (code < 0xe47) { if (code < 0xe31) { if (code < 0xdf2) { // Mc SINHALA VOWEL SIGN GAYANUKITTA if (0xddf === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA if (0xdf2 <= code && code <= 0xdf3) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0xe33) { // Mn THAI CHARACTER MAI HAN-AKAT if (0xe31 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xe34) { // Lo THAI CHARACTER SARA AM if (0xe33 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU if (0xe34 <= code && code <= 0xe3a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xeb4) { if (code < 0xeb1) { // Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN if (0xe47 <= code && code <= 0xe4e) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn LAO VOWEL SIGN MAI KAN if (0xeb1 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Lo LAO VOWEL SIGN AM if (0xeb3 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0xec8) { // Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO if (0xeb4 <= code && code <= 0xebc) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xf18) { // Mn [7] LAO TONE MAI EK..LAO YAMAKKAN if (0xec8 <= code && code <= 0xece) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS if (0xf18 <= code && code <= 0xf19) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0xf7f) { if (code < 0xf39) { // Mn TIBETAN MARK NGAS BZUNG NYI ZLA if (0xf35 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS if (0xf37 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xf3e) { // Mn TIBETAN MARK TSA -PHRU if (0xf39 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xf71) { // Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES if (0xf3e <= code && code <= 0xf3f) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO if (0xf71 <= code && code <= 0xf7e) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xf8d) { if (code < 0xf80) { // Mc TIBETAN SIGN RNAM BCAD if (0xf7f === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xf86) { // Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA if (0xf80 <= code && code <= 0xf84) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS if (0xf86 <= code && code <= 0xf87) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xf99) { // Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA if (0xf8d <= code && code <= 0xf97) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xfc6) { // Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA if (0xf99 <= code && code <= 0xfbc) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn TIBETAN SYMBOL PADMA GDAN if (0xfc6 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } } } else { if (code < 0x1c24) { if (code < 0x1930) { if (code < 0x1732) { if (code < 0x1082) { if (code < 0x103d) { if (code < 0x1032) { if (code < 0x1031) { // Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU if (0x102d <= code && code <= 0x1030) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc MYANMAR VOWEL SIGN E if (0x1031 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x1039) { // Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW if (0x1032 <= code && code <= 0x1037) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x103b) { // Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT if (0x1039 <= code && code <= 0x103a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA if (0x103b <= code && code <= 0x103c) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x1058) { if (code < 0x1056) { // Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA if (0x103d <= code && code <= 0x103e) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR if (0x1056 <= code && code <= 0x1057) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x105e) { // Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL if (0x1058 <= code && code <= 0x1059) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1071) { // Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA if (0x105e <= code && code <= 0x1060) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE if (0x1071 <= code && code <= 0x1074) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x1100) { if (code < 0x1085) { // Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA if (0x1082 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc MYANMAR VOWEL SIGN SHAN E if (0x1084 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x108d) { // Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y if (0x1085 <= code && code <= 0x1086) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE if (0x108d === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn MYANMAR VOWEL SIGN AITON AI if (0x109d === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x135d) { if (code < 0x1160) { // Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER if (0x1100 <= code && code <= 0x115f) { return boundaries_1.CLUSTER_BREAK.L; } } else { if (code < 0x11a8) { // Lo [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE if (0x1160 <= code && code <= 0x11a7) { return boundaries_1.CLUSTER_BREAK.V; } } else { // Lo [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN if (0x11a8 <= code && code <= 0x11ff) { return boundaries_1.CLUSTER_BREAK.T; } } } } else { if (code < 0x1712) { // Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK if (0x135d <= code && code <= 0x135f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1715) { // Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA if (0x1712 <= code && code <= 0x1714) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc TAGALOG SIGN PAMUDPOD if (0x1715 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } } else { if (code < 0x17c9) { if (code < 0x17b6) { if (code < 0x1752) { if (code < 0x1734) { // Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U if (0x1732 <= code && code <= 0x1733) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc HANUNOO SIGN PAMUDPOD if (0x1734 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x1772) { // Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U if (0x1752 <= code && code <= 0x1753) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x17b4) { // Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U if (0x1772 <= code && code <= 0x1773) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA if (0x17b4 <= code && code <= 0x17b5) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x17be) { if (code < 0x17b7) { // Mc KHMER VOWEL SIGN AA if (0x17b6 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA if (0x17b7 <= code && code <= 0x17bd) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x17c6) { // Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU if (0x17be <= code && code <= 0x17c5) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x17c7) { // Mn KHMER SIGN NIKAHIT if (0x17c6 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU if (0x17c7 <= code && code <= 0x17c8) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } else { if (code < 0x1885) { if (code < 0x180b) { if (code < 0x17dd) { // Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT if (0x17c9 <= code && code <= 0x17d3) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn KHMER SIGN ATTHACAN if (0x17dd === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x180e) { // Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE if (0x180b <= code && code <= 0x180d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cf MONGOLIAN VOWEL SEPARATOR if (0x180e === code) { return boundaries_1.CLUSTER_BREAK.CONTROL; } // Mn MONGOLIAN FREE VARIATION SELECTOR FOUR if (0x180f === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x1923) { if (code < 0x18a9) { // Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA if (0x1885 <= code && code <= 0x1886) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1920) { // Mn MONGOLIAN LETTER ALI GALI DAGALGA if (0x18a9 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U if (0x1920 <= code && code <= 0x1922) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x1927) { // Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU if (0x1923 <= code && code <= 0x1926) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1929) { // Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O if (0x1927 <= code && code <= 0x1928) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA if (0x1929 <= code && code <= 0x192b) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } } } else { if (code < 0x1b3b) { if (code < 0x1a58) { if (code < 0x1a19) { if (code < 0x1933) { if (code < 0x1932) { // Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA if (0x1930 <= code && code <= 0x1931) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn LIMBU SMALL LETTER ANUSVARA if (0x1932 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x1939) { // Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA if (0x1933 <= code && code <= 0x1938) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1a17) { // Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I if (0x1939 <= code && code <= 0x193b) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U if (0x1a17 <= code && code <= 0x1a18) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1a55) { if (code < 0x1a1b) { // Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O if (0x1a19 <= code && code <= 0x1a1a) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn BUGINESE VOWEL SIGN AE if (0x1a1b === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x1a56) { // Mc TAI THAM CONSONANT SIGN MEDIAL RA if (0x1a55 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn TAI THAM CONSONANT SIGN MEDIAL LA if (0x1a56 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc TAI THAM CONSONANT SIGN LA TANG LAI if (0x1a57 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x1a73) { if (code < 0x1a62) { if (code < 0x1a60) { // Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA if (0x1a58 <= code && code <= 0x1a5e) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn TAI THAM SIGN SAKOT if (0x1a60 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x1a65) { // Mn TAI THAM VOWEL SIGN MAI SAT if (0x1a62 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1a6d) { // Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW if (0x1a65 <= code && code <= 0x1a6c) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI if (0x1a6d <= code && code <= 0x1a72) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x1b00) { if (code < 0x1a7f) { // Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN if (0x1a73 <= code && code <= 0x1a7c) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1ab0) { // Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT if (0x1a7f === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW // Me COMBINING PARENTHESES OVERLAY // Mn [16] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER INSULAR T if (0x1ab0 <= code && code <= 0x1ace) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x1b04) { // Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG if (0x1b00 <= code && code <= 0x1b03) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1b34) { // Mc BALINESE SIGN BISAH if (0x1b04 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn BALINESE SIGN REREKAN // Mc BALINESE VOWEL SIGN TEDUNG // Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA if (0x1b34 <= code && code <= 0x1b3a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } else { if (code < 0x1ba8) { if (code < 0x1b6b) { if (code < 0x1b3d) { // Mc BALINESE VOWEL SIGN RA REPA TEDUNG if (0x1b3b === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn BALINESE VOWEL SIGN LA LENGA if (0x1b3c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1b42) { // Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG if (0x1b3d <= code && code <= 0x1b41) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1b43) { // Mn BALINESE VOWEL SIGN PEPET if (0x1b42 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG if (0x1b43 <= code && code <= 0x1b44) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x1ba1) { if (code < 0x1b80) { // Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG if (0x1b6b <= code && code <= 0x1b73) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1b82) { // Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR if (0x1b80 <= code && code <= 0x1b81) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc SUNDANESE SIGN PANGWISAD if (0x1b82 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x1ba2) { // Mc SUNDANESE CONSONANT SIGN PAMINGKAL if (0x1ba1 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1ba6) { // Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU if (0x1ba2 <= code && code <= 0x1ba5) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG if (0x1ba6 <= code && code <= 0x1ba7) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } else { if (code < 0x1be8) { if (code < 0x1bab) { if (code < 0x1baa) { // Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG if (0x1ba8 <= code && code <= 0x1ba9) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc SUNDANESE SIGN PAMAAEH if (0x1baa === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x1be6) { // Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA if (0x1bab <= code && code <= 0x1bad) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn BATAK SIGN TOMPI if (0x1be6 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc BATAK VOWEL SIGN E if (0x1be7 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x1bee) { if (code < 0x1bea) { // Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE if (0x1be8 <= code && code <= 0x1be9) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1bed) { // Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O if (0x1bea <= code && code <= 0x1bec) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn BATAK VOWEL SIGN KARO O if (0x1bed === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x1bef) { // Mc BATAK VOWEL SIGN U if (0x1bee === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1bf2) { // Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H if (0x1bef <= code && code <= 0x1bf1) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] BATAK PANGOLAT..BATAK PANONGONAN if (0x1bf2 <= code && code <= 0x1bf3) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } } } } else { if (code < 0xa952) { if (code < 0x2d7f) { if (code < 0x1cf7) { if (code < 0x1cd4) { if (code < 0x1c34) { if (code < 0x1c2c) { // Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU if (0x1c24 <= code && code <= 0x1c2b) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T if (0x1c2c <= code && code <= 0x1c33) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x1c36) { // Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG if (0x1c34 <= code && code <= 0x1c35) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1cd0) { // Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA if (0x1c36 <= code && code <= 0x1c37) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA if (0x1cd0 <= code && code <= 0x1cd2) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1ce2) { if (code < 0x1ce1) { // Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA if (0x1cd4 <= code && code <= 0x1ce0) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA if (0x1ce1 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x1ced) { // Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL if (0x1ce2 <= code && code <= 0x1ce8) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn VEDIC SIGN TIRYAK if (0x1ced === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn VEDIC TONE CANDRA ABOVE if (0x1cf4 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x200d) { if (code < 0x1dc0) { if (code < 0x1cf8) { // Mc VEDIC SIGN ATIKRAMA if (0x1cf7 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE if (0x1cf8 <= code && code <= 0x1cf9) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x200b) { // Mn [64] COMBINING DOTTED GRAVE ACCENT..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW if (0x1dc0 <= code && code <= 0x1dff) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cf ZERO WIDTH SPACE if (0x200b === code) { return boundaries_1.CLUSTER_BREAK.CONTROL; } // Cf ZERO WIDTH NON-JOINER if (0x200c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x2060) { if (code < 0x200e) { // Cf ZERO WIDTH JOINER if (0x200d === code) { return boundaries_1.CLUSTER_BREAK.ZWJ; } } else { if (code < 0x2028) { // Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK if (0x200e <= code && code <= 0x200f) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { // Zl LINE SEPARATOR // Zp PARAGRAPH SEPARATOR // Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE if (0x2028 <= code && code <= 0x202e) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } } } else { if (code < 0x20d0) { // Cf [5] WORD JOINER..INVISIBLE PLUS // Cn // Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES if (0x2060 <= code && code <= 0x206f) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { if (code < 0x2cef) { // Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE // Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH // Mn COMBINING LEFT RIGHT ARROW ABOVE // Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE // Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE if (0x20d0 <= code && code <= 0x20f0) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS if (0x2cef <= code && code <= 0x2cf1) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } else { if (code < 0xa823) { if (code < 0xa674) { if (code < 0x302a) { if (code < 0x2de0) { // Mn TIFINAGH CONSONANT JOINER if (0x2d7f === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS if (0x2de0 <= code && code <= 0x2dff) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x3099) { // Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK // Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK if (0x302a <= code && code <= 0x302f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xa66f) { // Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK if (0x3099 <= code && code <= 0x309a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn COMBINING CYRILLIC VZMET // Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN if (0xa66f <= code && code <= 0xa672) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xa802) { if (code < 0xa69e) { // Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK if (0xa674 <= code && code <= 0xa67d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xa6f0) { // Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E if (0xa69e <= code && code <= 0xa69f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS if (0xa6f0 <= code && code <= 0xa6f1) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xa806) { // Mn SYLOTI NAGRI SIGN DVISVARA if (0xa802 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn SYLOTI NAGRI SIGN HASANTA if (0xa806 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn SYLOTI NAGRI SIGN ANUSVARA if (0xa80b === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0xa8b4) { if (code < 0xa827) { if (code < 0xa825) { // Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I if (0xa823 <= code && code <= 0xa824) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E if (0xa825 <= code && code <= 0xa826) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xa82c) { // Mc SYLOTI NAGRI VOWEL SIGN OO if (0xa827 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xa880) { // Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA if (0xa82c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA if (0xa880 <= code && code <= 0xa881) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0xa8ff) { if (code < 0xa8c4) { // Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU if (0xa8b4 <= code && code <= 0xa8c3) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xa8e0) { // Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU if (0xa8c4 <= code && code <= 0xa8c5) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA if (0xa8e0 <= code && code <= 0xa8f1) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xa926) { // Mn DEVANAGARI VOWEL SIGN AY if (0xa8ff === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xa947) { // Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU if (0xa926 <= code && code <= 0xa92d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R if (0xa947 <= code && code <= 0xa951) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } else { if (code < 0xaab2) { if (code < 0xa9e5) { if (code < 0xa9b4) { if (code < 0xa980) { if (code < 0xa960) { // Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA if (0xa952 <= code && code <= 0xa953) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH if (0xa960 <= code && code <= 0xa97c) { return boundaries_1.CLUSTER_BREAK.L; } } } else { if (code < 0xa983) { // Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR if (0xa980 <= code && code <= 0xa982) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc JAVANESE SIGN WIGNYAN if (0xa983 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn JAVANESE SIGN CECAK TELU if (0xa9b3 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xa9ba) { if (code < 0xa9b6) { // Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG if (0xa9b4 <= code && code <= 0xa9b5) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT if (0xa9b6 <= code && code <= 0xa9b9) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xa9bc) { // Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE if (0xa9ba <= code && code <= 0xa9bb) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xa9be) { // Mn [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET if (0xa9bc <= code && code <= 0xa9bd) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON if (0xa9be <= code && code <= 0xa9c0) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } else { if (code < 0xaa35) { if (code < 0xaa2f) { if (code < 0xaa29) { // Mn MYANMAR SIGN SHAN SAW if (0xa9e5 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE if (0xaa29 <= code && code <= 0xaa2e) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xaa31) { // Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI if (0xaa2f <= code && code <= 0xaa30) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0xaa33) { // Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE if (0xaa31 <= code && code <= 0xaa32) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA if (0xaa33 <= code && code <= 0xaa34) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0xaa4d) { if (code < 0xaa43) { // Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA if (0xaa35 <= code && code <= 0xaa36) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn CHAM CONSONANT SIGN FINAL NG if (0xaa43 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn CHAM CONSONANT SIGN FINAL M if (0xaa4c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xaa7c) { // Mc CHAM CONSONANT SIGN FINAL H if (0xaa4d === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn MYANMAR SIGN TAI LAING TONE-2 if (0xaa7c === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn TAI VIET MAI KANG if (0xaab0 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0xabe6) { if (code < 0xaaec) { if (code < 0xaabe) { if (code < 0xaab7) { // Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U if (0xaab2 <= code && code <= 0xaab4) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA if (0xaab7 <= code && code <= 0xaab8) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xaac1) { // Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK if (0xaabe <= code && code <= 0xaabf) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn TAI VIET TONE MAI THO if (0xaac1 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc MEETEI MAYEK VOWEL SIGN II if (0xaaeb === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0xaaf6) { if (code < 0xaaee) { // Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI if (0xaaec <= code && code <= 0xaaed) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xaaf5) { // Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU if (0xaaee <= code && code <= 0xaaef) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc MEETEI MAYEK VOWEL SIGN VISARGA if (0xaaf5 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0xabe3) { // Mn MEETEI MAYEK VIRAMA if (0xaaf6 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xabe5) { // Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP if (0xabe3 <= code && code <= 0xabe4) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn MEETEI MAYEK VOWEL SIGN ANAP if (0xabe5 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0xac00) { if (code < 0xabe9) { if (code < 0xabe8) { // Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP if (0xabe6 <= code && code <= 0xabe7) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn MEETEI MAYEK VOWEL SIGN UNAP if (0xabe8 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0xabec) { // Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG if (0xabe9 <= code && code <= 0xabea) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc MEETEI MAYEK LUM IYEK if (0xabec === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn MEETEI MAYEK APUN IYEK if (0xabed === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xac1d) { if (code < 0xac01) { // Lo HANGUL SYLLABLE GA if (0xac00 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xac1c) { // Lo [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH if (0xac01 <= code && code <= 0xac1b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GAE if (0xac1c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xac38) { // Lo [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH if (0xac1d <= code && code <= 0xac37) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xac39) { // Lo HANGUL SYLLABLE GYA if (0xac38 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH if (0xac39 <= code && code <= 0xac53) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } } } } else { if (code < 0xb5a1) { if (code < 0xb0ed) { if (code < 0xaea0) { if (code < 0xad6d) { if (code < 0xace0) { if (code < 0xac8d) { if (code < 0xac70) { if (code < 0xac55) { // Lo HANGUL SYLLABLE GYAE if (0xac54 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH if (0xac55 <= code && code <= 0xac6f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xac71) { // Lo HANGUL SYLLABLE GEO if (0xac70 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xac8c) { // Lo [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH if (0xac71 <= code && code <= 0xac8b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GE if (0xac8c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xaca9) { if (code < 0xaca8) { // Lo [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH if (0xac8d <= code && code <= 0xaca7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GYEO if (0xaca8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xacc4) { // Lo [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH if (0xaca9 <= code && code <= 0xacc3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xacc5) { // Lo HANGUL SYLLABLE GYE if (0xacc4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH if (0xacc5 <= code && code <= 0xacdf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xad19) { if (code < 0xacfc) { if (code < 0xace1) { // Lo HANGUL SYLLABLE GO if (0xace0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH if (0xace1 <= code && code <= 0xacfb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xacfd) { // Lo HANGUL SYLLABLE GWA if (0xacfc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xad18) { // Lo [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH if (0xacfd <= code && code <= 0xad17) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GWAE if (0xad18 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xad50) { if (code < 0xad34) { // Lo [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH if (0xad19 <= code && code <= 0xad33) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xad35) { // Lo HANGUL SYLLABLE GOE if (0xad34 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH if (0xad35 <= code && code <= 0xad4f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xad51) { // Lo HANGUL SYLLABLE GYO if (0xad50 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xad6c) { // Lo [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH if (0xad51 <= code && code <= 0xad6b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GU if (0xad6c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xadf9) { if (code < 0xadc0) { if (code < 0xad89) { if (code < 0xad88) { // Lo [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH if (0xad6d <= code && code <= 0xad87) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GWEO if (0xad88 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xada4) { // Lo [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH if (0xad89 <= code && code <= 0xada3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xada5) { // Lo HANGUL SYLLABLE GWE if (0xada4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH if (0xada5 <= code && code <= 0xadbf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xaddc) { if (code < 0xadc1) { // Lo HANGUL SYLLABLE GWI if (0xadc0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH if (0xadc1 <= code && code <= 0xaddb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xaddd) { // Lo HANGUL SYLLABLE GYU if (0xaddc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xadf8) { // Lo [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH if (0xaddd <= code && code <= 0xadf7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GEU if (0xadf8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xae4c) { if (code < 0xae15) { if (code < 0xae14) { // Lo [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH if (0xadf9 <= code && code <= 0xae13) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GYI if (0xae14 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xae30) { // Lo [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH if (0xae15 <= code && code <= 0xae2f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xae31) { // Lo HANGUL SYLLABLE GI if (0xae30 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH if (0xae31 <= code && code <= 0xae4b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xae69) { if (code < 0xae4d) { // Lo HANGUL SYLLABLE GGA if (0xae4c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xae68) { // Lo [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH if (0xae4d <= code && code <= 0xae67) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GGAE if (0xae68 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xae84) { // Lo [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH if (0xae69 <= code && code <= 0xae83) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xae85) { // Lo HANGUL SYLLABLE GGYA if (0xae84 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH if (0xae85 <= code && code <= 0xae9f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } else { if (code < 0xafb9) { if (code < 0xaf2c) { if (code < 0xaed9) { if (code < 0xaebc) { if (code < 0xaea1) { // Lo HANGUL SYLLABLE GGYAE if (0xaea0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH if (0xaea1 <= code && code <= 0xaebb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xaebd) { // Lo HANGUL SYLLABLE GGEO if (0xaebc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xaed8) { // Lo [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH if (0xaebd <= code && code <= 0xaed7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GGE if (0xaed8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xaef5) { if (code < 0xaef4) { // Lo [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH if (0xaed9 <= code && code <= 0xaef3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GGYEO if (0xaef4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xaf10) { // Lo [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH if (0xaef5 <= code && code <= 0xaf0f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xaf11) { // Lo HANGUL SYLLABLE GGYE if (0xaf10 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH if (0xaf11 <= code && code <= 0xaf2b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xaf65) { if (code < 0xaf48) { if (code < 0xaf2d) { // Lo HANGUL SYLLABLE GGO if (0xaf2c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH if (0xaf2d <= code && code <= 0xaf47) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xaf49) { // Lo HANGUL SYLLABLE GGWA if (0xaf48 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xaf64) { // Lo [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH if (0xaf49 <= code && code <= 0xaf63) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GGWAE if (0xaf64 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xaf9c) { if (code < 0xaf80) { // Lo [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH if (0xaf65 <= code && code <= 0xaf7f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xaf81) { // Lo HANGUL SYLLABLE GGOE if (0xaf80 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH if (0xaf81 <= code && code <= 0xaf9b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xaf9d) { // Lo HANGUL SYLLABLE GGYO if (0xaf9c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xafb8) { // Lo [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH if (0xaf9d <= code && code <= 0xafb7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GGU if (0xafb8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xb060) { if (code < 0xb00c) { if (code < 0xafd5) { if (code < 0xafd4) { // Lo [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH if (0xafb9 <= code && code <= 0xafd3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GGWEO if (0xafd4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xaff0) { // Lo [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH if (0xafd5 <= code && code <= 0xafef) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xaff1) { // Lo HANGUL SYLLABLE GGWE if (0xaff0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH if (0xaff1 <= code && code <= 0xb00b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb029) { if (code < 0xb00d) { // Lo HANGUL SYLLABLE GGWI if (0xb00c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb028) { // Lo [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH if (0xb00d <= code && code <= 0xb027) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE GGYU if (0xb028 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xb044) { // Lo [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH if (0xb029 <= code && code <= 0xb043) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb045) { // Lo HANGUL SYLLABLE GGEU if (0xb044 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH if (0xb045 <= code && code <= 0xb05f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xb099) { if (code < 0xb07c) { if (code < 0xb061) { // Lo HANGUL SYLLABLE GGYI if (0xb060 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH if (0xb061 <= code && code <= 0xb07b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb07d) { // Lo HANGUL SYLLABLE GGI if (0xb07c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb098) { // Lo [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH if (0xb07d <= code && code <= 0xb097) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NA if (0xb098 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb0d0) { if (code < 0xb0b4) { // Lo [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH if (0xb099 <= code && code <= 0xb0b3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb0b5) { // Lo HANGUL SYLLABLE NAE if (0xb0b4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH if (0xb0b5 <= code && code <= 0xb0cf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xb0d1) { // Lo HANGUL SYLLABLE NYA if (0xb0d0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb0ec) { // Lo [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH if (0xb0d1 <= code && code <= 0xb0eb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NYAE if (0xb0ec === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } } else { if (code < 0xb354) { if (code < 0xb220) { if (code < 0xb179) { if (code < 0xb140) { if (code < 0xb109) { if (code < 0xb108) { // Lo [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH if (0xb0ed <= code && code <= 0xb107) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NEO if (0xb108 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb124) { // Lo [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH if (0xb109 <= code && code <= 0xb123) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb125) { // Lo HANGUL SYLLABLE NE if (0xb124 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH if (0xb125 <= code && code <= 0xb13f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb15c) { if (code < 0xb141) { // Lo HANGUL SYLLABLE NYEO if (0xb140 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH if (0xb141 <= code && code <= 0xb15b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb15d) { // Lo HANGUL SYLLABLE NYE if (0xb15c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb178) { // Lo [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH if (0xb15d <= code && code <= 0xb177) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NO if (0xb178 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xb1cc) { if (code < 0xb195) { if (code < 0xb194) { // Lo [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH if (0xb179 <= code && code <= 0xb193) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NWA if (0xb194 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb1b0) { // Lo [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH if (0xb195 <= code && code <= 0xb1af) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb1b1) { // Lo HANGUL SYLLABLE NWAE if (0xb1b0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH if (0xb1b1 <= code && code <= 0xb1cb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb1e9) { if (code < 0xb1cd) { // Lo HANGUL SYLLABLE NOE if (0xb1cc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb1e8) { // Lo [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH if (0xb1cd <= code && code <= 0xb1e7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NYO if (0xb1e8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xb204) { // Lo [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH if (0xb1e9 <= code && code <= 0xb203) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb205) { // Lo HANGUL SYLLABLE NU if (0xb204 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH if (0xb205 <= code && code <= 0xb21f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xb2ad) { if (code < 0xb259) { if (code < 0xb23c) { if (code < 0xb221) { // Lo HANGUL SYLLABLE NWEO if (0xb220 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH if (0xb221 <= code && code <= 0xb23b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb23d) { // Lo HANGUL SYLLABLE NWE if (0xb23c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb258) { // Lo [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH if (0xb23d <= code && code <= 0xb257) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NWI if (0xb258 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb290) { if (code < 0xb274) { // Lo [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH if (0xb259 <= code && code <= 0xb273) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb275) { // Lo HANGUL SYLLABLE NYU if (0xb274 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH if (0xb275 <= code && code <= 0xb28f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xb291) { // Lo HANGUL SYLLABLE NEU if (0xb290 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb2ac) { // Lo [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH if (0xb291 <= code && code <= 0xb2ab) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NYI if (0xb2ac === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xb300) { if (code < 0xb2c9) { if (code < 0xb2c8) { // Lo [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH if (0xb2ad <= code && code <= 0xb2c7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE NI if (0xb2c8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb2e4) { // Lo [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH if (0xb2c9 <= code && code <= 0xb2e3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb2e5) { // Lo HANGUL SYLLABLE DA if (0xb2e4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH if (0xb2e5 <= code && code <= 0xb2ff) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb31d) { if (code < 0xb301) { // Lo HANGUL SYLLABLE DAE if (0xb300 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb31c) { // Lo [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH if (0xb301 <= code && code <= 0xb31b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DYA if (0xb31c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xb338) { // Lo [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH if (0xb31d <= code && code <= 0xb337) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb339) { // Lo HANGUL SYLLABLE DYAE if (0xb338 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH if (0xb339 <= code && code <= 0xb353) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } else { if (code < 0xb46d) { if (code < 0xb3e0) { if (code < 0xb38d) { if (code < 0xb370) { if (code < 0xb355) { // Lo HANGUL SYLLABLE DEO if (0xb354 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH if (0xb355 <= code && code <= 0xb36f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb371) { // Lo HANGUL SYLLABLE DE if (0xb370 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb38c) { // Lo [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH if (0xb371 <= code && code <= 0xb38b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DYEO if (0xb38c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb3a9) { if (code < 0xb3a8) { // Lo [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH if (0xb38d <= code && code <= 0xb3a7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DYE if (0xb3a8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb3c4) { // Lo [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH if (0xb3a9 <= code && code <= 0xb3c3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb3c5) { // Lo HANGUL SYLLABLE DO if (0xb3c4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH if (0xb3c5 <= code && code <= 0xb3df) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xb419) { if (code < 0xb3fc) { if (code < 0xb3e1) { // Lo HANGUL SYLLABLE DWA if (0xb3e0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH if (0xb3e1 <= code && code <= 0xb3fb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb3fd) { // Lo HANGUL SYLLABLE DWAE if (0xb3fc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb418) { // Lo [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH if (0xb3fd <= code && code <= 0xb417) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DOE if (0xb418 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb450) { if (code < 0xb434) { // Lo [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH if (0xb419 <= code && code <= 0xb433) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb435) { // Lo HANGUL SYLLABLE DYO if (0xb434 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH if (0xb435 <= code && code <= 0xb44f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xb451) { // Lo HANGUL SYLLABLE DU if (0xb450 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb46c) { // Lo [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH if (0xb451 <= code && code <= 0xb46b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DWEO if (0xb46c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xb514) { if (code < 0xb4c0) { if (code < 0xb489) { if (code < 0xb488) { // Lo [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH if (0xb46d <= code && code <= 0xb487) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DWE if (0xb488 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb4a4) { // Lo [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH if (0xb489 <= code && code <= 0xb4a3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb4a5) { // Lo HANGUL SYLLABLE DWI if (0xb4a4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH if (0xb4a5 <= code && code <= 0xb4bf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb4dd) { if (code < 0xb4c1) { // Lo HANGUL SYLLABLE DYU if (0xb4c0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb4dc) { // Lo [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH if (0xb4c1 <= code && code <= 0xb4db) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DEU if (0xb4dc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xb4f8) { // Lo [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH if (0xb4dd <= code && code <= 0xb4f7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb4f9) { // Lo HANGUL SYLLABLE DYI if (0xb4f8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH if (0xb4f9 <= code && code <= 0xb513) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xb54d) { if (code < 0xb530) { if (code < 0xb515) { // Lo HANGUL SYLLABLE DI if (0xb514 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH if (0xb515 <= code && code <= 0xb52f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb531) { // Lo HANGUL SYLLABLE DDA if (0xb530 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb54c) { // Lo [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH if (0xb531 <= code && code <= 0xb54b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDAE if (0xb54c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb584) { if (code < 0xb568) { // Lo [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH if (0xb54d <= code && code <= 0xb567) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb569) { // Lo HANGUL SYLLABLE DDYA if (0xb568 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH if (0xb569 <= code && code <= 0xb583) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xb585) { // Lo HANGUL SYLLABLE DDYAE if (0xb584 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb5a0) { // Lo [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH if (0xb585 <= code && code <= 0xb59f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDEO if (0xb5a0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } } } else { if (code < 0xba55) { if (code < 0xb808) { if (code < 0xb6d4) { if (code < 0xb62d) { if (code < 0xb5f4) { if (code < 0xb5bd) { if (code < 0xb5bc) { // Lo [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH if (0xb5a1 <= code && code <= 0xb5bb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDE if (0xb5bc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb5d8) { // Lo [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH if (0xb5bd <= code && code <= 0xb5d7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb5d9) { // Lo HANGUL SYLLABLE DDYEO if (0xb5d8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH if (0xb5d9 <= code && code <= 0xb5f3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb610) { if (code < 0xb5f5) { // Lo HANGUL SYLLABLE DDYE if (0xb5f4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH if (0xb5f5 <= code && code <= 0xb60f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb611) { // Lo HANGUL SYLLABLE DDO if (0xb610 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb62c) { // Lo [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH if (0xb611 <= code && code <= 0xb62b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDWA if (0xb62c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xb680) { if (code < 0xb649) { if (code < 0xb648) { // Lo [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH if (0xb62d <= code && code <= 0xb647) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDWAE if (0xb648 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb664) { // Lo [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH if (0xb649 <= code && code <= 0xb663) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb665) { // Lo HANGUL SYLLABLE DDOE if (0xb664 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH if (0xb665 <= code && code <= 0xb67f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb69d) { if (code < 0xb681) { // Lo HANGUL SYLLABLE DDYO if (0xb680 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb69c) { // Lo [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH if (0xb681 <= code && code <= 0xb69b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDU if (0xb69c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xb6b8) { // Lo [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH if (0xb69d <= code && code <= 0xb6b7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb6b9) { // Lo HANGUL SYLLABLE DDWEO if (0xb6b8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH if (0xb6b9 <= code && code <= 0xb6d3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xb761) { if (code < 0xb70d) { if (code < 0xb6f0) { if (code < 0xb6d5) { // Lo HANGUL SYLLABLE DDWE if (0xb6d4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH if (0xb6d5 <= code && code <= 0xb6ef) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb6f1) { // Lo HANGUL SYLLABLE DDWI if (0xb6f0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb70c) { // Lo [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH if (0xb6f1 <= code && code <= 0xb70b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDYU if (0xb70c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb744) { if (code < 0xb728) { // Lo [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH if (0xb70d <= code && code <= 0xb727) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb729) { // Lo HANGUL SYLLABLE DDEU if (0xb728 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH if (0xb729 <= code && code <= 0xb743) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xb745) { // Lo HANGUL SYLLABLE DDYI if (0xb744 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb760) { // Lo [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH if (0xb745 <= code && code <= 0xb75f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE DDI if (0xb760 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xb7b4) { if (code < 0xb77d) { if (code < 0xb77c) { // Lo [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH if (0xb761 <= code && code <= 0xb77b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RA if (0xb77c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb798) { // Lo [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH if (0xb77d <= code && code <= 0xb797) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb799) { // Lo HANGUL SYLLABLE RAE if (0xb798 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH if (0xb799 <= code && code <= 0xb7b3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb7d1) { if (code < 0xb7b5) { // Lo HANGUL SYLLABLE RYA if (0xb7b4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb7d0) { // Lo [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH if (0xb7b5 <= code && code <= 0xb7cf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RYAE if (0xb7d0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xb7ec) { // Lo [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH if (0xb7d1 <= code && code <= 0xb7eb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb7ed) { // Lo HANGUL SYLLABLE REO if (0xb7ec === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH if (0xb7ed <= code && code <= 0xb807) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } else { if (code < 0xb921) { if (code < 0xb894) { if (code < 0xb841) { if (code < 0xb824) { if (code < 0xb809) { // Lo HANGUL SYLLABLE RE if (0xb808 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH if (0xb809 <= code && code <= 0xb823) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb825) { // Lo HANGUL SYLLABLE RYEO if (0xb824 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb840) { // Lo [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH if (0xb825 <= code && code <= 0xb83f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RYE if (0xb840 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb85d) { if (code < 0xb85c) { // Lo [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH if (0xb841 <= code && code <= 0xb85b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RO if (0xb85c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb878) { // Lo [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH if (0xb85d <= code && code <= 0xb877) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb879) { // Lo HANGUL SYLLABLE RWA if (0xb878 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH if (0xb879 <= code && code <= 0xb893) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xb8cd) { if (code < 0xb8b0) { if (code < 0xb895) { // Lo HANGUL SYLLABLE RWAE if (0xb894 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH if (0xb895 <= code && code <= 0xb8af) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb8b1) { // Lo HANGUL SYLLABLE ROE if (0xb8b0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb8cc) { // Lo [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH if (0xb8b1 <= code && code <= 0xb8cb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RYO if (0xb8cc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xb904) { if (code < 0xb8e8) { // Lo [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH if (0xb8cd <= code && code <= 0xb8e7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb8e9) { // Lo HANGUL SYLLABLE RU if (0xb8e8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH if (0xb8e9 <= code && code <= 0xb903) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xb905) { // Lo HANGUL SYLLABLE RWEO if (0xb904 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb920) { // Lo [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH if (0xb905 <= code && code <= 0xb91f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RWE if (0xb920 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xb9c8) { if (code < 0xb974) { if (code < 0xb93d) { if (code < 0xb93c) { // Lo [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH if (0xb921 <= code && code <= 0xb93b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RWI if (0xb93c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xb958) { // Lo [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH if (0xb93d <= code && code <= 0xb957) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb959) { // Lo HANGUL SYLLABLE RYU if (0xb958 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH if (0xb959 <= code && code <= 0xb973) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xb991) { if (code < 0xb975) { // Lo HANGUL SYLLABLE REU if (0xb974 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xb990) { // Lo [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH if (0xb975 <= code && code <= 0xb98f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE RYI if (0xb990 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xb9ac) { // Lo [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH if (0xb991 <= code && code <= 0xb9ab) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xb9ad) { // Lo HANGUL SYLLABLE RI if (0xb9ac === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH if (0xb9ad <= code && code <= 0xb9c7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xba01) { if (code < 0xb9e4) { if (code < 0xb9c9) { // Lo HANGUL SYLLABLE MA if (0xb9c8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH if (0xb9c9 <= code && code <= 0xb9e3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xb9e5) { // Lo HANGUL SYLLABLE MAE if (0xb9e4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xba00) { // Lo [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH if (0xb9e5 <= code && code <= 0xb9ff) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE MYA if (0xba00 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xba38) { if (code < 0xba1c) { // Lo [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH if (0xba01 <= code && code <= 0xba1b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xba1d) { // Lo HANGUL SYLLABLE MYAE if (0xba1c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH if (0xba1d <= code && code <= 0xba37) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xba39) { // Lo HANGUL SYLLABLE MEO if (0xba38 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xba54) { // Lo [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH if (0xba39 <= code && code <= 0xba53) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE ME if (0xba54 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } } else { if (code < 0xbcbc) { if (code < 0xbb88) { if (code < 0xbae1) { if (code < 0xbaa8) { if (code < 0xba71) { if (code < 0xba70) { // Lo [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH if (0xba55 <= code && code <= 0xba6f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE MYEO if (0xba70 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xba8c) { // Lo [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH if (0xba71 <= code && code <= 0xba8b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xba8d) { // Lo HANGUL SYLLABLE MYE if (0xba8c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH if (0xba8d <= code && code <= 0xbaa7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xbac4) { if (code < 0xbaa9) { // Lo HANGUL SYLLABLE MO if (0xbaa8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH if (0xbaa9 <= code && code <= 0xbac3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xbac5) { // Lo HANGUL SYLLABLE MWA if (0xbac4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbae0) { // Lo [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH if (0xbac5 <= code && code <= 0xbadf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE MWAE if (0xbae0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xbb34) { if (code < 0xbafd) { if (code < 0xbafc) { // Lo [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH if (0xbae1 <= code && code <= 0xbafb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE MOE if (0xbafc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xbb18) { // Lo [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH if (0xbafd <= code && code <= 0xbb17) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbb19) { // Lo HANGUL SYLLABLE MYO if (0xbb18 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH if (0xbb19 <= code && code <= 0xbb33) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xbb51) { if (code < 0xbb35) { // Lo HANGUL SYLLABLE MU if (0xbb34 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbb50) { // Lo [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH if (0xbb35 <= code && code <= 0xbb4f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE MWEO if (0xbb50 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xbb6c) { // Lo [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH if (0xbb51 <= code && code <= 0xbb6b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbb6d) { // Lo HANGUL SYLLABLE MWE if (0xbb6c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH if (0xbb6d <= code && code <= 0xbb87) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xbc15) { if (code < 0xbbc1) { if (code < 0xbba4) { if (code < 0xbb89) { // Lo HANGUL SYLLABLE MWI if (0xbb88 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH if (0xbb89 <= code && code <= 0xbba3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xbba5) { // Lo HANGUL SYLLABLE MYU if (0xbba4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbbc0) { // Lo [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH if (0xbba5 <= code && code <= 0xbbbf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE MEU if (0xbbc0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xbbf8) { if (code < 0xbbdc) { // Lo [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH if (0xbbc1 <= code && code <= 0xbbdb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbbdd) { // Lo HANGUL SYLLABLE MYI if (0xbbdc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH if (0xbbdd <= code && code <= 0xbbf7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xbbf9) { // Lo HANGUL SYLLABLE MI if (0xbbf8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbc14) { // Lo [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH if (0xbbf9 <= code && code <= 0xbc13) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BA if (0xbc14 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xbc68) { if (code < 0xbc31) { if (code < 0xbc30) { // Lo [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH if (0xbc15 <= code && code <= 0xbc2f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BAE if (0xbc30 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xbc4c) { // Lo [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH if (0xbc31 <= code && code <= 0xbc4b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbc4d) { // Lo HANGUL SYLLABLE BYA if (0xbc4c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH if (0xbc4d <= code && code <= 0xbc67) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xbc85) { if (code < 0xbc69) { // Lo HANGUL SYLLABLE BYAE if (0xbc68 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbc84) { // Lo [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH if (0xbc69 <= code && code <= 0xbc83) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BEO if (0xbc84 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xbca0) { // Lo [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH if (0xbc85 <= code && code <= 0xbc9f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbca1) { // Lo HANGUL SYLLABLE BE if (0xbca0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH if (0xbca1 <= code && code <= 0xbcbb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } else { if (code < 0xbdd5) { if (code < 0xbd48) { if (code < 0xbcf5) { if (code < 0xbcd8) { if (code < 0xbcbd) { // Lo HANGUL SYLLABLE BYEO if (0xbcbc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH if (0xbcbd <= code && code <= 0xbcd7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xbcd9) { // Lo HANGUL SYLLABLE BYE if (0xbcd8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbcf4) { // Lo [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH if (0xbcd9 <= code && code <= 0xbcf3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BO if (0xbcf4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xbd11) { if (code < 0xbd10) { // Lo [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH if (0xbcf5 <= code && code <= 0xbd0f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BWA if (0xbd10 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xbd2c) { // Lo [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH if (0xbd11 <= code && code <= 0xbd2b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbd2d) { // Lo HANGUL SYLLABLE BWAE if (0xbd2c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH if (0xbd2d <= code && code <= 0xbd47) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xbd81) { if (code < 0xbd64) { if (code < 0xbd49) { // Lo HANGUL SYLLABLE BOE if (0xbd48 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH if (0xbd49 <= code && code <= 0xbd63) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xbd65) { // Lo HANGUL SYLLABLE BYO if (0xbd64 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbd80) { // Lo [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH if (0xbd65 <= code && code <= 0xbd7f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BU if (0xbd80 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xbdb8) { if (code < 0xbd9c) { // Lo [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH if (0xbd81 <= code && code <= 0xbd9b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbd9d) { // Lo HANGUL SYLLABLE BWEO if (0xbd9c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH if (0xbd9d <= code && code <= 0xbdb7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xbdb9) { // Lo HANGUL SYLLABLE BWE if (0xbdb8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbdd4) { // Lo [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH if (0xbdb9 <= code && code <= 0xbdd3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BWI if (0xbdd4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xbe7c) { if (code < 0xbe28) { if (code < 0xbdf1) { if (code < 0xbdf0) { // Lo [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH if (0xbdd5 <= code && code <= 0xbdef) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BYU if (0xbdf0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xbe0c) { // Lo [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH if (0xbdf1 <= code && code <= 0xbe0b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbe0d) { // Lo HANGUL SYLLABLE BEU if (0xbe0c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH if (0xbe0d <= code && code <= 0xbe27) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xbe45) { if (code < 0xbe29) { // Lo HANGUL SYLLABLE BYI if (0xbe28 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbe44) { // Lo [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH if (0xbe29 <= code && code <= 0xbe43) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BI if (0xbe44 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xbe60) { // Lo [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH if (0xbe45 <= code && code <= 0xbe5f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbe61) { // Lo HANGUL SYLLABLE BBA if (0xbe60 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH if (0xbe61 <= code && code <= 0xbe7b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xbeb5) { if (code < 0xbe98) { if (code < 0xbe7d) { // Lo HANGUL SYLLABLE BBAE if (0xbe7c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH if (0xbe7d <= code && code <= 0xbe97) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xbe99) { // Lo HANGUL SYLLABLE BBYA if (0xbe98 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbeb4) { // Lo [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH if (0xbe99 <= code && code <= 0xbeb3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBYAE if (0xbeb4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xbeec) { if (code < 0xbed0) { // Lo [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH if (0xbeb5 <= code && code <= 0xbecf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbed1) { // Lo HANGUL SYLLABLE BBEO if (0xbed0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH if (0xbed1 <= code && code <= 0xbeeb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xbeed) { // Lo HANGUL SYLLABLE BBE if (0xbeec === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbf08) { // Lo [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH if (0xbeed <= code && code <= 0xbf07) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBYEO if (0xbf08 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } } } } } else { if (code < 0xd1d8) { if (code < 0xc870) { if (code < 0xc3bc) { if (code < 0xc155) { if (code < 0xc03c) { if (code < 0xbf95) { if (code < 0xbf5c) { if (code < 0xbf25) { if (code < 0xbf24) { // Lo [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH if (0xbf09 <= code && code <= 0xbf23) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBYE if (0xbf24 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xbf40) { // Lo [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH if (0xbf25 <= code && code <= 0xbf3f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbf41) { // Lo HANGUL SYLLABLE BBO if (0xbf40 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH if (0xbf41 <= code && code <= 0xbf5b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xbf78) { if (code < 0xbf5d) { // Lo HANGUL SYLLABLE BBWA if (0xbf5c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH if (0xbf5d <= code && code <= 0xbf77) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xbf79) { // Lo HANGUL SYLLABLE BBWAE if (0xbf78 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xbf94) { // Lo [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH if (0xbf79 <= code && code <= 0xbf93) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBOE if (0xbf94 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xbfe8) { if (code < 0xbfb1) { if (code < 0xbfb0) { // Lo [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH if (0xbf95 <= code && code <= 0xbfaf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBYO if (0xbfb0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xbfcc) { // Lo [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH if (0xbfb1 <= code && code <= 0xbfcb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xbfcd) { // Lo HANGUL SYLLABLE BBU if (0xbfcc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH if (0xbfcd <= code && code <= 0xbfe7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc005) { if (code < 0xbfe9) { // Lo HANGUL SYLLABLE BBWEO if (0xbfe8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc004) { // Lo [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH if (0xbfe9 <= code && code <= 0xc003) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBWE if (0xc004 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xc020) { // Lo [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH if (0xc005 <= code && code <= 0xc01f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc021) { // Lo HANGUL SYLLABLE BBWI if (0xc020 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH if (0xc021 <= code && code <= 0xc03b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xc0c8) { if (code < 0xc075) { if (code < 0xc058) { if (code < 0xc03d) { // Lo HANGUL SYLLABLE BBYU if (0xc03c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH if (0xc03d <= code && code <= 0xc057) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc059) { // Lo HANGUL SYLLABLE BBEU if (0xc058 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc074) { // Lo [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH if (0xc059 <= code && code <= 0xc073) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBYI if (0xc074 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc091) { if (code < 0xc090) { // Lo [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH if (0xc075 <= code && code <= 0xc08f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE BBI if (0xc090 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc0ac) { // Lo [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH if (0xc091 <= code && code <= 0xc0ab) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc0ad) { // Lo HANGUL SYLLABLE SA if (0xc0ac === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH if (0xc0ad <= code && code <= 0xc0c7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xc101) { if (code < 0xc0e4) { if (code < 0xc0c9) { // Lo HANGUL SYLLABLE SAE if (0xc0c8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH if (0xc0c9 <= code && code <= 0xc0e3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc0e5) { // Lo HANGUL SYLLABLE SYA if (0xc0e4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc100) { // Lo [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH if (0xc0e5 <= code && code <= 0xc0ff) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SYAE if (0xc100 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc138) { if (code < 0xc11c) { // Lo [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH if (0xc101 <= code && code <= 0xc11b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc11d) { // Lo HANGUL SYLLABLE SEO if (0xc11c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH if (0xc11d <= code && code <= 0xc137) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xc139) { // Lo HANGUL SYLLABLE SE if (0xc138 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc154) { // Lo [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH if (0xc139 <= code && code <= 0xc153) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SYEO if (0xc154 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } else { if (code < 0xc288) { if (code < 0xc1e1) { if (code < 0xc1a8) { if (code < 0xc171) { if (code < 0xc170) { // Lo [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH if (0xc155 <= code && code <= 0xc16f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SYE if (0xc170 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc18c) { // Lo [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH if (0xc171 <= code && code <= 0xc18b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc18d) { // Lo HANGUL SYLLABLE SO if (0xc18c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH if (0xc18d <= code && code <= 0xc1a7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc1c4) { if (code < 0xc1a9) { // Lo HANGUL SYLLABLE SWA if (0xc1a8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH if (0xc1a9 <= code && code <= 0xc1c3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc1c5) { // Lo HANGUL SYLLABLE SWAE if (0xc1c4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc1e0) { // Lo [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH if (0xc1c5 <= code && code <= 0xc1df) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SOE if (0xc1e0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xc234) { if (code < 0xc1fd) { if (code < 0xc1fc) { // Lo [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH if (0xc1e1 <= code && code <= 0xc1fb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SYO if (0xc1fc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc218) { // Lo [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH if (0xc1fd <= code && code <= 0xc217) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc219) { // Lo HANGUL SYLLABLE SU if (0xc218 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH if (0xc219 <= code && code <= 0xc233) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc251) { if (code < 0xc235) { // Lo HANGUL SYLLABLE SWEO if (0xc234 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc250) { // Lo [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH if (0xc235 <= code && code <= 0xc24f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SWE if (0xc250 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xc26c) { // Lo [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH if (0xc251 <= code && code <= 0xc26b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc26d) { // Lo HANGUL SYLLABLE SWI if (0xc26c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH if (0xc26d <= code && code <= 0xc287) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xc315) { if (code < 0xc2c1) { if (code < 0xc2a4) { if (code < 0xc289) { // Lo HANGUL SYLLABLE SYU if (0xc288 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH if (0xc289 <= code && code <= 0xc2a3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc2a5) { // Lo HANGUL SYLLABLE SEU if (0xc2a4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc2c0) { // Lo [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH if (0xc2a5 <= code && code <= 0xc2bf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SYI if (0xc2c0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc2f8) { if (code < 0xc2dc) { // Lo [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH if (0xc2c1 <= code && code <= 0xc2db) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc2dd) { // Lo HANGUL SYLLABLE SI if (0xc2dc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH if (0xc2dd <= code && code <= 0xc2f7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xc2f9) { // Lo HANGUL SYLLABLE SSA if (0xc2f8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc314) { // Lo [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH if (0xc2f9 <= code && code <= 0xc313) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSAE if (0xc314 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xc368) { if (code < 0xc331) { if (code < 0xc330) { // Lo [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH if (0xc315 <= code && code <= 0xc32f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSYA if (0xc330 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc34c) { // Lo [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH if (0xc331 <= code && code <= 0xc34b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc34d) { // Lo HANGUL SYLLABLE SSYAE if (0xc34c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH if (0xc34d <= code && code <= 0xc367) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc385) { if (code < 0xc369) { // Lo HANGUL SYLLABLE SSEO if (0xc368 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc384) { // Lo [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH if (0xc369 <= code && code <= 0xc383) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSE if (0xc384 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xc3a0) { // Lo [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH if (0xc385 <= code && code <= 0xc39f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc3a1) { // Lo HANGUL SYLLABLE SSYEO if (0xc3a0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH if (0xc3a1 <= code && code <= 0xc3bb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } } else { if (code < 0xc609) { if (code < 0xc4d5) { if (code < 0xc448) { if (code < 0xc3f5) { if (code < 0xc3d8) { if (code < 0xc3bd) { // Lo HANGUL SYLLABLE SSYE if (0xc3bc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH if (0xc3bd <= code && code <= 0xc3d7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc3d9) { // Lo HANGUL SYLLABLE SSO if (0xc3d8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc3f4) { // Lo [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH if (0xc3d9 <= code && code <= 0xc3f3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSWA if (0xc3f4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc411) { if (code < 0xc410) { // Lo [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH if (0xc3f5 <= code && code <= 0xc40f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSWAE if (0xc410 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc42c) { // Lo [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH if (0xc411 <= code && code <= 0xc42b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc42d) { // Lo HANGUL SYLLABLE SSOE if (0xc42c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH if (0xc42d <= code && code <= 0xc447) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xc481) { if (code < 0xc464) { if (code < 0xc449) { // Lo HANGUL SYLLABLE SSYO if (0xc448 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH if (0xc449 <= code && code <= 0xc463) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc465) { // Lo HANGUL SYLLABLE SSU if (0xc464 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc480) { // Lo [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH if (0xc465 <= code && code <= 0xc47f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSWEO if (0xc480 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc4b8) { if (code < 0xc49c) { // Lo [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH if (0xc481 <= code && code <= 0xc49b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc49d) { // Lo HANGUL SYLLABLE SSWE if (0xc49c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH if (0xc49d <= code && code <= 0xc4b7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xc4b9) { // Lo HANGUL SYLLABLE SSWI if (0xc4b8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc4d4) { // Lo [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH if (0xc4b9 <= code && code <= 0xc4d3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSYU if (0xc4d4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xc57c) { if (code < 0xc528) { if (code < 0xc4f1) { if (code < 0xc4f0) { // Lo [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH if (0xc4d5 <= code && code <= 0xc4ef) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE SSEU if (0xc4f0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc50c) { // Lo [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH if (0xc4f1 <= code && code <= 0xc50b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc50d) { // Lo HANGUL SYLLABLE SSYI if (0xc50c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH if (0xc50d <= code && code <= 0xc527) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc545) { if (code < 0xc529) { // Lo HANGUL SYLLABLE SSI if (0xc528 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc544) { // Lo [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH if (0xc529 <= code && code <= 0xc543) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE A if (0xc544 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xc560) { // Lo [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH if (0xc545 <= code && code <= 0xc55f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc561) { // Lo HANGUL SYLLABLE AE if (0xc560 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH if (0xc561 <= code && code <= 0xc57b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xc5b5) { if (code < 0xc598) { if (code < 0xc57d) { // Lo HANGUL SYLLABLE YA if (0xc57c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH if (0xc57d <= code && code <= 0xc597) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc599) { // Lo HANGUL SYLLABLE YAE if (0xc598 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc5b4) { // Lo [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH if (0xc599 <= code && code <= 0xc5b3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE EO if (0xc5b4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc5ec) { if (code < 0xc5d0) { // Lo [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH if (0xc5b5 <= code && code <= 0xc5cf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc5d1) { // Lo HANGUL SYLLABLE E if (0xc5d0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH if (0xc5d1 <= code && code <= 0xc5eb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xc5ed) { // Lo HANGUL SYLLABLE YEO if (0xc5ec === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc608) { // Lo [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH if (0xc5ed <= code && code <= 0xc607) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE YE if (0xc608 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } else { if (code < 0xc73c) { if (code < 0xc695) { if (code < 0xc65c) { if (code < 0xc625) { if (code < 0xc624) { // Lo [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH if (0xc609 <= code && code <= 0xc623) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE O if (0xc624 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc640) { // Lo [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH if (0xc625 <= code && code <= 0xc63f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc641) { // Lo HANGUL SYLLABLE WA if (0xc640 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH if (0xc641 <= code && code <= 0xc65b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc678) { if (code < 0xc65d) { // Lo HANGUL SYLLABLE WAE if (0xc65c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH if (0xc65d <= code && code <= 0xc677) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc679) { // Lo HANGUL SYLLABLE OE if (0xc678 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc694) { // Lo [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH if (0xc679 <= code && code <= 0xc693) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE YO if (0xc694 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xc6e8) { if (code < 0xc6b1) { if (code < 0xc6b0) { // Lo [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH if (0xc695 <= code && code <= 0xc6af) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE U if (0xc6b0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc6cc) { // Lo [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH if (0xc6b1 <= code && code <= 0xc6cb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc6cd) { // Lo HANGUL SYLLABLE WEO if (0xc6cc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH if (0xc6cd <= code && code <= 0xc6e7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc705) { if (code < 0xc6e9) { // Lo HANGUL SYLLABLE WE if (0xc6e8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc704) { // Lo [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH if (0xc6e9 <= code && code <= 0xc703) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE WI if (0xc704 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xc720) { // Lo [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH if (0xc705 <= code && code <= 0xc71f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc721) { // Lo HANGUL SYLLABLE YU if (0xc720 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH if (0xc721 <= code && code <= 0xc73b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xc7c9) { if (code < 0xc775) { if (code < 0xc758) { if (code < 0xc73d) { // Lo HANGUL SYLLABLE EU if (0xc73c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH if (0xc73d <= code && code <= 0xc757) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc759) { // Lo HANGUL SYLLABLE YI if (0xc758 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc774) { // Lo [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH if (0xc759 <= code && code <= 0xc773) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE I if (0xc774 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc7ac) { if (code < 0xc790) { // Lo [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH if (0xc775 <= code && code <= 0xc78f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc791) { // Lo HANGUL SYLLABLE JA if (0xc790 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH if (0xc791 <= code && code <= 0xc7ab) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xc7ad) { // Lo HANGUL SYLLABLE JAE if (0xc7ac === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc7c8) { // Lo [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH if (0xc7ad <= code && code <= 0xc7c7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JYA if (0xc7c8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xc81c) { if (code < 0xc7e5) { if (code < 0xc7e4) { // Lo [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH if (0xc7c9 <= code && code <= 0xc7e3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JYAE if (0xc7e4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc800) { // Lo [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH if (0xc7e5 <= code && code <= 0xc7ff) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc801) { // Lo HANGUL SYLLABLE JEO if (0xc800 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH if (0xc801 <= code && code <= 0xc81b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc839) { if (code < 0xc81d) { // Lo HANGUL SYLLABLE JE if (0xc81c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc838) { // Lo [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH if (0xc81d <= code && code <= 0xc837) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JYEO if (0xc838 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xc854) { // Lo [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH if (0xc839 <= code && code <= 0xc853) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc855) { // Lo HANGUL SYLLABLE JYE if (0xc854 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH if (0xc855 <= code && code <= 0xc86f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } } } else { if (code < 0xcd24) { if (code < 0xcabd) { if (code < 0xc989) { if (code < 0xc8fc) { if (code < 0xc8a9) { if (code < 0xc88c) { if (code < 0xc871) { // Lo HANGUL SYLLABLE JO if (0xc870 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH if (0xc871 <= code && code <= 0xc88b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc88d) { // Lo HANGUL SYLLABLE JWA if (0xc88c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc8a8) { // Lo [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH if (0xc88d <= code && code <= 0xc8a7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JWAE if (0xc8a8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc8c5) { if (code < 0xc8c4) { // Lo [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH if (0xc8a9 <= code && code <= 0xc8c3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JOE if (0xc8c4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc8e0) { // Lo [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH if (0xc8c5 <= code && code <= 0xc8df) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc8e1) { // Lo HANGUL SYLLABLE JYO if (0xc8e0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH if (0xc8e1 <= code && code <= 0xc8fb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xc935) { if (code < 0xc918) { if (code < 0xc8fd) { // Lo HANGUL SYLLABLE JU if (0xc8fc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH if (0xc8fd <= code && code <= 0xc917) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xc919) { // Lo HANGUL SYLLABLE JWEO if (0xc918 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc934) { // Lo [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH if (0xc919 <= code && code <= 0xc933) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JWE if (0xc934 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xc96c) { if (code < 0xc950) { // Lo [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH if (0xc935 <= code && code <= 0xc94f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc951) { // Lo HANGUL SYLLABLE JWI if (0xc950 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH if (0xc951 <= code && code <= 0xc96b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xc96d) { // Lo HANGUL SYLLABLE JYU if (0xc96c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc988) { // Lo [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH if (0xc96d <= code && code <= 0xc987) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JEU if (0xc988 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xca30) { if (code < 0xc9dc) { if (code < 0xc9a5) { if (code < 0xc9a4) { // Lo [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH if (0xc989 <= code && code <= 0xc9a3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JYI if (0xc9a4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xc9c0) { // Lo [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH if (0xc9a5 <= code && code <= 0xc9bf) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xc9c1) { // Lo HANGUL SYLLABLE JI if (0xc9c0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH if (0xc9c1 <= code && code <= 0xc9db) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xc9f9) { if (code < 0xc9dd) { // Lo HANGUL SYLLABLE JJA if (0xc9dc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xc9f8) { // Lo [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH if (0xc9dd <= code && code <= 0xc9f7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JJAE if (0xc9f8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xca14) { // Lo [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH if (0xc9f9 <= code && code <= 0xca13) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xca15) { // Lo HANGUL SYLLABLE JJYA if (0xca14 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH if (0xca15 <= code && code <= 0xca2f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xca69) { if (code < 0xca4c) { if (code < 0xca31) { // Lo HANGUL SYLLABLE JJYAE if (0xca30 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH if (0xca31 <= code && code <= 0xca4b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xca4d) { // Lo HANGUL SYLLABLE JJEO if (0xca4c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xca68) { // Lo [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH if (0xca4d <= code && code <= 0xca67) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JJE if (0xca68 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xcaa0) { if (code < 0xca84) { // Lo [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH if (0xca69 <= code && code <= 0xca83) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xca85) { // Lo HANGUL SYLLABLE JJYEO if (0xca84 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH if (0xca85 <= code && code <= 0xca9f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xcaa1) { // Lo HANGUL SYLLABLE JJYE if (0xcaa0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcabc) { // Lo [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH if (0xcaa1 <= code && code <= 0xcabb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JJO if (0xcabc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } else { if (code < 0xcbf0) { if (code < 0xcb49) { if (code < 0xcb10) { if (code < 0xcad9) { if (code < 0xcad8) { // Lo [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH if (0xcabd <= code && code <= 0xcad7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JJWA if (0xcad8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xcaf4) { // Lo [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH if (0xcad9 <= code && code <= 0xcaf3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcaf5) { // Lo HANGUL SYLLABLE JJWAE if (0xcaf4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH if (0xcaf5 <= code && code <= 0xcb0f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xcb2c) { if (code < 0xcb11) { // Lo HANGUL SYLLABLE JJOE if (0xcb10 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH if (0xcb11 <= code && code <= 0xcb2b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xcb2d) { // Lo HANGUL SYLLABLE JJYO if (0xcb2c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcb48) { // Lo [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH if (0xcb2d <= code && code <= 0xcb47) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JJU if (0xcb48 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xcb9c) { if (code < 0xcb65) { if (code < 0xcb64) { // Lo [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH if (0xcb49 <= code && code <= 0xcb63) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JJWEO if (0xcb64 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xcb80) { // Lo [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH if (0xcb65 <= code && code <= 0xcb7f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcb81) { // Lo HANGUL SYLLABLE JJWE if (0xcb80 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH if (0xcb81 <= code && code <= 0xcb9b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xcbb9) { if (code < 0xcb9d) { // Lo HANGUL SYLLABLE JJWI if (0xcb9c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcbb8) { // Lo [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH if (0xcb9d <= code && code <= 0xcbb7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE JJYU if (0xcbb8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xcbd4) { // Lo [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH if (0xcbb9 <= code && code <= 0xcbd3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcbd5) { // Lo HANGUL SYLLABLE JJEU if (0xcbd4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH if (0xcbd5 <= code && code <= 0xcbef) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xcc7d) { if (code < 0xcc29) { if (code < 0xcc0c) { if (code < 0xcbf1) { // Lo HANGUL SYLLABLE JJYI if (0xcbf0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH if (0xcbf1 <= code && code <= 0xcc0b) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xcc0d) { // Lo HANGUL SYLLABLE JJI if (0xcc0c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcc28) { // Lo [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH if (0xcc0d <= code && code <= 0xcc27) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CA if (0xcc28 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xcc60) { if (code < 0xcc44) { // Lo [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH if (0xcc29 <= code && code <= 0xcc43) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcc45) { // Lo HANGUL SYLLABLE CAE if (0xcc44 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH if (0xcc45 <= code && code <= 0xcc5f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xcc61) { // Lo HANGUL SYLLABLE CYA if (0xcc60 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcc7c) { // Lo [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH if (0xcc61 <= code && code <= 0xcc7b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CYAE if (0xcc7c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xccd0) { if (code < 0xcc99) { if (code < 0xcc98) { // Lo [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH if (0xcc7d <= code && code <= 0xcc97) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CEO if (0xcc98 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xccb4) { // Lo [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH if (0xcc99 <= code && code <= 0xccb3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xccb5) { // Lo HANGUL SYLLABLE CE if (0xccb4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH if (0xccb5 <= code && code <= 0xcccf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xcced) { if (code < 0xccd1) { // Lo HANGUL SYLLABLE CYEO if (0xccd0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xccec) { // Lo [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH if (0xccd1 <= code && code <= 0xcceb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CYE if (0xccec === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xcd08) { // Lo [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH if (0xcced <= code && code <= 0xcd07) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcd09) { // Lo HANGUL SYLLABLE CO if (0xcd08 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH if (0xcd09 <= code && code <= 0xcd23) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } } else { if (code < 0xcf71) { if (code < 0xce3d) { if (code < 0xcdb0) { if (code < 0xcd5d) { if (code < 0xcd40) { if (code < 0xcd25) { // Lo HANGUL SYLLABLE CWA if (0xcd24 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH if (0xcd25 <= code && code <= 0xcd3f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xcd41) { // Lo HANGUL SYLLABLE CWAE if (0xcd40 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcd5c) { // Lo [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH if (0xcd41 <= code && code <= 0xcd5b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE COE if (0xcd5c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xcd79) { if (code < 0xcd78) { // Lo [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH if (0xcd5d <= code && code <= 0xcd77) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CYO if (0xcd78 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xcd94) { // Lo [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH if (0xcd79 <= code && code <= 0xcd93) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcd95) { // Lo HANGUL SYLLABLE CU if (0xcd94 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH if (0xcd95 <= code && code <= 0xcdaf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xcde9) { if (code < 0xcdcc) { if (code < 0xcdb1) { // Lo HANGUL SYLLABLE CWEO if (0xcdb0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH if (0xcdb1 <= code && code <= 0xcdcb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xcdcd) { // Lo HANGUL SYLLABLE CWE if (0xcdcc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcde8) { // Lo [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH if (0xcdcd <= code && code <= 0xcde7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CWI if (0xcde8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xce20) { if (code < 0xce04) { // Lo [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH if (0xcde9 <= code && code <= 0xce03) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xce05) { // Lo HANGUL SYLLABLE CYU if (0xce04 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH if (0xce05 <= code && code <= 0xce1f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xce21) { // Lo HANGUL SYLLABLE CEU if (0xce20 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xce3c) { // Lo [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH if (0xce21 <= code && code <= 0xce3b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CYI if (0xce3c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xcee4) { if (code < 0xce90) { if (code < 0xce59) { if (code < 0xce58) { // Lo [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH if (0xce3d <= code && code <= 0xce57) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE CI if (0xce58 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xce74) { // Lo [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH if (0xce59 <= code && code <= 0xce73) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xce75) { // Lo HANGUL SYLLABLE KA if (0xce74 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH if (0xce75 <= code && code <= 0xce8f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xcead) { if (code < 0xce91) { // Lo HANGUL SYLLABLE KAE if (0xce90 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xceac) { // Lo [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH if (0xce91 <= code && code <= 0xceab) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE KYA if (0xceac === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xcec8) { // Lo [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH if (0xcead <= code && code <= 0xcec7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcec9) { // Lo HANGUL SYLLABLE KYAE if (0xcec8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH if (0xcec9 <= code && code <= 0xcee3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xcf1d) { if (code < 0xcf00) { if (code < 0xcee5) { // Lo HANGUL SYLLABLE KEO if (0xcee4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH if (0xcee5 <= code && code <= 0xceff) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xcf01) { // Lo HANGUL SYLLABLE KE if (0xcf00 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcf1c) { // Lo [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH if (0xcf01 <= code && code <= 0xcf1b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE KYEO if (0xcf1c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xcf54) { if (code < 0xcf38) { // Lo [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH if (0xcf1d <= code && code <= 0xcf37) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcf39) { // Lo HANGUL SYLLABLE KYE if (0xcf38 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH if (0xcf39 <= code && code <= 0xcf53) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xcf55) { // Lo HANGUL SYLLABLE KO if (0xcf54 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcf70) { // Lo [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH if (0xcf55 <= code && code <= 0xcf6f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE KWA if (0xcf70 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } else { if (code < 0xd0a4) { if (code < 0xcffd) { if (code < 0xcfc4) { if (code < 0xcf8d) { if (code < 0xcf8c) { // Lo [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH if (0xcf71 <= code && code <= 0xcf8b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE KWAE if (0xcf8c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xcfa8) { // Lo [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH if (0xcf8d <= code && code <= 0xcfa7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xcfa9) { // Lo HANGUL SYLLABLE KOE if (0xcfa8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH if (0xcfa9 <= code && code <= 0xcfc3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xcfe0) { if (code < 0xcfc5) { // Lo HANGUL SYLLABLE KYO if (0xcfc4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH if (0xcfc5 <= code && code <= 0xcfdf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xcfe1) { // Lo HANGUL SYLLABLE KU if (0xcfe0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xcffc) { // Lo [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH if (0xcfe1 <= code && code <= 0xcffb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE KWEO if (0xcffc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xd050) { if (code < 0xd019) { if (code < 0xd018) { // Lo [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH if (0xcffd <= code && code <= 0xd017) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE KWE if (0xd018 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd034) { // Lo [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH if (0xd019 <= code && code <= 0xd033) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd035) { // Lo HANGUL SYLLABLE KWI if (0xd034 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH if (0xd035 <= code && code <= 0xd04f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xd06d) { if (code < 0xd051) { // Lo HANGUL SYLLABLE KYU if (0xd050 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd06c) { // Lo [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH if (0xd051 <= code && code <= 0xd06b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE KEU if (0xd06c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xd088) { // Lo [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH if (0xd06d <= code && code <= 0xd087) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd089) { // Lo HANGUL SYLLABLE KYI if (0xd088 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH if (0xd089 <= code && code <= 0xd0a3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0xd131) { if (code < 0xd0dd) { if (code < 0xd0c0) { if (code < 0xd0a5) { // Lo HANGUL SYLLABLE KI if (0xd0a4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH if (0xd0a5 <= code && code <= 0xd0bf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd0c1) { // Lo HANGUL SYLLABLE TA if (0xd0c0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd0dc) { // Lo [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH if (0xd0c1 <= code && code <= 0xd0db) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TAE if (0xd0dc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xd114) { if (code < 0xd0f8) { // Lo [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH if (0xd0dd <= code && code <= 0xd0f7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd0f9) { // Lo HANGUL SYLLABLE TYA if (0xd0f8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH if (0xd0f9 <= code && code <= 0xd113) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xd115) { // Lo HANGUL SYLLABLE TYAE if (0xd114 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd130) { // Lo [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH if (0xd115 <= code && code <= 0xd12f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TEO if (0xd130 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xd184) { if (code < 0xd14d) { if (code < 0xd14c) { // Lo [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH if (0xd131 <= code && code <= 0xd14b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TE if (0xd14c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd168) { // Lo [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH if (0xd14d <= code && code <= 0xd167) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd169) { // Lo HANGUL SYLLABLE TYEO if (0xd168 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH if (0xd169 <= code && code <= 0xd183) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xd1a1) { if (code < 0xd185) { // Lo HANGUL SYLLABLE TYE if (0xd184 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd1a0) { // Lo [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH if (0xd185 <= code && code <= 0xd19f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TO if (0xd1a0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xd1bc) { // Lo [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH if (0xd1a1 <= code && code <= 0xd1bb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd1bd) { // Lo HANGUL SYLLABLE TWA if (0xd1bc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH if (0xd1bd <= code && code <= 0xd1d7) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } } } } else { if (code < 0x1133b) { if (code < 0xd671) { if (code < 0xd424) { if (code < 0xd2f1) { if (code < 0xd264) { if (code < 0xd211) { if (code < 0xd1f4) { if (code < 0xd1d9) { // Lo HANGUL SYLLABLE TWAE if (0xd1d8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH if (0xd1d9 <= code && code <= 0xd1f3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd1f5) { // Lo HANGUL SYLLABLE TOE if (0xd1f4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd210) { // Lo [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH if (0xd1f5 <= code && code <= 0xd20f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TYO if (0xd210 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xd22d) { if (code < 0xd22c) { // Lo [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH if (0xd211 <= code && code <= 0xd22b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TU if (0xd22c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd248) { // Lo [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH if (0xd22d <= code && code <= 0xd247) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd249) { // Lo HANGUL SYLLABLE TWEO if (0xd248 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH if (0xd249 <= code && code <= 0xd263) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xd29d) { if (code < 0xd280) { if (code < 0xd265) { // Lo HANGUL SYLLABLE TWE if (0xd264 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH if (0xd265 <= code && code <= 0xd27f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd281) { // Lo HANGUL SYLLABLE TWI if (0xd280 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd29c) { // Lo [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH if (0xd281 <= code && code <= 0xd29b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TYU if (0xd29c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xd2d4) { if (code < 0xd2b8) { // Lo [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH if (0xd29d <= code && code <= 0xd2b7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd2b9) { // Lo HANGUL SYLLABLE TEU if (0xd2b8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH if (0xd2b9 <= code && code <= 0xd2d3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xd2d5) { // Lo HANGUL SYLLABLE TYI if (0xd2d4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd2f0) { // Lo [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH if (0xd2d5 <= code && code <= 0xd2ef) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE TI if (0xd2f0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xd37d) { if (code < 0xd344) { if (code < 0xd30d) { if (code < 0xd30c) { // Lo [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH if (0xd2f1 <= code && code <= 0xd30b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PA if (0xd30c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd328) { // Lo [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH if (0xd30d <= code && code <= 0xd327) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd329) { // Lo HANGUL SYLLABLE PAE if (0xd328 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH if (0xd329 <= code && code <= 0xd343) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xd360) { if (code < 0xd345) { // Lo HANGUL SYLLABLE PYA if (0xd344 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH if (0xd345 <= code && code <= 0xd35f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd361) { // Lo HANGUL SYLLABLE PYAE if (0xd360 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd37c) { // Lo [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH if (0xd361 <= code && code <= 0xd37b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PEO if (0xd37c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xd3d0) { if (code < 0xd399) { if (code < 0xd398) { // Lo [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH if (0xd37d <= code && code <= 0xd397) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PE if (0xd398 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd3b4) { // Lo [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH if (0xd399 <= code && code <= 0xd3b3) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd3b5) { // Lo HANGUL SYLLABLE PYEO if (0xd3b4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH if (0xd3b5 <= code && code <= 0xd3cf) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xd3ed) { if (code < 0xd3d1) { // Lo HANGUL SYLLABLE PYE if (0xd3d0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd3ec) { // Lo [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH if (0xd3d1 <= code && code <= 0xd3eb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PO if (0xd3ec === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xd408) { // Lo [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH if (0xd3ed <= code && code <= 0xd407) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd409) { // Lo HANGUL SYLLABLE PWA if (0xd408 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH if (0xd409 <= code && code <= 0xd423) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } } else { if (code < 0xd53d) { if (code < 0xd4b0) { if (code < 0xd45d) { if (code < 0xd440) { if (code < 0xd425) { // Lo HANGUL SYLLABLE PWAE if (0xd424 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH if (0xd425 <= code && code <= 0xd43f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd441) { // Lo HANGUL SYLLABLE POE if (0xd440 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd45c) { // Lo [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH if (0xd441 <= code && code <= 0xd45b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PYO if (0xd45c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xd479) { if (code < 0xd478) { // Lo [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH if (0xd45d <= code && code <= 0xd477) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PU if (0xd478 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd494) { // Lo [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH if (0xd479 <= code && code <= 0xd493) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd495) { // Lo HANGUL SYLLABLE PWEO if (0xd494 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH if (0xd495 <= code && code <= 0xd4af) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xd4e9) { if (code < 0xd4cc) { if (code < 0xd4b1) { // Lo HANGUL SYLLABLE PWE if (0xd4b0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH if (0xd4b1 <= code && code <= 0xd4cb) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd4cd) { // Lo HANGUL SYLLABLE PWI if (0xd4cc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd4e8) { // Lo [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH if (0xd4cd <= code && code <= 0xd4e7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PYU if (0xd4e8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xd520) { if (code < 0xd504) { // Lo [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH if (0xd4e9 <= code && code <= 0xd503) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd505) { // Lo HANGUL SYLLABLE PEU if (0xd504 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH if (0xd505 <= code && code <= 0xd51f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xd521) { // Lo HANGUL SYLLABLE PYI if (0xd520 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd53c) { // Lo [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH if (0xd521 <= code && code <= 0xd53b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE PI if (0xd53c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } else { if (code < 0xd5e4) { if (code < 0xd590) { if (code < 0xd559) { if (code < 0xd558) { // Lo [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH if (0xd53d <= code && code <= 0xd557) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HA if (0xd558 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd574) { // Lo [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH if (0xd559 <= code && code <= 0xd573) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd575) { // Lo HANGUL SYLLABLE HAE if (0xd574 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH if (0xd575 <= code && code <= 0xd58f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xd5ad) { if (code < 0xd591) { // Lo HANGUL SYLLABLE HYA if (0xd590 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd5ac) { // Lo [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH if (0xd591 <= code && code <= 0xd5ab) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HYAE if (0xd5ac === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xd5c8) { // Lo [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH if (0xd5ad <= code && code <= 0xd5c7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd5c9) { // Lo HANGUL SYLLABLE HEO if (0xd5c8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH if (0xd5c9 <= code && code <= 0xd5e3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } else { if (code < 0xd61d) { if (code < 0xd600) { if (code < 0xd5e5) { // Lo HANGUL SYLLABLE HE if (0xd5e4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH if (0xd5e5 <= code && code <= 0xd5ff) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd601) { // Lo HANGUL SYLLABLE HYEO if (0xd600 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd61c) { // Lo [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH if (0xd601 <= code && code <= 0xd61b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HYE if (0xd61c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } else { if (code < 0xd654) { if (code < 0xd638) { // Lo [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH if (0xd61d <= code && code <= 0xd637) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd639) { // Lo HANGUL SYLLABLE HO if (0xd638 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH if (0xd639 <= code && code <= 0xd653) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } else { if (code < 0xd655) { // Lo HANGUL SYLLABLE HWA if (0xd654 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd670) { // Lo [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH if (0xd655 <= code && code <= 0xd66f) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HWAE if (0xd670 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } } } } else { if (code < 0x11000) { if (code < 0xd7b0) { if (code < 0xd6fd) { if (code < 0xd6c4) { if (code < 0xd68d) { if (code < 0xd68c) { // Lo [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH if (0xd671 <= code && code <= 0xd68b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HOE if (0xd68c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd6a8) { // Lo [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH if (0xd68d <= code && code <= 0xd6a7) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd6a9) { // Lo HANGUL SYLLABLE HYO if (0xd6a8 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH if (0xd6a9 <= code && code <= 0xd6c3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xd6e0) { if (code < 0xd6c5) { // Lo HANGUL SYLLABLE HU if (0xd6c4 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH if (0xd6c5 <= code && code <= 0xd6df) { return boundaries_1.CLUSTER_BREAK.LVT; } } } else { if (code < 0xd6e1) { // Lo HANGUL SYLLABLE HWEO if (0xd6e0 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd6fc) { // Lo [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH if (0xd6e1 <= code && code <= 0xd6fb) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HWE if (0xd6fc === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } } } else { if (code < 0xd750) { if (code < 0xd719) { if (code < 0xd718) { // Lo [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH if (0xd6fd <= code && code <= 0xd717) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HWI if (0xd718 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } else { if (code < 0xd734) { // Lo [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH if (0xd719 <= code && code <= 0xd733) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd735) { // Lo HANGUL SYLLABLE HYU if (0xd734 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH if (0xd735 <= code && code <= 0xd74f) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } else { if (code < 0xd76d) { if (code < 0xd751) { // Lo HANGUL SYLLABLE HEU if (0xd750 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { if (code < 0xd76c) { // Lo [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH if (0xd751 <= code && code <= 0xd76b) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { // Lo HANGUL SYLLABLE HYI if (0xd76c === code) { return boundaries_1.CLUSTER_BREAK.LV; } } } } else { if (code < 0xd788) { // Lo [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH if (0xd76d <= code && code <= 0xd787) { return boundaries_1.CLUSTER_BREAK.LVT; } } else { if (code < 0xd789) { // Lo HANGUL SYLLABLE HI if (0xd788 === code) { return boundaries_1.CLUSTER_BREAK.LV; } } else { // Lo [27] HANGUL SYLLABLE HIG..HANGUL SYLLABLE HIH if (0xd789 <= code && code <= 0xd7a3) { return boundaries_1.CLUSTER_BREAK.LVT; } } } } } } } else { if (code < 0x10a01) { if (code < 0xfeff) { if (code < 0xfb1e) { if (code < 0xd7cb) { // Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E if (0xd7b0 <= code && code <= 0xd7c6) { return boundaries_1.CLUSTER_BREAK.V; } } else { // Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH if (0xd7cb <= code && code <= 0xd7fb) { return boundaries_1.CLUSTER_BREAK.T; } } } else { if (code < 0xfe00) { // Mn HEBREW POINT JUDEO-SPANISH VARIKA if (0xfb1e === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xfe20) { // Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 if (0xfe00 <= code && code <= 0xfe0f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF if (0xfe20 <= code && code <= 0xfe2f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x101fd) { if (code < 0xff9e) { // Cf ZERO WIDTH NO-BREAK SPACE if (0xfeff === code) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { if (code < 0xfff0) { // Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK if (0xff9e <= code && code <= 0xff9f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cn [9] .. // Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR if (0xfff0 <= code && code <= 0xfffb) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } } } else { if (code < 0x102e0) { // Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE if (0x101fd === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x10376) { // Mn COPTIC EPACT THOUSANDS MARK if (0x102e0 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII if (0x10376 <= code && code <= 0x1037a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x10ae5) { if (code < 0x10a0c) { if (code < 0x10a05) { // Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R if (0x10a01 <= code && code <= 0x10a03) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O if (0x10a05 <= code && code <= 0x10a06) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x10a38) { // Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA if (0x10a0c <= code && code <= 0x10a0f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x10a3f) { // Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW if (0x10a38 <= code && code <= 0x10a3a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn KHAROSHTHI VIRAMA if (0x10a3f === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x10efd) { if (code < 0x10d24) { // Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW if (0x10ae5 <= code && code <= 0x10ae6) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x10eab) { // Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI if (0x10d24 <= code && code <= 0x10d27) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK if (0x10eab <= code && code <= 0x10eac) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x10f46) { // Mn [3] ARABIC SMALL LOW WORD SAKTA..ARABIC SMALL LOW WORD MADDA if (0x10efd <= code && code <= 0x10eff) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x10f82) { // Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW if (0x10f46 <= code && code <= 0x10f50) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [4] OLD UYGHUR COMBINING DOT ABOVE..OLD UYGHUR COMBINING TWO DOTS BELOW if (0x10f82 <= code && code <= 0x10f85) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } else { if (code < 0x11180) { if (code < 0x110b7) { if (code < 0x11073) { if (code < 0x11002) { // Mc BRAHMI SIGN CANDRABINDU if (0x11000 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn BRAHMI SIGN ANUSVARA if (0x11001 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11038) { // Mc BRAHMI SIGN VISARGA if (0x11002 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x11070) { // Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA if (0x11038 <= code && code <= 0x11046) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn BRAHMI SIGN OLD TAMIL VIRAMA if (0x11070 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x11082) { if (code < 0x1107f) { // Mn [2] BRAHMI VOWEL SIGN OLD TAMIL SHORT E..BRAHMI VOWEL SIGN OLD TAMIL SHORT O if (0x11073 <= code && code <= 0x11074) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA if (0x1107f <= code && code <= 0x11081) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x110b0) { // Mc KAITHI SIGN VISARGA if (0x11082 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x110b3) { // Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II if (0x110b0 <= code && code <= 0x110b2) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI if (0x110b3 <= code && code <= 0x110b6) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x11100) { if (code < 0x110bd) { if (code < 0x110b9) { // Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU if (0x110b7 <= code && code <= 0x110b8) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA if (0x110b9 <= code && code <= 0x110ba) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x110c2) { // Cf KAITHI NUMBER SIGN if (0x110bd === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } else { // Mn KAITHI VOWEL SIGN VOCALIC R if (0x110c2 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Cf KAITHI NUMBER SIGN ABOVE if (0x110cd === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } } } else { if (code < 0x1112d) { if (code < 0x11127) { // Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA if (0x11100 <= code && code <= 0x11102) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1112c) { // Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU if (0x11127 <= code && code <= 0x1112b) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc CHAKMA VOWEL SIGN E if (0x1112c === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x11145) { // Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA if (0x1112d <= code && code <= 0x11134) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11173) { // Mc [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI if (0x11145 <= code && code <= 0x11146) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn MAHAJANI SIGN NUKTA if (0x11173 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } else { if (code < 0x11232) { if (code < 0x111c2) { if (code < 0x111b3) { if (code < 0x11182) { // Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA if (0x11180 <= code && code <= 0x11181) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc SHARADA SIGN VISARGA if (0x11182 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x111b6) { // Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II if (0x111b3 <= code && code <= 0x111b5) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x111bf) { // Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O if (0x111b6 <= code && code <= 0x111be) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA if (0x111bf <= code && code <= 0x111c0) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x111cf) { if (code < 0x111c9) { // Lo [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA if (0x111c2 <= code && code <= 0x111c3) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } else { if (code < 0x111ce) { // Mn [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK if (0x111c9 <= code && code <= 0x111cc) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc SHARADA VOWEL SIGN PRISHTHAMATRA E if (0x111ce === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x1122c) { // Mn SHARADA SIGN INVERTED CANDRABINDU if (0x111cf === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1122f) { // Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II if (0x1122c <= code && code <= 0x1122e) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI if (0x1122f <= code && code <= 0x11231) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x11241) { if (code < 0x11235) { if (code < 0x11234) { // Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU if (0x11232 <= code && code <= 0x11233) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn KHOJKI SIGN ANUSVARA if (0x11234 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x11236) { // Mc KHOJKI SIGN VIRAMA if (0x11235 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1123e) { // Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA if (0x11236 <= code && code <= 0x11237) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn KHOJKI SIGN SUKUN if (0x1123e === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x112e3) { if (code < 0x112df) { // Mn KHOJKI VOWEL SIGN VOCALIC R if (0x11241 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x112e0) { // Mn KHUDAWADI SIGN ANUSVARA if (0x112df === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II if (0x112e0 <= code && code <= 0x112e2) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x11300) { // Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA if (0x112e3 <= code && code <= 0x112ea) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11302) { // Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU if (0x11300 <= code && code <= 0x11301) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA if (0x11302 <= code && code <= 0x11303) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } } } } } else { if (code < 0x11a97) { if (code < 0x116ab) { if (code < 0x114b9) { if (code < 0x11370) { if (code < 0x11347) { if (code < 0x1133f) { if (code < 0x1133e) { // Mn [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA if (0x1133b <= code && code <= 0x1133c) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc GRANTHA VOWEL SIGN AA if (0x1133e === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x11340) { // Mc GRANTHA VOWEL SIGN I if (0x1133f === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x11341) { // Mn GRANTHA VOWEL SIGN II if (0x11340 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR if (0x11341 <= code && code <= 0x11344) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x11357) { if (code < 0x1134b) { // Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI if (0x11347 <= code && code <= 0x11348) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA if (0x1134b <= code && code <= 0x1134d) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x11362) { // Mc GRANTHA AU LENGTH MARK if (0x11357 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11366) { // Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL if (0x11362 <= code && code <= 0x11363) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX if (0x11366 <= code && code <= 0x1136c) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x11445) { if (code < 0x11438) { if (code < 0x11435) { // Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA if (0x11370 <= code && code <= 0x11374) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II if (0x11435 <= code && code <= 0x11437) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x11440) { // Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI if (0x11438 <= code && code <= 0x1143f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11442) { // Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU if (0x11440 <= code && code <= 0x11441) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA if (0x11442 <= code && code <= 0x11444) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x114b0) { if (code < 0x11446) { // Mc NEWA SIGN VISARGA if (0x11445 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn NEWA SIGN NUKTA if (0x11446 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mn NEWA SANDHI MARK if (0x1145e === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x114b1) { // Mc TIRHUTA VOWEL SIGN AA if (0x114b0 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x114b3) { // Mc [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II if (0x114b1 <= code && code <= 0x114b2) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL if (0x114b3 <= code && code <= 0x114b8) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } else { if (code < 0x115b8) { if (code < 0x114bf) { if (code < 0x114bb) { // Mc TIRHUTA VOWEL SIGN E if (0x114b9 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn TIRHUTA VOWEL SIGN SHORT E if (0x114ba === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x114bd) { // Mc [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O if (0x114bb <= code && code <= 0x114bc) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc TIRHUTA VOWEL SIGN SHORT O if (0x114bd === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc TIRHUTA VOWEL SIGN AU if (0x114be === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x115af) { if (code < 0x114c1) { // Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA if (0x114bf <= code && code <= 0x114c0) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x114c2) { // Mc TIRHUTA SIGN VISARGA if (0x114c1 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA if (0x114c2 <= code && code <= 0x114c3) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x115b0) { // Mc SIDDHAM VOWEL SIGN AA if (0x115af === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x115b2) { // Mc [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II if (0x115b0 <= code && code <= 0x115b1) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR if (0x115b2 <= code && code <= 0x115b5) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x11630) { if (code < 0x115be) { if (code < 0x115bc) { // Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU if (0x115b8 <= code && code <= 0x115bb) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA if (0x115bc <= code && code <= 0x115bd) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x115bf) { // Mc SIDDHAM SIGN VISARGA if (0x115be === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x115dc) { // Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA if (0x115bf <= code && code <= 0x115c0) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU if (0x115dc <= code && code <= 0x115dd) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1163d) { if (code < 0x11633) { // Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II if (0x11630 <= code && code <= 0x11632) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x1163b) { // Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI if (0x11633 <= code && code <= 0x1163a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU if (0x1163b <= code && code <= 0x1163c) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x1163e) { // Mn MODI SIGN ANUSVARA if (0x1163d === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1163f) { // Mc MODI SIGN VISARGA if (0x1163e === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA if (0x1163f <= code && code <= 0x11640) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } else { if (code < 0x1193f) { if (code < 0x11727) { if (code < 0x116b6) { if (code < 0x116ad) { // Mn TAKRI SIGN ANUSVARA if (0x116ab === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc TAKRI SIGN VISARGA if (0x116ac === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x116ae) { // Mn TAKRI VOWEL SIGN AA if (0x116ad === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x116b0) { // Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II if (0x116ae <= code && code <= 0x116af) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU if (0x116b0 <= code && code <= 0x116b5) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1171d) { // Mc TAKRI SIGN VIRAMA if (0x116b6 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn TAKRI SIGN NUKTA if (0x116b7 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11722) { // Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA if (0x1171d <= code && code <= 0x1171f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11726) { // Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU if (0x11722 <= code && code <= 0x11725) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc AHOM VOWEL SIGN E if (0x11726 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } else { if (code < 0x11930) { if (code < 0x1182f) { if (code < 0x1182c) { // Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER if (0x11727 <= code && code <= 0x1172b) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II if (0x1182c <= code && code <= 0x1182e) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x11838) { // Mn [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA if (0x1182f <= code && code <= 0x11837) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11839) { // Mc DOGRA SIGN VISARGA if (0x11838 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA if (0x11839 <= code && code <= 0x1183a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1193b) { if (code < 0x11931) { // Mc DIVES AKURU VOWEL SIGN AA if (0x11930 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11937) { // Mc [5] DIVES AKURU VOWEL SIGN I..DIVES AKURU VOWEL SIGN E if (0x11931 <= code && code <= 0x11935) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O if (0x11937 <= code && code <= 0x11938) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x1193d) { // Mn [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU if (0x1193b <= code && code <= 0x1193c) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc DIVES AKURU SIGN HALANTA if (0x1193d === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn DIVES AKURU VIRAMA if (0x1193e === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x11a01) { if (code < 0x119d1) { if (code < 0x11941) { // Lo DIVES AKURU PREFIXED NASAL SIGN if (0x1193f === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } // Mc DIVES AKURU MEDIAL YA if (0x11940 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x11942) { // Lo DIVES AKURU INITIAL RA if (0x11941 === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } else { // Mc DIVES AKURU MEDIAL RA if (0x11942 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn DIVES AKURU SIGN NUKTA if (0x11943 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x119dc) { if (code < 0x119d4) { // Mc [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II if (0x119d1 <= code && code <= 0x119d3) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x119da) { // Mn [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR if (0x119d4 <= code && code <= 0x119d7) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI if (0x119da <= code && code <= 0x119db) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x119e0) { // Mc [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA if (0x119dc <= code && code <= 0x119df) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn NANDINAGARI SIGN VIRAMA if (0x119e0 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc NANDINAGARI VOWEL SIGN PRISHTHAMATRA E if (0x119e4 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x11a47) { if (code < 0x11a39) { if (code < 0x11a33) { // Mn [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK if (0x11a01 <= code && code <= 0x11a0a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA if (0x11a33 <= code && code <= 0x11a38) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x11a3a) { // Mc ZANABAZAR SQUARE SIGN VISARGA if (0x11a39 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x11a3b) { // Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA if (0x11a3a === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } else { // Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA if (0x11a3b <= code && code <= 0x11a3e) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x11a59) { if (code < 0x11a51) { // Mn ZANABAZAR SQUARE SUBJOINER if (0x11a47 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11a57) { // Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE if (0x11a51 <= code && code <= 0x11a56) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU if (0x11a57 <= code && code <= 0x11a58) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } else { if (code < 0x11a84) { // Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK if (0x11a59 <= code && code <= 0x11a5b) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11a8a) { // Lo [6] SOYOMBO SIGN JIHVAMULIYA..SOYOMBO CLUSTER-INITIAL LETTER SA if (0x11a84 <= code && code <= 0x11a89) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } else { // Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA if (0x11a8a <= code && code <= 0x11a96) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } } else { if (code < 0x16f51) { if (code < 0x11d90) { if (code < 0x11cb1) { if (code < 0x11c3e) { if (code < 0x11c2f) { if (code < 0x11a98) { // Mc SOYOMBO SIGN VISARGA if (0x11a97 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER if (0x11a98 <= code && code <= 0x11a99) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x11c30) { // Mc BHAIKSUKI VOWEL SIGN AA if (0x11c2f === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x11c38) { // Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L if (0x11c30 <= code && code <= 0x11c36) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA if (0x11c38 <= code && code <= 0x11c3d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x11c92) { // Mc BHAIKSUKI SIGN VISARGA if (0x11c3e === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn BHAIKSUKI SIGN VIRAMA if (0x11c3f === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11ca9) { // Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA if (0x11c92 <= code && code <= 0x11ca7) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11caa) { // Mc MARCHEN SUBJOINED LETTER YA if (0x11ca9 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA if (0x11caa <= code && code <= 0x11cb0) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x11d3a) { if (code < 0x11cb4) { if (code < 0x11cb2) { // Mc MARCHEN VOWEL SIGN I if (0x11cb1 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E if (0x11cb2 <= code && code <= 0x11cb3) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x11cb5) { // Mc MARCHEN VOWEL SIGN O if (0x11cb4 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { if (code < 0x11d31) { // Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU if (0x11cb5 <= code && code <= 0x11cb6) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R if (0x11d31 <= code && code <= 0x11d36) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x11d46) { if (code < 0x11d3c) { // Mn MASARAM GONDI VOWEL SIGN E if (0x11d3a === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11d3f) { // Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O if (0x11d3c <= code && code <= 0x11d3d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA if (0x11d3f <= code && code <= 0x11d45) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x11d47) { // Lo MASARAM GONDI REPHA if (0x11d46 === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } else { if (code < 0x11d8a) { // Mn MASARAM GONDI RA-KARA if (0x11d47 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU if (0x11d8a <= code && code <= 0x11d8e) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } } else { if (code < 0x11f36) { if (code < 0x11ef3) { if (code < 0x11d95) { if (code < 0x11d93) { // Mn [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI if (0x11d90 <= code && code <= 0x11d91) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU if (0x11d93 <= code && code <= 0x11d94) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x11d96) { // Mn GUNJALA GONDI SIGN ANUSVARA if (0x11d95 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc GUNJALA GONDI SIGN VISARGA if (0x11d96 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn GUNJALA GONDI VIRAMA if (0x11d97 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x11f02) { if (code < 0x11ef5) { // Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U if (0x11ef3 <= code && code <= 0x11ef4) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x11f00) { // Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O if (0x11ef5 <= code && code <= 0x11ef6) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] KAWI SIGN CANDRABINDU..KAWI SIGN ANUSVARA if (0x11f00 <= code && code <= 0x11f01) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x11f03) { // Lo KAWI SIGN REPHA if (0x11f02 === code) { return boundaries_1.CLUSTER_BREAK.PREPEND; } } else { if (code < 0x11f34) { // Mc KAWI SIGN VISARGA if (0x11f03 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mc [2] KAWI VOWEL SIGN AA..KAWI VOWEL SIGN ALTERNATE AA if (0x11f34 <= code && code <= 0x11f35) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } } else { if (code < 0x13430) { if (code < 0x11f40) { if (code < 0x11f3e) { // Mn [5] KAWI VOWEL SIGN I..KAWI VOWEL SIGN VOCALIC R if (0x11f36 <= code && code <= 0x11f3a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc [2] KAWI VOWEL SIGN E..KAWI VOWEL SIGN AI if (0x11f3e <= code && code <= 0x11f3f) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x11f41) { // Mn KAWI VOWEL SIGN EU if (0x11f40 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc KAWI SIGN KILLER if (0x11f41 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } // Mn KAWI CONJOINER if (0x11f42 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x16af0) { if (code < 0x13440) { // Cf [16] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END WALLED ENCLOSURE if (0x13430 <= code && code <= 0x1343f) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { if (code < 0x13447) { // Mn EGYPTIAN HIEROGLYPH MIRROR HORIZONTALLY if (0x13440 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [15] EGYPTIAN HIEROGLYPH MODIFIER DAMAGED AT TOP START..EGYPTIAN HIEROGLYPH MODIFIER DAMAGED if (0x13447 <= code && code <= 0x13455) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x16b30) { // Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE if (0x16af0 <= code && code <= 0x16af4) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x16f4f) { // Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM if (0x16b30 <= code && code <= 0x16b36) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn MIAO SIGN CONSONANT MODIFIER BAR if (0x16f4f === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } } else { if (code < 0x1da84) { if (code < 0x1d167) { if (code < 0x1bca0) { if (code < 0x16fe4) { if (code < 0x16f8f) { // Mc [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI if (0x16f51 <= code && code <= 0x16f87) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW if (0x16f8f <= code && code <= 0x16f92) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x16ff0) { // Mn KHITAN SMALL SCRIPT FILLER if (0x16fe4 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1bc9d) { // Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY if (0x16ff0 <= code && code <= 0x16ff1) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } else { // Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK if (0x1bc9d <= code && code <= 0x1bc9e) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1cf30) { if (code < 0x1cf00) { // Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP if (0x1bca0 <= code && code <= 0x1bca3) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { // Mn [46] ZNAMENNY COMBINING MARK GORAZDO NIZKO S KRYZHEM ON LEFT..ZNAMENNY COMBINING MARK KRYZH ON LEFT if (0x1cf00 <= code && code <= 0x1cf2d) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x1d165) { // Mn [23] ZNAMENNY COMBINING TONAL RANGE MARK MRACHNO..ZNAMENNY PRIZNAK MODIFIER ROG if (0x1cf30 <= code && code <= 0x1cf46) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc MUSICAL SYMBOL COMBINING STEM if (0x1d165 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } // Mc MUSICAL SYMBOL COMBINING SPRECHGESANG STEM if (0x1d166 === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } } } else { if (code < 0x1d185) { if (code < 0x1d16e) { if (code < 0x1d16d) { // Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3 if (0x1d167 <= code && code <= 0x1d169) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mc MUSICAL SYMBOL COMBINING AUGMENTATION DOT if (0x1d16d === code) { return boundaries_1.CLUSTER_BREAK.SPACINGMARK; } } } else { if (code < 0x1d173) { // Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5 if (0x1d16e <= code && code <= 0x1d172) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1d17b) { // Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE if (0x1d173 <= code && code <= 0x1d17a) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { // Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE if (0x1d17b <= code && code <= 0x1d182) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1da00) { if (code < 0x1d1aa) { // Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE if (0x1d185 <= code && code <= 0x1d18b) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1d242) { // Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO if (0x1d1aa <= code && code <= 0x1d1ad) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME if (0x1d242 <= code && code <= 0x1d244) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x1da3b) { // Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN if (0x1da00 <= code && code <= 0x1da36) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1da75) { // Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT if (0x1da3b <= code && code <= 0x1da6c) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS if (0x1da75 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } } else { if (code < 0x1e2ec) { if (code < 0x1e01b) { if (code < 0x1daa1) { if (code < 0x1da9b) { // Mn SIGNWRITING LOCATION HEAD NECK if (0x1da84 === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 if (0x1da9b <= code && code <= 0x1da9f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x1e000) { // Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 if (0x1daa1 <= code && code <= 0x1daaf) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1e008) { // Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE if (0x1e000 <= code && code <= 0x1e006) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU if (0x1e008 <= code && code <= 0x1e018) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } else { if (code < 0x1e08f) { if (code < 0x1e023) { // Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI if (0x1e01b <= code && code <= 0x1e021) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1e026) { // Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS if (0x1e023 <= code && code <= 0x1e024) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA if (0x1e026 <= code && code <= 0x1e02a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0x1e130) { // Mn COMBINING CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I if (0x1e08f === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1e2ae) { // Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D if (0x1e130 <= code && code <= 0x1e136) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn TOTO SIGN RISING TONE if (0x1e2ae === code) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } } } else { if (code < 0x1f3fb) { if (code < 0x1e8d0) { if (code < 0x1e4ec) { // Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI if (0x1e2ec <= code && code <= 0x1e2ef) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Mn [4] NAG MUNDARI SIGN MUHOR..NAG MUNDARI SIGN SUTUH if (0x1e4ec <= code && code <= 0x1e4ef) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } else { if (code < 0x1e944) { // Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS if (0x1e8d0 <= code && code <= 0x1e8d6) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0x1f1e6) { // Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA if (0x1e944 <= code && code <= 0x1e94a) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z if (0x1f1e6 <= code && code <= 0x1f1ff) { return boundaries_1.CLUSTER_BREAK.REGIONAL_INDICATOR; } } } } } else { if (code < 0xe0080) { if (code < 0xe0000) { // Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 if (0x1f3fb <= code && code <= 0x1f3ff) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { if (code < 0xe0020) { // Cn // Cf LANGUAGE TAG // Cn [30] .. if (0xe0000 <= code && code <= 0xe001f) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { // Cf [96] TAG SPACE..CANCEL TAG if (0xe0020 <= code && code <= 0xe007f) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } } } else { if (code < 0xe0100) { // Cn [128] .. if (0xe0080 <= code && code <= 0xe00ff) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } else { if (code < 0xe01f0) { // Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 if (0xe0100 <= code && code <= 0xe01ef) { return boundaries_1.CLUSTER_BREAK.EXTEND; } } else { // Cn [3600] .. if (0xe01f0 <= code && code <= 0xe0fff) { return boundaries_1.CLUSTER_BREAK.CONTROL; } } } } } } } } } } } } // unlisted code points are treated as a break property of "Other" return boundaries_1.CLUSTER_BREAK.OTHER; } /** * Given a Unicode code point, returns if symbol is an extended pictographic or some other break * @param code {number} Unicode code point * @returns {number} */ static getEmojiProperty(code) { // emoji property taken from: // https://www.unicode.org/Public/UCD/latest/ucd/emoji/emoji-data.txt // and generated by // node ./scripts/generate-emoji-extended-pictographic.js if (code < 0x27b0) { if (code < 0x2600) { if (code < 0x2328) { if (code < 0x2122) { if (code < 0x203c) { // E0.6 [1] (©️) copyright if (0xa9 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (®️) registered if (0xae === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (‼️) double exclamation mark if (0x203c === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (⁉️) exclamation question mark if (0x2049 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x2194) { // E0.6 [1] (™️) trade mark if (0x2122 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (ℹ️) information if (0x2139 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x21a9) { // E0.6 [6] (↔️..↙️) left-right arrow..down-left arrow if (0x2194 <= code && code <= 0x2199) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x231a) { // E0.6 [2] (↩️..↪️) right arrow curving left..left arrow curving right if (0x21a9 <= code && code <= 0x21aa) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [2] (⌚..⌛) watch..hourglass done if (0x231a <= code && code <= 0x231b) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } } else { if (code < 0x24c2) { if (code < 0x23cf) { // E1.0 [1] (⌨️) keyboard if (0x2328 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.0 [1] (⎈) HELM SYMBOL if (0x2388 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x23e9) { // E1.0 [1] (⏏️) eject button if (0x23cf === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x23f8) { // E0.6 [4] (⏩..⏬) fast-forward button..fast down button // E0.7 [2] (⏭️..⏮️) next track button..last track button // E1.0 [1] (⏯️) play or pause button // E0.6 [1] (⏰) alarm clock // E1.0 [2] (⏱️..⏲️) stopwatch..timer clock // E0.6 [1] (⏳) hourglass not done if (0x23e9 <= code && code <= 0x23f3) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.7 [3] (⏸️..⏺️) pause button..record button if (0x23f8 <= code && code <= 0x23fa) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } else { if (code < 0x25b6) { if (code < 0x25aa) { // E0.6 [1] (Ⓜ️) circled M if (0x24c2 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [2] (▪️..▫️) black small square..white small square if (0x25aa <= code && code <= 0x25ab) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x25c0) { // E0.6 [1] (▶️) play button if (0x25b6 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x25fb) { // E0.6 [1] (◀️) reverse button if (0x25c0 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [4] (◻️..◾) white medium square..black medium-small square if (0x25fb <= code && code <= 0x25fe) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } } } else { if (code < 0x2733) { if (code < 0x2714) { if (code < 0x2614) { if (code < 0x2607) { // E0.6 [2] (☀️..☁️) sun..cloud // E0.7 [2] (☂️..☃️) umbrella..snowman // E1.0 [1] (☄️) comet // E0.0 [1] (★) BLACK STAR if (0x2600 <= code && code <= 0x2605) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0 [7] (☇..☍) LIGHTNING..OPPOSITION // E0.6 [1] (☎️) telephone // E0.0 [2] (☏..☐) WHITE TELEPHONE..BALLOT BOX // E0.6 [1] (☑️) check box with check // E0.0 [1] (☒) BALLOT BOX WITH X if (0x2607 <= code && code <= 0x2612) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x2690) { // E0.6 [2] (☔..☕) umbrella with rain drops..hot beverage // E0.0 [2] (☖..☗) WHITE SHOGI PIECE..BLACK SHOGI PIECE // E1.0 [1] (☘️) shamrock // E0.0 [4] (☙..☜) REVERSED ROTATED FLORAL HEART BULLET..WHITE LEFT POINTING INDEX // E0.6 [1] (☝️) index pointing up // E0.0 [2] (☞..☟) WHITE RIGHT POINTING INDEX..WHITE DOWN POINTING INDEX // E1.0 [1] (☠️) skull and crossbones // E0.0 [1] (☡) CAUTION SIGN // E1.0 [2] (☢️..☣️) radioactive..biohazard // E0.0 [2] (☤..☥) CADUCEUS..ANKH // E1.0 [1] (☦️) orthodox cross // E0.0 [3] (☧..☩) CHI RHO..CROSS OF JERUSALEM // E0.7 [1] (☪️) star and crescent // E0.0 [3] (☫..☭) FARSI SYMBOL..HAMMER AND SICKLE // E1.0 [1] (☮️) peace symbol // E0.7 [1] (☯️) yin yang // E0.0 [8] (☰..☷) TRIGRAM FOR HEAVEN..TRIGRAM FOR EARTH // E0.7 [2] (☸️..☹️) wheel of dharma..frowning face // E0.6 [1] (☺️) smiling face // E0.0 [5] (☻..☿) BLACK SMILING FACE..MERCURY // E4.0 [1] (♀️) female sign // E0.0 [1] (♁) EARTH // E4.0 [1] (♂️) male sign // E0.0 [5] (♃..♇) JUPITER..PLUTO // E0.6 [12] (♈..♓) Aries..Pisces // E0.0 [11] (♔..♞) WHITE CHESS KING..BLACK CHESS KNIGHT // E11.0 [1] (♟️) chess pawn // E0.6 [1] (♠️) spade suit // E0.0 [2] (♡..♢) WHITE HEART SUIT..WHITE DIAMOND SUIT // E0.6 [1] (♣️) club suit // E0.0 [1] (♤) WHITE SPADE SUIT // E0.6 [2] (♥️..♦️) heart suit..diamond suit // E0.0 [1] (♧) WHITE CLUB SUIT // E0.6 [1] (♨️) hot springs // E0.0 [18] (♩..♺) QUARTER NOTE..RECYCLING SYMBOL FOR GENERIC MATERIALS // E0.6 [1] (♻️) recycling symbol // E0.0 [2] (♼..♽) RECYCLED PAPER SYMBOL..PARTIALLY-RECYCLED PAPER SYMBOL // E11.0 [1] (♾️) infinity // E0.6 [1] (♿) wheelchair symbol // E0.0 [6] (⚀..⚅) DIE FACE-1..DIE FACE-6 if (0x2614 <= code && code <= 0x2685) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x2708) { // E0.0 [2] (⚐..⚑) WHITE FLAG..BLACK FLAG // E1.0 [1] (⚒️) hammer and pick // E0.6 [1] (⚓) anchor // E1.0 [1] (⚔️) crossed swords // E4.0 [1] (⚕️) medical symbol // E1.0 [2] (⚖️..⚗️) balance scale..alembic // E0.0 [1] (⚘) FLOWER // E1.0 [1] (⚙️) gear // E0.0 [1] (⚚) STAFF OF HERMES // E1.0 [2] (⚛️..⚜️) atom symbol..fleur-de-lis // E0.0 [3] (⚝..⚟) OUTLINED WHITE STAR..THREE LINES CONVERGING LEFT // E0.6 [2] (⚠️..⚡) warning..high voltage // E0.0 [5] (⚢..⚦) DOUBLED FEMALE SIGN..MALE WITH STROKE SIGN // E13.0 [1] (⚧️) transgender symbol // E0.0 [2] (⚨..⚩) VERTICAL MALE WITH STROKE SIGN..HORIZONTAL MALE WITH STROKE SIGN // E0.6 [2] (⚪..⚫) white circle..black circle // E0.0 [4] (⚬..⚯) MEDIUM SMALL WHITE CIRCLE..UNMARRIED PARTNERSHIP SYMBOL // E1.0 [2] (⚰️..⚱️) coffin..funeral urn // E0.0 [11] (⚲..⚼) NEUTER..SESQUIQUADRATE // E0.6 [2] (⚽..⚾) soccer ball..baseball // E0.0 [5] (⚿..⛃) SQUARED KEY..BLACK DRAUGHTS KING // E0.6 [2] (⛄..⛅) snowman without snow..sun behind cloud // E0.0 [2] (⛆..⛇) RAIN..BLACK SNOWMAN // E0.7 [1] (⛈️) cloud with lightning and rain // E0.0 [5] (⛉..⛍) TURNED WHITE SHOGI PIECE..DISABLED CAR // E0.6 [1] (⛎) Ophiuchus // E0.7 [1] (⛏️) pick // E0.0 [1] (⛐) CAR SLIDING // E0.7 [1] (⛑️) rescue worker’s helmet // E0.0 [1] (⛒) CIRCLED CROSSING LANES // E0.7 [1] (⛓️) chains // E0.6 [1] (⛔) no entry // E0.0 [20] (⛕..⛨) ALTERNATE ONE-WAY LEFT WAY TRAFFIC..BLACK CROSS ON SHIELD // E0.7 [1] (⛩️) shinto shrine // E0.6 [1] (⛪) church // E0.0 [5] (⛫..⛯) CASTLE..MAP SYMBOL FOR LIGHTHOUSE // E0.7 [2] (⛰️..⛱️) mountain..umbrella on ground // E0.6 [2] (⛲..⛳) fountain..flag in hole // E0.7 [1] (⛴️) ferry // E0.6 [1] (⛵) sailboat // E0.0 [1] (⛶) SQUARE FOUR CORNERS // E0.7 [3] (⛷️..⛹️) skier..person bouncing ball // E0.6 [1] (⛺) tent // E0.0 [2] (⛻..⛼) JAPANESE BANK SYMBOL..HEADSTONE GRAVEYARD SYMBOL // E0.6 [1] (⛽) fuel pump // E0.0 [4] (⛾..✁) CUP ON BLACK SQUARE..UPPER BLADE SCISSORS // E0.6 [1] (✂️) scissors // E0.0 [2] (✃..✄) LOWER BLADE SCISSORS..WHITE SCISSORS // E0.6 [1] (✅) check mark button if (0x2690 <= code && code <= 0x2705) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [5] (✈️..✌️) airplane..victory hand // E0.7 [1] (✍️) writing hand // E0.0 [1] (✎) LOWER RIGHT PENCIL // E0.6 [1] (✏️) pencil // E0.0 [2] (✐..✑) UPPER RIGHT PENCIL..WHITE NIB // E0.6 [1] (✒️) black nib if (0x2708 <= code && code <= 0x2712) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } else { if (code < 0x271d) { // E0.6 [1] (✔️) check mark if (0x2714 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (✖️) multiply if (0x2716 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x2721) { // E0.7 [1] (✝️) latin cross if (0x271d === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.7 [1] (✡️) star of David if (0x2721 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (✨) sparkles if (0x2728 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } else { if (code < 0x2753) { if (code < 0x2747) { if (code < 0x2744) { // E0.6 [2] (✳️..✴️) eight-spoked asterisk..eight-pointed star if (0x2733 <= code && code <= 0x2734) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (❄️) snowflake if (0x2744 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x274c) { // E0.6 [1] (❇️) sparkle if (0x2747 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (❌) cross mark if (0x274c === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (❎) cross mark button if (0x274e === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } else { if (code < 0x2763) { if (code < 0x2757) { // E0.6 [3] (❓..❕) red question mark..white exclamation mark if (0x2753 <= code && code <= 0x2755) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (❗) red exclamation mark if (0x2757 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x2795) { // E1.0 [1] (❣️) heart exclamation // E0.6 [1] (❤️) red heart // E0.0 [3] (❥..❧) ROTATED HEAVY BLACK HEART BULLET..ROTATED FLORAL HEART BULLET if (0x2763 <= code && code <= 0x2767) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x27a1) { // E0.6 [3] (➕..➗) plus..divide if (0x2795 <= code && code <= 0x2797) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (➡️) right arrow if (0x27a1 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } } } } else { if (code < 0x1f201) { if (code < 0x3297) { if (code < 0x2b1b) { if (code < 0x2934) { // E0.6 [1] (➰) curly loop if (0x27b0 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E1.0 [1] (➿) double curly loop if (0x27bf === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x2b05) { // E0.6 [2] (⤴️..⤵️) right arrow curving up..right arrow curving down if (0x2934 <= code && code <= 0x2935) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [3] (⬅️..⬇️) left arrow..down arrow if (0x2b05 <= code && code <= 0x2b07) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } else { if (code < 0x2b55) { if (code < 0x2b50) { // E0.6 [2] (⬛..⬜) black large square..white large square if (0x2b1b <= code && code <= 0x2b1c) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (⭐) star if (0x2b50 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x3030) { // E0.6 [1] (⭕) hollow red circle if (0x2b55 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (〰️) wavy dash if (0x3030 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (〽️) part alternation mark if (0x303d === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } else { if (code < 0x1f16c) { if (code < 0x1f000) { // E0.6 [1] (㊗️) Japanese “congratulations” button if (0x3297 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } // E0.6 [1] (㊙️) Japanese “secret” button if (0x3299 === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x1f10d) { // E0.0 [4] (🀀..🀃) MAHJONG TILE EAST WIND..MAHJONG TILE NORTH WIND // E0.6 [1] (🀄) mahjong red dragon // E0.0 [202] (🀅..🃎) MAHJONG TILE GREEN DRAGON..PLAYING CARD KING OF DIAMONDS // E0.6 [1] (🃏) joker // E0.0 [48] (🃐..🃿) .. if (0x1f000 <= code && code <= 0x1f0ff) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x1f12f) { // E0.0 [3] (🄍..🄏) CIRCLED ZERO WITH SLASH..CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH if (0x1f10d <= code && code <= 0x1f10f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0 [1] (🄯) COPYLEFT SYMBOL if (0x1f12f === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } else { if (code < 0x1f18e) { if (code < 0x1f17e) { // E0.0 [4] (🅬..🅯) RAISED MR SIGN..CIRCLED HUMAN FIGURE // E0.6 [2] (🅰️..🅱️) A button (blood type)..B button (blood type) if (0x1f16c <= code && code <= 0x1f171) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [2] (🅾️..🅿️) O button (blood type)..P button if (0x1f17e <= code && code <= 0x1f17f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x1f191) { // E0.6 [1] (🆎) AB button (blood type) if (0x1f18e === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x1f1ad) { // E0.6 [10] (🆑..🆚) CL button..VS button if (0x1f191 <= code && code <= 0x1f19a) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0 [57] (🆭..🇥) MASK WORK SYMBOL.. if (0x1f1ad <= code && code <= 0x1f1e5) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } } } else { if (code < 0x1f7d5) { if (code < 0x1f249) { if (code < 0x1f22f) { if (code < 0x1f21a) { // E0.6 [2] (🈁..🈂️) Japanese “here” button..Japanese “service charge” button // E0.0 [13] (🈃..🈏) .. if (0x1f201 <= code && code <= 0x1f20f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.6 [1] (🈚) Japanese “free of charge” button if (0x1f21a === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x1f232) { // E0.6 [1] (🈯) Japanese “reserved” button if (0x1f22f === code) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x1f23c) { // E0.6 [9] (🈲..🈺) Japanese “prohibited” button..Japanese “open for business” button if (0x1f232 <= code && code <= 0x1f23a) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0 [4] (🈼..🈿) .. if (0x1f23c <= code && code <= 0x1f23f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } else { if (code < 0x1f546) { if (code < 0x1f400) { // E0.0 [7] (🉉..🉏) .. // E0.6 [2] (🉐..🉑) Japanese “bargain” button..Japanese “acceptable” button // E0.0 [174] (🉒..🋿) .. // E0.6 [13] (🌀..🌌) cyclone..milky way // E0.7 [2] (🌍..🌎) globe showing Europe-Africa..globe showing Americas // E0.6 [1] (🌏) globe showing Asia-Australia // E1.0 [1] (🌐) globe with meridians // E0.6 [1] (🌑) new moon // E1.0 [1] (🌒) waxing crescent moon // E0.6 [3] (🌓..🌕) first quarter moon..full moon // E1.0 [3] (🌖..🌘) waning gibbous moon..waning crescent moon // E0.6 [1] (🌙) crescent moon // E1.0 [1] (🌚) new moon face // E0.6 [1] (🌛) first quarter moon face // E0.7 [1] (🌜) last quarter moon face // E1.0 [2] (🌝..🌞) full moon face..sun with face // E0.6 [2] (🌟..🌠) glowing star..shooting star // E0.7 [1] (🌡️) thermometer // E0.0 [2] (🌢..🌣) BLACK DROPLET..WHITE SUN // E0.7 [9] (🌤️..🌬️) sun behind small cloud..wind face // E1.0 [3] (🌭..🌯) hot dog..burrito // E0.6 [2] (🌰..🌱) chestnut..seedling // E1.0 [2] (🌲..🌳) evergreen tree..deciduous tree // E0.6 [2] (🌴..🌵) palm tree..cactus // E0.7 [1] (🌶️) hot pepper // E0.6 [20] (🌷..🍊) tulip..tangerine // E1.0 [1] (🍋) lemon // E0.6 [4] (🍌..🍏) banana..green apple // E1.0 [1] (🍐) pear // E0.6 [43] (🍑..🍻) peach..clinking beer mugs // E1.0 [1] (🍼) baby bottle // E0.7 [1] (🍽️) fork and knife with plate // E1.0 [2] (🍾..🍿) bottle with popping cork..popcorn // E0.6 [20] (🎀..🎓) ribbon..graduation cap // E0.0 [2] (🎔..🎕) HEART WITH TIP ON THE LEFT..BOUQUET OF FLOWERS // E0.7 [2] (🎖️..🎗️) military medal..reminder ribbon // E0.0 [1] (🎘) MUSICAL KEYBOARD WITH JACKS // E0.7 [3] (🎙️..🎛️) studio microphone..control knobs // E0.0 [2] (🎜..🎝) BEAMED ASCENDING MUSICAL NOTES..BEAMED DESCENDING MUSICAL NOTES // E0.7 [2] (🎞️..🎟️) film frames..admission tickets // E0.6 [37] (🎠..🏄) carousel horse..person surfing // E1.0 [1] (🏅) sports medal // E0.6 [1] (🏆) trophy // E1.0 [1] (🏇) horse racing // E0.6 [1] (🏈) american football // E1.0 [1] (🏉) rugby football // E0.6 [1] (🏊) person swimming // E0.7 [4] (🏋️..🏎️) person lifting weights..racing car // E1.0 [5] (🏏..🏓) cricket game..ping pong // E0.7 [12] (🏔️..🏟️) snow-capped mountain..stadium // E0.6 [4] (🏠..🏣) house..Japanese post office // E1.0 [1] (🏤) post office // E0.6 [12] (🏥..🏰) hospital..castle // E0.0 [2] (🏱..🏲) WHITE PENNANT..BLACK PENNANT // E0.7 [1] (🏳️) white flag // E1.0 [1] (🏴) black flag // E0.7 [1] (🏵️) rosette // E0.0 [1] (🏶) BLACK ROSETTE // E0.7 [1] (🏷️) label // E1.0 [3] (🏸..🏺) badminton..amphora if (0x1f249 <= code && code <= 0x1f3fa) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E1.0 [8] (🐀..🐇) rat..rabbit // E0.7 [1] (🐈) cat // E1.0 [3] (🐉..🐋) dragon..whale // E0.6 [3] (🐌..🐎) snail..horse // E1.0 [2] (🐏..🐐) ram..goat // E0.6 [2] (🐑..🐒) ewe..monkey // E1.0 [1] (🐓) rooster // E0.6 [1] (🐔) chicken // E0.7 [1] (🐕) dog // E1.0 [1] (🐖) pig // E0.6 [19] (🐗..🐩) boar..poodle // E1.0 [1] (🐪) camel // E0.6 [20] (🐫..🐾) two-hump camel..paw prints // E0.7 [1] (🐿️) chipmunk // E0.6 [1] (👀) eyes // E0.7 [1] (👁️) eye // E0.6 [35] (👂..👤) ear..bust in silhouette // E1.0 [1] (👥) busts in silhouette // E0.6 [6] (👦..👫) boy..woman and man holding hands // E1.0 [2] (👬..👭) men holding hands..women holding hands // E0.6 [63] (👮..💬) police officer..speech balloon // E1.0 [1] (💭) thought balloon // E0.6 [8] (💮..💵) white flower..dollar banknote // E1.0 [2] (💶..💷) euro banknote..pound banknote // E0.6 [52] (💸..📫) money with wings..closed mailbox with raised flag // E0.7 [2] (📬..📭) open mailbox with raised flag..open mailbox with lowered flag // E0.6 [1] (📮) postbox // E1.0 [1] (📯) postal horn // E0.6 [5] (📰..📴) newspaper..mobile phone off // E1.0 [1] (📵) no mobile phones // E0.6 [2] (📶..📷) antenna bars..camera // E1.0 [1] (📸) camera with flash // E0.6 [4] (📹..📼) video camera..videocassette // E0.7 [1] (📽️) film projector // E0.0 [1] (📾) PORTABLE STEREO // E1.0 [4] (📿..🔂) prayer beads..repeat single button // E0.6 [1] (🔃) clockwise vertical arrows // E1.0 [4] (🔄..🔇) counterclockwise arrows button..muted speaker // E0.7 [1] (🔈) speaker low volume // E1.0 [1] (🔉) speaker medium volume // E0.6 [11] (🔊..🔔) speaker high volume..bell // E1.0 [1] (🔕) bell with slash // E0.6 [22] (🔖..🔫) bookmark..water pistol // E1.0 [2] (🔬..🔭) microscope..telescope // E0.6 [16] (🔮..🔽) crystal ball..downwards button if (0x1f400 <= code && code <= 0x1f53d) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x1f680) { // E0.0 [3] (🕆..🕈) WHITE LATIN CROSS..CELTIC CROSS // E0.7 [2] (🕉️..🕊️) om..dove // E1.0 [4] (🕋..🕎) kaaba..menorah // E0.0 [1] (🕏) BOWL OF HYGIEIA // E0.6 [12] (🕐..🕛) one o’clock..twelve o’clock // E0.7 [12] (🕜..🕧) one-thirty..twelve-thirty // E0.0 [7] (🕨..🕮) RIGHT SPEAKER..BOOK // E0.7 [2] (🕯️..🕰️) candle..mantelpiece clock // E0.0 [2] (🕱..🕲) BLACK SKULL AND CROSSBONES..NO PIRACY // E0.7 [7] (🕳️..🕹️) hole..joystick // E3.0 [1] (🕺) man dancing // E0.0 [12] (🕻..🖆) LEFT HAND TELEPHONE RECEIVER..PEN OVER STAMPED ENVELOPE // E0.7 [1] (🖇️) linked paperclips // E0.0 [2] (🖈..🖉) BLACK PUSHPIN..LOWER LEFT PENCIL // E0.7 [4] (🖊️..🖍️) pen..crayon // E0.0 [2] (🖎..🖏) LEFT WRITING HAND..TURNED OK HAND SIGN // E0.7 [1] (🖐️) hand with fingers splayed // E0.0 [4] (🖑..🖔) REVERSED RAISED HAND WITH FINGERS SPLAYED..REVERSED VICTORY HAND // E1.0 [2] (🖕..🖖) middle finger..vulcan salute // E0.0 [13] (🖗..🖣) WHITE DOWN POINTING LEFT HAND INDEX..BLACK DOWN POINTING BACKHAND INDEX // E3.0 [1] (🖤) black heart // E0.7 [1] (🖥️) desktop computer // E0.0 [2] (🖦..🖧) KEYBOARD AND MOUSE..THREE NETWORKED COMPUTERS // E0.7 [1] (🖨️) printer // E0.0 [8] (🖩..🖰) POCKET CALCULATOR..TWO BUTTON MOUSE // E0.7 [2] (🖱️..🖲️) computer mouse..trackball // E0.0 [9] (🖳..🖻) OLD PERSONAL COMPUTER..DOCUMENT WITH PICTURE // E0.7 [1] (🖼️) framed picture // E0.0 [5] (🖽..🗁) FRAME WITH TILES..OPEN FOLDER // E0.7 [3] (🗂️..🗄️) card index dividers..file cabinet // E0.0 [12] (🗅..🗐) EMPTY NOTE..PAGES // E0.7 [3] (🗑️..🗓️) wastebasket..spiral calendar // E0.0 [8] (🗔..🗛) DESKTOP WINDOW..DECREASE FONT SIZE SYMBOL // E0.7 [3] (🗜️..🗞️) clamp..rolled-up newspaper // E0.0 [2] (🗟..🗠) PAGE WITH CIRCLED TEXT..STOCK CHART // E0.7 [1] (🗡️) dagger // E0.0 [1] (🗢) LIPS // E0.7 [1] (🗣️) speaking head // E0.0 [4] (🗤..🗧) THREE RAYS ABOVE..THREE RAYS RIGHT // E2.0 [1] (🗨️) left speech bubble // E0.0 [6] (🗩..🗮) RIGHT SPEECH BUBBLE..LEFT ANGER BUBBLE // E0.7 [1] (🗯️) right anger bubble // E0.0 [3] (🗰..🗲) MOOD BUBBLE..LIGHTNING MOOD // E0.7 [1] (🗳️) ballot box with ballot // E0.0 [6] (🗴..🗹) BALLOT SCRIPT X..BALLOT BOX WITH BOLD CHECK // E0.7 [1] (🗺️) world map // E0.6 [5] (🗻..🗿) mount fuji..moai // E1.0 [1] (😀) grinning face // E0.6 [6] (😁..😆) beaming face with smiling eyes..grinning squinting face // E1.0 [2] (😇..😈) smiling face with halo..smiling face with horns // E0.6 [5] (😉..😍) winking face..smiling face with heart-eyes // E1.0 [1] (😎) smiling face with sunglasses // E0.6 [1] (😏) smirking face // E0.7 [1] (😐) neutral face // E1.0 [1] (😑) expressionless face // E0.6 [3] (😒..😔) unamused face..pensive face // E1.0 [1] (😕) confused face // E0.6 [1] (😖) confounded face // E1.0 [1] (😗) kissing face // E0.6 [1] (😘) face blowing a kiss // E1.0 [1] (😙) kissing face with smiling eyes // E0.6 [1] (😚) kissing face with closed eyes // E1.0 [1] (😛) face with tongue // E0.6 [3] (😜..😞) winking face with tongue..disappointed face // E1.0 [1] (😟) worried face // E0.6 [6] (😠..😥) angry face..sad but relieved face // E1.0 [2] (😦..😧) frowning face with open mouth..anguished face // E0.6 [4] (😨..😫) fearful face..tired face // E1.0 [1] (😬) grimacing face // E0.6 [1] (😭) loudly crying face // E1.0 [2] (😮..😯) face with open mouth..hushed face // E0.6 [4] (😰..😳) anxious face with sweat..flushed face // E1.0 [1] (😴) sleeping face // E0.6 [1] (😵) face with crossed-out eyes // E1.0 [1] (😶) face without mouth // E0.6 [10] (😷..🙀) face with medical mask..weary cat // E1.0 [4] (🙁..🙄) slightly frowning face..face with rolling eyes // E0.6 [11] (🙅..🙏) person gesturing NO..folded hands if (0x1f546 <= code && code <= 0x1f64f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x1f774) { // E0.6 [1] (🚀) rocket // E1.0 [2] (🚁..🚂) helicopter..locomotive // E0.6 [3] (🚃..🚅) railway car..bullet train // E1.0 [1] (🚆) train // E0.6 [1] (🚇) metro // E1.0 [1] (🚈) light rail // E0.6 [1] (🚉) station // E1.0 [2] (🚊..🚋) tram..tram car // E0.6 [1] (🚌) bus // E0.7 [1] (🚍) oncoming bus // E1.0 [1] (🚎) trolleybus // E0.6 [1] (🚏) bus stop // E1.0 [1] (🚐) minibus // E0.6 [3] (🚑..🚓) ambulance..police car // E0.7 [1] (🚔) oncoming police car // E0.6 [1] (🚕) taxi // E1.0 [1] (🚖) oncoming taxi // E0.6 [1] (🚗) automobile // E0.7 [1] (🚘) oncoming automobile // E0.6 [2] (🚙..🚚) sport utility vehicle..delivery truck // E1.0 [7] (🚛..🚡) articulated lorry..aerial tramway // E0.6 [1] (🚢) ship // E1.0 [1] (🚣) person rowing boat // E0.6 [2] (🚤..🚥) speedboat..horizontal traffic light // E1.0 [1] (🚦) vertical traffic light // E0.6 [7] (🚧..🚭) construction..no smoking // E1.0 [4] (🚮..🚱) litter in bin sign..non-potable water // E0.6 [1] (🚲) bicycle // E1.0 [3] (🚳..🚵) no bicycles..person mountain biking // E0.6 [1] (🚶) person walking // E1.0 [2] (🚷..🚸) no pedestrians..children crossing // E0.6 [6] (🚹..🚾) men’s room..water closet // E1.0 [1] (🚿) shower // E0.6 [1] (🛀) person taking bath // E1.0 [5] (🛁..🛅) bathtub..left luggage // E0.0 [5] (🛆..🛊) TRIANGLE WITH ROUNDED CORNERS..GIRLS SYMBOL // E0.7 [1] (🛋️) couch and lamp // E1.0 [1] (🛌) person in bed // E0.7 [3] (🛍️..🛏️) shopping bags..bed // E1.0 [1] (🛐) place of worship // E3.0 [2] (🛑..🛒) stop sign..shopping cart // E0.0 [2] (🛓..🛔) STUPA..PAGODA // E12.0 [1] (🛕) hindu temple // E13.0 [2] (🛖..🛗) hut..elevator // E0.0 [4] (🛘..🛛) .. // E15.0 [1] (🛜) wireless // E14.0 [3] (🛝..🛟) playground slide..ring buoy // E0.7 [6] (🛠️..🛥️) hammer and wrench..motor boat // E0.0 [3] (🛦..🛨) UP-POINTING MILITARY AIRPLANE..UP-POINTING SMALL AIRPLANE // E0.7 [1] (🛩️) small airplane // E0.0 [1] (🛪) NORTHEAST-POINTING AIRPLANE // E1.0 [2] (🛫..🛬) airplane departure..airplane arrival // E0.0 [3] (🛭..🛯) .. // E0.7 [1] (🛰️) satellite // E0.0 [2] (🛱..🛲) ONCOMING FIRE ENGINE..DIESEL LOCOMOTIVE // E0.7 [1] (🛳️) passenger ship // E3.0 [3] (🛴..🛶) kick scooter..canoe // E5.0 [2] (🛷..🛸) sled..flying saucer // E11.0 [1] (🛹) skateboard // E12.0 [1] (🛺) auto rickshaw // E13.0 [2] (🛻..🛼) pickup truck..roller skate // E0.0 [3] (🛽..🛿) .. if (0x1f680 <= code && code <= 0x1f6ff) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0 [12] (🝴..🝿) LOT OF FORTUNE..ORCUS if (0x1f774 <= code && code <= 0x1f77f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } } else { if (code < 0x1f8ae) { if (code < 0x1f848) { if (code < 0x1f80c) { // E0.0 [11] (🟕..🟟) CIRCLED TRIANGLE.. // E12.0 [12] (🟠..🟫) orange circle..brown square // E0.0 [4] (🟬..🟯) .. // E14.0 [1] (🟰) heavy equals sign // E0.0 [15] (🟱..🟿) .. if (0x1f7d5 <= code && code <= 0x1f7ff) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0 [4] (🠌..🠏) .. if (0x1f80c <= code && code <= 0x1f80f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x1f85a) { // E0.0 [8] (🡈..🡏) .. if (0x1f848 <= code && code <= 0x1f84f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x1f888) { // E0.0 [6] (🡚..🡟) .. if (0x1f85a <= code && code <= 0x1f85f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0 [8] (🢈..🢏) .. if (0x1f888 <= code && code <= 0x1f88f) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } else { if (code < 0x1f93c) { if (code < 0x1f90c) { // E0.0 [82] (🢮..🣿) .. if (0x1f8ae <= code && code <= 0x1f8ff) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E13.0 [1] (🤌) pinched fingers // E12.0 [3] (🤍..🤏) white heart..pinching hand // E1.0 [9] (🤐..🤘) zipper-mouth face..sign of the horns // E3.0 [6] (🤙..🤞) call me hand..crossed fingers // E5.0 [1] (🤟) love-you gesture // E3.0 [8] (🤠..🤧) cowboy hat face..sneezing face // E5.0 [8] (🤨..🤯) face with raised eyebrow..exploding head // E3.0 [1] (🤰) pregnant woman // E5.0 [2] (🤱..🤲) breast-feeding..palms up together // E3.0 [8] (🤳..🤺) selfie..person fencing if (0x1f90c <= code && code <= 0x1f93a) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } else { if (code < 0x1f947) { // E3.0 [3] (🤼..🤾) people wrestling..person playing handball // E12.0 [1] (🤿) diving mask // E3.0 [6] (🥀..🥅) wilted flower..goal net if (0x1f93c <= code && code <= 0x1f945) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { if (code < 0x1fc00) { // E3.0 [5] (🥇..🥋) 1st place medal..martial arts uniform // E5.0 [1] (🥌) curling stone // E11.0 [3] (🥍..🥏) lacrosse..flying disc // E3.0 [15] (🥐..🥞) croissant..pancakes // E5.0 [13] (🥟..🥫) dumpling..canned food // E11.0 [5] (🥬..🥰) leafy green..smiling face with hearts // E12.0 [1] (🥱) yawning face // E13.0 [1] (🥲) smiling face with tear // E11.0 [4] (🥳..🥶) partying face..cold face // E13.0 [2] (🥷..🥸) ninja..disguised face // E14.0 [1] (🥹) face holding back tears // E11.0 [1] (🥺) pleading face // E12.0 [1] (🥻) sari // E11.0 [4] (🥼..🥿) lab coat..flat shoe // E1.0 [5] (🦀..🦄) crab..unicorn // E3.0 [13] (🦅..🦑) eagle..squid // E5.0 [6] (🦒..🦗) giraffe..cricket // E11.0 [11] (🦘..🦢) kangaroo..swan // E13.0 [2] (🦣..🦤) mammoth..dodo // E12.0 [6] (🦥..🦪) sloth..oyster // E13.0 [3] (🦫..🦭) beaver..seal // E12.0 [2] (🦮..🦯) guide dog..white cane // E11.0 [10] (🦰..🦹) red hair..supervillain // E12.0 [6] (🦺..🦿) safety vest..mechanical leg // E1.0 [1] (🧀) cheese wedge // E11.0 [2] (🧁..🧂) cupcake..salt // E12.0 [8] (🧃..🧊) beverage box..ice // E13.0 [1] (🧋) bubble tea // E14.0 [1] (🧌) troll // E12.0 [3] (🧍..🧏) person standing..deaf person // E5.0 [23] (🧐..🧦) face with monocle..socks // E11.0 [25] (🧧..🧿) red envelope..nazar amulet // E0.0 [112] (🨀..🩯) NEUTRAL CHESS KING.. // E12.0 [4] (🩰..🩳) ballet shoes..shorts // E13.0 [1] (🩴) thong sandal // E15.0 [3] (🩵..🩷) light blue heart..pink heart // E12.0 [3] (🩸..🩺) drop of blood..stethoscope // E14.0 [2] (🩻..🩼) x-ray..crutch // E0.0 [3] (🩽..🩿) .. // E12.0 [3] (🪀..🪂) yo-yo..parachute // E13.0 [4] (🪃..🪆) boomerang..nesting dolls // E15.0 [2] (🪇..🪈) maracas..flute // E0.0 [7] (🪉..🪏) .. // E12.0 [6] (🪐..🪕) ringed planet..banjo // E13.0 [19] (🪖..🪨) military helmet..rock // E14.0 [4] (🪩..🪬) mirror ball..hamsa // E15.0 [3] (🪭..🪯) folding hand fan..khanda // E13.0 [7] (🪰..🪶) fly..feather // E14.0 [4] (🪷..🪺) lotus..nest with eggs // E15.0 [3] (🪻..🪽) hyacinth..wing // E0.0 [1] (🪾) // E15.0 [1] (🪿) goose // E13.0 [3] (🫀..🫂) anatomical heart..people hugging // E14.0 [3] (🫃..🫅) pregnant man..person with crown // E0.0 [8] (🫆..🫍) .. // E15.0 [2] (🫎..🫏) moose..donkey // E13.0 [7] (🫐..🫖) blueberries..teapot // E14.0 [3] (🫗..🫙) pouring liquid..jar // E15.0 [2] (🫚..🫛) ginger root..pea pod // E0.0 [4] (🫜..🫟) .. // E14.0 [8] (🫠..🫧) melting face..bubbles // E15.0 [1] (🫨) shaking face // E0.0 [7] (🫩..🫯) .. // E14.0 [7] (🫰..🫶) hand with index finger and thumb crossed..heart hands // E15.0 [2] (🫷..🫸) leftwards pushing hand..rightwards pushing hand // E0.0 [7] (🫹..🫿) .. if (0x1f947 <= code && code <= 0x1faff) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } else { // E0.0[1022] (🰀..🿽) .. if (0x1fc00 <= code && code <= 0x1fffd) { return boundaries_1.EXTENDED_PICTOGRAPHIC; } } } } } } } } // unlisted code points are treated as a break property of "Other" return boundaries_1.CLUSTER_BREAK.OTHER; } } exports.default = Graphemer;