hebrew-transliteration 2.9.0 → 2.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -46,6 +46,7 @@ const tiberian = {
|
|
|
46
46
|
SHUREQ: "u\u02D0",
|
|
47
47
|
HOLAM_VAV: "o\u02D0",
|
|
48
48
|
QAMATS_HE: "\u0254\u02D0",
|
|
49
|
+
PATAH_HE: "a\u02D0",
|
|
49
50
|
SEGOL_HE: "\u025B\u02D0",
|
|
50
51
|
TSERE_HE: "e\u02D0",
|
|
51
52
|
MS_SUFX: "\u0254w",
|
|
@@ -327,7 +328,7 @@ const tiberian = {
|
|
|
327
328
|
}
|
|
328
329
|
return vowelChar;
|
|
329
330
|
}
|
|
330
|
-
const noMaterText = syllable.clusters.filter((c) => !c.isMater).map((c) => c.text).join("").replace(/([\u{05B5}\u{05B6}\u{05B9}].{1})\u{05D4}(?!\u{05BC})/u, "$1");
|
|
331
|
+
const noMaterText = syllable.clusters.filter((c) => !c.isMater).map((c) => c.text).join("").replace(/([\u{05B7}\u{05B5}\u{05B6}\u{05B9}].{0,1})\u{05D4}(?!\u{05BC})/u, "$1");
|
|
331
332
|
const hasMaters = syllable.clusters.map((c) => c.isMater).includes(true);
|
|
332
333
|
const lengthMarker = "\u02D0";
|
|
333
334
|
const halfLengthMarker = "\u02D1";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/schemas/tiberian.ts"],
|
|
4
|
-
"sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const tiberian: Schema = {\n VOCAL_SHEVA: \"a\",\n HATAF_SEGOL: \"\u025B\",\n HATAF_PATAH: \"a\",\n HATAF_QAMATS: \"\u0254\",\n HIRIQ: \"i\",\n TSERE: \"e\",\n SEGOL: \"\u025B\",\n PATAH: \"a\",\n QAMATS: \"\u0254\",\n HOLAM: \"o\",\n HOLAM_HASER: \"o\",\n QUBUTS: \"u\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \"-\",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"\u0254\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"i\u02D0\",\n TSERE_YOD: \"e\u02D0\",\n SEGOL_YOD: \"\u025B\u02D0\",\n SHUREQ: \"u\u02D0\",\n HOLAM_VAV: \"o\u02D0\",\n QAMATS_HE: \"\u0254\u02D0\",\n SEGOL_HE: \"\u025B\u02D0\",\n TSERE_HE: \"e\u02D0\",\n MS_SUFX: \"\u0254w\",\n ALEF: \"\u0294\",\n BET: \"v\",\n BET_DAGESH: \"b\",\n GIMEL: \"\u0281\",\n GIMEL_DAGESH: \"g\",\n DALET: \"\u00F0\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"v\",\n ZAYIN: \"z\",\n HET: \"\u0127\",\n TET: \"t\u02C1\",\n YOD: \"j\",\n FINAL_KAF: \"\u03C7\",\n KAF: \"\u03C7\",\n KAF_DAGESH: \"k\u02B0\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u0295\",\n FINAL_PE: \"f\",\n PE: \"f\",\n PE_DAGESH: \"p\u02B0\",\n FINAL_TSADI: \"s\u02C1\",\n TSADI: \"s\u02C1\",\n QOF: \"q\u031F\",\n RESH: \"\u0280\u031F\",\n SHIN: \"\u0283\",\n SIN: \"s\",\n TAV: \"\u03B8\",\n TAV_DAGESH: \"t\u02B0\",\n DIVINE_NAME: \"\u0294a\u00F0o\u02D0\u02C8n\u0254\u02D0\u0254j\",\n DIVINE_NAME_ELOHIM: \"\u0294\u025Blo\u02D0\u02C8hi\u02D0im\",\n STRESS_MARKER: { location: \"before-syllable\", mark: \"\u02C8\" },\n ADDITIONAL_FEATURES: [\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D9}\\u{05BC}\",\n TRANSLITERATION: (cluster, hebrew) => {\n return cluster.text.replace(hebrew, \"\u025F\u025F\");\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05EA\u05BC(?!\\u{05B0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // if there is a dagesh, but it is the beginning of the word\n // we can return the text, as the character w/ the dagesh will not be doubled\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n // if there is a dagesh, it may be that it is a dagesh qal (i.e. lene)\n // if it is a dagesh lene, then like the beginning of the word,\n // the character w/ the dagesh will not be doubled\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05EA\")) {\n return cluster.text;\n }\n\n // because the *_DAGESH value is a digraph, we need to replace the first character\n // or it will be doubled in rules.ts as \"t\u02B0t\u02B0\"\n const noAspiration = schema[\"TAV_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05EA\u05BC\", `${noAspiration + schema[\"TAV_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05E4(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E4\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"PE_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E4\u05BC\", `${noAspiration + schema[\"PE_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05D8\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05D8\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TET\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05D8\", `${noPharyngealization + schema[\"TET\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05E6\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E6\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TSADI\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E6\", `${noPharyngealization + schema[\"TSADI\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /(\u05DB\u05BC|\u05DA\u05BC)(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA\u05BC[\\u{05B4}-\\u{05BB}]/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05DB\") && !prevCoda?.includes(\"\u05DA\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"KAF_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(/\u05DB\u05BC|\u05DA\u05BC/u, `${noAspiration + schema[\"KAF_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}(?![\\u{05B1}-\\u{05BB}\\u{05C7}])\",\n TRANSLITERATION: (cluster) => {\n const next = cluster.next?.value;\n if (next && next.isShureq) {\n return cluster.text;\n }\n\n return \"\";\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}\\u{05BC}\",\n TRANSLITERATION: (cluster) => {\n // remove the dagesh\n return cluster.text.replace(\"\\u{05BC}\", \"\");\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05E8/u,\n TRANSLITERATION: (syllable) => {\n // see TPT 229 for a summary if the pharyngealized resh\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n\n // find cluster containing resh\n const cluster = syllable.clusters.filter((c) => c.text.includes(\"\u05E8\"))[0];\n const prevCluster = cluster.prev?.value;\n const currentSyllable = cluster?.syllable;\n const [onset, _, coda] = currentSyllable ? currentSyllable.structure(true) : [\"\", \"\", \"\"];\n\n if (prevCluster && alveolars.test(prevCluster.text)) {\n if (onset.includes(\"\u05E8\") && !prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n const nextCluster = cluster.next?.value;\n const lamedAndNun = /[\u05DC\u05E0\u05DF]/;\n if (nextCluster && lamedAndNun.test(nextCluster.text)) {\n if (onset.includes(\"\u05E8\") && !cluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && cluster.hasSheva) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n // default\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D7\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before het preceded by vav or yod\n const prevText = syllable.prev?.value?.text || \"\";\n // see Khan 497-98 for examples involving length and the meteg\n // make sure to adjust other rules\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HET\"];\n }\n return schema[\"PATAH\"] + schema[\"HET\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05E2\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before ayin preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n return schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D4\\u{05BC}\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before he preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HE\"];\n }\n return schema[\"PATAH\"] + schema[\"HE\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05D5\u05BC(?![\\u{05B4}-\\u{05BB}])/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // finds a vav with a dagesh not followed by a vowel character\n // if the syllable is the first syllable, replace with wu\u02D0\n // syllable.clusters[0].isShureq is not totally necessary, but it's a good check\n if (!syllable.prev && syllable.clusters[0].isShureq) {\n const text = syllable.text;\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true); // also called gaya marking half long vowel length (\u00A71.2.8.2.2)\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n return text.replace(\"\u05D5\u05BC\", `${secondaryAccent}wu${halfLengthMarker}`);\n }\n\n if (syllable.isAccented && syllable.isClosed) {\n const noLength = schema[\"SHUREQ\"].replace(\"\u02D0\", \"\");\n return syllable.text.replace(\"\u05D5\u05BC\", schema[\"SHUREQ\"] + noLength);\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B4}-\\u{05BB}\\u{05C7}]/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // this features matches any syllable that has a full vowel character (i.e. not sheva)\n const vowelName = syllable.vowelNames[0];\n const vowel = syllable.vowels[0];\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n // half vowels do not have length; exit early\n const hasHalfVowel = syllable.clusters.map((c) => c.hasHalfVowel).includes(true);\n if (hasHalfVowel) {\n throw new Error(`Syllable ${syllable.text} has a hataf as vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // exit early if not patach\n if (vowelName !== \"PATAH\" && vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n const noMaterText = syllable.clusters\n .filter((c) => !c.isMater)\n .map((c) => c.text)\n .join(\"\")\n // a holam, tsere, or segol followed by a he without a mappiq is not a mater\n // but b/c the he is not pronounced, we need to remove the final he\n .replace(/([\\u{05B5}\\u{05B6}\\u{05B9}].{1})\\u{05D4}(?!\\u{05BC})/u, \"$1\");\n\n const hasMaters = syllable.clusters.map((c) => c.isMater).includes(true);\n const lengthMarker = \"\u02D0\";\n const halfLengthMarker = \"\u02D1\";\n\n // See TPT \u00A71.2.10 concering meteg/gaya\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n if (hasMeteg) {\n const hasLongVowel = syllable.clusters.map((c) => c.hasLongVowel).includes(true);\n // when a meteg is present, the syllable implicitly has secondary stress\n // and the vowel is extended if it is not already long\n const firstConsonant = noMaterText[0];\n return noMaterText\n .replace(firstConsonant, `\u02CC${firstConsonant}`)\n .replace(vowel, `${determinePatachRealization(vowel)}${hasLongVowel ? lengthMarker : halfLengthMarker}`);\n }\n\n const isClosed = syllable.isClosed;\n const isAccented = syllable.isAccented;\n\n // TPT \u00A71.2.4, p288\n // When long vowels with the main stress occur in closed syllables,\n // there is evidence that an epenthetic with the same quality as that of the long vowel\n // occurred before the final consonant in its phonetic realization\"\n if (isAccented && isClosed) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1747967050\n const longerVowels = [\"HOLAM\", \"TSERE\", \"QAMATS\"];\n if (!isAccented && isClosed && !syllable.isFinal && longerVowels.includes(vowelName)) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // TPT \u00A71.2.2.1 p268\n // Vowels represented by basic vowel signs are long when they are either\n // (i) in a stressed syllable or (ii) in an unstressed open syllable.\n if (isAccented || (!isAccented && !isClosed)) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel) + lengthMarker}`);\n }\n\n if (!hasMaters && !isClosed && !isAccented) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B1}-\\u{05B3}]/u,\n TRANSLITERATION: (syllable) => {\n // this features matches any syllable that has a hataf vowel character\n const vowelName = syllable.vowelNames[0];\n const vowel = syllable.vowels[0];\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n const hasNonHalfVowels = syllable.clusters.map((c) => c.hasShortVowel || c.hasLongVowel).includes(true);\n if (hasNonHalfVowels) {\n throw new Error(`Syllable ${syllable.text} does not have a hataf vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // exit early if not hataf patach\n if (vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized in the transliteration\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n // check for the \"environment of pharyngealized consonants\"\n // https://www.tiberianhebrew.com/patah\n if (nextOnset && /[\u05E6\u05E5\u05D8]/.test(nextOnset)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /(?<!.*([\\u{05B4}-\\u{05BB}\\u{05C7}]|\\u{05D5}\\u{05BC}).*)\\u{05B0}/u,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // matches any syllable that contains a sheva that is not preceded by a full vowel character [\\u{05B4}-\\u{05BB}\\u{05C7}]\n // or shureq \\u{5D5}\\u{5BC}\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) return syllable.text;\n\n const nextSylFirstCluster = nextSyllable.clusters[0].text;\n if (!nextSylFirstCluster) return syllable.text;\n\n const [onset, _, coda] = syllable.structure(true);\n\n function isBackUnrounded() {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // by this point, the resh has already been pharyngealized in the transliteration\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return true;\n }\n\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) {\n return false;\n }\n\n const nextOnset = nextSyllable.onset;\n if (pharyngealized.test(nextOnset)) {\n return true;\n }\n\n return false;\n }\n\n function transliterateShevaAsVowel(vowel: string) {\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n const newVowel = vowel.replace(\"\u02D0\", \"\") + halfLengthMarker;\n\n return secondaryAccent + syllable.text.replace(/\\u{05B0}/u, newVowel);\n }\n\n const isGuttural = /[\u05D0\u05D4\u05D7\u05E2]/.test(nextSylFirstCluster);\n if (!isGuttural) {\n return transliterateShevaAsVowel(isBackUnrounded() ? \"\u0251\" : schema[\"PATAH\"]);\n }\n\n const nextVowel = nextSyllable.vowelNames[0];\n if (!nextVowel) {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} does not have a vowel`\n );\n }\n\n if (nextVowel === \"SHEVA\") {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} also has a sheva as a vowel`\n );\n }\n\n return transliterateShevaAsVowel(schema[nextVowel]);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /^\\u{5B4}\\u{5DD}/u,\n TRANSLITERATION: (syl, heb, schema) => {\n // This rule attempts to find instances of Jerusalem spelled without a yod\n\n // this is just a sanity check that the previous syllable\n // should be a lamed with a qamats or a patah\n const prev = syl.prev?.value;\n if (\n prev &&\n !prev.isClosed &&\n !prev.hasVowelName(\"QAMATS\") &&\n !prev.hasVowelName(\"PATAH\") &&\n prev.onset !== \"\u05DC\"\n ) {\n return syl.text;\n }\n\n // update this syllable to match the later spelling of Jerusalem\n return syl.text.replace(heb, `${schema[\"YOD\"]}${schema[\"HIRIQ\"]}${schema[\"FINAL_MEM\"]}`);\n }\n },\n {\n FEATURE: \"word\",\n HEBREW: /(\u05D5\u05B0)?\u05D9\u05B4\u05E9\u05C2\u05BC\u05B8\u05E9\u05DB\u05B8\u05E8/,\n PASS_THROUGH: true,\n TRANSLITERATION: (word, heb) => {\n // matches the name Issachar\n const taamim = /[\\u{0590}-\\u{05AF}\\u{05BD}\\u{05BF}]/gu;\n const text = word.text.replace(taamim, \"\");\n const match = text.match(heb);\n const vav = match && match[1] ? match[1] : \"\";\n const issachar = \"jiss\u0254\u02D0\u02C8\u03C7\u0254\u02D0\u0254\u0280\u031F\";\n return `${vav}${issachar}`;\n }\n }\n ],\n allowNoNiqqud: false,\n article: false,\n holemHaser: \"remove\",\n ketivQeres: [\n {\n input: \"\u05D4\u05B4\u05D5\u05D0\",\n output: \"\u05D4\u05B4\u05D9\u05D0\",\n captureTaamim: true,\n ignoreTaamim: true\n }\n ],\n longVowels: false,\n qametsQatan: true,\n shevaAfterMeteg: false,\n shevaWithMeteg: true,\n sqnmlvy: false,\n strict: true,\n wawShureq: false\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAEA;;;;;AAAO,MAAM,WAAmB;EAC9B,aAAa;EACb,aAAa;EACb,aAAa;EACb,cAAc;EACd,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,QAAQ;EACR,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ;EACR,eAAe;EACf,OAAO;EACP,OAAO;EACP,WAAW;EACX,cAAc;EACd,eAAe;EACf,WAAW;EACX,WAAW;EACX,WAAW;EACX,QAAQ;EACR,WAAW;EACX,WAAW;EACX,UAAU;EACV,UAAU;EACV,SAAS;EACT,MAAM;EACN,KAAK;EACL,YAAY;EACZ,OAAO;EACP,cAAc;EACd,OAAO;EACP,cAAc;EACd,IAAI;EACJ,KAAK;EACL,OAAO;EACP,KAAK;EACL,KAAK;EACL,KAAK;EACL,WAAW;EACX,KAAK;EACL,YAAY;EACZ,OAAO;EACP,WAAW;EACX,KAAK;EACL,WAAW;EACX,KAAK;EACL,QAAQ;EACR,MAAM;EACN,UAAU;EACV,IAAI;EACJ,WAAW;EACX,aAAa;EACb,OAAO;EACP,KAAK;EACL,MAAM;EACN,MAAM;EACN,KAAK;EACL,KAAK;EACL,YAAY;EACZ,aAAa;EACb,oBAAoB;EACpB,eAAe,EAAE,UAAU,mBAAmB,MAAM,SAAG;EACvD,qBAAqB;IACnB;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,WAAU;AACnC,eAAO,QAAQ,KAAK,QAAQ,QAAQ,cAAI;MAC1C;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,GAAG,WAAU;
|
|
4
|
+
"sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const tiberian: Schema = {\n VOCAL_SHEVA: \"a\",\n HATAF_SEGOL: \"\u025B\",\n HATAF_PATAH: \"a\",\n HATAF_QAMATS: \"\u0254\",\n HIRIQ: \"i\",\n TSERE: \"e\",\n SEGOL: \"\u025B\",\n PATAH: \"a\",\n QAMATS: \"\u0254\",\n HOLAM: \"o\",\n HOLAM_HASER: \"o\",\n QUBUTS: \"u\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \"-\",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"\u0254\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"i\u02D0\",\n TSERE_YOD: \"e\u02D0\",\n SEGOL_YOD: \"\u025B\u02D0\",\n SHUREQ: \"u\u02D0\",\n HOLAM_VAV: \"o\u02D0\",\n QAMATS_HE: \"\u0254\u02D0\",\n PATAH_HE: \"a\u02D0\",\n SEGOL_HE: \"\u025B\u02D0\",\n TSERE_HE: \"e\u02D0\",\n MS_SUFX: \"\u0254w\",\n ALEF: \"\u0294\",\n BET: \"v\",\n BET_DAGESH: \"b\",\n GIMEL: \"\u0281\",\n GIMEL_DAGESH: \"g\",\n DALET: \"\u00F0\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"v\",\n ZAYIN: \"z\",\n HET: \"\u0127\",\n TET: \"t\u02C1\",\n YOD: \"j\",\n FINAL_KAF: \"\u03C7\",\n KAF: \"\u03C7\",\n KAF_DAGESH: \"k\u02B0\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u0295\",\n FINAL_PE: \"f\",\n PE: \"f\",\n PE_DAGESH: \"p\u02B0\",\n FINAL_TSADI: \"s\u02C1\",\n TSADI: \"s\u02C1\",\n QOF: \"q\u031F\",\n RESH: \"\u0280\u031F\",\n SHIN: \"\u0283\",\n SIN: \"s\",\n TAV: \"\u03B8\",\n TAV_DAGESH: \"t\u02B0\",\n DIVINE_NAME: \"\u0294a\u00F0o\u02D0\u02C8n\u0254\u02D0\u0254j\",\n DIVINE_NAME_ELOHIM: \"\u0294\u025Blo\u02D0\u02C8hi\u02D0im\",\n STRESS_MARKER: { location: \"before-syllable\", mark: \"\u02C8\" },\n ADDITIONAL_FEATURES: [\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D9}\\u{05BC}\",\n TRANSLITERATION: (cluster, hebrew) => {\n return cluster.text.replace(hebrew, \"\u025F\u025F\");\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05EA\u05BC(?!\\u{05B0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // if there is a dagesh, but it is the beginning of the word\n // we can return the text, as the character w/ the dagesh will not be doubled\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n // if there is a dagesh, it may be that it is a dagesh qal (i.e. lene)\n // if it is a dagesh lene, then like the beginning of the word,\n // the character w/ the dagesh will not be doubled\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05EA\")) {\n return cluster.text;\n }\n\n // because the *_DAGESH value is a digraph, we need to replace the first character\n // or it will be doubled in rules.ts as \"t\u02B0t\u02B0\"\n const noAspiration = schema[\"TAV_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05EA\u05BC\", `${noAspiration + schema[\"TAV_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05E4(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E4\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"PE_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E4\u05BC\", `${noAspiration + schema[\"PE_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05D8\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05D8\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TET\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05D8\", `${noPharyngealization + schema[\"TET\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05E6\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E6\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TSADI\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E6\", `${noPharyngealization + schema[\"TSADI\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /(\u05DB\u05BC|\u05DA\u05BC)(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA\u05BC[\\u{05B4}-\\u{05BB}]/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05DB\") && !prevCoda?.includes(\"\u05DA\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"KAF_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(/\u05DB\u05BC|\u05DA\u05BC/u, `${noAspiration + schema[\"KAF_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}(?![\\u{05B1}-\\u{05BB}\\u{05C7}])\",\n TRANSLITERATION: (cluster) => {\n const next = cluster.next?.value;\n if (next && next.isShureq) {\n return cluster.text;\n }\n\n return \"\";\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}\\u{05BC}\",\n TRANSLITERATION: (cluster) => {\n // remove the dagesh\n return cluster.text.replace(\"\\u{05BC}\", \"\");\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05E8/u,\n TRANSLITERATION: (syllable) => {\n // see TPT 229 for a summary if the pharyngealized resh\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n\n // find cluster containing resh\n const cluster = syllable.clusters.filter((c) => c.text.includes(\"\u05E8\"))[0];\n const prevCluster = cluster.prev?.value;\n const currentSyllable = cluster?.syllable;\n const [onset, _, coda] = currentSyllable ? currentSyllable.structure(true) : [\"\", \"\", \"\"];\n\n if (prevCluster && alveolars.test(prevCluster.text)) {\n if (onset.includes(\"\u05E8\") && !prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n const nextCluster = cluster.next?.value;\n const lamedAndNun = /[\u05DC\u05E0\u05DF]/;\n if (nextCluster && lamedAndNun.test(nextCluster.text)) {\n if (onset.includes(\"\u05E8\") && !cluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && cluster.hasSheva) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n // default\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D7\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before het preceded by vav or yod\n const prevText = syllable.prev?.value?.text || \"\";\n // see Khan 497-98 for examples involving length and the meteg\n // make sure to adjust other rules\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HET\"];\n }\n return schema[\"PATAH\"] + schema[\"HET\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05E2\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before ayin preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n return schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D4\\u{05BC}\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before he preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HE\"];\n }\n return schema[\"PATAH\"] + schema[\"HE\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05D5\u05BC(?![\\u{05B4}-\\u{05BB}])/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // finds a vav with a dagesh not followed by a vowel character\n // if the syllable is the first syllable, replace with wu\u02D0\n // syllable.clusters[0].isShureq is not totally necessary, but it's a good check\n if (!syllable.prev && syllable.clusters[0].isShureq) {\n const text = syllable.text;\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true); // also called gaya marking half long vowel length (\u00A71.2.8.2.2)\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n return text.replace(\"\u05D5\u05BC\", `${secondaryAccent}wu${halfLengthMarker}`);\n }\n\n if (syllable.isAccented && syllable.isClosed) {\n const noLength = schema[\"SHUREQ\"].replace(\"\u02D0\", \"\");\n return syllable.text.replace(\"\u05D5\u05BC\", schema[\"SHUREQ\"] + noLength);\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B4}-\\u{05BB}\\u{05C7}]/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // this features matches any syllable that has a full vowel character (i.e. not sheva)\n const vowelName = syllable.vowelNames[0];\n const vowel = syllable.vowels[0];\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n // half vowels do not have length; exit early\n const hasHalfVowel = syllable.clusters.map((c) => c.hasHalfVowel).includes(true);\n if (hasHalfVowel) {\n throw new Error(`Syllable ${syllable.text} has a hataf as vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // exit early if not patach\n if (vowelName !== \"PATAH\" && vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n const noMaterText = syllable.clusters\n .filter((c) => !c.isMater)\n .map((c) => c.text)\n .join(\"\")\n // a patah, tsere, segol, or holam followed by a he without a mappiq is not a mater\n // but b/c the he is not pronounced, we need to remove the final he\n .replace(/([\\u{05B7}\\u{05B5}\\u{05B6}\\u{05B9}].{0,1})\\u{05D4}(?!\\u{05BC})/u, \"$1\");\n\n const hasMaters = syllable.clusters.map((c) => c.isMater).includes(true);\n const lengthMarker = \"\u02D0\";\n const halfLengthMarker = \"\u02D1\";\n\n // See TPT \u00A71.2.10 concering meteg/gaya\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n if (hasMeteg) {\n const hasLongVowel = syllable.clusters.map((c) => c.hasLongVowel).includes(true);\n // when a meteg is present, the syllable implicitly has secondary stress\n // and the vowel is extended if it is not already long\n const firstConsonant = noMaterText[0];\n return noMaterText\n .replace(firstConsonant, `\u02CC${firstConsonant}`)\n .replace(vowel, `${determinePatachRealization(vowel)}${hasLongVowel ? lengthMarker : halfLengthMarker}`);\n }\n\n const isClosed = syllable.isClosed;\n const isAccented = syllable.isAccented;\n\n // TPT \u00A71.2.4, p288\n // When long vowels with the main stress occur in closed syllables,\n // there is evidence that an epenthetic with the same quality as that of the long vowel\n // occurred before the final consonant in its phonetic realization\"\n if (isAccented && isClosed) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1747967050\n const longerVowels = [\"HOLAM\", \"TSERE\", \"QAMATS\"];\n if (!isAccented && isClosed && !syllable.isFinal && longerVowels.includes(vowelName)) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // TPT \u00A71.2.2.1 p268\n // Vowels represented by basic vowel signs are long when they are either\n // (i) in a stressed syllable or (ii) in an unstressed open syllable.\n if (isAccented || (!isAccented && !isClosed)) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel) + lengthMarker}`);\n }\n\n if (!hasMaters && !isClosed && !isAccented) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B1}-\\u{05B3}]/u,\n TRANSLITERATION: (syllable) => {\n // this features matches any syllable that has a hataf vowel character\n const vowelName = syllable.vowelNames[0];\n const vowel = syllable.vowels[0];\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n const hasNonHalfVowels = syllable.clusters.map((c) => c.hasShortVowel || c.hasLongVowel).includes(true);\n if (hasNonHalfVowels) {\n throw new Error(`Syllable ${syllable.text} does not have a hataf vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // exit early if not hataf patach\n if (vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized in the transliteration\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n // check for the \"environment of pharyngealized consonants\"\n // https://www.tiberianhebrew.com/patah\n if (nextOnset && /[\u05E6\u05E5\u05D8]/.test(nextOnset)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /(?<!.*([\\u{05B4}-\\u{05BB}\\u{05C7}]|\\u{05D5}\\u{05BC}).*)\\u{05B0}/u,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // matches any syllable that contains a sheva that is not preceded by a full vowel character [\\u{05B4}-\\u{05BB}\\u{05C7}]\n // or shureq \\u{5D5}\\u{5BC}\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) return syllable.text;\n\n const nextSylFirstCluster = nextSyllable.clusters[0].text;\n if (!nextSylFirstCluster) return syllable.text;\n\n const [onset, _, coda] = syllable.structure(true);\n\n function isBackUnrounded() {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // by this point, the resh has already been pharyngealized in the transliteration\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return true;\n }\n\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) {\n return false;\n }\n\n const nextOnset = nextSyllable.onset;\n if (pharyngealized.test(nextOnset)) {\n return true;\n }\n\n return false;\n }\n\n function transliterateShevaAsVowel(vowel: string) {\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n const newVowel = vowel.replace(\"\u02D0\", \"\") + halfLengthMarker;\n\n return secondaryAccent + syllable.text.replace(/\\u{05B0}/u, newVowel);\n }\n\n const isGuttural = /[\u05D0\u05D4\u05D7\u05E2]/.test(nextSylFirstCluster);\n if (!isGuttural) {\n return transliterateShevaAsVowel(isBackUnrounded() ? \"\u0251\" : schema[\"PATAH\"]);\n }\n\n const nextVowel = nextSyllable.vowelNames[0];\n if (!nextVowel) {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} does not have a vowel`\n );\n }\n\n if (nextVowel === \"SHEVA\") {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} also has a sheva as a vowel`\n );\n }\n\n return transliterateShevaAsVowel(schema[nextVowel]);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /^\\u{5B4}\\u{5DD}/u,\n TRANSLITERATION: (syl, heb, schema) => {\n // This rule attempts to find instances of Jerusalem spelled without a yod\n\n // this is just a sanity check that the previous syllable\n // should be a lamed with a qamats or a patah\n const prev = syl.prev?.value;\n if (\n prev &&\n !prev.isClosed &&\n !prev.hasVowelName(\"QAMATS\") &&\n !prev.hasVowelName(\"PATAH\") &&\n prev.onset !== \"\u05DC\"\n ) {\n return syl.text;\n }\n\n // update this syllable to match the later spelling of Jerusalem\n return syl.text.replace(heb, `${schema[\"YOD\"]}${schema[\"HIRIQ\"]}${schema[\"FINAL_MEM\"]}`);\n }\n },\n {\n FEATURE: \"word\",\n HEBREW: /(\u05D5\u05B0)?\u05D9\u05B4\u05E9\u05C2\u05BC\u05B8\u05E9\u05DB\u05B8\u05E8/,\n PASS_THROUGH: true,\n TRANSLITERATION: (word, heb) => {\n // matches the name Issachar\n const taamim = /[\\u{0590}-\\u{05AF}\\u{05BD}\\u{05BF}]/gu;\n const text = word.text.replace(taamim, \"\");\n const match = text.match(heb);\n const vav = match && match[1] ? match[1] : \"\";\n const issachar = \"jiss\u0254\u02D0\u02C8\u03C7\u0254\u02D0\u0254\u0280\u031F\";\n return `${vav}${issachar}`;\n }\n }\n ],\n allowNoNiqqud: false,\n article: false,\n holemHaser: \"remove\",\n ketivQeres: [\n {\n input: \"\u05D4\u05B4\u05D5\u05D0\",\n output: \"\u05D4\u05B4\u05D9\u05D0\",\n captureTaamim: true,\n ignoreTaamim: true\n }\n ],\n longVowels: false,\n qametsQatan: true,\n shevaAfterMeteg: false,\n shevaWithMeteg: true,\n sqnmlvy: false,\n strict: true,\n wawShureq: false\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAEA;;;;;AAAO,MAAM,WAAmB;EAC9B,aAAa;EACb,aAAa;EACb,aAAa;EACb,cAAc;EACd,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,QAAQ;EACR,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ;EACR,eAAe;EACf,OAAO;EACP,OAAO;EACP,WAAW;EACX,cAAc;EACd,eAAe;EACf,WAAW;EACX,WAAW;EACX,WAAW;EACX,QAAQ;EACR,WAAW;EACX,WAAW;EACX,UAAU;EACV,UAAU;EACV,UAAU;EACV,SAAS;EACT,MAAM;EACN,KAAK;EACL,YAAY;EACZ,OAAO;EACP,cAAc;EACd,OAAO;EACP,cAAc;EACd,IAAI;EACJ,KAAK;EACL,OAAO;EACP,KAAK;EACL,KAAK;EACL,KAAK;EACL,WAAW;EACX,KAAK;EACL,YAAY;EACZ,OAAO;EACP,WAAW;EACX,KAAK;EACL,WAAW;EACX,KAAK;EACL,QAAQ;EACR,MAAM;EACN,UAAU;EACV,IAAI;EACJ,WAAW;EACX,aAAa;EACb,OAAO;EACP,KAAK;EACL,MAAM;EACN,MAAM;EACN,KAAK;EACL,KAAK;EACL,YAAY;EACZ,aAAa;EACb,oBAAoB;EACpB,eAAe,EAAE,UAAU,mBAAmB,MAAM,SAAG;EACvD,qBAAqB;IACnB;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,WAAU;AACnC,eAAO,QAAQ,KAAK,QAAQ,QAAQ,cAAI;MAC1C;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,GAAG,WAAU;AA9E9C;AAiFQ,YAAI,CAAC,QAAQ,UAAQ,aAAQ,KAAK,UAAb,mBAAoB,cAAa;AACpD,iBAAO,QAAQ;QACjB;AAKA,cAAM,YAAW,yBAAQ,aAAR,mBAAkB,SAAlB,mBAAwB,UAAxB,mBAA+B;AAChD,YAAI,EAAC,qCAAU,SAAS,YAAM;AAC5B,iBAAO,QAAQ;QACjB;AAIA,cAAM,gBAAe,kBAAO,kBAAP,mBAAsB,QAAQ,UAAK,QAAnC,YAA0C;AAC/D,eAAO,QAAQ,KAAK,QAAQ,gBAAM,GAAG,eAAe,OAAO,eAAe;MAC5E;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,GAAG,WAAU;AAtG9C;AAwGQ,YAAI,CAAC,QAAQ,UAAQ,aAAQ,KAAK,UAAb,mBAAoB,cAAa;AACpD,iBAAO,QAAQ;QACjB;AAEA,cAAM,YAAW,yBAAQ,aAAR,mBAAkB,SAAlB,mBAAwB,UAAxB,mBAA+B;AAChD,YAAI,EAAC,qCAAU,SAAS,YAAM;AAC5B,iBAAO,QAAQ;QACjB;AAEA,cAAM,gBAAe,kBAAO,iBAAP,mBAAqB,QAAQ,UAAK,QAAlC,YAAyC;AAC9D,eAAO,QAAQ,KAAK,QAAQ,gBAAM,GAAG,eAAe,OAAO,cAAc;MAC3E;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,GAAG,WAAU;AAxH9C;AA0HQ,YAAI,CAAC,QAAQ,UAAQ,aAAQ,KAAK,UAAb,mBAAoB,cAAa;AACpD,iBAAO,QAAQ;QACjB;AAEA,cAAM,YAAW,yBAAQ,aAAR,mBAAkB,SAAlB,mBAAwB,UAAxB,mBAA+B;AAChD,YAAI,EAAC,qCAAU,SAAS,YAAM;AAC5B,iBAAO,QAAQ;QACjB;AAEA,cAAM,uBAAsB,kBAAO,WAAP,mBAAe,QAAQ,UAAK,QAA5B,YAAmC;AAC/D,eAAO,QAAQ,KAAK,QAAQ,UAAK,GAAG,sBAAsB,OAAO,QAAQ;MAC3E;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,GAAG,WAAU;AA1I9C;AA4IQ,YAAI,CAAC,QAAQ,UAAQ,aAAQ,KAAK,UAAb,mBAAoB,cAAa;AACpD,iBAAO,QAAQ;QACjB;AAEA,cAAM,YAAW,yBAAQ,aAAR,mBAAkB,SAAlB,mBAAwB,UAAxB,mBAA+B;AAChD,YAAI,EAAC,qCAAU,SAAS,YAAM;AAC5B,iBAAO,QAAQ;QACjB;AAEA,cAAM,uBAAsB,kBAAO,aAAP,mBAAiB,QAAQ,UAAK,QAA9B,YAAqC;AACjE,eAAO,QAAQ,KAAK,QAAQ,UAAK,GAAG,sBAAsB,OAAO,UAAU;MAC7E;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,SAAS,GAAG,WAAU;AA5J9C;AA8JQ,YAAI,CAAC,QAAQ,UAAQ,aAAQ,KAAK,UAAb,mBAAoB,cAAa;AACpD,iBAAO,QAAQ;QACjB;AAEA,cAAM,YAAW,yBAAQ,aAAR,mBAAkB,SAAlB,mBAAwB,UAAxB,mBAA+B;AAChD,YAAI,EAAC,qCAAU,SAAS,cAAQ,EAAC,qCAAU,SAAS,YAAM;AACxD,iBAAO,QAAQ;QACjB;AAEA,cAAM,gBAAe,kBAAO,kBAAP,mBAAsB,QAAQ,UAAK,QAAnC,YAA0C;AAC/D,eAAO,QAAQ,KAAK,QAAQ,UAAU,GAAG,eAAe,OAAO,eAAe;MAChF;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,YAAW;AA9KnC;AA+KQ,cAAM,QAAO,aAAQ,SAAR,mBAAc;AAC3B,YAAI,QAAQ,KAAK,UAAU;AACzB,iBAAO,QAAQ;QACjB;AAEA,eAAO;MACT;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,YAAW;AAE3B,eAAO,QAAQ,KAAK,QAAQ,UAAY,EAAE;MAC5C;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,aAAY;AAlMpC;AAoMQ,cAAM,YAAY;AAGlB,cAAM,UAAU,SAAS,SAAS,OAAO,CAAC,MAAM,EAAE,KAAK,SAAS,QAAG,CAAC,EAAE;AACtE,cAAM,eAAc,aAAQ,SAAR,mBAAc;AAClC,cAAM,kBAAkB,mCAAS;AACjC,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI,kBAAkB,gBAAgB,UAAU,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;AAExF,YAAI,eAAe,UAAU,KAAK,YAAY,IAAI,GAAG;AACnD,cAAI,MAAM,SAAS,QAAG,KAAK,CAAC,YAAY,UAAU;AAChD,mBAAO,SAAS,KAAK,QAAQ,UAAK,SAAI;UACxC;AAEA,cAAI,KAAK,SAAS,QAAG,KAAK,YAAY,UAAU;AAC9C,mBAAO,SAAS,KAAK,QAAQ,UAAK,SAAI;UACxC;QACF;AAEA,cAAM,eAAc,aAAQ,SAAR,mBAAc;AAClC,cAAM,cAAc;AACpB,YAAI,eAAe,YAAY,KAAK,YAAY,IAAI,GAAG;AACrD,cAAI,MAAM,SAAS,QAAG,KAAK,CAAC,QAAQ,UAAU;AAC5C,mBAAO,SAAS,KAAK,QAAQ,UAAK,SAAI;UACxC;AAEA,cAAI,KAAK,SAAS,QAAG,KAAK,QAAQ,UAAU;AAC1C,mBAAO,SAAS,KAAK,QAAQ,UAAK,SAAI;UACxC;QACF;AAGA,eAAO,SAAS;MAClB;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,cAAc;MACd,iBAAiB,CAAC,UAAU,SAAS,WAAU;AA1OrD;AA4OQ,cAAM,aAAW,oBAAS,SAAT,mBAAe,UAAf,mBAAsB,SAAQ;AAG/C,YAAI,SAAS,WAAW,UAAU;AAChC,cAAI,OAAO,KAAK,QAAQ,GAAG;AACzB,kBAAM,QAAQ,IAAI,KAAK,QAAQ,IAAI,MAAM;AACzC,mBAAO,QAAQ,OAAO,WAAW,OAAO;UAC1C;AACA,iBAAO,OAAO,WAAW,OAAO;QAClC;AAEA,eAAO,SAAS;MAClB;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,cAAc;MACd,iBAAiB,CAAC,UAAU,SAAS,WAAU;AA9PrD;AAgQQ,cAAM,YAAW,oBAAS,SAAT,mBAAe,UAAf,mBAAsB;AAEvC,YAAI,SAAS,WAAW,UAAU;AAChC,cAAI,OAAO,KAAK,QAAQ,GAAG;AACzB,kBAAM,QAAQ,IAAI,KAAK,QAAQ,IAAI,MAAM;AACzC,mBAAO,QAAQ,OAAO,WAAW,OAAO;UAC1C;AACA,iBAAO,OAAO,WAAW,OAAO;QAClC;AAEA,eAAO,SAAS;MAClB;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,cAAc;MACd,iBAAiB,CAAC,UAAU,SAAS,WAAU;AAjRrD;AAmRQ,cAAM,YAAW,oBAAS,SAAT,mBAAe,UAAf,mBAAsB;AAEvC,YAAI,SAAS,WAAW,UAAU;AAChC,cAAI,OAAO,KAAK,QAAQ,GAAG;AACzB,kBAAM,QAAQ,IAAI,KAAK,QAAQ,IAAI,MAAM;AACzC,mBAAO,QAAQ,OAAO,WAAW,OAAO;UAC1C;AACA,iBAAO,OAAO,WAAW,OAAO;QAClC;AAEA,eAAO,SAAS;MAClB;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,UAAU,GAAG,WAAU;AAIvC,YAAI,CAAC,SAAS,QAAQ,SAAS,SAAS,GAAG,UAAU;AACnD,gBAAM,OAAO,SAAS;AACtB,gBAAM,WAAW,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,IAAI;AACvE,gBAAM,kBAAkB,WAAW,WAAM;AACzC,gBAAM,mBAAmB,WAAW,WAAM;AAC1C,iBAAO,KAAK,QAAQ,gBAAM,GAAG,oBAAoB,kBAAkB;QACrE;AAEA,YAAI,SAAS,cAAc,SAAS,UAAU;AAC5C,gBAAM,WAAW,OAAO,UAAU,QAAQ,UAAK,EAAE;AACjD,iBAAO,SAAS,KAAK,QAAQ,gBAAM,OAAO,YAAY,QAAQ;QAChE;AAEA,eAAO,SAAS;MAClB;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,UAAU,GAAG,WAAU;AAEvC,cAAM,YAAY,SAAS,WAAW;AACtC,cAAM,QAAQ,SAAS,OAAO;AAE9B,YAAI,CAAC,SAAS,CAAC,WAAW;AACxB,iBAAO,SAAS;QAClB;AAEA,YAAI,cAAc,SAAS;AACzB,gBAAM,IAAI,MAAM,YAAY,SAAS,oDAAoD;QAC3F;AAGA,cAAM,eAAe,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,IAAI;AAC/E,YAAI,cAAc;AAChB,gBAAM,IAAI,MAAM,YAAY,SAAS,oDAAoD;QAC3F;AAEA,cAAM,CAAC,OAAO,UAAU,IAAI,IAAI,SAAS,UAAU,IAAI;AAOvD,iBAAS,2BAA2B,WAAiB;AApV7D;AAuVU,cAAI,cAAc,WAAW,cAAc,eAAe;AACxD,mBAAO;UACT;AAIA,gBAAM,iBAAiB;AACvB,cAAI,eAAe,KAAK,KAAK,KAAK,eAAe,KAAK,IAAI,GAAG;AAC3D,mBAAO;UACT;AAKA,gBAAM,gBAAe,cAAS,SAAT,mBAAe;AACpC,gBAAM,YAAY,6CAAc;AAChC,gBAAM,YAAY;AAClB,cAAI,cAAc,YAAO,UAAU,KAAK,IAAI,GAAG;AAC7C,mBAAO;UACT;AAEA,iBAAO;QACT;AAEA,cAAM,cAAc,SAAS,SAC1B,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EACxB,IAAI,CAAC,MAAM,EAAE,IAAI,EACjB,KAAK,EAAE,EAGP,QAAQ,mEAAmE,IAAI;AAElF,cAAM,YAAY,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,IAAI;AACvE,cAAM,eAAe;AACrB,cAAM,mBAAmB;AAGzB,cAAM,WAAW,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,IAAI;AACvE,YAAI,UAAU;AACZ,gBAAM,eAAe,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,IAAI;AAG/E,gBAAM,iBAAiB,YAAY;AACnC,iBAAO,YACJ,QAAQ,gBAAgB,SAAI,gBAAgB,EAC5C,QAAQ,OAAO,GAAG,2BAA2B,KAAK,IAAI,eAAe,eAAe,kBAAkB;QAC3G;AAEA,cAAM,WAAW,SAAS;AAC1B,cAAM,aAAa,SAAS;AAM5B,YAAI,cAAc,UAAU;AAC1B,gBAAM,oBAAoB,OAAO,yBAAyB;AAC1D,gBAAM,mBAAmB,2BAA2B,KAAK;AACzD,iBAAO,YAAY,QACjB,OACA,GAAG,mBAAmB,eAAe,oBAAoB,kBAAkB;QAE/E;AAGA,cAAM,eAAe,CAAC,SAAS,SAAS,QAAQ;AAChD,YAAI,CAAC,cAAc,YAAY,CAAC,SAAS,WAAW,aAAa,SAAS,SAAS,GAAG;AACpF,gBAAM,oBAAoB,OAAO,yBAAyB;AAC1D,gBAAM,mBAAmB,2BAA2B,KAAK;AACzD,iBAAO,YAAY,QACjB,OACA,GAAG,mBAAmB,eAAe,oBAAoB,kBAAkB;QAE/E;AAKA,YAAI,cAAe,CAAC,cAAc,CAAC,UAAW;AAC5C,iBAAO,YAAY,QAAQ,OAAO,GAAG,2BAA2B,KAAK,IAAI,cAAc;QACzF;AAEA,YAAI,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY;AAC1C,iBAAO,YAAY,QAAQ,OAAO,GAAG,2BAA2B,KAAK,GAAG;QAC1E;AAEA,eAAO,SAAS,KAAK,QAAQ,OAAO,GAAG,2BAA2B,KAAK,GAAG;MAC5E;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,aAAY;AAE5B,cAAM,YAAY,SAAS,WAAW;AACtC,cAAM,QAAQ,SAAS,OAAO;AAE9B,YAAI,CAAC,SAAS,CAAC,WAAW;AACxB,iBAAO,SAAS;QAClB;AAEA,YAAI,cAAc,SAAS;AACzB,gBAAM,IAAI,MAAM,YAAY,SAAS,oDAAoD;QAC3F;AAEA,cAAM,mBAAmB,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,IAAI;AACtG,YAAI,kBAAkB;AACpB,gBAAM,IAAI,MAAM,YAAY,SAAS,2DAA2D;QAClG;AAEA,cAAM,CAAC,OAAO,UAAU,IAAI,IAAI,SAAS,UAAU,IAAI;AAOvD,iBAAS,2BAA2B,WAAiB;AA5c7D;AA8cU,cAAI,cAAc,eAAe;AAC/B,mBAAO;UACT;AAIA,gBAAM,iBAAiB;AACvB,cAAI,eAAe,KAAK,KAAK,KAAK,eAAe,KAAK,IAAI,GAAG;AAC3D,mBAAO;UACT;AAKA,gBAAM,gBAAe,cAAS,SAAT,mBAAe;AACpC,gBAAM,YAAY,6CAAc;AAChC,gBAAM,YAAY;AAClB,cAAI,cAAc,YAAO,UAAU,KAAK,IAAI,GAAG;AAC7C,mBAAO;UACT;AAIA,cAAI,aAAa,QAAQ,KAAK,SAAS,GAAG;AACxC,mBAAO;UACT;AAEA,iBAAO;QACT;AAEA,eAAO,SAAS,KAAK,QAAQ,OAAO,GAAG,2BAA2B,KAAK,GAAG;MAC5E;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,UAAU,SAAS,WAAU;AAlfrD;AAqfQ,cAAM,gBAAe,cAAS,SAAT,mBAAe;AACpC,YAAI,CAAC;AAAc,iBAAO,SAAS;AAEnC,cAAM,sBAAsB,aAAa,SAAS,GAAG;AACrD,YAAI,CAAC;AAAqB,iBAAO,SAAS;AAE1C,cAAM,CAAC,OAAO,GAAG,IAAI,IAAI,SAAS,UAAU,IAAI;AAEhD,iBAAS,kBAAe;AA7fhC,cAAAA;AAggBU,gBAAM,iBAAiB;AACvB,cAAI,eAAe,KAAK,KAAK,KAAK,eAAe,KAAK,IAAI,GAAG;AAC3D,mBAAO;UACT;AAEA,gBAAMC,iBAAeD,MAAA,SAAS,SAAT,gBAAAA,IAAe;AACpC,cAAI,CAACC,eAAc;AACjB,mBAAO;UACT;AAEA,gBAAM,YAAYA,cAAa;AAC/B,cAAI,eAAe,KAAK,SAAS,GAAG;AAClC,mBAAO;UACT;AAEA,iBAAO;QACT;AAEA,iBAAS,0BAA0B,OAAa;AAC9C,gBAAM,WAAW,SAAS,SAAS,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,IAAI;AACvE,gBAAM,kBAAkB,WAAW,WAAM;AACzC,gBAAM,mBAAmB,WAAW,WAAM;AAC1C,gBAAM,WAAW,MAAM,QAAQ,UAAK,EAAE,IAAI;AAE1C,iBAAO,kBAAkB,SAAS,KAAK,QAAQ,aAAa,QAAQ;QACtE;AAEA,cAAM,aAAa,SAAS,KAAK,mBAAmB;AACpD,YAAI,CAAC,YAAY;AACf,iBAAO,0BAA0B,gBAAe,IAAK,WAAM,OAAO,QAAQ;QAC5E;AAEA,cAAM,YAAY,aAAa,WAAW;AAC1C,YAAI,CAAC,WAAW;AACd,gBAAM,IAAI,MACR,YAAY,SAAS,sDAAsD,2CAA2C;QAE1H;AAEA,YAAI,cAAc,SAAS;AACzB,gBAAM,IAAI,MACR,YAAY,SAAS,sDAAsD,iDAAiD;QAEhI;AAEA,eAAO,0BAA0B,OAAO,UAAU;MACpD;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,iBAAiB,CAAC,KAAK,KAAK,WAAU;AAnjB5C;AAwjBQ,cAAM,QAAO,SAAI,SAAJ,mBAAU;AACvB,YACE,QACA,CAAC,KAAK,YACN,CAAC,KAAK,aAAa,QAAQ,KAC3B,CAAC,KAAK,aAAa,OAAO,KAC1B,KAAK,UAAU,UACf;AACA,iBAAO,IAAI;QACb;AAGA,eAAO,IAAI,KAAK,QAAQ,KAAK,GAAG,OAAO,SAAS,OAAO,WAAW,OAAO,cAAc;MACzF;;IAEF;MACE,SAAS;MACT,QAAQ;MACR,cAAc;MACd,iBAAiB,CAAC,MAAM,QAAO;AAE7B,cAAM,SAAS;AACf,cAAM,OAAO,KAAK,KAAK,QAAQ,QAAQ,EAAE;AACzC,cAAM,QAAQ,KAAK,MAAM,GAAG;AAC5B,cAAM,MAAM,SAAS,MAAM,KAAK,MAAM,KAAK;AAC3C,cAAM,WAAW;AACjB,eAAO,GAAG,MAAM;MAClB;;;EAGJ,eAAe;EACf,SAAS;EACT,YAAY;EACZ,YAAY;IACV;MACE,OAAO;MACP,QAAQ;MACR,eAAe;MACf,cAAc;;;EAGlB,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,gBAAgB;EAChB,SAAS;EACT,QAAQ;EACR,WAAW;;",
|
|
6
6
|
"names": ["_a", "nextSyllable"]
|
|
7
7
|
}
|
|
@@ -24,6 +24,7 @@ export const tiberian = {
|
|
|
24
24
|
SHUREQ: "uː",
|
|
25
25
|
HOLAM_VAV: "oː",
|
|
26
26
|
QAMATS_HE: "ɔː",
|
|
27
|
+
PATAH_HE: "aː",
|
|
27
28
|
SEGOL_HE: "ɛː",
|
|
28
29
|
TSERE_HE: "eː",
|
|
29
30
|
MS_SUFX: "ɔw",
|
|
@@ -336,9 +337,9 @@ export const tiberian = {
|
|
|
336
337
|
.filter((c) => !c.isMater)
|
|
337
338
|
.map((c) => c.text)
|
|
338
339
|
.join("")
|
|
339
|
-
// a
|
|
340
|
+
// a patah, tsere, segol, or holam followed by a he without a mappiq is not a mater
|
|
340
341
|
// but b/c the he is not pronounced, we need to remove the final he
|
|
341
|
-
.replace(/([\u{05B5}\u{05B6}\u{05B9}].{1})\u{05D4}(?!\u{05BC})/u, "$1");
|
|
342
|
+
.replace(/([\u{05B7}\u{05B5}\u{05B6}\u{05B9}].{0,1})\u{05D4}(?!\u{05BC})/u, "$1");
|
|
342
343
|
const hasMaters = syllable.clusters.map((c) => c.isMater).includes(true);
|
|
343
344
|
const lengthMarker = "ː";
|
|
344
345
|
const halfLengthMarker = "ˑ";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiberian.js","sourceRoot":"","sources":["../../../src/schemas/tiberian.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAW;IAC9B,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,WAAW,EAAE,GAAG;IAChB,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,EAAE;IACV,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,GAAG;IACV,YAAY,EAAE,GAAG;IACjB,KAAK,EAAE,GAAG;IACV,YAAY,EAAE,GAAG;IACjB,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,GAAG;IACR,SAAS,EAAE,GAAG;IACd,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,IAAI;IAChB,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,GAAG;IACd,GAAG,EAAE,GAAG;IACR,SAAS,EAAE,GAAG;IACd,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;IACb,EAAE,EAAE,GAAG;IACP,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,IAAI;IACX,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,aAAa;IAC1B,kBAAkB,EAAE,aAAa;IACjC,aAAa,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE;IACzD,mBAAmB,EAAE;QACnB;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,kBAAkB;YAC1B,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;SACF;QACD;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,iBAAiB;YACzB,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtC,4DAA4D;gBAC5D,6EAA6E;gBAC7E,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;oBACrD,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,sEAAsE;gBACtE,+DAA+D;gBAC/D,kDAAkD;gBAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC;gBACnE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,kFAAkF;gBAClF,8CAA8C;gBAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBAClE,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;SACF;QACD;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,gBAAgB;YACxB,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtC,yCAAyC;gBACzC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;oBACrD,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC;gBACnE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBACjE,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;SACF;QACD;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,iBAAiB;YACzB,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtC,yCAAyC;gBACzC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;oBACrD,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC;gBACnE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBAClE,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;SACF;QACD;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,iBAAiB;YACzB,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtC,yCAAyC;gBACzC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;oBACrD,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC;gBACnE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpE,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;SACF;QACD;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,sBAAsB;YAC9B,eAAe,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gBACtC,gDAAgD;gBAChD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;oBACrD,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,CAAC;gBACnE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzD,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;gBAClE,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;SACF;QACD;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,yCAAyC;YACjD,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBACjC,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1B,OAAO,OAAO,CAAC,IAAI,CAAC;gBACtB,CAAC;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC;SACF;QACD;YACE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,kBAAkB;YAC1B,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;gBAC3B,oBAAoB;gBACpB,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC9C,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC5B,uDAAuD;gBACvD,MAAM,SAAS,GAAG,eAAe,CAAC;gBAElC,+BAA+B;gBAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBACxC,MAAM,eAAe,GAAG,OAAO,EAAE,QAAQ,CAAC;gBAC1C,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE1F,IAAI,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;wBACjD,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,CAAC;oBAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;wBAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBACxC,MAAM,WAAW,GAAG,OAAO,CAAC;gBAC5B,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAC7C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,CAAC;oBAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAC3C,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBAED,UAAU;gBACV,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,qBAAqB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,mDAAmD;gBACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC;gBAClD,8DAA8D;gBAC9D,kCAAkC;gBAClC,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;oBACjC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC7C,OAAO,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBACjD,CAAC;oBACD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,qBAAqB;YAC7B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,oDAAoD;gBACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;gBAE5C,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;oBACjC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC7C,OAAO,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAClD,CAAC;oBACD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,6BAA6B;YACrC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,kDAAkD;gBAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;gBAE5C,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;oBACjC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC7C,OAAO,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChD,CAAC;oBACD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,4BAA4B;YACpC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gBACvC,8DAA8D;gBAC9D,0DAA0D;gBAC1D,gFAAgF;gBAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;oBAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,+DAA+D;oBACzI,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,eAAe,KAAK,gBAAgB,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAClE,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,8BAA8B;YACtC,eAAe,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gBACvC,sFAAsF;gBACtF,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACvB,CAAC;gBAED,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,gDAAgD,CAAC,CAAC;gBAC7F,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjF,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,gDAAgD,CAAC,CAAC;gBAC7F,CAAC;gBAED,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzD;;;;;mBAKG;gBACH,SAAS,0BAA0B,CAAC,SAAiB;oBACnD,wHAAwH;oBACxH,2BAA2B;oBAC3B,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;wBACzD,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,0DAA0D;oBAC1D,oCAAoC;oBACpC,MAAM,cAAc,GAAG,UAAU,CAAC;oBAClC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5D,OAAO,GAAG,CAAC;oBACb,CAAC;oBAED,gEAAgE;oBAChE,qDAAqD;oBACrD,oDAAoD;oBACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;oBAC1C,MAAM,SAAS,GAAG,YAAY,EAAE,KAAK,CAAC;oBACtC,MAAM,SAAS,GAAG,eAAe,CAAC;oBAClC,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9C,OAAO,GAAG,CAAC;oBACb,CAAC;oBAED,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ;qBAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;qBACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAClB,IAAI,CAAC,EAAE,CAAC;oBACT,4EAA4E;oBAC5E,mEAAmE;qBAClE,OAAO,CAAC,uDAAuD,EAAE,IAAI,CAAC,CAAC;gBAE1E,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzE,MAAM,YAAY,GAAG,GAAG,CAAC;gBACzB,MAAM,gBAAgB,GAAG,GAAG,CAAC;gBAE7B,uCAAuC;gBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACzE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjF,wEAAwE;oBACxE,sDAAsD;oBACtD,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBACtC,OAAO,WAAW;yBACf,OAAO,CAAC,cAAc,EAAE,IAAI,cAAc,EAAE,CAAC;yBAC7C,OAAO,CAAC,KAAK,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC7G,CAAC;gBAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBACnC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAEvC,mBAAmB;gBACnB,mEAAmE;gBACnE,uFAAuF;gBACvF,mEAAmE;gBACnE,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;oBAC3B,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;oBAC7D,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;oBAC3D,OAAO,WAAW,CAAC,OAAO,CACxB,KAAK,EACL,GAAG,gBAAgB,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,EAAE,CAC5E,CAAC;gBACJ,CAAC;gBAED,2FAA2F;gBAC3F,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAClD,IAAI,CAAC,UAAU,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrF,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;oBAC7D,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;oBAC3D,OAAO,WAAW,CAAC,OAAO,CACxB,KAAK,EACL,GAAG,gBAAgB,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,EAAE,CAC5E,CAAC;gBACJ,CAAC;gBAED,oBAAoB;gBACpB,wEAAwE;gBACxE,qEAAqE;gBACrE,IAAI,UAAU,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC7C,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,GAAG,YAAY,EAAE,CAAC,CAAC;gBAC3F,CAAC;gBAED,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC3C,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,sBAAsB;YAC9B,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAC5B,sEAAsE;gBACtE,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBACzB,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACvB,CAAC;gBAED,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,gDAAgD,CAAC,CAAC;gBAC7F,CAAC;gBAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxG,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,uDAAuD,CAAC,CAAC;gBACpG,CAAC;gBAED,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzD;;;;;mBAKG;gBACH,SAAS,0BAA0B,CAAC,SAAiB;oBACnD,iCAAiC;oBACjC,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;wBAChC,OAAO,SAAS,CAAC;oBACnB,CAAC;oBAED,iFAAiF;oBACjF,oCAAoC;oBACpC,MAAM,cAAc,GAAG,UAAU,CAAC;oBAClC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5D,OAAO,GAAG,CAAC;oBACb,CAAC;oBAED,gEAAgE;oBAChE,qDAAqD;oBACrD,oDAAoD;oBACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;oBAC1C,MAAM,SAAS,GAAG,YAAY,EAAE,KAAK,CAAC;oBACtC,MAAM,SAAS,GAAG,eAAe,CAAC;oBAClC,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9C,OAAO,GAAG,CAAC;oBACb,CAAC;oBAED,2DAA2D;oBAC3D,uCAAuC;oBACvC,IAAI,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBACzC,OAAO,GAAG,CAAC;oBACb,CAAC;oBAED,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,kEAAkE;YAC1E,eAAe,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7C,wHAAwH;gBACxH,2BAA2B;gBAC3B,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC1C,IAAI,CAAC,YAAY;oBAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;gBAExC,MAAM,mBAAmB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,IAAI,CAAC,mBAAmB;oBAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;gBAE/C,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAElD,SAAS,eAAe;oBACtB,wHAAwH;oBACxH,iFAAiF;oBACjF,MAAM,cAAc,GAAG,UAAU,CAAC;oBAClC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC5D,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;oBAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;oBACrC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;wBACnC,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,OAAO,KAAK,CAAC;gBACf,CAAC;gBAED,SAAS,yBAAyB,CAAC,KAAa;oBAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACzE,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,gBAAgB,CAAC;oBAE3D,OAAO,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACxE,CAAC;gBAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBACtD,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,yBAAyB,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9E,CAAC;gBAED,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,IAAI,kDAAkD,mBAAmB,wBAAwB,CACvH,CAAC;gBACJ,CAAC;gBAED,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CACb,YAAY,QAAQ,CAAC,IAAI,kDAAkD,mBAAmB,8BAA8B,CAC7H,CAAC;gBACJ,CAAC;gBAED,OAAO,yBAAyB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YACtD,CAAC;SACF;QACD;YACE,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,kBAAkB;YAC1B,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;gBACpC,0EAA0E;gBAE1E,yDAAyD;gBACzD,6CAA6C;gBAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC7B,IACE,IAAI;oBACJ,CAAC,IAAI,CAAC,QAAQ;oBACd,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;oBAC5B,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;oBAC3B,IAAI,CAAC,KAAK,KAAK,GAAG,EAClB,CAAC;oBACD,OAAO,GAAG,CAAC,IAAI,CAAC;gBAClB,CAAC;gBAED,gEAAgE;gBAChE,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC3F,CAAC;SACF;QACD;YACE,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,iBAAiB;YACzB,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC7B,4BAA4B;gBAC5B,MAAM,MAAM,GAAG,uCAAuC,CAAC;gBACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC9B,MAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,MAAM,QAAQ,GAAG,eAAe,CAAC;gBACjC,OAAO,GAAG,GAAG,GAAG,QAAQ,EAAE,CAAC;YAC7B,CAAC;SACF;KACF;IACD,aAAa,EAAE,KAAK;IACpB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE;QACV;YACE,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,IAAI;SACnB;KACF;IACD,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;IACZ,SAAS,EAAE,KAAK;CACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tiberian.js","sourceRoot":"","sources":["../../../src/schemas/tiberian.ts"],"names":[],"mappings":"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"}
|