Z26313

{
    "Z1K1": "Z2",
    "Z2K1": {
        "Z1K1": "Z6",
        "Z6K1": "Z26313"
    },
    "Z2K2": {
        "Z1K1": "Z14",
        "Z14K1": "Z17866",
        "Z14K3": {
            "Z1K1": "Z16",
            "Z16K1": "Z600",
            "Z16K2": "function Z17866(Z17866K1) {\n    let Q = Z17866K1.split(/(?!(?\u003C=[pbtdcgfr])(?=r)|(?\u003C=[pbcgfl])(?=l)|(?\u003C=[^aeiou])(?=h)|(?\u003C=q)(?=u))/gi);\n\n    const consonante = (s) =\u003E /^(b|c|ch|d|f|g|h|j|k|l|ll|m|n|ñ|p|qu|r|rr|s|t|v|w|x|y|z|pr|br|tr|dr|cr|gr|pl|bl|cl|gl|fl)(h)?$/i.test(s);\n    const vocal = (s) =\u003E /^(a|á|e|é|i|í|o|ó|u|ú|ü)$/i.test(s);\n    const vocalAbierta = (s) =\u003E /^(a|á|e|é|o|ó)$/i.test(s);\n    const vocalCerrada = (s) =\u003E /^(i|í|u|ú|ü|ǘ)$/i.test(s)\n    const vocalCerradaAcentuada = (s) =\u003E /^(í|ú|ǘ|ý)$/i.test(s);\n    function check(n, C) {\n        let b = true;\n        for (let i = 0; i \u003C C.length; i++) {\n            const c = C[i];\n            b = b \u0026\u0026 c(Q[n+i]);\n        }\n        return b;\n    }\n    \n    function f(n) {\n        if(check(n, [vocal, consonante, vocal])) {\n            return f(n + 1);\n        }\n        else if(check(n, [vocal, vocal])) {\n            if(Q[n + 1] == Q[n + 2] || check(n+1, [vocalAbierta, vocalAbierta]) || check(n+1, [vocalAbierta, vocalCerradaAcentuada]) || check(n+1, [vocalCerradaAcentuada, vocalAbierta])){\n                return f(n+1)\n            } else {\n                Q[n] = Q[n] + Q[n + 1];\n                Q.splice(n + 1, 1);\n                return f(n+1)\n            }\n        }\n        else if(check(n, [consonante, vocal, consonante, consonante])) {\n            Q[n] = Q[n] + Q[n + 1] + Q[n + 2];\n            Q.splice(n + 1, 2);\n            return f(n+1);\n        }\n        else if(check(n, [consonante, vocal, consonante])) {\n            Q[n] = Q[n] + Q[n + 1];\n            Q.splice(n + 1, 1);\n            return f(n+1);\n        }\n        else if(check(n, [consonante, vocal, consonante, consonante])) {\n            if(Q[n + 1] == Q[n + 2] || (vocalAbierta(Q[n + 1]) \u0026\u0026 vocalAbierta(Q[n + 2])) || check(n+1, [vocalAbierta, vocalCerradaAcentuada]) || (vocalCerradaAcentuada(Q[n + 1]) \u0026\u0026 vocalAbierta(Q[n + 2]))) {\n                Q[n] = Q[n] + Q[n + 1];\n                Q[n + 2] = Q[n + 2] + Q[n + 3];\n                Q.splice(n + 1, 1);\n                Q.splice(n + 2, 1);\n                return f(n+2);\n            } \n            else {\n                Q[n] = Q[n] + Q[n + 1] + Q[n + 2]\n                Q.splice(n+1, 2)\n                return f(n+1)\n            }\n        }\n        else if(consonante(Q[n]) \u0026\u0026 ((vocalAbierta(Q[n + 1]) \u0026\u0026 vocalCerrada(Q[n + 2])) || (vocalCerrada(Q[n + 1]) \u0026\u0026 vocalAbierta(Q[n + 2])))) {\n            Q[n] = Q[n] + Q[n + 1] +  Q[n + 2];\n            Q.splice(n+1, 2);\n            return f(n + 1);\n        }\n        else if(check(n, [consonante, vocal])) {\n            Q[n] = Q[n] + Q[n + 1];\n            Q.splice(n + 1, 1)\n            return f(n + 1)\n        }\n        else if(check(n, [vocal, consonante])) {\n            Q[n] = Q[n] + Q[n + 1];\n            Q.splice(n + 1, 1)\n            return f(n + 1)\n        }\n        else {\n            if(consonante(Q[n])) {\n                Q[n - 1] = Q[n - 1] + Q[n];\n                Q.splice(n, 1);\n                return f(n)\n            }\n            return Q;\n        }\n    }\n\n    return f(0);\n}"
        }
    },
    "Z2K3": {
        "Z1K1": "Z12",
        "Z12K1": [
            "Z11",
            {
                "Z1K1": "Z11",
                "Z11K1": "Z1002",
                "Z11K2": "split spanish syllabes"
            }
        ]
    },
    "Z2K4": {
        "Z1K1": "Z32",
        "Z32K1": [
            "Z31",
            {
                "Z1K1": "Z31",
                "Z31K1": "Z1002",
                "Z31K2": [
                    "Z6",
                    "silabeo"
                ]
            }
        ]
    },
    "Z2K5": {
        "Z1K1": "Z12",
        "Z12K1": [
            "Z11"
        ]
    }
}