{"version":3,"sources":["jsdelivr-header.js","/npm/slug@11.0.1/slug.js"],"names":[],"mappings":"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G,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,GACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,GACH,IAAG,IACH,IAAG,KACH,IAAG,KAEH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IAEH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,IACH,IAAG,KACH,IAAG,KAEH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAAG,IACH,IAAG,KACH,IAAG,KACH,IAA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","file":"/npm/slug@11.0.1/slug.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/slug@11.0.1/slug.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/* global btoa */\nlet base64\n\nif (typeof window !== 'undefined') {\n  if (window.btoa) {\n    base64 = function (input) {\n      return btoa(unescape(encodeURIComponent(input)))\n    }\n  } else {\n    // Polyfill for environments that don't have btoa or Buffer class (notably, React Native).\n    // Based on https://github.com/davidchambers/Base64.js/blob/a121f75bb10c8dd5d557886c4b1069b31258d230/base64.js\n    base64 = function (input) {\n      const str = unescape(encodeURIComponent(input + ''))\n      let output = ''\n      for (\n        let block, charCode, idx = 0, map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n        str.charAt(idx | 0) || (map = '=', idx % 1);\n        output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n      ) {\n        charCode = str.charCodeAt(idx += 3 / 4)\n        // This is a coherence check. The result of unescape(encodeURIComponent()) should always be\n        // characters with code points that fit into two bytes.\n        /* c8 ignore next 3 */\n        if (charCode > 0xFF) {\n          throw new Error(\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\")\n        }\n        block = block << 8 | charCode\n      }\n      return output\n    }\n  }\n} else {\n  base64 = function (input) {\n    return Buffer.from(input).toString('base64')\n  }\n}\n\nfunction slug (string, opts) {\n  let result = slugify(string, opts)\n  const fallback = opts && opts.fallback !== undefined ? opts.fallback : slug.defaults.fallback\n  // If output is an empty string, try slug for base64 of string.\n  if (fallback === true && result === '') {\n    result = slugify(base64(string), opts)\n  }\n  return result\n}\n\nconst locales = {\n  // http://www.eki.ee/wgrs/rom1_bg.pdf\n  bg: { Й: 'Y', й: 'y', X: 'H', x: 'h', Ц: 'Ts', ц: 'ts', Щ: 'Sht', щ: 'sht', Ъ: 'A', ъ: 'a', Ь: 'Y', ь: 'y' },\n  // Need a reference URL for German, although this is pretty well-known.\n  de: { Ä: 'AE', ä: 'ae', Ö: 'OE', ö: 'oe', Ü: 'UE', ü: 'ue' },\n  // Need a reference URL for Serbian.\n  sr: { đ: 'dj', Đ: 'DJ' },\n  // https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/864314/ROMANIZATION_OF_UKRAINIAN.pdf\n  uk: { И: 'Y', и: 'y', Й: 'Y', й: 'y', Ц: 'Ts', ц: 'ts', Х: 'Kh', х: 'kh', Щ: 'Shch', щ: 'shch', Г: 'H', г: 'h' }\n}\n\nlet defaultLocale = {}\n\nfunction slugify (string, opts) {\n  if (typeof string !== 'string') {\n    throw new Error('slug() requires a string argument, received ' + typeof string)\n  }\n  if (!string.isWellFormed()) {\n    throw new Error('slug() received a malformed string with lone surrogates')\n  }\n  if (typeof opts === 'string') { opts = { replacement: opts } }\n  opts = opts ? Object.assign({}, opts) : {}\n  opts.mode = opts.mode || slug.defaults.mode\n  const defaults = slug.defaults.modes[opts.mode]\n  const keys = ['replacement', 'multicharmap', 'charmap', 'remove', 'lower', 'trim']\n  for (let key, i = 0, l = keys.length; i < l; i++) {\n    key = keys[i]\n    opts[key] = (key in opts) ? opts[key] : defaults[key]\n  }\n  const localeMap = locales[opts.locale] || defaultLocale\n\n  let lengths = []\n  for (const key in opts.multicharmap) {\n    if (!Object.prototype.hasOwnProperty.call(opts.multicharmap, key)) { continue }\n\n    const len = key.length\n    if (lengths.indexOf(len) === -1) { lengths.push(len) }\n  }\n\n  // We want to match the longest string if there are multiple matches, so\n  // sort lengths in descending order.\n  lengths = lengths.sort(function (a, b) { return b - a })\n\n  const disallowedChars = opts.mode === 'rfc3986' ? /[^\\w\\s\\-.~]/ : /[^A-Za-z0-9\\s]/\n\n  let result = ''\n  for (let char, i = 0, l = string.length; i < l; i++) {\n    char = string[i]\n    let matchedMultichar = false\n    for (let j = 0; j < lengths.length; j++) {\n      const len = lengths[j]\n      const str = string.substr(i, len)\n      if (opts.multicharmap[str]) {\n        i += len - 1\n        char = opts.multicharmap[str]\n        matchedMultichar = true\n        break\n      }\n    }\n    if (!matchedMultichar) {\n      if (localeMap[char]) {\n        char = localeMap[char]\n      } else if (opts.charmap[char]) {\n        char = opts.charmap[char].replace(opts.replacement, ' ')\n      } else if (char.includes(opts.replacement)) {\n        // preserve the replacement character in case it is excluded by disallowedChars\n        char = char.replace(opts.replacement, ' ')\n      } else {\n        char = char.replace(disallowedChars, '')\n      }\n    }\n    result += char\n  }\n\n  if (opts.remove) {\n    result = result.replace(opts.remove, '')\n  }\n  if (opts.trim) {\n    result = result.trim()\n  }\n  result = result.replace(/\\s+/g, opts.replacement) // convert spaces\n  if (opts.lower) {\n    result = result.toLowerCase()\n  }\n  return result\n}\n\nconst initialMulticharmap = {\n  // multibyte devanagari characters (hindi, sanskrit, etc.)\n  फ़: 'Fi',\n  ग़: 'Ghi',\n  ख़: 'Khi',\n  क़: 'Qi',\n  ड़: 'ugDha',\n  ढ़: 'ugDhha',\n  य़: 'Yi',\n  ज़: 'Za',\n  // hebrew\n  // Refs: http://www.eki.ee/wgrs/rom1_he.pdf\n  // Refs: https://en.wikipedia.org/wiki/Niqqud\n  בִי: 'i',\n  בֵ: 'e',\n  בֵי: 'e',\n  בֶ: 'e',\n  בַ: 'a',\n  בָ: 'a',\n  בֹ: 'o',\n  וֹ: 'o',\n  בֻ: 'u',\n  וּ: 'u',\n  בּ: 'b',\n  כּ: 'k',\n  ךּ: 'k',\n  פּ: 'p',\n  שׁ: 'sh',\n  שׂ: 's',\n  בְ: 'e',\n  חֱ: 'e',\n  חֲ: 'a',\n  חֳ: 'o',\n  בִ: 'i'\n}\n\n// https://github.com/django/django/blob/master/django/contrib/admin/static/admin/js/urlify.js\nconst initialCharmap = {\n  // latin\n  À: 'A',\n  Á: 'A',\n  Â: 'A',\n  Ã: 'A',\n  Ä: 'A',\n  Å: 'A',\n  Æ: 'AE',\n  Ç: 'C',\n  È: 'E',\n  É: 'E',\n  Ê: 'E',\n  Ë: 'E',\n  Ì: 'I',\n  Í: 'I',\n  Î: 'I',\n  Ï: 'I',\n  Ð: 'D',\n  Ñ: 'N',\n  Ò: 'O',\n  Ó: 'O',\n  Ô: 'O',\n  Õ: 'O',\n  Ö: 'O',\n  Ő: 'O',\n  Ø: 'O',\n  Ō: 'O',\n  Ù: 'U',\n  Ú: 'U',\n  Û: 'U',\n  Ü: 'U',\n  Ű: 'U',\n  Ý: 'Y',\n  Þ: 'TH',\n  ß: 'ss',\n  à: 'a',\n  á: 'a',\n  â: 'a',\n  ã: 'a',\n  ä: 'a',\n  å: 'a',\n  æ: 'ae',\n  ç: 'c',\n  è: 'e',\n  é: 'e',\n  ê: 'e',\n  ë: 'e',\n  ì: 'i',\n  í: 'i',\n  î: 'i',\n  ï: 'i',\n  ð: 'd',\n  ñ: 'n',\n  ò: 'o',\n  ó: 'o',\n  ô: 'o',\n  õ: 'o',\n  ö: 'o',\n  ő: 'o',\n  ø: 'o',\n  ō: 'o',\n  Œ: 'OE',\n  œ: 'oe',\n  ù: 'u',\n  ú: 'u',\n  û: 'u',\n  ü: 'u',\n  ű: 'u',\n  ý: 'y',\n  þ: 'th',\n  ÿ: 'y',\n  ẞ: 'SS',\n  // greek\n  α: 'a',\n  β: 'b',\n  γ: 'g',\n  δ: 'd',\n  ε: 'e',\n  ζ: 'z',\n  η: 'h',\n  θ: 'th',\n  ι: 'i',\n  κ: 'k',\n  λ: 'l',\n  μ: 'm',\n  ν: 'n',\n  ξ: '3',\n  ο: 'o',\n  π: 'p',\n  ρ: 'r',\n  σ: 's',\n  τ: 't',\n  υ: 'y',\n  φ: 'f',\n  χ: 'x',\n  ψ: 'ps',\n  ω: 'w',\n  ά: 'a',\n  έ: 'e',\n  ί: 'i',\n  ό: 'o',\n  ύ: 'y',\n  ή: 'h',\n  ώ: 'w',\n  ς: 's',\n  ϊ: 'i',\n  ΰ: 'y',\n  ϋ: 'y',\n  ΐ: 'i',\n  Α: 'A',\n  Β: 'B',\n  Γ: 'G',\n  Δ: 'D',\n  Ε: 'E',\n  Ζ: 'Z',\n  Η: 'H',\n  Θ: 'Th',\n  Ι: 'I',\n  Κ: 'K',\n  Λ: 'L',\n  Μ: 'M',\n  Ν: 'N',\n  Ξ: '3',\n  Ο: 'O',\n  Π: 'P',\n  Ρ: 'R',\n  Σ: 'S',\n  Τ: 'T',\n  Υ: 'Y',\n  Φ: 'F',\n  Χ: 'X',\n  Ψ: 'PS',\n  Ω: 'W',\n  Ά: 'A',\n  Έ: 'E',\n  Ί: 'I',\n  Ό: 'O',\n  Ύ: 'Y',\n  Ή: 'H',\n  Ώ: 'W',\n  Ϊ: 'I',\n  Ϋ: 'Y',\n  // turkish\n  ş: 's',\n  Ş: 'S',\n  ı: 'i',\n  İ: 'I',\n  ğ: 'g',\n  Ğ: 'G',\n  // russian\n  а: 'a',\n  б: 'b',\n  в: 'v',\n  г: 'g',\n  д: 'd',\n  е: 'e',\n  ё: 'yo',\n  ж: 'zh',\n  з: 'z',\n  и: 'i',\n  й: 'j',\n  к: 'k',\n  л: 'l',\n  м: 'm',\n  н: 'n',\n  о: 'o',\n  п: 'p',\n  р: 'r',\n  с: 's',\n  т: 't',\n  у: 'u',\n  ф: 'f',\n  х: 'h',\n  ц: 'c',\n  ч: 'ch',\n  ш: 'sh',\n  щ: 'sh',\n  ъ: 'u',\n  ы: 'y',\n  ь: '',\n  э: 'e',\n  ю: 'yu',\n  я: 'ya',\n  А: 'A',\n  Б: 'B',\n  В: 'V',\n  Г: 'G',\n  Д: 'D',\n  Е: 'E',\n  Ё: 'Yo',\n  Ж: 'Zh',\n  З: 'Z',\n  И: 'I',\n  Й: 'J',\n  К: 'K',\n  Л: 'L',\n  М: 'M',\n  Н: 'N',\n  О: 'O',\n  П: 'P',\n  Р: 'R',\n  С: 'S',\n  Т: 'T',\n  У: 'U',\n  Ф: 'F',\n  Х: 'H',\n  Ц: 'C',\n  Ч: 'Ch',\n  Ш: 'Sh',\n  Щ: 'Sh',\n  Ъ: 'U',\n  Ы: 'Y',\n  Ь: '',\n  Э: 'E',\n  Ю: 'Yu',\n  Я: 'Ya',\n  // ukranian\n  Є: 'Ye',\n  І: 'I',\n  Ї: 'Yi',\n  Ґ: 'G',\n  є: 'ye',\n  і: 'i',\n  ї: 'yi',\n  ґ: 'g',\n  // czech\n  č: 'c',\n  ď: 'd',\n  ě: 'e',\n  ň: 'n',\n  ř: 'r',\n  š: 's',\n  ť: 't',\n  ů: 'u',\n  ž: 'z',\n  Č: 'C',\n  Ď: 'D',\n  Ě: 'E',\n  Ň: 'N',\n  Ř: 'R',\n  Š: 'S',\n  Ť: 'T',\n  Ů: 'U',\n  Ž: 'Z',\n  // slovak\n  ľ: 'l',\n  ĺ: 'l',\n  ŕ: 'r',\n  Ľ: 'L',\n  Ĺ: 'L',\n  Ŕ: 'R',\n  // polish\n  ą: 'a',\n  ć: 'c',\n  ę: 'e',\n  ł: 'l',\n  ń: 'n',\n  ś: 's',\n  ź: 'z',\n  ż: 'z',\n  Ą: 'A',\n  Ć: 'C',\n  Ę: 'E',\n  Ł: 'L',\n  Ń: 'N',\n  Ś: 'S',\n  Ź: 'Z',\n  Ż: 'Z',\n  // latvian\n  ā: 'a',\n  ē: 'e',\n  ģ: 'g',\n  ī: 'i',\n  ķ: 'k',\n  ļ: 'l',\n  ņ: 'n',\n  ū: 'u',\n  Ā: 'A',\n  Ē: 'E',\n  Ģ: 'G',\n  Ī: 'I',\n  Ķ: 'K',\n  Ļ: 'L',\n  Ņ: 'N',\n  Ū: 'U',\n  // arabic\n  أ: 'a',\n  إ: 'i',\n  ب: 'b',\n  ت: 't',\n  ث: 'th',\n  ج: 'g',\n  ح: 'h',\n  خ: 'kh',\n  د: 'd',\n  ذ: 'th',\n  ر: 'r',\n  ز: 'z',\n  س: 's',\n  ش: 'sh',\n  ص: 's',\n  ض: 'd',\n  ط: 't',\n  ظ: 'th',\n  ع: 'aa',\n  غ: 'gh',\n  ف: 'f',\n  ق: 'k',\n  ك: 'k',\n  ل: 'l',\n  م: 'm',\n  ن: 'n',\n  ه: 'h',\n  و: 'o',\n  ي: 'y',\n  ء: 'aa',\n  ة: 'a',\n  // farsi\n  آ: 'a',\n  ا: 'a',\n  پ: 'p',\n  ژ: 'zh',\n  گ: 'g',\n  چ: 'ch',\n  ک: 'k',\n  ی: 'i',\n  // lithuanian\n  ė: 'e',\n  į: 'i',\n  ų: 'u',\n  Ė: 'E',\n  Į: 'I',\n  Ų: 'U',\n  // romanian\n  ț: 't',\n  Ț: 'T',\n  ţ: 't',\n  Ţ: 'T',\n  ș: 's',\n  Ș: 'S',\n  ă: 'a',\n  Ă: 'A',\n  // vietnamese\n  Ạ: 'A',\n  Ả: 'A',\n  Ầ: 'A',\n  Ấ: 'A',\n  Ậ: 'A',\n  Ẩ: 'A',\n  Ẫ: 'A',\n  Ằ: 'A',\n  Ắ: 'A',\n  Ặ: 'A',\n  Ẳ: 'A',\n  Ẵ: 'A',\n  Ẹ: 'E',\n  Ẻ: 'E',\n  Ẽ: 'E',\n  Ề: 'E',\n  Ế: 'E',\n  Ệ: 'E',\n  Ể: 'E',\n  Ễ: 'E',\n  Ị: 'I',\n  Ỉ: 'I',\n  Ĩ: 'I',\n  Ọ: 'O',\n  Ỏ: 'O',\n  Ồ: 'O',\n  Ố: 'O',\n  Ộ: 'O',\n  Ổ: 'O',\n  Ỗ: 'O',\n  Ơ: 'O',\n  Ờ: 'O',\n  Ớ: 'O',\n  Ợ: 'O',\n  Ở: 'O',\n  Ỡ: 'O',\n  Ụ: 'U',\n  Ủ: 'U',\n  Ũ: 'U',\n  Ư: 'U',\n  Ừ: 'U',\n  Ứ: 'U',\n  Ự: 'U',\n  Ử: 'U',\n  Ữ: 'U',\n  Ỳ: 'Y',\n  Ỵ: 'Y',\n  Ỷ: 'Y',\n  Ỹ: 'Y',\n  Đ: 'D',\n  ạ: 'a',\n  ả: 'a',\n  ầ: 'a',\n  ấ: 'a',\n  ậ: 'a',\n  ẩ: 'a',\n  ẫ: 'a',\n  ằ: 'a',\n  ắ: 'a',\n  ặ: 'a',\n  ẳ: 'a',\n  ẵ: 'a',\n  ẹ: 'e',\n  ẻ: 'e',\n  ẽ: 'e',\n  ề: 'e',\n  ế: 'e',\n  ệ: 'e',\n  ể: 'e',\n  ễ: 'e',\n  ị: 'i',\n  ỉ: 'i',\n  ĩ: 'i',\n  ọ: 'o',\n  ỏ: 'o',\n  ồ: 'o',\n  ố: 'o',\n  ộ: 'o',\n  ổ: 'o',\n  ỗ: 'o',\n  ơ: 'o',\n  ờ: 'o',\n  ớ: 'o',\n  ợ: 'o',\n  ở: 'o',\n  ỡ: 'o',\n  ụ: 'u',\n  ủ: 'u',\n  ũ: 'u',\n  ư: 'u',\n  ừ: 'u',\n  ứ: 'u',\n  ự: 'u',\n  ử: 'u',\n  ữ: 'u',\n  ỳ: 'y',\n  ỵ: 'y',\n  ỷ: 'y',\n  ỹ: 'y',\n  đ: 'd',\n  // kazakh\n  Ә: 'AE',\n  ә: 'ae',\n  Ғ: 'GH',\n  ғ: 'gh',\n  Қ: 'KH',\n  қ: 'kh',\n  Ң: 'NG',\n  ң: 'ng',\n  Ү: 'UE',\n  ү: 'ue',\n  Ұ: 'U',\n  ұ: 'u',\n  Һ: 'H',\n  һ: 'h',\n  Ө: 'OE',\n  ө: 'oe',\n  // serbian\n  ђ: 'dj',\n  ј: 'j',\n  љ: 'lj',\n  њ: 'nj',\n  ћ: 'c',\n  џ: 'dz',\n  Ђ: 'Dj',\n  Ј: 'j',\n  Љ: 'Lj',\n  Њ: 'Nj',\n  Ћ: 'C',\n  Џ: 'Dz',\n  ǌ: 'nj',\n  ǉ: 'lj',\n  ǋ: 'NJ',\n  ǈ: 'LJ',\n  // hindi\n  अ: 'a',\n  आ: 'aa',\n  ए: 'e',\n  ई: 'ii',\n  ऍ: 'ei',\n  ऎ: 'ae',\n  ऐ: 'ai',\n  इ: 'i',\n  ओ: 'o',\n  ऑ: 'oi',\n  ऒ: 'oii',\n  ऊ: 'uu',\n  औ: 'ou',\n  उ: 'u',\n  ब: 'B',\n  भ: 'Bha',\n  च: 'Ca',\n  छ: 'Chha',\n  ड: 'Da',\n  ढ: 'Dha',\n  फ: 'Fa',\n  ग: 'Ga',\n  घ: 'Gha',\n  ग़: 'Ghi',\n  ह: 'Ha',\n  ज: 'Ja',\n  झ: 'Jha',\n  क: 'Ka',\n  ख: 'Kha',\n  ख़: 'Khi',\n  ल: 'L',\n  ळ: 'Li',\n  ऌ: 'Li',\n  ऴ: 'Lii',\n  ॡ: 'Lii',\n  म: 'Ma',\n  न: 'Na',\n  ङ: 'Na',\n  ञ: 'Nia',\n  ण: 'Nae',\n  ऩ: 'Ni',\n  ॐ: 'oms',\n  प: 'Pa',\n  क़: 'Qi',\n  र: 'Ra',\n  ऋ: 'Ri',\n  ॠ: 'Ri',\n  ऱ: 'Ri',\n  स: 'Sa',\n  श: 'Sha',\n  ष: 'Shha',\n  ट: 'Ta',\n  त: 'Ta',\n  ठ: 'Tha',\n  द: 'Tha',\n  थ: 'Tha',\n  ध: 'Thha',\n  ड़: 'ugDha',\n  ढ़: 'ugDhha',\n  व: 'Va',\n  य: 'Ya',\n  य़: 'Yi',\n  ज़: 'Za',\n  // azerbaijani\n  ə: 'e',\n  Ə: 'E',\n  // georgian\n  ა: 'a',\n  ბ: 'b',\n  გ: 'g',\n  დ: 'd',\n  ე: 'e',\n  ვ: 'v',\n  ზ: 'z',\n  თ: 't',\n  ი: 'i',\n  კ: 'k',\n  ლ: 'l',\n  მ: 'm',\n  ნ: 'n',\n  ო: 'o',\n  პ: 'p',\n  ჟ: 'zh',\n  რ: 'r',\n  ს: 's',\n  ტ: 't',\n  უ: 'u',\n  ფ: 'p',\n  ქ: 'k',\n  ღ: 'gh',\n  ყ: 'q',\n  შ: 'sh',\n  ჩ: 'ch',\n  ც: 'ts',\n  ძ: 'dz',\n  წ: 'ts',\n  ჭ: 'ch',\n  ხ: 'kh',\n  ჯ: 'j',\n  ჰ: 'h',\n  // hebrew\n  ב: 'v',\n  גּ: 'g',\n  ג: 'g',\n  ד: 'd',\n  דּ: 'd',\n  ה: 'h',\n  ו: 'v',\n  ז: 'z',\n  ח: 'h',\n  ט: 't',\n  י: 'y',\n  כ: 'kh',\n  ך: 'kh',\n  ל: 'l',\n  מ: 'm',\n  ם: 'm',\n  נ: 'n',\n  ן: 'n',\n  ס: 's',\n  פ: 'f',\n  ף: 'f',\n  ץ: 'ts',\n  צ: 'ts',\n  ק: 'k',\n  ר: 'r',\n  תּ: 't',\n  ת: 't'\n}\n\nslug.charmap = Object.assign({}, initialCharmap)\nslug.multicharmap = Object.assign({}, initialMulticharmap)\nslug.defaults = {\n  charmap: slug.charmap,\n  mode: 'pretty',\n  modes: {\n    rfc3986: {\n      replacement: '-',\n      remove: null,\n      lower: true,\n      charmap: slug.charmap,\n      multicharmap: slug.multicharmap,\n      trim: true\n    },\n    pretty: {\n      replacement: '-',\n      remove: null,\n      lower: true,\n      charmap: slug.charmap,\n      multicharmap: slug.multicharmap,\n      trim: true\n    }\n  },\n  multicharmap: slug.multicharmap,\n  fallback: true\n}\n\nslug.reset = function () {\n  slug.defaults.modes.rfc3986.charmap = slug.defaults.modes.pretty.charmap = slug.charmap = slug.defaults.charmap = Object.assign({}, initialCharmap)\n  slug.defaults.modes.rfc3986.multicharmap = slug.defaults.modes.pretty.multicharmap = slug.multicharmap = slug.defaults.multicharmap = Object.assign({}, initialMulticharmap)\n  defaultLocale = ''\n}\n\nslug.extend = function (customMap) {\n  const keys = Object.keys(customMap)\n  const multi = {}\n  const single = {}\n  for (let i = 0; i < keys.length; i++) {\n    if (keys[i].length > 1) {\n      multi[keys[i]] = customMap[keys[i]]\n    } else {\n      single[keys[i]] = customMap[keys[i]]\n    }\n  }\n  Object.assign(slug.charmap, single)\n  Object.assign(slug.multicharmap, multi)\n}\n\nslug.setLocale = function (locale) {\n  defaultLocale = locales[locale] || {}\n}\n\nexport default slug\n"]}