{"version":3,"sources":["jsdelivr-header.js","/npm/markdown-it-cjk-breaks@2.0.1/dist/index.cjs.js"],"names":[],"mappings":"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","file":"/npm/markdown-it-cjk-breaks@2.0.1/dist/index.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/markdown-it-cjk-breaks@2.0.1/dist/index.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\n// Generated by scripts/build.js\n\nconst ambiguousMinimalCodePoint = 161;\nconst ambiguousMaximumCodePoint = 1114109;\nconst ambiguousRanges = [161, 161, 164, 164, 167, 168, 170, 170, 173, 174, 176, 180, 182, 186, 188, 191, 198, 198, 208, 208, 215, 216, 222, 225, 230, 230, 232, 234, 236, 237, 240, 240, 242, 243, 247, 250, 252, 252, 254, 254, 257, 257, 273, 273, 275, 275, 283, 283, 294, 295, 299, 299, 305, 307, 312, 312, 319, 322, 324, 324, 328, 331, 333, 333, 338, 339, 358, 359, 363, 363, 462, 462, 464, 464, 466, 466, 468, 468, 470, 470, 472, 472, 474, 474, 476, 476, 593, 593, 609, 609, 708, 708, 711, 711, 713, 715, 717, 717, 720, 720, 728, 731, 733, 733, 735, 735, 768, 879, 913, 929, 931, 937, 945, 961, 963, 969, 1025, 1025, 1040, 1103, 1105, 1105, 8208, 8208, 8211, 8214, 8216, 8217, 8220, 8221, 8224, 8226, 8228, 8231, 8240, 8240, 8242, 8243, 8245, 8245, 8251, 8251, 8254, 8254, 8308, 8308, 8319, 8319, 8321, 8324, 8364, 8364, 8451, 8451, 8453, 8453, 8457, 8457, 8467, 8467, 8470, 8470, 8481, 8482, 8486, 8486, 8491, 8491, 8531, 8532, 8539, 8542, 8544, 8555, 8560, 8569, 8585, 8585, 8592, 8601, 8632, 8633, 8658, 8658, 8660, 8660, 8679, 8679, 8704, 8704, 8706, 8707, 8711, 8712, 8715, 8715, 8719, 8719, 8721, 8721, 8725, 8725, 8730, 8730, 8733, 8736, 8739, 8739, 8741, 8741, 8743, 8748, 8750, 8750, 8756, 8759, 8764, 8765, 8776, 8776, 8780, 8780, 8786, 8786, 8800, 8801, 8804, 8807, 8810, 8811, 8814, 8815, 8834, 8835, 8838, 8839, 8853, 8853, 8857, 8857, 8869, 8869, 8895, 8895, 8978, 8978, 9312, 9449, 9451, 9547, 9552, 9587, 9600, 9615, 9618, 9621, 9632, 9633, 9635, 9641, 9650, 9651, 9654, 9655, 9660, 9661, 9664, 9665, 9670, 9672, 9675, 9675, 9678, 9681, 9698, 9701, 9711, 9711, 9733, 9734, 9737, 9737, 9742, 9743, 9756, 9756, 9758, 9758, 9792, 9792, 9794, 9794, 9824, 9825, 9827, 9829, 9831, 9834, 9836, 9837, 9839, 9839, 9886, 9887, 9919, 9919, 9926, 9933, 9935, 9939, 9941, 9953, 9955, 9955, 9960, 9961, 9963, 9969, 9972, 9972, 9974, 9977, 9979, 9980, 9982, 9983, 10045, 10045, 10102, 10111, 11094, 11097, 12872, 12879, 57344, 63743, 65024, 65039, 65533, 65533, 127232, 127242, 127248, 127277, 127280, 127337, 127344, 127373, 127375, 127376, 127387, 127404, 917760, 917999, 983040, 1048573, 1048576, 1114109];\nconst fullwidthMinimalCodePoint = 12288;\nconst fullwidthMaximumCodePoint = 65510;\nconst fullwidthRanges = [12288, 12288, 65281, 65376, 65504, 65510];\nconst halfwidthMinimalCodePoint = 8361;\nconst halfwidthMaximumCodePoint = 65518;\nconst halfwidthRanges = [8361, 8361, 65377, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65512, 65518];\nconst narrowMinimalCodePoint = 32;\nconst narrowMaximumCodePoint = 10630;\nconst narrowRanges = [32, 126, 162, 163, 165, 166, 172, 172, 175, 175, 10214, 10221, 10629, 10630];\nconst wideMinimalCodePoint = 4352;\nconst wideMaximumCodePoint = 262141;\nconst wideRanges = [4352, 4447, 8986, 8987, 9001, 9002, 9193, 9196, 9200, 9200, 9203, 9203, 9725, 9726, 9748, 9749, 9776, 9783, 9800, 9811, 9855, 9855, 9866, 9871, 9875, 9875, 9889, 9889, 9898, 9899, 9917, 9918, 9924, 9925, 9934, 9934, 9940, 9940, 9962, 9962, 9970, 9971, 9973, 9973, 9978, 9978, 9981, 9981, 9989, 9989, 9994, 9995, 10024, 10024, 10060, 10060, 10062, 10062, 10067, 10069, 10071, 10071, 10133, 10135, 10160, 10160, 10175, 10175, 11035, 11036, 11088, 11088, 11093, 11093, 11904, 11929, 11931, 12019, 12032, 12245, 12272, 12287, 12289, 12350, 12353, 12438, 12441, 12543, 12549, 12591, 12593, 12686, 12688, 12773, 12783, 12830, 12832, 12871, 12880, 42124, 42128, 42182, 43360, 43388, 44032, 55203, 63744, 64255, 65040, 65049, 65072, 65106, 65108, 65126, 65128, 65131, 94176, 94180, 94192, 94198, 94208, 101589, 101631, 101662, 101760, 101874, 110576, 110579, 110581, 110587, 110589, 110590, 110592, 110882, 110898, 110898, 110928, 110930, 110933, 110933, 110948, 110951, 110960, 111355, 119552, 119638, 119648, 119670, 126980, 126980, 127183, 127183, 127374, 127374, 127377, 127386, 127488, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 127776, 127789, 127797, 127799, 127868, 127870, 127891, 127904, 127946, 127951, 127955, 127968, 127984, 127988, 127988, 127992, 128062, 128064, 128064, 128066, 128252, 128255, 128317, 128331, 128334, 128336, 128359, 128378, 128378, 128405, 128406, 128420, 128420, 128507, 128591, 128640, 128709, 128716, 128716, 128720, 128722, 128725, 128728, 128732, 128735, 128747, 128748, 128756, 128764, 128992, 129003, 129008, 129008, 129292, 129338, 129340, 129349, 129351, 129535, 129648, 129660, 129664, 129674, 129678, 129734, 129736, 129736, 129741, 129756, 129759, 129770, 129775, 129784, 131072, 196605, 196608, 262141];\n\n/**\nBinary search on a sorted flat array of [start, end] pairs.\n\n@param {number[]} ranges - Flat array of inclusive [start, end] range pairs, e.g. [0, 5, 10, 20].\n@param {number} codePoint - The value to search for.\n@returns {boolean} Whether the value falls within any of the ranges.\n*/\nconst isInRange = (ranges, codePoint) => {\n  let low = 0;\n  let high = Math.floor(ranges.length / 2) - 1;\n  while (low <= high) {\n    const mid = Math.floor((low + high) / 2);\n    const i = mid * 2;\n    if (codePoint < ranges[i]) {\n      high = mid - 1;\n    } else if (codePoint > ranges[i + 1]) {\n      low = mid + 1;\n    } else {\n      return true;\n    }\n  }\n  return false;\n};\n\nconst commonCjkCodePoint = 0x4E_00;\nconst [wideFastPathStart, wideFastPathEnd] = /* #__PURE__ */findWideFastPathRange(wideRanges);\n\n// Use a hot-path range so common `isWide` calls can skip binary search.\n// The range containing U+4E00 covers common CJK ideographs;\n// fallback to the largest range for resilience to Unicode table changes.\nfunction findWideFastPathRange(ranges) {\n  let fastPathStart = ranges[0];\n  let fastPathEnd = ranges[1];\n  for (let index = 0; index < ranges.length; index += 2) {\n    const start = ranges[index];\n    const end = ranges[index + 1];\n    if (commonCjkCodePoint >= start && commonCjkCodePoint <= end) {\n      return [start, end];\n    }\n    if (end - start > fastPathEnd - fastPathStart) {\n      fastPathStart = start;\n      fastPathEnd = end;\n    }\n  }\n  return [fastPathStart, fastPathEnd];\n}\nconst isAmbiguous = codePoint => {\n  if (codePoint < ambiguousMinimalCodePoint || codePoint > ambiguousMaximumCodePoint) {\n    return false;\n  }\n  return isInRange(ambiguousRanges, codePoint);\n};\nconst isFullWidth = codePoint => {\n  if (codePoint < fullwidthMinimalCodePoint || codePoint > fullwidthMaximumCodePoint) {\n    return false;\n  }\n  return isInRange(fullwidthRanges, codePoint);\n};\nconst isHalfWidth = codePoint => {\n  if (codePoint < halfwidthMinimalCodePoint || codePoint > halfwidthMaximumCodePoint) {\n    return false;\n  }\n  return isInRange(halfwidthRanges, codePoint);\n};\nconst isNarrow = codePoint => {\n  if (codePoint < narrowMinimalCodePoint || codePoint > narrowMaximumCodePoint) {\n    return false;\n  }\n  return isInRange(narrowRanges, codePoint);\n};\nconst isWide = codePoint => {\n  if (codePoint >= wideFastPathStart && codePoint <= wideFastPathEnd) {\n    return true;\n  }\n  if (codePoint < wideMinimalCodePoint || codePoint > wideMaximumCodePoint) {\n    return false;\n  }\n  return isInRange(wideRanges, codePoint);\n};\nfunction getCategory(codePoint) {\n  if (isAmbiguous(codePoint)) {\n    return 'ambiguous';\n  }\n  if (isFullWidth(codePoint)) {\n    return 'fullwidth';\n  }\n  if (isHalfWidth(codePoint)) {\n    return 'halfwidth';\n  }\n  if (isNarrow(codePoint)) {\n    return 'narrow';\n  }\n  if (isWide(codePoint)) {\n    return 'wide';\n  }\n  return 'neutral';\n}\n\nfunction validate(codePoint) {\n  if (!Number.isSafeInteger(codePoint)) {\n    throw new TypeError(`Expected a code point, got \\`${typeof codePoint}\\`.`);\n  }\n}\nfunction eastAsianWidthType(codePoint) {\n  validate(codePoint);\n  return getCategory(codePoint);\n}\n\nfunction is_surrogate(c1, c2) {\n  return c1 >= 0xD800 && c1 <= 0xDBFF && c2 >= 0xDC00 && c2 <= 0xDFFF;\n}\nfunction is_hangul(c) {\n  // require('unicode-10.0.0/Script/Hangul/regex')\n  /* eslint-disable max-len, no-misleading-character-class */\n  return /[\\u1100-\\u11FF\\u302E\\u302F\\u3131-\\u318E\\u3200-\\u321E\\u3260-\\u327E\\uA960-\\uA97C\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]/.test(c);\n  /* eslint-enable max-len */\n}\nfunction process_inlines(tokens) {\n  for (let i = 0; i < tokens.length; i++) {\n    if (tokens[i].type !== 'softbreak') continue;\n\n    // default last/next character to space\n    let last = ' ';\n    let next = ' ';\n    for (let j = i - 1; j >= 0; j--) {\n      if (tokens[j].type !== 'text') continue;\n      if (tokens[j].content.length === 0) break;\n      const c1 = tokens[j].content.charCodeAt(tokens[j].content.length - 2);\n      const c2 = tokens[j].content.charCodeAt(tokens[j].content.length - 1);\n      last = tokens[j].content.slice(is_surrogate(c1, c2) ? -2 : -1);\n      break;\n    }\n    for (let j = i + 1; j < tokens.length; j++) {\n      if (tokens[j].type !== 'text') continue;\n      if (tokens[j].content.length === 0) break;\n      const c1 = tokens[j].content.charCodeAt(0);\n      const c2 = tokens[j].content.charCodeAt(1);\n      next = tokens[j].content.slice(0, is_surrogate(c1, c2) ? 2 : 1);\n      break;\n    }\n    let remove_break = false;\n\n    // remove newline if it's adjacent to ZWSP\n    if (last === '\\u200b' || next === '\\u200b') remove_break = true;\n\n    // remove newline if both characters are fullwidth (F), wide (W) or\n    // halfwidth (H), but not Hangul\n    if (/^[fwh]$/.test(eastAsianWidthType(last.codePointAt(0))[0]) && /^[fwh]$/.test(eastAsianWidthType(next.codePointAt(0))[0])) {\n      if (!is_hangul(last) && !is_hangul(next)) remove_break = true;\n    }\n    if (remove_break) {\n      tokens[i].type = 'text';\n      tokens[i].content = '';\n    }\n  }\n}\nfunction cjk_breaks(state) {\n  for (let blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n    if (state.tokens[blkIdx].type !== 'inline') continue;\n    process_inlines(state.tokens[blkIdx].children);\n  }\n}\nfunction cjk_breaks_plugin(md) {\n  md.core.ruler.push('cjk_breaks', cjk_breaks);\n}\n\nmodule.exports = cjk_breaks_plugin;\n"]}