1 (function(){function ca(a
,c
){var b
=!y
[c
]?null:y
[c
].special
?y
[c
][a
]||null:-1!==Ka
.barsAndTildes
.indexOf(c
)?"lambe"===a
||"alda"===a
&&2<=y
[c
].length
?2:q
[a
].wide
?0:1:null==q
[a
]||null===q
[a
][c
]?null:null!=q
[a
][c
]?q
[a
][c
]:null!=q
[a
].others
?q
[a
].others
:q
[a
];return null==b
?null:y
[c
][a
]||y
[c
][b
]||""}function da(a
,c
){var b
=!z
[c
]||-1!==La
.indexOf(c
)?null:z
[c
].special
?z
[c
][a
]||null:-1!==Ma
.barsAndTildes
.indexOf(c
)?"lambe"===a
||"alda"===a
&&2<=z
[c
].length
?2:r
[a
].wide
?0:1:null==r
[a
]||null===r
[a
][c
]?null:null!=r
[a
][c
]?
2 r
[a
][c
]:null!=r
[a
].others
?r
[a
].others
:r
[a
];return null==b
?null:z
[c
][a
]||z
[c
][b
]||null}function ea(a
,c
){return a
.split(";").map(function(a
){var a
=a
.split(":"),e
=a
.shift(),a
=a
.length
?a
.shift().split(","):[],d
=c(e
);a
.forEach(function(a
){"tilde-above"===a
?d
.addTildeAbove():"tilde-below"===a
?d
.addBarBelow():"y"===a
?d
.addBelow("y"):"s"===a
||"s-inverse"===a
||"s-extended"===a
||"s-flourish"===a
?"s"===a
&&("calma"===e
||"quesse"===e
)?d
.addBelow(a
):d
.addFollowing(a
):d
.addAbove(a
)});return d
})}function fa(a
){return function b(e
,
3 d
){d
=d
||[];return a(function(a
){return null!=a
?b(e
,d
.concat([a
])):e(d
)})}}function ga(a
){return" "===a
||"\n"===a
||""===a
}function ha(a
,c
,b
){c
=c
||0;b
=b
||function(a
){return a
};return function(e
){return"'"===e
?ha(a
,c
+1,function(a
){return b(a
)("'")}):a(c
,b
)(e
)}}function ia(a
){return P(function(){return ja(function(){return P(a
)})})}function Na(a
){return P(function(){return Oa(function(){return P(a
)})})}function ka(a
){var c
={value
:void 0,children
:{}},b
={};Object
.keys(a
).forEach(function(e
){if(0===e
.length
)c
.value
=
4 a
[e
];else{var d
=e
[0];b
[d
]||(b
[d
]={});var i
=e
.slice(1);b
[d
][i
]=a
[e
]}});Object
.keys(b
).forEach(function(a
){c
.children
[a
]=ka(b
[a
])});return c
}function la(a
,c
,b
,e
){var d
={},i
=Object
.keys(a
.children
);i
.forEach(function(g
){d
[g
]=la(a
.children
[g
],c
,b
,e
)});var f
;a
.value
&&(f
=c(a
.value
));return i
.reduceRight(function(a
,c
){return function(f
){return function(e
){return e
===c
?b(d
[e
](f
)):a(f
)(e
)}}},function(a
){return f
?b(f(a
)):e(a
)})}function Q(a
){a
=a
||Qa
;return{font
:a
.font
||Ra
,block
:a
.block
,plain
:a
.plain
,doubleNasalsWithTildeBelow
:a
.doubleNasalsWithTildeBelow
,
5 reverseCurls
:a
.reverseCurls
||a
.blackSpeech
,swapDotSlash
:a
.swapDotSlash
,medialOre
:a
.medialOre
||a
.blackSpeech
,blackSpeech
:a
.blackSpeech
,noAchLaut
:a
.noAchLaut
,sHook
:a
.sHook
,tsdz
:a
.tsdz
,duodecimal
:a
.duodecimal
}}function ma(a
,c
,b
){b
=b
||"";return function(e
){return l
.isBreak(e
)?a(b
)(e
):ma(a
,c
,b
+e
)}}function na(a
,c
,b
){var e
=function(d
){return d
.length
?na(a
,c
,b
.concat(d
),d
[d
.length
-1]):a(b
)},d
=c
.font
.makeColumn
,i
=function(a
){var b
=function(b
){return b
?a
?(c
.reverseCurls
&&(a
=oa
[a
]||a
),c
.swapDotSlash
&&(a
=pa
[a
]||
6 a
),"silme"===b
.tengwa
&&a
&&c
.sHook
?e([d("short-carrier").addAbove(a
).addBelow("s")]):-1!==Sa
.indexOf(a
)&&b
.canAddAbove(a
)?(b
.addAbove(a
),F(function(a
){return e([a
])},b
)):F(function(b
){return e([V(a
,c
),b
])},b
)):F(function(a
){return e([a
])},b
):a
?(c
.reverseCurls
&&(a
=oa
[a
]||a
),c
.swapDotSlash
&&(a
=pa
[a
]||a
),F(function(a
){return e([a
])},V(a
,c
))):function(a
){return l
.isBreak(a
)?e([]):/\d/.test(a
)?Ta(e
,c
)(a
):qa
[a
]?e([d(qa
[a
])]):e([d("ure").addError("Cannot transcribe "+JSON
.stringify(a
)+" in General Use Mode")])}},
7 i
=a
,h
=c
.font
.makeColumn
;return function(a
){return"n"===a
?function(a
){return"n"===a
?c
.doubleNasalsWithTildeBelow
?b(h("numen").addTildeBelow()):b(h("numen").addTildeAbove()):"t"===a
?function(a
){return"h"===a
?b(h("thule").addTildeAbove()):b(h("tinco").addTildeAbove())(a
)}:"d"===a
?b(h("ando").addTildeAbove()):"c"===a
?b(h("quesse").addTildeAbove()):"g"===a
?b(h("ungwe").addTildeAbove()):"j"===a
?b(h("anca").addTildeAbove()):"f"===a
?b(h("numen"))("v"):"w"===a
?function(a
){return"a"===a
?function(a
){return"l"===
8 a
?b(h("nwalme").addAbove("w"))("a")(a
):b(h("numen").addAbove("w"))("a")(a
)}:"nw'"===a
?b(h("nwalme").addAbove("w")):b(h("numen").addAbove("w"))(a
)}:b(h("numen"))(a
)}:"m"===a
?function(a
){return"m"===a
?c
.doubleNasalsWithTildeBelow
?b(h("malta").addTildeBelow()):b(h("malta").addTildeAbove()):"p"===a
?b(h("parma").addTildeAbove()):"b"===a
?b(h("umbar").addTildeAbove()):"f"===a
?b(h("formen").addTildeAbove()):"v"===a
?b(h("ampa").addTildeAbove()):b(h("malta"))(a
)}:"\u00f1"===a
?function(a
){return"c"===a
?b(h("quesse").addTildeAbove()):
9 "g"===a
?b(h("ungwe").addTildeAbove()):b(h("nwalme"))(a
)}:"t"===a
?function(a
){return"t"===a
?b(h("tinco").addTildeBelow()):"h"===a
?b(h("thule")):"c"===a
?function(a
){return"h"===a
?b(h("tinco"))("c")("h")("'"):b(h("tinco"))("c")(a
)}:"s"===a
&&c
.tsdz
?b(h("calma")):b(h("tinco"))(a
)}:"p"===a
?function(a
){return"p"===a
?b(h("parma").addTildeBelow()):b(h("parma"))(a
)}:"c"===a
?function(a
){return"c"===a
?b(h("calma")):"h"===a
?l
.countPrimes(function(a
){return c
.noAchLaut
&&!a
?b(h("calma")):b(h("hwesta"))}):b(h("quesse"))(a
)}:
10 "d"===a
?function(a
){return"d"===a
?b(h("ando").addTildeBelow()):"j"===a
?b(h("anga")):"z"===a
&&c
.tsdz
?b(h("anga")):"h"===a
?b(h("anto")):b(h("ando"))(a
)}:"b"===a
?function(a
){return"b"===a
?b(h("umbar").addTildeBelow()):b(h("umbar"))(a
)}:"g"===a
?function(a
){return"g"===a
?b(h("ungwe").addTildeBelow()):"h"===a
?c
.blackSpeech
?b(h("ungwe-extended")):b(h("unque")):b(h("ungwe"))(a
)}:"f"===a
?function(a
){return"f"===a
?b(h("formen").addTildeBelow()):b(h("formen"))(a
)}:"v"===a
?b(h("ampa")):"j"===a
?b(h("anca")):"s"===
11 a
?function(a
){return"s"===a
?l
.countPrimes(function(a
){var c
=h(0<a
?"silme-nuquerna":"silme").addTildeBelow();1<a
&&c
.addError("Silme does not have this many alternate forms.");return b(c
)}):"h"===a
?c
.blackSpeech
?b(h("calma-extended")):b(h("harma")):l
.countPrimes(function(a
){var c
=h(0<a
?"silme-nuquerna":"silme");1<a
&&c
.addError("Silme does not have this many alternate forms.");return b(c
)})(a
)}:"z"===a
?function(a
){return"z"===a
?l
.countPrimes(function(a
){var c
=h(0<a
?"esse-nuquerna":"esse").addTildeBelow();
12 1<a
&&c
.addError("Esse does not have this many alternate forms.");return b(c
)}):l
.countPrimes(function(a
){var c
=h(0<a
?"esse-nuquerna":"esse");1<a
&&c
.addError("Silme does not have this many alternate forms.");return b(c
)})(a
)}:"h"===a
?function(a
){return"w"===a
?b(h("hwesta-sindarinwa")):b(h("hyarmen"))(a
)}:"r"===a
?function(a
){return"r"===a
?b(h("romen").addTildeBelow()):"h"===a
?b(h("arda")):l
.isFinal(a
)||c
.medialOre
&&-1===Ua
.indexOf(a
)?b(h("ore"))(a
):b(h("romen"))(a
)}:"l"===a
?function(a
){return"l"===
13 a
?b(h("lambe").addTildeBelow()):"h"===a
?b(h("alda")):b(h("lambe"))(a
)}:"i"===a
?b(h("anna")):"u"===a
?b(h("vala")):"w"===a
?function(a
){return"h"===a
?b(h("hwesta-sindarinwa")):b(h("vala"))(a
)}:"e"===a
&&(!i
||"a"===i
)?b(h("yanta")):"y"===a
?b(h("wilya").addBelow("y")):R
[a
]?b(V(a
,c
).addAbove(R
[a
])):b()(a
)}};return function(a
){return""===a
?i():-1!==Va
.indexOf(a
)?function(b
){return b
===a
?i(Wa
[a
]):i(a
)(b
)}:-1!==Xa
.indexOf(a
)?i(a
):i()(a
)}}function V(a
,c
){var b
=c
.font
.makeColumn
;return"\u00e1"===a
?b("wilya").addAbove("a"):
14 R
[a
]?b("long-carrier").addAbove(R
[a
]):b("short-carrier").addAbove(a
)}function F(a
,c
){var b
=function(b
){var c
=function(b
){return function(c
){return"s"===c
?b
.canAddBelow("s")?l
.countPrimes(function(c
,d
){if(0===c
)return a(b
.addBelow("s"));if(c
)return 1<c
&&b
.addError("Only one alternate form for following S."),d(a(b
)("s"))}):l
.countPrimes(function(c
,d
){return function(h
){if(l
.isFinal(h
)){if(b
.canAddFollowing("s-final")&&0===c
--)b
.addFollowing("s-final");else if(b
.canAddFollowing("s-inverse")&&0===c
--)b
.addFollowing("s-inverse");
15 else if(b
.canAddFollowing("s-extended")&&0===c
--)b
.addFollowing("s-extended");else if(b
.canAddFollowing("s-flourish")&&0===c
--)b
.addFollowing("s-flourish");else{for(h
=a(b
)("s");0<c
--;)h
=h("'");return h
}return a(b
)}return d(a(b
)("s"))(h
)}}):a(b
)(c
)}};return function(a
){return"y"===a
&&b
.canAddBelow("y")?c(b
.addBelow("y")):"e"===a
&&b
.canAddBelow("i-below")?l
.countPrimes(function(f
){if(0===f
)return c(b
)(a
);1<f
&&b
.addError("Following E has only one variation.");return c(b
.addBelow("i-below"))}):c(b
)(a
)}};
16 return c
.canAddAbove("w")?function(a
){return"w"===a
?b(c
.addAbove("w")):b(c
)(a
)}:b(c
)}function S(a
){a
=a
||Ya
;return{font
:a
.font
||Za
,block
:a
.block
,plain
:a
.plain
,vilya
:a
.vilya
,harma
:a
.harma
,classicalH
:a
.classicalH
,classicalR
:a
.classicalR
,swapDotSlash
:a
.swapDotSlash
,reverseCurls
:a
.reverseCurls
,iuRising
:a
.iuRising
,longHalla
:a
.longHalla
,duodecimal
:a
.duodecimal
}}function ra(a
,c
,b
,e
){var b
=b
||[],d
=function(d
){return d
.length
?ra(a
,c
,b
.concat(d
),d
[d
.length
-1]):a(b
)},i
=c
.font
.makeColumn
,f
=function(a
){var b
=a
.pop();
17 return v(function(b
){b
=a
.concat(b
).filter(Boolean
);return b
.length
?d(b
):function(a
){return G
.isBreak(a
)?d([])(a
):/\d/.test(a
)?$a(d
,c
)(a
):sa
[a
]?d([i(sa
[a
])]):d([i("ure").addError("Cannot transcribe "+JSON
.stringify(a
)+" in Classical Mode")])}},c
,b
)},g
=c
.font
.makeColumn
;return function(a
){return"n"===a
?function(a
){return"n"===a
?f([g("numen").addTildeBelow()]):"t"===a
?f([g("anto")]):"d"===a
?f([g("ando")]):"g"===a
?function(a
){return"w"===a
?f([g("ungwe")]):f([g("anga")])(a
)}:"c"===a
?function(a
){return"w"===
18 a
?f([g("unque")]):f([g("anca")])(a
)}:f([g("numen")])(a
)}:"m"===a
?function(a
){return"m"===a
?f([g("malta").addTildeBelow()]):"p"===a
?f([g("ampa")]):"b"===a
?f([g("umbar")]):f([g("malta")])(a
)}:"\u00f1"===a
?function(a
){return"g"===a
?function(a
){return"w"===a
?f([g("ungwe")]):f([g("anga")])(a
)}:"c"===a
?function(a
){return"w"===a
?f([g("unque")]):f([g("anca")])}:f([g("noldo")])(a
)}:"t"===a
?function(a
){return"t"===a
?function(a
){return"y"===a
?f([g("tinco").addBelow("y").addTildeBelow()]):f([g("tinco").addTildeBelow()])(a
)}:
19 "y"===a
?f([g("tinco").addBelow("y")]):"h"===a
?f([g("thule")]):"s"===a
?function(a
){return G
.isFinal(a
)?f([g("tinco").addFollowing("s")])(a
):f([g("tinco"),g("silme")])(a
)}:f([g("tinco")])(a
)}:"p"===a
?function(a
){return"p"===a
?function(a
){return"y"===a
?f([g("parma").addBelow("y").addTildeBelow()]):f([g("parma").addTildeBelow()])(a
)}:"y"===a
?f([g("parma").addBelow("y")]):"s"===a
?function(a
){return G
.isFinal(a
)?f([g("parma").addFollowing("s")])(a
):f([g("parma"),g("silme")])(a
)}:f([g("parma")])(a
)}:"c"===
20 a
?function(a
){return"c"===a
?f([g("calma").addTildeBelow()]):"s"===a
?f([g("calma").addBelow("s")]):"h"===a
?f([g("harma")]):"w"===a
?f([g("quesse")]):f([g("calma")])(a
)}:"f"===a
?f([g("formen")]):"v"===a
?c
.vilya
?f([g("wilya")]):f([g("vala")]):"w"===a
?c
.vilya
?f([])("u"):f([g("wilya")]):"r"===a
?function(a
){return"d"===a
?f([g("arda")]):"h"===a
?f([g("halla").addError("R should preceed H in the HR diagraph in Classical mode."),g("romen").addError("R should preceed H in the HR diagraph in Classical mode.")]):
21 c
.classicalR
?e
&&e
.above
&&!G
.isFinal(a
)&&-1!==ta
.indexOf(a
)?f([g("ore")])(a
):f([g("romen")])(a
):G
.isFinal(a
)||-1===ta
.indexOf(a
)?f([g("ore")])(a
):f([g("romen")])(a
)}:"l"===a
?function(a
){return"l"===a
?function(a
){return"y"===a
?f([g("lambe").addBelow("y").addTildeBelow()]):f([g("lambe").addTildeBelow()])(a
)}:"y"===a
?f([g("lambe").addBelow("y")]):"h"===a
?f([g("halla").addError("L should preceed H in the HL diagraph in Classical mode."),g("lambe").addError("L should preceed H in the HL diagraph in Classical mode.")]):
22 "d"===a
?f([g("alda")]):"b"===a
?f([g("lambe"),g("umbar")]):f([g("lambe")])(a
)}:"s"===a
?function(a
){return"s"===a
?f([g("esse")]):f([g("silme")])(a
)}:"h"===a
?function(a
){return"l"===a
?f([g("halla"),g("lambe")]):"r"===a
?f([g("halla"),g("romen")]):"w"===a
?f([g("hwesta")]):"t"===a
?f([g("harma")]):"y"===a
?c
.classicalH
&&!c
.harma
?f([g("hyarmen")]):f([g("hyarmen").addBelow("y")]):c
.classicalH
?c
.harma
?e
?f([g("halla")])(a
):f([g("harma")])(a
):e
?f([g("hyarmen")])(a
):f([g("halla")])(a
):f([g("hyarmen")])(a
)}:"d"===
23 a
?f([g("ando").addError("D cannot appear except after N, L, or R in Classical Mode")]):"b"===a
?f([g("umbar").addError("B cannot appear except after M or L in Classical Mode")]):"g"===a
?f([g("anga").addError("G cannot appear except after N or \u00d1 in Classical Mode")]):"j"===a
?f([g().addError("J cannot be transcribed in Classical Mode")]):f([])(a
)}}function v(a
,c
,b
){var e
=c
.font
.makeColumn
;return function(d
){if("a"===d
)return function(d
){return"a"===d
?v(a
,c
,b
)("\u00e1"):"i"===d
?a([b
,e("yanta").addAbove("a")]):
24 "u"===d
?a([b
,e("ure").addAbove("a")]):b
&&b
.canAddAbove("a")?a([b
.addAbove("a")])(d
):a([b
,e("short-carrier").addAbove("a")])(d
)};if("e"===d
){var i
=T("e",c
);return function(d
){return"e"===d
?v(a
,c
,b
)("\u00e9"):"u"===d
?a([b
,e("ure").addAbove(i
)]):b
&&b
.canAddAbove("e")?a([b
.addAbove(i
)])(d
):a([b
,e("short-carrier").addAbove(i
)])(d
)}}if("i"===d
){var f
=T("i",c
);return function(d
){return"i"===d
?v(a
,c
,b
)("\u00ed"):"u"===d
?c
.iuRising
?a([b
,e("anna").addAbove(m("u",c
)).addBelow("y")]):a([b
,e("ure").addAbove(f
)]):
25 b
&&b
.canAddAbove(f
)?a([b
.addAbove(f
)])(d
):a([b
,e("short-carrier").addAbove(f
)])(d
)}}if("o"===d
)return function(d
){return"o"===d
?v(a
,c
,b
)("\u00f3"):"i"===d
?a([b
,e("yanta").addAbove(m("o",c
))]):b
&&b
.canAddAbove("o")?a([b
.addAbove(m("o",c
))])(d
):a([b
,e("short-carrier").addAbove(m("o",c
))])(d
)};if("u"===d
)return function(d
){return"u"===d
?v(a
,c
,b
)("\u00fa"):"i"===d
?a([b
,e("yanta").addAbove("u")]):b
&&b
.canAddAbove("u")?a([b
.addAbove(m("u",c
))])(d
):a([b
,e("short-carrier").addAbove(m("u",c
))])(d
)};if("y"===
26 d
){if(b
&&b
.canAddBelow("y"))return a([b
.addBelow("y")]);d
=e("anna").addBelow("y");return v(function(c
){return a([b
].concat(c
))},c
,d
)}return"\u00e1"===d
?a([b
,e("long-carrier").addAbove("a")]):"\u00e9"===d
?a([b
,e("long-carrier").addAbove(T("e",c
))]):"\u00ed"===d
?a([b
,e("long-carrier").addAbove(T("i",c
))]):"\u00f3"===d
?b
&&b
.canAddAbove("\u00f3")?a([b
.addAbove(m("\u00f3",c
))]):a([b
,e("long-carrier").addAbove(m("o",c
))]):"\u00fa"===d
?b
&&b
.canAddAbove("\u00fa")?a([b
.addAbove(m("\u00fa",c
))]):a([b
,e("long-carrier").addAbove(m("u",
27 c
))]):a([b
])(d
)}}function m(a
,c
){c
.reverseCurls
&&(a
=ab
[a
]||a
);return a
}function T(a
,c
){c
.swapDotSlash
&&(a
=bb
[a
]||a
);return a
}function U(a
){a
=a
||cb
;return{font
:a
.font
||db
,block
:a
.block
,plain
:a
.plain
,duodecimal
:a
.duodecimal
}}function W(a
,c
,b
){b
=b
||[];return ua(function(e
){return e
?W(a
,c
,b
.concat([e
])):function(d
){return/\d/.test(d
)?eb(function(d
){return W(a
,c
,b
.concat(d
))},c
)(d
):a(b
)(d
)}},c
)}function ua(a
,c
){return H(function(b
){return b
?function(c
){return"s"===c
?b
.canAddBelow("s")?a(b
.addBelow("s")):
28 A
.countPrimes(function(c
){return function(e
){if(A
.isFinal(e
)){if(b
.canAddFollowing("s-final")&&0===c
--)b
.addFollowing("s-final");else if(b
.canAddFollowing("s-inverse")&&0===c
--)b
.addFollowing("s-inverse");else if(b
.canAddFollowing("s-extended")&&0===c
--)b
.addFollowing("s-extended");else if(b
.canAddFollowing("s-flourish"))b
.addFollowing("s-flourish"),0<c
&&b
.addError("Following S only has 3 alternate flourishes.");else return a(b
)("s")(e
);return a(b
)(e
)}return a(b
)("s")(e
)}}):a(b
)(c
)}:a()},c
)}function H(a
,
29 c
){var b
=c
.font
.makeColumn
;return function(e
){return"n"===e
?function(d
){return"t"===d
||"d"===d
?H(function(b
){return a(b
.addTildeAbove())},c
)(d
):"c"===d
||"g"===d
?H(a
,c
)("\u00f1")(d
):"n"===d
?a(b("numen")):a(b("ore"))(d
)}:"t"===e
?function(c
){return"h"===c
?a(b("thule")):a(b("tinco"))(c
)}:"d"===e
?function(c
){return"h"===c
?a(b("anto")):a(b("ando"))(c
)}:"m"===e
?function(d
){return"p"===d
||"b"===d
||"f"===d
||"v"===d
?H(function(b
){return a(b
.addTildeAbove())},c
)(d
):"m"===d
?a(b("malta")):a(b("vala"))(d
)}:"p"===
30 e
?a(b("parma")):"b"===e
?a(b("umbar")):"f"===e
?function(c
){return A
.isFinal(c
)?a(b("ampa"))(c
):a(b("formen"))(c
)}:"v"===e
?a(b("ampa")):"\u00f1"===e
?function(d
){return"c"===d
||"g"===d
?H(function(b
){"halla"===b
.tengwa
&&b
.addError("Lenited G (halla) should not be nasalized with prefix N");return a(b
.addTildeAbove())},c
)(d
):a(b("noldo"))(d
)}:"c"===e
?function(c
){return"h"===c
?function(c
){return"w"===c
?a(b("hwesta")):a(b("harma"))(c
)}:"w"===c
?a(b("quesse")):a(b("calma"))(c
)}:"g"===e
?function(c
){return"h"===
31 c
?function(c
){return"w"===c
?a(b("unque")):a(b("anca"))(c
)}:"w"===c
?a(b("ungwe")):"'"===c
?a(b("halla")):a(b("anga"))(c
)}:"r"===e
?function(c
){return"h"===c
?a(b("arda")):a(b("romen"))(c
)}:"l"===e
?function(c
){return"h"===c
?a(b("alda")):a(b("lambe"))(c
)}:"s"===e
?a(b("silme")):"a"===e
?function(c
){return"i"===c
?a(b("round-carrier").addAbove("\u00ed")):"u"===c
?a(b("round-carrier").addAbove("w")):"'"===c
?a(b("round-carrier").addAbove("i")):"a"===c
?a(b("round-carrier").addAbove("e")):a(b("round-carrier"))(c
)}:
32 "e"===e
?function(c
){return"i"===c
?a(b("yanta").addAbove("\u00ed")):"e"===c
?a(b("yanta").addAbove("e")):a(b("yanta"))(c
)}:"i"===e
?function(d
){return"i"===d
?ua(a
,c
)("\u00ed"):A
.countPrimes(function(c
){return 0===c
?a(b("short-carrier")):1===c
?a(b("short-carrier").addAbove("i")):2===c
?a(b("long-carrier").addAbove("i")):3===c
?a(b("long-carrier")):a(b("long-carrier").addAbove("i").addError("I only has four variants between short or long and dotted or not."))})(d
)}:"o"===e
?function(c
){return"o"===c
?a(b("anna").addAbove("e")):
33 a(b("anna"))(c
)}:"u"===e
?function(c
){return"i"===c
?a(b("ure").addAbove("\u00ed")):"u"===c
?a(b("ure").addAbove("e")):a(b("ure"))(c
)}:"w"===e
?function(c
){return"w"===c
?a(b("wilya").addAbove("e")):a(b("wilya"))(c
)}:"y"===e
?function(c
){return"y"===c
?a(b("silme-nuquerna").addAbove("e")):a(b("silme-nuquerna"))(c
)}:"\u00e1"===e
?a(b("round-carrier").addAbove("e")):"\u00e9"===e
?a(b("yanta").addAbove("e")):"\u00ed"===e
?A
.countPrimes(function(c
){return 0===c
?a(b("short-carrier").addAbove("e")):1===c
?a(b("long-carrier").addAbove("e")):
34 a(b("long-carrier").addAbove("e").addError("\u00cd only has one variant."))}):"\u00f3"===e
?a(b("anna").addAbove("e")):"\u00fa"===e
?a(b("ure").addAbove("e")):"h"===e
?function(c
){return"w"===c
?a(b("hwesta-sindarinwa")):a(b("hyarmen"))(c
)}:"z"===e
?a(b("silme").addError("Z does not appear in the mode of Beleriand")):va
[e
]?a(b(va
[e
])):A
.isBreak(e
)||/\d/.test(e
)?a()(e
):a(b("anna").addError("Unexpected character: "+JSON
.stringify(e
)))}}function wa(){xa
=!0;ya()}function fb(a
){a
?(za
=!0,ya()):Aa()&&(a
=document
.querySelectorAll(".tengwar"),
35 X
.forEach
.call(a
,function(a
){a
.classList
.add("error");a
.innerHTML
="Cannot render because WebFonts are not available in this browser."}))}function Aa(){if(document
.body
.classList
&&document
.querySelectorAll
&&X
.forEach
)return!0}function ya(){if(!(void 0===xa
||void 0===za
)&&Aa()){var a
=document
.querySelectorAll(".tengwar");X
.forEach
.call(a
,function(a
){setTimeout(function(){var b
=a
.dataset
,e
,d
,i
;i
="span"!==a
.tagName
.toLowerCase();b
?(e
=b
.tengwar
,d
=b
.mode
,b
=b
.encoding
):(e
=a
.getAttribute("data-tengwar"),
36 d
=a
.getAttribute("data-mode"),b
=a
.getAttribute("data-encoding"));if(b
)a
.innerText
=Ba
.transcribe(b
,{block
:i
}),a
.classList
.add("rendered");else if(e
){var b
=a
.classList
.contains("parmaite")?gb
:Ba
,f
=d
.split(/\s+/);d
=f
.shift();d
=hb
[d
]||ib
;var g
=d
.makeOptions();f
.forEach(function(a
){a
=a
.replace(/\-(\w)/g,function(a
,b
){return b
.toUpperCase()});g
[a
]=true});g
.block
=i
;g
.font
=b
;a
.innerHTML
=d
.transcribe(e
,g
);a
.classList
.add("rendered")}},0)})}}var Ca
={tinco
:"1",parma
:"q",calma
:"a",quesse
:"z",ando
:"2",umbar
:"w",
37 anga
:"s",ungwe
:"x",thule
:"3",formen
:"e",harma
:"d",hwesta
:"c",anto
:"4",ampa
:"r",anca
:"f",unque
:"v",numen
:"5",malta
:"t",noldo
:"g",nwalme
:"b",ore
:"6",vala
:"y",anna
:"h",wilya
:"n",romen
:"7",arda
:"u",lambe
:"j",alda
:"m",silme
:"8","silme-nuquerna":"i",esse
:"k","esse-nuquerna":",",hyarmen
:"9","hwesta-sindarinwa":"o",yanta
:"l",ure
:".",halla
:"\u00bd","short-carrier":"`","long-carrier":"~","round-carrier":"]","tinco-extended":"!","parma-extended":"Q","calma-extended":"A","quesse-extended":"Z","ando-extended":"@",
38 "umbar-extended":"W","anga-extended":"S","ungwe-extended":"X",comma
:"=","full-stop":"-","exclamation-point":"\u00c1","question-mark":"\u00c0","open-paren":"Œ","close-paren":"œ","flourish-left":"Ğ","flourish-right":"ğ","0":"ð",1:"ñ",2:"ò",3:"ó",4:"ô",5:"õ",6:"ö",7:"÷",8:"ø",9:"ù",10:"ú",11:"û"},Da
={a
:"#EDC",e
:"$RFV",i
:"%TGB",o
:"^YHN",u
:"& U J M Ā ā Ă ă".split(" "),"\u00f3":["Ą","ą","Ć","ć"],
39 "\u00fa":["Ĉ","ĉ","Ċ","ċ"],"\u00ed":["Ô","Õ","Ö","×"],w
:"\u00e8\u00e9\u00ea\u00eb",y
:"\u00cc\u00cd\u00ce\u00cf\u00b4","o-below":["\u00e4","å","\u00e6","\u00e7","|"],"i-below":["È","É","Ê","Ë","L"],s
:{special
:!0,calma
:"|",quesse
:"|","short-carrier":"}"},"s-final":{special
:!0,tinco
:"+",ando
:"+",numen
:"+",lambe
:"_"},"s-inverse":{special
:!0,tinco
:"\u00a1"},"s-extended":{special
:!0,tinco
:"Ç"},"s-flourish":{special
:!0,tinco
:"£",
40 lambe
:"¥"},"tilde-above":"Pp","tilde-below":[":",";","°"],"tilde-high-above":")0","tilde-far-below":"?/","bar-above":"{[","bar-below":['"',"'","¸"],"bar-high-above":"\u00ec\u00ee","bar-far-below":"\u00ed\u00ef"},I
={module
$exports
:function(a
,c
){return new k(a
,c
)}},k
=function(a
,c
){this.font
=a
;this.tildeAbove
=this.above
=void 0;this.tengwa
=c
;this.error
=this.following
=this.below
=this.tildeBelow
=void 0};k
.prototype.canAddAbove
=function(a
,c
){return!this.above
&&!!this.font
.tehtaForTengwa(this.tengwa
,
41 a
)||!c
&&!this.below
&&this.reversed().canAddAbove(a
,!0)};k
.prototype.addAbove
=function(a
){this.font
.tehtaForTengwa(this.tengwa
,a
)||this.reverse();this.above
=a
;return this};k
.prototype.canAddBelow
=function(a
,c
){return!this.below
&&!!this.font
.tehtaForTengwa(this.tengwa
,a
)||!c
&&!this.above
&&this.reversed().canAddBelow(a
,!0)};k
.prototype.addBelow
=function(a
){this.font
.tehtaForTengwa(this.tengwa
,a
)||this.reverse();this.below
=a
;return this};k
.prototype.addTildeAbove
=function(){this.tildeAbove
=!0;return this};
42 k
.prototype.addTildeBelow
=function(){this.tildeBelow
=!0;return this};k
.prototype.canAddFollowing
=function(a
){return!this.following
&&!!this.font
.tehtaForTengwa(this.tengwa
,a
)};k
.prototype.addFollowing
=function(a
){this.following
=a
;return this};k
.prototype.reversed
=function(){return this.clone().reverse()};k
.prototype.clone
=function(){var a
=new k(this.font
,this.tengwa
);this.above
&&a
.addAbove(this.above
);this.below
&&a
.addBelow(this.below
);this.following
&&a
.addFollowing(this.following
);this.tildeBelow
&&
43 a
.addTildeBelow();this.tildeAbove
&&a
.addTildeAbove();return a
};var jb
={silme
:"silme-nuquerna",esse
:"esse-nuquerna","silme-nuquerna":"silme","esse-nuquerna":"esse"};k
.prototype.reverse
=function(){this.tengwa
=jb
[this.tengwa
]||this.tengwa
;return this};k
.prototype.addError
=function(a
){this.errors
=this.errors
||[];this.errors
.push(a
);return this};I
.module
$exports
&&(I
=I
.module
$exports
);var s
={tengwar
:[["tinco","parma","calma","quesse"],["ando","umbar","anga","ungwe"],["thule","formen","harma","hwesta"],
44 ["anto","ampa","anca","unque"],["numen","malta","noldo","nwalme"],["ore","vala","anna","wilya"],["romen","arda","lambe","alda"],["silme","silme-nuquerna","esse","esse-nuquerna"],["hyarmen","hwesta-sindarinwa","yanta","ure"],["halla","short-carrier","long-carrier","round-carrier"],["tinco-extended","parma-extended","calma-extended","quesse-extended"],["ando-extended","umbar-extended","anga-extended","ungwe-extended"]],tehtarAbove
:"aeiou\u00e1\u00e9\u00ed\u00f3\u00faw".split(""),tehtarBelow
:["y","s",
45 "o-below","i-below"],tehtarFollowing
:["s-final","s-inverse","s-extended","s-flourish"],barsAndTildes
:"tilde-above tilde-below tilde-high-above tilde-far-below bar-above bar-below bar-high-above bar-far-below".split(" ")};s
.tehtar
=[].concat(s
.tehtarAbove
,s
.tehtarBelow
,s
.tehtarFollowing
,s
.barsAndTildes
);s
.aliases
={vilya
:"wilya",aha
:"harma",gasdil
:"halla"};var n
={},Ka
=s
,kb
=I
,lb
=n
.tengwar
=Ca
,y
=n
.tehtar
=Da
,q
=n
.positions
={tinco
:{o
:3,w
:3,others
:2},parma
:{o
:3,w
:3,others
:2},calma
:{o
:3,w
:3,u
:3,"o-below":1,
46 others
:2},quesse
:{o
:3,w
:3,"o-below":1,others
:2},ando
:{wide
:!0,e
:1,o
:2,"\u00f3":1,"\u00fa":1,others
:0},umbar
:{wide
:!0,e
:1,o
:2,"\u00f3":1,"\u00fa":1,others
:0},anga
:{wide
:!0,e
:1,"\u00f3":1,"\u00fa":1,others
:0},ungwe
:{wide
:!0,e
:1,o
:1,"\u00f3":1,"\u00fa":1,others
:0},thule
:{others
:3},formen
:3,harma
:{e
:0,o
:3,u
:7,"\u00f3":2,"\u00fa":2,w
:0,others
:1},hwesta
:{e
:0,o
:3,u
:7,w
:0,others
:1},anto
:{wide
:!0,"\u00f3":1,"\u00fa":1,others
:0},ampa
:{wide
:!0,"\u00f3":1,"\u00fa":1,others
:0},anca
:{wide
:!0,u
:7,"\u00f3":1,"\u00fa":1,
47 others
:0},unque
:{wide
:!0,u
:7,others
:0},numen
:{wide
:!0,"\u00f3":1,"\u00fa":1,others
:0},malta
:{wide
:!0,"\u00f3":1,"\u00fa":1,others
:0},noldo
:{wide
:!0,"\u00f3":1,"\u00fa":1,others
:0},nwalme
:{wide
:!0,"\u00f3":1,"\u00fa":1,others
:0},ore
:{e
:3,o
:3,u
:3,"\u00f3":3,"\u00fa":3,others
:1},vala
:{e
:3,o
:3,u
:3,"\u00f3":3,"\u00fa":3,others
:1},anna
:{e
:3,o
:3,u
:3,"\u00f3":2,"\u00fa":2,others
:1},wilya
:{e
:3,o
:3,u
:3,"\u00f3":3,"\u00fa":3,others
:1},romen
:{e
:3,o
:3,u
:3,"\u00f3":2,"\u00fa":2,y
:3,"o-below":null,"i-below":3,others
:1},
48 arda
:{a
:1,e
:3,i
:1,o
:3,u
:3,"\u00ed":1,"\u00f3":2,"\u00fa":2,y
:3,"o-below":null,"i-below":3,others
:0},lambe
:{wide
:!0,e
:1,y
:4,"\u00f3":1,"\u00fa":1,"o-below":null,"i-below":4,others
:0},alda
:{wide
:!0,"o-below":null,others
:1},silme
:{y
:3,"o-below":2,"i-below":2,others
:null},"silme-nuquerna":{e
:3,o
:3,u
:3,"\u00f3":3,"\u00fa":3,y
:null,"o-below":null,"i-below":null,others
:1},esse
:{y
:null,others
:null},"esse-nuquerna":{e
:3,o
:3,u
:3,"\u00f3":3,"\u00fa":3,others
:1},hyarmen
:3,"hwesta-sindarinwa":{o
:2,u
:2,"\u00f3":1,
49 "\u00fa":2,others
:0},yanta
:{e
:3,o
:3,u
:3,"\u00f3":2,"\u00fa":2,others
:1},ure
:{e
:3,o
:3,u
:3,"\u00f3":3,"\u00fa":3,others
:1},halla
:{"i-below":3,others
:null},"short-carrier":3,"long-carrier":{y
:null,"o-below":null,"i-below":null,others
:3},"round-carrier":3,"tinco-extended":3,"parma-extended":3,"calma-extended":{o
:3,u
:7,"\u00f3":2,"\u00fa":2,others
:1},"quesse-extended":{o
:0,u
:7,others
:1},"ando-extended":{wide
:!0,e
:1,o
:2,"\u00f3":1,"\u00fa":1,others
:0},"umbar-extended":{wide
:!0,e
:1,o
:2,"\u00f3":1,"\u00fa":1,
50 others
:0},"anga-extended":{wide
:!0,e
:1,"\u00f3":1,"\u00fa":1,others
:0},"ungwe-extended":{wide
:!0,e
:1,o
:1,"\u00f3":1,"\u00fa":1,others
:0}};n
.transcribe
=function(a
,c
){var c
=c
||{},b
=c
.plain
||!1,e
=c
.block
||!1,d
=e
?"<p>":"",i
=e
?"</p>":"";return a
.map(function(a
){return a
.map(function(a
){return d
+a
.map(function(a
){return a
.map(function(a
){return a
.map(function(a
){var c
=a
.tengwa
||"anna",d
=[];a
.above
&&d
.push(a
.above
);a
.below
&&d
.push(a
.below
);a
.tildeBelow
&&d
.push("tilde-below");a
.tildeAbove
&&d
.push("tilde-above");
51 a
.following
&&d
.push(a
.following
);d
=lb
[c
]+d
.map(function(a
){return ca(c
,a
)}).join("");a
.errors
&&!b
&&(d
='<abbr class="error" title="'+a
.errors
.join("\n").replace(/"/g,""")+'">'+d
+"</abbr>");return d
}).join("")}).join(" ")}).join("<br>\n")+i
}).join("\n\n")}).join("\n\n\n")};n
.tehtaForTengwa
=ca
;n
.makeColumn
=function(a
){return kb(n
,a
)};var o
={},Ma
=s
,mb
=I
,nb
=o
.tengwar
=Ca
,z
=o
.tehtar
=Da
,r
=o
.positions
={tinco
:2,parma
:2,calma
:{y
:1,"o-below":1,others
:2},quesse
:{y
:1,"o-below":1,others
:2},ando
:{wide
:!0,others
:0},
52 umbar
:{wide
:!0,others
:0},anga
:{wide
:!0,others
:0},ungwe
:{wide
:!0,others
:0},thule
:{a
:3,w
:3,others
:2},formen
:{a
:3,w
:3,"\u00ed":3,others
:2},harma
:{a
:0,e
:0,i
:1,o
:1,u
:1,w
:0,"\u00ed":0,others
:1},hwesta
:{a
:0,e
:0,i
:1,o
:1,u
:1,w
:0,others
:1},anto
:{wide
:!0,others
:0},ampa
:{wide
:!0,others
:0},anca
:{wide
:!0,others
:0},unque
:{wide
:!0,others
:0},numen
:{wide
:!0,others
:0},malta
:{wide
:!0,others
:0},noldo
:{wide
:!0,others
:0},nwalme
:{wide
:!0,others
:0},ore
:{a
:1,e
:2,i
:1,o
:2,u
:3,others
:1},vala
:{a
:1,e
:2,i
:2,o
:2,w
:1,y
:1,"\u00ed":2,
53 "i-below":1,others
:3},anna
:{a
:1,w
:3,others
:2},wilya
:{i
:2,"\u00ed":2,others
:1},romen
:{a
:1,e
:1,i
:2,o
:1,u
:1,y
:3,"o-below":null,"i-below":3,others
:1},arda
:{a
:1,e
:1,i
:2,o
:1,u
:1,w
:1,"\u00ed":2,y
:3,"o-below":null,"i-below":3,others
:0},lambe
:{wide
:!0,e
:1,y
:4,w
:0,"o-below":null,"i-below":4,others
:0},alda
:{wide
:!0,w
:0,y
:null,"o-below":null,"i-below":null,others
:1},silme
:{y
:2,"o-below":2,"i-below":2,others
:null},"silme-nuquerna":{e
:2,y
:null,"o-below":null,"i-below":null,others
:1},esse
:{others
:null},"esse-nuquerna":{e
:2,
54 y
:null,"o-below":null,"i-below":null,others
:1},hyarmen
:{y
:1,"o-below":1,"i-below":1,others
:3},"hwesta-sindarinwa":{w
:1,y
:1,"o-below":1,"i-below":1,others
:0},yanta
:{a
:1,others
:2},ure
:{a
:1,others
:2},halla
:{"i-below":3,"o-below":3,others
:null},"short-carrier":{y
:null,others
:3},"long-carrier":{y
:null,"o-below":null,"i-below":null,others
:3},"round-carrier":2,"tinco-extended":{a
:3,w
:3,y
:3,"\u00ed":3,"o-below":3,others
:2},"parma-extended":{a
:3,w
:3,y
:3,"\u00ed":3,"o-below":3,others
:2},"calma-extended":{i
:1,
55 w
:1,y
:0,"\u00ed":0,"i-below":1,"o-below":1,others
:0},"quesse-extended":{i
:1,w
:1,y
:0,"\u00ed":0,"i-below":1,"o-below":1,others
:0},"ando-extended":{wide
:!0,others
:0},"umbar-extended":{wide
:!0,others
:0},"anga-extended":{wide
:!0,others
:0},"ungwe-extended":{wide
:!0,others
:0}};o
.transcribe
=function(a
,c
){var c
=c
||{},b
=c
.plain
||!1,e
=c
.block
||!1,d
=e
?"<p>":"",i
=e
?"</p>":"";return a
.map(function(a
){return a
.map(function(a
){return d
+a
.map(function(a
){return a
.map(function(a
){return a
.map(function(a
){var c
=a
.tengwa
||
56 "anna",d
=[];a
.above
&&d
.push(a
.above
);a
.below
&&d
.push(a
.below
);a
.tildeBelow
&&d
.push("tilde-below");a
.tildeAbove
&&d
.push("tilde-above");a
.following
&&d
.push(a
.following
);d
=nb
[c
]+d
.map(function(a
){return da(c
,a
)}).join("");a
.errors
&&!b
&&(d
='<abbr class="error" title="'+a
.errors
.join("\n").replace(/"/g,""")+'">'+d
+"</abbr>");return d
}).join("")}).join(" ")}).join("<br>\n")+i
}).join("\n\n")}).join("\n\n\n")};o
.tehtaForTengwa
=da
;var La
="\u00e1\u00e9\u00f3\u00fa";o
.makeColumn
=function(a
){return mb(o
,
57 a
)};var w
={module
$exports
:{"-":"comma",",":"comma",":":"comma",";":"full-stop",".":"full-stop","!":"exclamation-point","?":"question-mark","(":"open-paren",")":"close-paren",">":"flourish-left","<":"flourish-right"}};w
.module
$exports
&&(w
=w
.module
$exports
);var J
={encode
:function(a
){return a
.map(function(a
){return a
.map(function(a
){return a
.map(function(a
){return a
.map(function(a
){return a
.map(function(a
){var b
=[];a
.above
&&b
.push(a
.above
);a
.below
&&b
.push(a
.below
);a
.following
&&b
.push(a
.following
);a
.tildeAbove
&&
58 b
.push("tilde-above");a
.tildeBelow
&&b
.push("tilde-below");return b
.length
?a
.tengwa
+":"+b
.join(","):a
.tengwa
}).join(";")}).join(" ")}).join("\n")}).join("\n\n")}).join("\n\n\n")},decode
:function(a
,c
){return a
.split("\n\n\n").map(function(a
){return a
.split("\n\n").map(function(a
){return a
.split("\n").map(function(a
){return a
.split(" ").map(function(a
){return ea(a
,c
)})})})})}};J
.decodeWord
=ea
;var j
={},ob
=w
;j
.makeParser
=function(a
,c
){c
=c
||function(a
,c
){throw Error(a
+" while parsing "+JSON
.stringify(c
));
59 };return function(b
){var b
=b
.trim(),e
,d
=a
.apply(null,[function(a
){e
=a
;return function(a
){""!==a
&&(a
="Unexpected "+JSON
.stringify(a
),c(a
,b
));return function Pa(){return Pa
}}}].concat(Array
.prototype.slice
.call(arguments
,1)));for(Array
.prototype.forEach
.call(b
,function(a
){d
=d(a
)});!e
;)d
=d("");return e
}};j
.makeExpect
=function(a
){return function(c
){return function(b
){return b
===a
?c(b
):c()(b
)}}};j
.makeParseSome
=function(a
){var c
=fa(a
);return function(b
){return a(function(a
){return null!=a
?c(b
,[a
]):b([])})}};
60 j
.makeParseAny
=fa
;j
.makeDelimitedParser
=function(a
,c
){return function e(d
,i
,f
){f
=f
||[];return a(function(a
){return a
.length
?(f
=f
.concat([a
]),c(function(a
){return a
?e(d
,i
,f
):d(f
)})):d(f
)},i
)}};j
.isBreak
=ga
;j
.isFinal
=function(a
){return ga(a
)||ob
[a
]};j
.countPrimes
=ha
;var B
={module
$exports
:function(a
,c
){return pb(function(b
){if(b
)var e
=b
.join(""),b
=j
.countPrimes(function(b
){var i
=e
,f
=c
,g
,j
=f
.duodecimal
,h
=f
.font
.makeColumn
;0==b
?f
=j
?12:10:(f
=j
?10:12,g
=1<b
);i
=parseInt(i
,10).toString(f
).split("");b
=i
.map(function(a
){a
=
61 h(""+parseInt(a
,12));g
&&a
.addError("Numbers can only be parsed in either decimal or dudecimal.");return a
});return a(b
)});else b
=a();return b
})}},pb
=j
.makeParseSome(function(a
){return function(c
){return""!==c
&&-1!=="0123456789".indexOf(c
)?a(c
):a()(c
)}});B
.module
$exports
&&(B
=B
.module
$exports
);var C
={module
$exports
:function(a
,c
){var b
=j
.makeDelimitedParser(a
,qb
),b
=j
.makeDelimitedParser(b
,ia
),b
=j
.makeDelimitedParser(b
,ia
),e
=j
.makeDelimitedParser(b
,Na
);return j
.makeParser(function(a
,b
){b
=c(b
);return e(a
,
62 b
)})}},Ea
=j
.makeExpect(" "),P
=j
.makeParseAny(Ea
),qb
=j
.makeParseSome(Ea
),ja
=j
.makeExpect("\n"),Oa
=j
.makeParseSome(ja
);C
.module
$exports
&&(C
=C
.module
$exports
);var K
={};K
.module
$exports
=ka
;K
.module
$exports
&&(K
=K
.module
$exports
);var L
={};L
.module
$exports
=la
;L
.module
$exports
&&(L
=L
.module
$exports
);var x
={},rb
=K
,sb
=L
;x
.module
$exports
=function(a
){var c
=Y(a
);return function e(a
){c
=c(a
.toLowerCase());return e
}};var tb
=rb({k
:"c",x
:"cs",q
:"cw",qu
:"cw",p
:"p",ph
:"f",b
:"b",bh
:"v","\u00eb":"e","\u00e2":"\u00e1","\u00ea":"\u00e9",
63 "\u00ee":"\u00ed","\u00f4":"\u00f3","\u00fb":"\u00fa"}),Y
=sb(tb
,function(a
){return function(c
){return Array
.prototype.reduce
.call(a
,function(a
,c
){return a(c
)},c
)}},function(a
){return Y(a
)},function(a
){return function(c
){return Y(a(c
))}});x
.module
$exports
&&(x
=x
.module
$exports
);var t
={},Ra
=n
,l
=j
,ub
=C
,vb
=x
,qa
=w
,Ta
=B
;t
.name
="General Use Mode";var Qa
={};t
.makeOptions
=Q
;t
.transcribe
=function(a
,c
){c
=Q(c
);return c
.font
.transcribe(Fa(a
,c
),c
)};t
.encode
=function(a
,c
){c
=Q(c
);return J
.encode(Fa(a
,c
),c
)};var Fa
=
64 t
.parse
=ub(function(a
,c
){var b
,e
=c
.font
.makeColumn
;b
=ma(function(b
){return Ga
[b
]?a(J
.decodeWord(Ga
[b
],e
)):a(wb(b
,c
))},c
);return vb(b
)},Q
),Ga
={iant
:"yanta;tinco:a,tilde-above",iaur
:"yanta;vala:a;ore",baranduiniant
:"umbar;romen:a;ando:a,tilde-above;anna:u;yanta;anto:a,tilde-above",ioreth
:"yanta;romen:o;thule:e",noldo
:"nwalme;lambe:o;ando;short-carrier:o",noldor
:"nwalme;lambe:o;ando;ore:o"},wb
=l
.makeParser(function(a
,c
){return na(a
,c
,[])}),Va
="aeiou",Wa
={a
:"\u00e1",e
:"\u00e9",i
:"\u00ed",o
:"\u00f3",u
:"\u00fa"},
65 Xa
="aei\u00f3\u00fa",Sa
="aeiou\u00f3\u00fa",Ua
="aeiou\u00e1\u00e9\u00ed\u00f3\u00fa",R
={"\u00e1":"a","\u00e9":"e","\u00ed":"i","\u00f3":"o","\u00fa":"u"},oa
={o
:"u",u
:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"},pa
={i
:"e",e
:"i"};t
.parseTengwaAnnotations
=F
;var D
={},Za
=n
,G
=j
,xb
=C
,yb
=x
,sa
=w
,$a
=B
;D
.name
="Classical Mode";var Ya
={};D
.makeOptions
=S
;D
.transcribe
=function(a
,c
){c
=S(c
);return c
.font
.transcribe(Ha(a
,c
),c
)};D
.encode
=function(a
,c
){c
=S(c
);return J
.encode(Ha(a
,c
),c
)};var Ha
=D
.parse
=xb(function(a
,c
){return yb(ra(a
,
66 c
))},S
),ta
="aeiouy\u00e1\u00e9\u00ed\u00f3\u00fa",ab
={o
:"u",u
:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"},bb
={e
:"i",i
:"e"},E
={},db
=o
,A
=j
,zb
=C
,Ab
=x
,va
=w
,eb
=B
;E
.name
="Mode of Beleriand";var cb
={};E
.makeOptions
=U
;E
.transcribe
=function(a
,c
){c
=U(c
);return c
.font
.transcribe(Ia(a
,c
),c
)};E
.encode
=function(a
,c
){c
=U(c
);return J
.encode(Ia(a
,c
),c
)};var Ia
=E
.parse
=zb(function(a
,c
){return Ab(W(a
,c
))},U
),M
={};M
.module
$exports
={"general-use":t
,classical
:D
,beleriand
:E
};M
.module
$exports
&&(M
=M
.module
$exports
);var N
={},
67 Bb
=N
,O
,p
=document
,Cb
=p
.documentElement
,Ja
=p
.createElement("style"),u
=p
.createElement("span"),Z
,$=p
.body
,aa
,ba
;Ja
.textContent
="@font-face{font-family:testfont;src:url(data:font/opentype;base64,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)}";
68 p
.getElementsByTagName("head")[0].appendChild(Ja
);u
.setAttribute("style","font:99px _,serif;position:absolute;visibility:hidden");$||($=Cb
.appendChild(p
.createElement("fontface")));u
.innerHTML
="-------";u
.id
="fonttest";$.appendChild(u
);Z
=u
.offsetWidth
;u
.style
.font
="99px testfont,_,serif";O
=Z
!==u
.offsetWidth
;p
=function(){ba
||(O
=Z
!==u
.offsetWidth
,aa
&&(ba
=!0)&&aa(O
))};addEventListener("load",p
,!1);setTimeout(p
,100);Bb
.module
$exports
=function(a
){ba
||O
?a(O
):aa
=a
};N
.module
$exports
&&(N
=N
.module
$exports
);
69 var ib
=t
,Ba
=n
,gb
=o
,hb
=M
,Db
=N
,X
=Array
.prototype;"undefined"!==typeof document
&&("complete"===document
.readyState
?wa():document
.addEventListener("DOMContentLoaded",wa
,!0),Db(fb
));var xa
,za
})();