Cleaner layout for editor
authorKris Kowal <kris.kowal@cixar.com>
Tue, 4 Sep 2012 23:12:28 +0000 (16:12 -0700)
committerKris Kowal <kris.kowal@cixar.com>
Tue, 4 Sep 2012 23:12:28 +0000 (16:12 -0700)
editor/index.css
editor/index.html
tengwar.min.js

index d5ece6d..134b66e 100644 (file)
@@ -69,14 +69,6 @@ a:focus {
 }
 
 #divider {
-    background: #dae7f2; /* Old browsers */
-    background: -moz-linear-gradient(top,  #dae7f2 0%, #646c70 100%); /* FF3.6+ */
-    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#dae7f2), color-stop(100%,#646c70)); /* Chrome,Safari4+ */
-    background: -webkit-linear-gradient(top,  #dae7f2 0%,#646c70 100%); /* Chrome10+,Safari5.1+ */
-    background: -o-linear-gradient(top,  #dae7f2 0%,#646c70 100%); /* Opera 11.10+ */
-    background: -ms-linear-gradient(top,  #dae7f2 0%,#646c70 100%); /* IE10+ */
-    background: linear-gradient(to bottom,  #dae7f2 0%,#646c70 100%); /* W3C */
-    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dae7f2', endColorstr='#646c70',GradientType=0 ); /* IE6-9 */
 
     -webkit-user-select: none;
     -moz-user-select: none;
@@ -110,8 +102,7 @@ a:focus {
 }
 
 #divider {
-    -webkit-flex: 0 0 10px;
-    background-color: #aaa;
+    -webkit-flex: 0 0 20px;
     cursor: row-resize;
 }
 
@@ -146,11 +137,14 @@ a:focus {
 
 #form-box {
     padding: 20px;
-    overflow: auto;
+    overflow: hidden;
+    white-space: nowrap;
+    -webkit-flex: 1 .5;
+    -webkit-align-self: flex-end;
 }
 
 #content-box {
-    -webkit-flex: 1;
+    -webkit-flex: 0 1 80ex;
     display: -webkit-flex;
     -webkit-flex-flow: column;
     -webkit-align-items: stretch;
@@ -158,19 +152,21 @@ a:focus {
     padding: 10px;
 }
 
+#about-box {
+    padding: 20px;
+    overflow: hidden;
+    white-space: nowrap;
+    text-align: right;
+    -webkit-flex: 1 .5;
+    -webkit-align-self: flex-end;
+}
+
 #input {
     -webkit-flex: 1;
     height: 100%;
     width: 100%;
 }
 
-#about-box {
-    position: absolute;
-    bottom: 0;
-    right: 0;
-    padding: 20px 35px;
-}
-
 /* animation */
 
 body.bootstrap #input-box {
index 5b5300a..de945b6 100644 (file)
                     <textarea id="input" spellcheck="false"></textarea>
                     <!--<div id="input" contenteditable spellcheck="false"></div>-->
                 </div>
+                <div id="about-box">
+                    <a href="about.html">about</a>
+                </div>
             </div>
         </div>
 
-        <div id="about-box">
-            <a href="about.html">about</a>
-        </div>
-
         <script src="../node_modules/mr/bootstrap.js" data-package=".." data-module="editor/index" charset="utf-8"></script>
 
         <script src="http://static.getclicky.com/js" type="text/javascript"></script> 
index 9c86f04..51f7b80 100644 (file)
@@ -1,59 +1,60 @@
-(function(){function w(a,c){var b=!y[c]?null:y[c].special?y[c][a]||null:-1!==la.barsAndTildes.indexOf(c)?"lambe"===a||"alda"===a&&2<=y[c].length?2:t[a].wide?0:1:null==t[a]||null===t[a][c]?null:null!=t[a][c]?t[a][c]:null!=t[a].others?t[a].others:t[a];return null==b?null:y[c][a]||y[c][b]||""}function x(a,c){var b=!z[c]||-1!==ma.indexOf(c)?null:z[c].special?z[c][a]||null:-1!==na.barsAndTildes.indexOf(c)?"lambe"===a||"alda"===a&&2<=z[c].length?2:u[a].wide?0:1:null==u[a]||null===u[a][c]?null:null!=u[a][c]?
-u[a][c]:null!=u[a].others?u[a].others:u[a];return null==b?null:z[c][a]||z[c][b]||null}function O(a,c){return a.split(";").map(function(a){var a=a.split(":"),d=a.shift(),a=a.length?a.shift().split(","):[],e=c(d);a.forEach(function(a){"tilde-above"===a?e.addTildeAbove():"tilde-below"===a?e.addBarBelow():"y"===a?e.addBelow("y"):"s"===a||"s-inverse"===a||"s-extended"===a||"s-flourish"===a?"s"===a&&("calma"===d||"quesse"===d)?e.addBelow(a):e.addFollowing(a):e.addAbove(a)});return e})}function P(a){return function b(d){return function(e){return e===
-a?b(d):d(a)(e)}}}function Q(a){return" "===a||"\n"===a||""===a}function R(a,c){c=c||0;return function(b){return"'"===b?R(a,c+1):a(c)(b)}}function S(a){return E(function(){return oa(function(){return E(a)})})}function pa(a){return E(function(){return qa(function(){return E(a)})})}function T(a){var c={value:void 0,children:{}},b={};Object.keys(a).forEach(function(d){if(0===d.length)c.value=a[d];else{var e=d[0];b[e]||(b[e]={});var i=d.slice(1);b[e][i]=a[d]}});Object.keys(b).forEach(function(a){c.children[a]=
-T(b[a])});return c}function U(a,c,b,d){var e={},i=Object.keys(a.children);i.forEach(function(g){e[g]=U(a.children[g],c,b,d)});var f;a.value&&(f=c(a.value));return i.reduceRight(function(a,c){return function(d){return function(h){return h===c?b(e[h](d)):a(d)(h)}}},function(a){return f?b(f(a)):d(a)})}function F(a){a=a||sa;return{font:a.font||ta,block:a.block,plain:a.plain,doubleNasalsWithTildeBelow:a.doubleNasalsWithTildeBelow,reverseCurls:a.reverseCurls,noAchLaut:a.noAchLaut,isHook:a.isHook}}function V(a,
-c,b){b=b||"";return function(d){return G.isBreak(d)?a(b)(d):V(a,c,b+d)}}function W(a,c,b){var d=function(e){return e.length?W(a,c,b.concat(e),e[e.length-1]):a(b)},e=function(a){return H[a]?i("long-carrier").addAbove(H[a]):i("short-carrier").addAbove(a)},i=c.font.makeColumn,f=function(a){var b=function(b){return b?a?"silme"===b.tengwa&&"i"===a&&c.isHook?d([i("short-carrier").addAbove("i").addBelow("s")]):-1!==M.indexOf(a)&&b.canAddAbove(a)?(c.reverseCurls&&(a=ua[a]||a),b.addAbove(a),C(function(a){return d([a])},
-b)):C(function(b){return d([e(a),b])},b):C(function(a){return d([a])},b):a?C(function(a){return d([a])},e(a)):function(a){return G.isBreak(a)?d([]):X[a]?d([i(X[a])]):d([i("anna").addError("Unexpected character: "+JSON.stringify(a))])}},f=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"===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()):"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)}: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?c.noAchLaut?b(h("calma")):b(h("hwesta")):b(h("quesse"))(a)}:"d"===a?function(a){return"d"===a?b(h("ando").addTildeBelow()):"j"===a?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?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"===a?function(a){return"s"===a?b(h("silme").addTildeBelow()):"h"===a?b(h("harma")):b(h("silme"))(a)}:"z"===a?function(a){return"z"===a?b(h("esse").addTildeBelow()):b(h("esse"))(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")):""===a?b(h("ore"))(a):b(h("romen"))(a)}:"l"===a?function(a){return"l"===
-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&&(!f||"a"===f)?b(h("yanta")):"y"===a?b(h("wilya").addBelow("y")):"\u00e1"===a?b(h("wilya").addAbove("a")):H[a]&&-1==M.indexOf(a)?b(h("long-carrier").addAbove(H[a])):b()(a)}};return function(a){return-1!==M.indexOf(a)?f(a):f()(a)}}function C(a,c){var b=function(b){var c=function(b){return function(c){return"s"===
-c?b.canAddBelow("s")?a(b.addBelow("s")):G.countPrimes(function(c){return function(e){if(""===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)}};return function(a){return"y"===a&&b.canAddBelow("y")?c(b.addBelow("y")):c(b)(a)}};return c.canAddAbove("w")?function(a){return"w"===a?b(c.addAbove("w")):b(c)(a)}:b(c)}function I(a){a=a||va;return{font:a.font||wa,block:a.block,plain:a.plain,vilya:a.vilya,harma:a.harma,classical:a.classical,reverseCurls:a.reverseCurls,iuRising:a.isRising,longHalla:a.longHalla}}function Y(a,c,b,d){var b=b||[],e=function(e){return e.length?Y(a,c,b.concat(e),e[e.length-1]):a(b)},i=c.font.makeColumn,f=function(a){var b=
-a.pop();return Z(function(b){b=a.concat(b).filter(Boolean);return b.length?e(b):function(a){return J.isBreak(a)?e([])(a):$[a]?e([i($[a])]):e([i("anna").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"===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)}:"y"===
-a?f([g("tinco").addBelow("y")]):"h"===a?f([g("thule")]):"s"===a?function(a){return J.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 J.isFinal(a)?f([g("parma").addFollowing("s")])(a):f([g("parma"),g("silme")])(a)}:f([g("parma")])(a)}:"c"===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.")]):c.classical?d&&d.above&&
-""!==a&&-1!==aa.indexOf(a)?f([g("ore")])(a):f([g("romen")])(a):J.isFinal(a)||-1===aa.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.")]):"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.classical&&c.harma?f([g("hyarmen")]):f([g("hyarmen").addBelow("y")]):c.classical?c.harma?f([g("harma")])(a):d?f([g("hyarmen")])(a):f([g("harma")])(a):f([g("hyarmen")])(a)}:"d"===a?f([g("ando").addError("D cannot appear except after N, L, or R")]):
-"b"===a?f([g("umbar").addError("B cannot appear except after M or L")]):"g"===a?f([g("anga").addError("G cannot appear except after N or \u00d1")]):"j"===a?f([g().addError("J cannot be transcribed in Classical Mode")]):f([])(a)}}function Z(a,c,b){var d=c.font.makeColumn;return function(e){if("a"===e)return function(c){return"i"===c?a([b,d("yanta","a")]):"u"===c?a([b,d("ure","a")]):b&&b.canAddAbove("a")?a([b.addAbove("a")])(c):a([b,d("short-carrier","a")])(c)};if("e"===e)return function(c){return"u"===
-c?a([b,d("ure","e")]):b&&b.canAddAbove("e")?a([b.addAbove("e")])(c):a([b,d("short-carrier","e")])(c)};if("i"===e)return function(e){return"u"===e?c.iuRising?a([b,d("anna").addAbove(p("u",c)).addBelow("y")]):a([b,d("ure","i")]):b&&b.canAddAbove("i")?a([b.addAbove("i")])(e):a([b,d("short-carrier","i")])(e)};if("o"===e)return function(e){return"i"===e?a([b,d("yanta").addAbove(p("o",c))]):b&&b.canAddAbove("o")?a([b.addAbove(p("o",c))])(e):a([b,d("short-carrier").addAbove(p("o",c))])(e)};if("u"===e)return function(e){return"i"===
-e?a([b,d("yanta","u")]):b&&b.canAddAbove("u")?a([b.addAbove(p("u",c))])(e):a([b,d("short-carrier").addAbove(p("u",c))])(e)};if("y"===e){if(b&&b.canAddBelow("y"))return a([b.addBelow("y")]);e=d("anna").addBelow("y");return Z(function(c){return a([b].concat(c))},c,e)}return"\u00e1"===e?a([b,d("long-carrier","a")]):"\u00e9"===e?a([b,d("long-carrier","e")]):"\u00ed"===e?a([b,d("long-carrier","i")]):"\u00f3"===e?b&&b.canAddAbove("\u00f3")?a([b.addAbove(p("\u00f3",c))]):a([b,d("long-carrier").addAbove(p("o",
-c))]):"\u00fa"===e?b&&b.canAddAbove("\u00fa")?a([b.addAbove(p("\u00fa",c))]):a([b,d("long-carrier").addAbove(p("u",c))]):a([b])(e)}}function p(a,c){c.reverseCurls&&(a=xa[a]||a);return a}function K(a){a=a||ya;return{font:a.font||za,block:a.block,plain:a.plain}}function ba(a,c,b){b=b||[];return ca(function(d){return d?ba(a,c,b.concat([d])):a(b)},c)}function ca(a,c){return D(function(b){return b?function(c){return"s"===c?b.canAddBelow("s")?a(b.addBelow("s")):A.countPrimes(function(c){return function(d){if(A.isFinal(d)){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")(d);return a(b)(d)}return a(b)("s")(d)}}):a(b)(c)}:a()},c)}function D(a,c){var b=c.font.makeColumn;return function(d){return"n"===d?function(e){return"t"===e||
-"d"===e?D(function(b){return a(b.addTildeAbove())},c)(e):"c"===e||"g"===e?D(a,c)("\u00f1")(e):"n"===e?a(b("numen")):a(b("ore"))(e)}:"t"===d?function(c){return"h"===c?a(b("thule")):a(b("tinco"))(c)}:"d"===d?function(c){return"h"===c?a(b("anto")):a(b("ando"))(c)}:"m"===d?function(e){return"p"===e||"b"===e||"f"===e||"v"===e?D(function(b){return a(b.addTildeAbove())},c)(e):"m"===e?a(b("malta")):a(b("vala"))(e)}:"p"===d?a(b("parma")):"b"===d?a(b("umbar")):"f"===d?function(c){return A.isFinal(c)?a(b("ampa"))(c):
-a(b("formen"))(c)}:"v"===d?a(b("ampa")):"\u00f1"===d?function(e){return"c"===e||"g"===e?D(function(b){"halla"===b.tengwa&&b.addError("Lenited G (halla) should not be nasalized with prefix N");return a(b.addTildeAbove())},c)(e):a(b("noldo"))(e)}:"c"===d?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"===d?function(c){return"h"===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"===d?function(c){return"h"===c?a(b("arda")):a(b("romen"))(c)}:"l"===d?function(c){return"h"===c?a(b("alda")):a(b("lambe"))(c)}:"s"===d?a(b("silme")):"a"===d?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)}:"e"===d?function(c){return"i"===c?a(b("yanta").addAbove("\u00ed")):"e"===c?a(b("yanta").addAbove("e")):
-a(b("yanta"))(c)}:"i"===d?function(e){return"i"===e?ca(a,c)("\u00ed"):A.countPrimes(function(c){return 0===c?a(b("short-carrier")):1===c?a(b("short-carrier").addAbove("i")):3===c?a(b("long-carrier")):4===c?a(b("long-carrier").addAbove("i")):a(b("long-carrier").addAbove("i").addError("I only has four variants between short or long and dotted or not."))})(e)}:"o"===d?function(c){return"o"===c?a(b("anna").addAbove("e")):a(b("anna"))(c)}:"u"===d?function(c){return"i"===c?a(b("ure").addAbove("\u00ed")):
-"u"===c?a(b("ure").addAbove("e")):a(b("ure"))(c)}:"w"===d?function(c){return"w"===c?a(b("wilya").addAbove("e")):a(b("wilya"))(c)}:"y"===d?function(c){return"y"===c?a(b("silme-nuquerna").addAbove("e")):a(b("silme-nuquerna"))(c)}:"\u00e1"===d?a(b("round-carrier").addAbove("e")):"\u00e9"===d?a(b("yanta").addAbove("e")):"\u00ed"===d?A.countPrimes(function(c){return 0===c?a(b("short-carrier").addAbove("e")):1===c?a(b("long-carrier").addAbove("e")):a(b("long-carrier").addAbove("e").addError("\u00cd only has one variant."))}):
-"\u00f3"===d?a(b("anna").addAbove("e")):"\u00fa"===d?a(b("ure").addAbove("e")):"h"===d?function(c){return"w"===c?a(b("hwesta-sindarinwa")):a(b("hyarmen"))(c)}:"z"===d?a(b("silme").addError("Z does not appear in the mode of Beleriand")):da[d]?a(b(da[d])):A.isBreak(d)?a()(d):a(b("anna").addError("Unexpected character: "+JSON.stringify(d)))}}function ea(){if(document.body.classList&&document.querySelectorAll&&fa.forEach){var a=document.querySelectorAll(".tengwar");fa.forEach.call(a,function(a){var b=
-a.dataset,d,e,i;i="div"===a.tagName.toLowerCase();b?(d=b.tengwar,e=b.mode,b=b.encoding):(d=a.getAttribute("data-tengwar"),e=a.getAttribute("data-mode"),b=a.getAttribute("data-encoding"));if(b)a.innerText=ga.transcribe(b,{block:i});else if(d){var b=a.classList.contains("parmaite")?Aa:ga,f=e.split(/\s+/);e=f.shift();e=Ba[e]||Ca;var g=e.makeOptions();f.forEach(function(a){a=a.replace(/\-(\w)/g,function(a,b){return b.toUpperCase()});g[a]=!0});g.block=i;g.font=b;a.innerHTML=e.transcribe(d,g)}})}}var k=
-{tinco:"1",parma:"q",calma:"a",quesse:"z",ando:"2",umbar:"w",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",comma:"=","full-stop":"-","exclamation-point":"\u00c1","question-mark":"\u00c0","open-paren":"&#140;","close-paren":"&#156;","flourish-left":"&#286;","flourish-right":"&#287;","#0":"\uf8ff","#1":"\u00d2","#2":"\u00da","#3":"\u00db","#4":"\u00d9","#5":"\u0131","#6":"\u02c6","#7":"\u02dc","#8":"\u00af","#9":"\u02d8","#10":"\u02d9","#11":"\u02da"},n={a:"#EDC",e:"$RFV",i:"%TGB",o:"^YHN",u:"& U J M &#256; &#257; &#258; &#259;".split(" "),"\u00f3":["&#260;","&#261;",
-"&#262;","&#263;"],"\u00fa":["&#264;","&#265;","&#266;","&#267;"],"\u00ed":["&#212;","&#213;","&#214;","&#215;"],w:"\u00e8\u00e9\u00ea\u00eb",y:"\u00cc\u00cd\u00ce\u00cf\u00b4","o-under":["\u00e4","&#229;","\u00e6","\u00e7","|"],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:"&#199;"},"s-flourish":{special:!0,tinco:"&#163;",lambe:"&#165;"},"tilde-above":"Pp",
-"tilde-below":[":",";","&#176;"],"tilde-high-above":")0","tilde-far-below":"?/","bar-above":"{[","bar-below":['"',"'","&#184;"],"bar-high-above":"\u00ec\u00ee","bar-far-below":"\u00ed\u00ef"},m={tengwar:[["tinco","parma","calma","quesse"],["ando","umbar","anga","ungwe"],["thule","formen","harma","hwesta"],["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"]],tehtarAbove:"aeiou\u00e1\u00e9\u00ed\u00f3\u00faw".split(""),tehtarBelow:["y","s","o-under"],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(" ")};m.tehtar=[].concat(m.tehtarAbove,m.tehtarBelow,m.tehtarFollowing,
-m.barsAndTildes);m.aliases={vilya:"wilya",aha:"harma",gasdil:"halla"};var s={},la=m,Da=s.tengwar=k,y=s.tehtar=n,t=s.positions={tinco:{o:3,w:3,others:2},parma:{o:3,w:3,others:2},calma:{o:3,w:3,u:3,"o-under":1,others:2},quesse:{o:3,w:3,"o-under":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,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:null,"o-under":null,others:1},arda:{a:1,e:3,i:1,o:3,u:3,"\u00ed":1,"\u00f3":2,"\u00fa":2,y:null,"o-under":null,others:0},lambe:{wide:!0,e:1,y:4,"\u00f3":1,"\u00fa":1,"o-under":null,others:0},alda:{wide:!0,"o-under":null,others:1},silme:{y:3,"o-under":2,others:null},"silme-nuquerna":{e:3,o:3,u:3,"\u00f3":3,"\u00fa":3,y:null,
-"o-under":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,"\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:{others:null},"short-carrier":3,"long-carrier":{y:null,"o-under":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}};s.transcribe=function(a,c){var c=c||{},b=c.plain||!1,d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+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");a.following&&d.push(a.following);d=Da[c]+d.map(function(a){return w(c,a)}).join("");a.errors&&!b&&(d=
-'<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};s.tehtaForTengwa=w;s.makeColumn=function(a,c,b){return new q(a,c,b)};var q=function(a,c,b){this.above=c;this.tildeAbove=void 0;this.tengwa=a;this.tildeBelow=void 0;this.below=b;this.error=this.following=void 0};q.prototype.canAddAbove=function(a){return!this.above&&!!w(this.tengwa,a)||!this.below&&("silme"===this.tengwa&&w("silme-nuquerna",
-a)||"esse"===this.tengwa&&w("esse-nuquerna",a))};q.prototype.addAbove=function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};q.prototype.canAddBelow=function(a){return!this.below&&!!w(this.tengwa,a)};q.prototype.addBelow=function(a){this.below=a;return this};q.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};q.prototype.addTildeBelow=function(){this.tildeBelow=!0;return this};q.prototype.canAddFollowing=
-function(a){return!this.following&&!!w(this.tengwa,a)};q.prototype.addFollowing=function(a){this.following=a;return this};q.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};var v={},na=m,Ea=v.tengwar=k,z=v.tehtar=n,u=v.positions={tinco:2,parma:2,calma:{y:1,"o-under":1,others:2},quesse:{y:1,"o-under":1,others:2},ando:{wide:!0,others:0},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,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-under":null,others:1},arda:{a:1,
-e:1,i:2,o:1,u:1,w:1,"\u00ed":2,y:null,"o-under":null,others:0},lambe:{wide:!0,e:1,y:4,w:0,"o-under":null,others:0},alda:{wide:!0,w:0,y:null,"o-under":null,others:1},silme:{y:2,"o-under":2,others:null},"silme-nuquerna":{e:2,y:null,"o-under":null,others:1},esse:{others:null},"esse-nuquerna":{e:2,y:null,"o-under":null,others:1},hyarmen:{y:1,others:3},"hwesta-sindarinwa":{w:1,y:1,others:0},yanta:{a:1,others:2},ure:{a:1,others:2},halla:{others:null},"short-carrier":{y:null,others:3},"long-carrier":{y:null,
-"o-under":null,others:3},"round-carrier":2,"tinco-extended":{a:3,w:3,y:3,"\u00ed":3,others:2},"parma-extended":{a:3,w:3,y:3,"\u00ed":3,others:2},"calma-extended":{i:1,w:1,y:0,"\u00ed":0,others:0},"quesse-extended":{i:1,w:1,y:0,"\u00ed":0,others:0}};v.transcribe=function(a,c){var c=c||{},b=c.plain||!1,d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+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");a.following&&d.push(a.following);d=Ea[c]+d.map(function(a){return x(c,a)}).join("");a.errors&&!b&&(d='<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};v.tehtaForTengwa=x;var ma="\u00e1\u00e9\u00f3\u00fa";v.makeColumn=function(a,c,b){return new r(a,c,b)};
-var r=function(a,c,b){this.above=c;this.tildeAbove=void 0;this.tengwa=a;this.tildeBelow=void 0;this.below=b;this.error=this.following=void 0};r.prototype.canAddAbove=function(a){return!this.above&&!!x(this.tengwa,a)||!this.below&&("silme"===this.tengwa&&x("silme-nuquerna",a)||"esse"===this.tengwa&&x("esse-nuquerna",a))};r.prototype.addAbove=function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};r.prototype.canAddBelow=
-function(a){return!this.below&&!!x(this.tengwa,a)};r.prototype.addBelow=function(a){this.below=a;return this};r.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};r.prototype.addTildeBelow=function(){this.tildeBelow=!0;return this};r.prototype.canAddFollowing=function(a){return!this.following&&!!x(this.tengwa,a)};r.prototype.addFollowing=function(a){this.following=a;return this};r.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};k={module$exports:{"-":"comma",
-",":"comma",":":"comma",";":"full-stop",".":"full-stop","!":"exclamation-point","?":"question-mark","(":"open-paren",")":"close-paren",">":"flourish-left","<":"flourish-right"}};k.module$exports&&(k=k.module$exports);var n={},Fa=Array.prototype;n.module$exports=function(a,c,b){var d=b.font.makeColumn;return Fa.map.call(parseInt(a,c).toString(c),function(a){return d("#"+a)})};n.module$exports&&(n=n.module$exports);var L={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&&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 O(a,c)})})})})}};L.decodeWord=O;var j={},Ga=
-k;j.makeParser=function(a,c){c=c||function(a,c){throw Error(a+" while parsing "+JSON.stringify(c));};return function(b){var d,e=a.apply(null,[function(a){d=a;return function(a){""!==a&&(a="Unexpected "+JSON.stringify(a),c(a,b));return function ra(){return ra}}}].concat(Array.prototype.slice.call(arguments,1)));for(Array.prototype.forEach.call(b,function(a){e=e(a)});!d;)e=e("");return d}};j.makeExpect=function(a){return function(c){return function(b){return b===a?c(b):c()(b)}}};j.makeParseSome=function(a){var c=
-P(a);return function(b){return function(d){return d===a?c(b):b()(d)}}};j.makeParseAny=P;j.makeDelimitedParser=function(a,c){return function d(e,i,f){f=f||[];return a(function(a){return a.length?(f=f.concat([a]),c(function(a){return a?d(e,i,f):e(f)})):e(f)},i)}};j.isBreak=Q;j.isFinal=function(a){return Q(a)||Ga[a]};j.countPrimes=R;var n={module$exports:function(a,c){var b=j.makeDelimitedParser(a,Ha),b=j.makeDelimitedParser(b,S),b=j.makeDelimitedParser(b,S),d=j.makeDelimitedParser(b,pa);return j.makeParser(function(a,
-b){b=c(b);return d(a,b)})}},E=j.makeParseAny(" "),Ha=j.makeParseSome(" "),oa=j.makeExpect("\n"),qa=j.makeParseSome("\n");n.module$exports&&(n=n.module$exports);var l={};l.module$exports=T;l.module$exports&&(l=l.module$exports);var o={};o.module$exports=U;o.module$exports&&(o=o.module$exports);var m={module$exports:function(a){var c=N(a);return function d(a){c=c(a.toLowerCase());return d}}},l=l({k:"c",x:"cs",q:"cw",qu:"cw",p:"p",ph:"f",b:"b",bh:"v","\u00eb":"e","\u00e2":"\u00e1","\u00ea":"\u00e9",
-"\u00ee":"\u00ed","\u00f4":"\u00f3","\u00fb":"\u00fa"}),N=o(l,function(a){return function(c){return Array.prototype.reduce.call(a,function(a,c){return a(c)},c)}},function(a){return N(a)},function(a){return function(c){return N(a(c))}});m.module$exports&&(m=m.module$exports);var l={},ta=s,G=j,Ia=m,X=k;l.name="General Use Mode";var sa={};l.makeOptions=F;l.transcribe=function(a,c){c=F(c);return c.font.transcribe(ha(a,c),c)};l.encode=function(a,c){c=F(c);return L.encode(ha(a,c),c)};var ha=l.parse=n(function(a,
-c){var b,d=c.font.makeColumn;b=V(function(b){return ia[b]?a(L.decodeWord(ia[b],d)):a(Ja(b,c))},c);return Ia(b)},F),ia={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",is:"short-carrier:i,s"},Ja=G.makeParser(function(a,c){return W(a,c,[])}),M="aeiou\u00f3\u00fa",H={"\u00e1":"a","\u00e9":"e","\u00ed":"i",
-"\u00f3":"o","\u00fa":"u"},ua={o:"u",u:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"};l.parseTengwaAnnotations=C;var o={},wa=s,J=j,Ka=m,$=k;o.name="Classical Mode";var va={};o.makeOptions=I;o.transcribe=function(a,c){c=I(c);return c.font.transcribe(ja(a,c),c)};o.encode=function(a,c){c=I(c);return L.encode(ja(a,c),c)};var ja=o.parse=n(function(a,c){return Ka(Y(a,c))},I),aa="aeiouy\u00e1\u00e9\u00ed\u00f3\u00fa",xa={o:"u",u:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"},B={},za=v,A=j,La=m,da=k;B.name="Mode of Beleriand";
-var ya={};B.makeOptions=K;B.transcribe=function(a,c){c=K(c);return c.font.transcribe(ka(a,c),c)};B.encode=function(a,c){c=K(c);return Notation.encode(ka(a,c),c)};var ka=B.parse=n(function(a,c){return La(ba(a,c))},K),k={};k.module$exports={"general-use":l,classical:o,beleriand:B};k.module$exports&&(k=k.module$exports);var Ca=l,ga=s,Aa=v,Ba=k,fa=Array.prototype;"undefined"!==typeof document&&("complete"===document.readyState?ea():document.addEventListener("DOMContentLoaded",ea,!0))})();
+(function(){function x(a,c){var b=!z[c]?null:z[c].special?z[c][a]||null:-1!==na.barsAndTildes.indexOf(c)?"lambe"===a||"alda"===a&&2<=z[c].length?2:u[a].wide?0:1:null==u[a]||null===u[a][c]?null:null!=u[a][c]?u[a][c]:null!=u[a].others?u[a].others:u[a];return null==b?null:z[c][a]||z[c][b]||""}function y(a,c){var b=!A[c]||-1!==oa.indexOf(c)?null:A[c].special?A[c][a]||null:-1!==pa.barsAndTildes.indexOf(c)?"lambe"===a||"alda"===a&&2<=A[c].length?2:v[a].wide?0:1:null==v[a]||null===v[a][c]?null:null!=v[a][c]?
+v[a][c]:null!=v[a].others?v[a].others:v[a];return null==b?null:A[c][a]||A[c][b]||null}function Q(a,c){return a.split(";").map(function(a){var a=a.split(":"),d=a.shift(),a=a.length?a.shift().split(","):[],e=c(d);a.forEach(function(a){"tilde-above"===a?e.addTildeAbove():"tilde-below"===a?e.addBarBelow():"y"===a?e.addBelow("y"):"s"===a||"s-inverse"===a||"s-extended"===a||"s-flourish"===a?"s"===a&&("calma"===d||"quesse"===d)?e.addBelow(a):e.addFollowing(a):e.addAbove(a)});return e})}function R(a){return function b(d,
+e){e=e||[];return a(function(a){return null!=a?b(d,e.concat([a])):d(e)})}}function S(a){return" "===a||"\n"===a||""===a}function T(a,c){c=c||0;return function(b){return"'"===b?T(a,c+1):a(c)(b)}}function U(a){return F(function(){return V(function(){return F(a)})})}function qa(a){return F(function(){return ra(function(){return F(a)})})}function W(a){var c={value:void 0,children:{}},b={};Object.keys(a).forEach(function(d){if(0===d.length)c.value=a[d];else{var e=d[0];b[e]||(b[e]={});var i=d.slice(1);
+b[e][i]=a[d]}});Object.keys(b).forEach(function(a){c.children[a]=W(b[a])});return c}function X(a,c,b,d){var e={},i=Object.keys(a.children);i.forEach(function(g){e[g]=X(a.children[g],c,b,d)});var f;a.value&&(f=c(a.value));return i.reduceRight(function(a,c){return function(d){return function(i){return i===c?b(e[i](d)):a(d)(i)}}},function(a){return f?b(f(a)):d(a)})}function G(a){a=a||ta;return{font:a.font||ua,block:a.block,plain:a.plain,doubleNasalsWithTildeBelow:a.doubleNasalsWithTildeBelow,reverseCurls:a.reverseCurls,
+noAchLaut:a.noAchLaut,isHook:a.isHook}}function Y(a,c,b){b=b||"";return function(d){return H.isBreak(d)?a(b)(d):Y(a,c,b+d)}}function Z(a,c,b){var d=function(e){return e.length?Z(a,c,b.concat(e),e[e.length-1]):a(b)},e=function(a){return I[a]?i("long-carrier").addAbove(I[a]):i("short-carrier").addAbove(a)},i=c.font.makeColumn,f=function(a){var b=function(b){return b?a?"silme"===b.tengwa&&"i"===a&&c.isHook?d([i("short-carrier").addAbove("i").addBelow("s")]):-1!==N.indexOf(a)&&b.canAddAbove(a)?(c.reverseCurls&&
+(a=va[a]||a),b.addAbove(a),D(function(a){return d([a])},b)):D(function(b){return d([e(a),b])},b):D(function(a){return d([a])},b):a?D(function(a){return d([a])},e(a)):function(a){return H.isBreak(a)?d([]):/\d/.test(a)?wa(d,c)(a):$[a]?d([i($[a])]):d([i("anna").addError("Unexpected character: "+JSON.stringify(a))])}},f=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"===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()):"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)}: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?c.noAchLaut?b(h("calma")):b(h("hwesta")):b(h("quesse"))(a)}:"d"===a?function(a){return"d"===a?b(h("ando").addTildeBelow()):"j"===a?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?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"===a?function(a){return"s"===a?b(h("silme").addTildeBelow()):"h"===a?b(h("harma")):b(h("silme"))(a)}:"z"===a?function(a){return"z"===a?b(h("esse").addTildeBelow()):b(h("esse"))(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")):""===a?b(h("ore"))(a):b(h("romen"))(a)}:"l"===a?function(a){return"l"===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&&(!f||"a"===f)?b(h("yanta")):"y"===a?b(h("wilya").addBelow("y")):"\u00e1"===a?b(h("wilya").addAbove("a")):I[a]&&-1==N.indexOf(a)?b(h("long-carrier").addAbove(I[a])):b()(a)}};return function(a){return-1!==N.indexOf(a)?
+f(a):f()(a)}}function D(a,c){var b=function(b){var c=function(b){return function(c){return"s"===c?b.canAddBelow("s")?a(b.addBelow("s")):H.countPrimes(function(c){return function(e){if(""===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)}};return function(a){return"y"===a&&b.canAddBelow("y")?c(b.addBelow("y")):c(b)(a)}};return c.canAddAbove("w")?function(a){return"w"===a?b(c.addAbove("w")):b(c)(a)}:b(c)}function J(a){a=a||xa;return{font:a.font||ya,block:a.block,plain:a.plain,vilya:a.vilya,harma:a.harma,classical:a.classical,reverseCurls:a.reverseCurls,iuRising:a.isRising,longHalla:a.longHalla}}function aa(a,c,b,d){var b=b||[],e=function(e){return e.length?aa(a,
+c,b.concat(e),e[e.length-1]):a(b)},i=c.font.makeColumn,f=function(a){var b=a.pop();return ba(function(b){b=a.concat(b).filter(Boolean);return b.length?e(b):function(a){return K.isBreak(a)?e([])(a):/\d/.test(a)?za(e,c)(a):ca[a]?e([i(ca[a])]):e([i("anna").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"===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)}:"y"===a?f([g("tinco").addBelow("y")]):"h"===a?f([g("thule")]):"s"===a?function(a){return K.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 K.isFinal(a)?f([g("parma").addFollowing("s")])(a):
+f([g("parma"),g("silme")])(a)}:f([g("parma")])(a)}:"c"===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.")]):
+c.classical?d&&d.above&&""!==a&&-1!==da.indexOf(a)?f([g("ore")])(a):f([g("romen")])(a):K.isFinal(a)||-1===da.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.")]):
+"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.classical&&c.harma?f([g("hyarmen")]):f([g("hyarmen").addBelow("y")]):c.classical?c.harma?f([g("harma")])(a):d?f([g("hyarmen")])(a):f([g("harma")])(a):f([g("hyarmen")])(a)}:"d"===a?f([g("ando").addError("D cannot appear except after N, L, or R")]):
+"b"===a?f([g("umbar").addError("B cannot appear except after M or L")]):"g"===a?f([g("anga").addError("G cannot appear except after N or \u00d1")]):"j"===a?f([g().addError("J cannot be transcribed in Classical Mode")]):f([])(a)}}function ba(a,c,b){var d=c.font.makeColumn;return function(e){if("a"===e)return function(c){return"i"===c?a([b,d("yanta","a")]):"u"===c?a([b,d("ure","a")]):b&&b.canAddAbove("a")?a([b.addAbove("a")])(c):a([b,d("short-carrier","a")])(c)};if("e"===e)return function(c){return"u"===
+c?a([b,d("ure","e")]):b&&b.canAddAbove("e")?a([b.addAbove("e")])(c):a([b,d("short-carrier","e")])(c)};if("i"===e)return function(e){return"u"===e?c.iuRising?a([b,d("anna").addAbove(o("u",c)).addBelow("y")]):a([b,d("ure","i")]):b&&b.canAddAbove("i")?a([b.addAbove("i")])(e):a([b,d("short-carrier","i")])(e)};if("o"===e)return function(e){return"i"===e?a([b,d("yanta").addAbove(o("o",c))]):b&&b.canAddAbove("o")?a([b.addAbove(o("o",c))])(e):a([b,d("short-carrier").addAbove(o("o",c))])(e)};if("u"===e)return function(e){return"i"===
+e?a([b,d("yanta","u")]):b&&b.canAddAbove("u")?a([b.addAbove(o("u",c))])(e):a([b,d("short-carrier").addAbove(o("u",c))])(e)};if("y"===e){if(b&&b.canAddBelow("y"))return a([b.addBelow("y")]);e=d("anna").addBelow("y");return ba(function(c){return a([b].concat(c))},c,e)}return"\u00e1"===e?a([b,d("long-carrier","a")]):"\u00e9"===e?a([b,d("long-carrier","e")]):"\u00ed"===e?a([b,d("long-carrier","i")]):"\u00f3"===e?b&&b.canAddAbove("\u00f3")?a([b.addAbove(o("\u00f3",c))]):a([b,d("long-carrier").addAbove(o("o",
+c))]):"\u00fa"===e?b&&b.canAddAbove("\u00fa")?a([b.addAbove(o("\u00fa",c))]):a([b,d("long-carrier").addAbove(o("u",c))]):a([b])(e)}}function o(a,c){c.reverseCurls&&(a=Aa[a]||a);return a}function L(a){a=a||Ba;return{font:a.font||Ca,block:a.block,plain:a.plain}}function O(a,c,b){b=b||[];return ea(function(d){return d?O(a,c,b.concat([d])):function(e){return/\d/.test(e)?Da(function(e){return O(a,c,b.concat(e))},c)(e):a(b)(e)}},c)}function ea(a,c){return E(function(b){return b?function(c){return"s"===
+c?b.canAddBelow("s")?a(b.addBelow("s")):B.countPrimes(function(c){return function(d){if(B.isFinal(d)){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")(d);return a(b)(d)}return a(b)("s")(d)}}):
+a(b)(c)}:a()},c)}function E(a,c){var b=c.font.makeColumn;return function(d){return"n"===d?function(e){return"t"===e||"d"===e?E(function(b){return a(b.addTildeAbove())},c)(e):"c"===e||"g"===e?E(a,c)("\u00f1")(e):"n"===e?a(b("numen")):a(b("ore"))(e)}:"t"===d?function(c){return"h"===c?a(b("thule")):a(b("tinco"))(c)}:"d"===d?function(c){return"h"===c?a(b("anto")):a(b("ando"))(c)}:"m"===d?function(e){return"p"===e||"b"===e||"f"===e||"v"===e?E(function(b){return a(b.addTildeAbove())},c)(e):"m"===e?a(b("malta")):
+a(b("vala"))(e)}:"p"===d?a(b("parma")):"b"===d?a(b("umbar")):"f"===d?function(c){return B.isFinal(c)?a(b("ampa"))(c):a(b("formen"))(c)}:"v"===d?a(b("ampa")):"\u00f1"===d?function(e){return"c"===e||"g"===e?E(function(b){"halla"===b.tengwa&&b.addError("Lenited G (halla) should not be nasalized with prefix N");return a(b.addTildeAbove())},c)(e):a(b("noldo"))(e)}:"c"===d?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"===
+d?function(c){return"h"===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"===d?function(c){return"h"===c?a(b("arda")):a(b("romen"))(c)}:"l"===d?function(c){return"h"===c?a(b("alda")):a(b("lambe"))(c)}:"s"===d?a(b("silme")):"a"===d?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)}:"e"===d?function(c){return"i"===c?a(b("yanta").addAbove("\u00ed")):"e"===c?a(b("yanta").addAbove("e")):a(b("yanta"))(c)}:"i"===d?function(e){return"i"===e?ea(a,c)("\u00ed"):B.countPrimes(function(c){return 0===c?a(b("short-carrier")):1===c?a(b("short-carrier").addAbove("i")):3===c?a(b("long-carrier")):4===c?a(b("long-carrier").addAbove("i")):a(b("long-carrier").addAbove("i").addError("I only has four variants between short or long and dotted or not."))})(e)}:"o"===d?function(c){return"o"===
+c?a(b("anna").addAbove("e")):a(b("anna"))(c)}:"u"===d?function(c){return"i"===c?a(b("ure").addAbove("\u00ed")):"u"===c?a(b("ure").addAbove("e")):a(b("ure"))(c)}:"w"===d?function(c){return"w"===c?a(b("wilya").addAbove("e")):a(b("wilya"))(c)}:"y"===d?function(c){return"y"===c?a(b("silme-nuquerna").addAbove("e")):a(b("silme-nuquerna"))(c)}:"\u00e1"===d?a(b("round-carrier").addAbove("e")):"\u00e9"===d?a(b("yanta").addAbove("e")):"\u00ed"===d?B.countPrimes(function(c){return 0===c?a(b("short-carrier").addAbove("e")):
+1===c?a(b("long-carrier").addAbove("e")):a(b("long-carrier").addAbove("e").addError("\u00cd only has one variant."))}):"\u00f3"===d?a(b("anna").addAbove("e")):"\u00fa"===d?a(b("ure").addAbove("e")):"h"===d?function(c){return"w"===c?a(b("hwesta-sindarinwa")):a(b("hyarmen"))(c)}:"z"===d?a(b("silme").addError("Z does not appear in the mode of Beleriand")):fa[d]?a(b(fa[d])):B.isBreak(d)||/\d/.test(d)?a()(d):a(b("anna").addError("Unexpected character: "+JSON.stringify(d)))}}function ga(){if(document.body.classList&&
+document.querySelectorAll&&ha.forEach){var a=document.querySelectorAll(".tengwar");ha.forEach.call(a,function(a){var b=a.dataset,d,e,i;i="div"===a.tagName.toLowerCase();b?(d=b.tengwar,e=b.mode,b=b.encoding):(d=a.getAttribute("data-tengwar"),e=a.getAttribute("data-mode"),b=a.getAttribute("data-encoding"));if(b)a.innerText=ia.transcribe(b,{block:i});else if(d){var b=a.classList.contains("parmaite")?Ea:ia,f=e.split(/\s+/);e=f.shift();e=Fa[e]||Ga;var g=e.makeOptions();f.forEach(function(a){a=a.replace(/\-(\w)/g,
+function(a,b){return b.toUpperCase()});g[a]=!0});g.block=i;g.font=b;a.innerHTML=e.transcribe(d,g)}})}}var k={tinco:"1",parma:"q",calma:"a",quesse:"z",ando:"2",umbar:"w",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",comma:"=","full-stop":"-","exclamation-point":"\u00c1","question-mark":"\u00c0","open-paren":"&#140;","close-paren":"&#156;","flourish-left":"&#286;","flourish-right":"&#287;","0":"&#240",1:"&#241",2:"&#242",3:"&#243",4:"&#244",5:"&#245",6:"&#246",7:"&#247",8:"&#248",9:"&#249",10:"&#250",11:"&#251"},r={a:"#EDC",e:"$RFV",i:"%TGB",o:"^YHN",u:"& U J M &#256; &#257; &#258; &#259;".split(" "),
+"\u00f3":["&#260;","&#261;","&#262;","&#263;"],"\u00fa":["&#264;","&#265;","&#266;","&#267;"],"\u00ed":["&#212;","&#213;","&#214;","&#215;"],w:"\u00e8\u00e9\u00ea\u00eb",y:"\u00cc\u00cd\u00ce\u00cf\u00b4","o-under":["\u00e4","&#229;","\u00e6","\u00e7","|"],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:"&#199;"},"s-flourish":{special:!0,tinco:"&#163;",lambe:"&#165;"},
+"tilde-above":"Pp","tilde-below":[":",";","&#176;"],"tilde-high-above":")0","tilde-far-below":"?/","bar-above":"{[","bar-below":['"',"'","&#184;"],"bar-high-above":"\u00ec\u00ee","bar-far-below":"\u00ed\u00ef"},m={tengwar:[["tinco","parma","calma","quesse"],["ando","umbar","anga","ungwe"],["thule","formen","harma","hwesta"],["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"]],tehtarAbove:"aeiou\u00e1\u00e9\u00ed\u00f3\u00faw".split(""),tehtarBelow:["y","s","o-under"],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(" ")};m.tehtar=[].concat(m.tehtarAbove,
+m.tehtarBelow,m.tehtarFollowing,m.barsAndTildes);m.aliases={vilya:"wilya",aha:"harma",gasdil:"halla"};var s={},na=m,Ha=s.tengwar=k,z=s.tehtar=r,u=s.positions={tinco:{o:3,w:3,others:2},parma:{o:3,w:3,others:2},calma:{o:3,w:3,u:3,"o-under":1,others:2},quesse:{o:3,w:3,"o-under":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,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:null,"o-under":null,others:1},arda:{a:1,e:3,i:1,o:3,u:3,"\u00ed":1,"\u00f3":2,"\u00fa":2,y:null,"o-under":null,others:0},lambe:{wide:!0,e:1,y:4,"\u00f3":1,"\u00fa":1,"o-under":null,others:0},alda:{wide:!0,"o-under":null,others:1},silme:{y:3,"o-under":2,others:null},"silme-nuquerna":{e:3,
+o:3,u:3,"\u00f3":3,"\u00fa":3,y:null,"o-under":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,"\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:{others:null},"short-carrier":3,"long-carrier":{y:null,"o-under":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}};s.transcribe=function(a,c){var c=c||{},b=c.plain||!1,d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+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");a.following&&d.push(a.following);d=Ha[c]+d.map(function(a){return x(c,
+a)}).join("");a.errors&&!b&&(d='<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};s.tehtaForTengwa=x;s.makeColumn=function(a,c,b){return new p(a,c,b)};var p=function(a,c,b){this.above=c;this.tildeAbove=void 0;this.tengwa=a;this.tildeBelow=void 0;this.below=b;this.error=this.following=void 0};p.prototype.canAddAbove=function(a){return!this.above&&!!x(this.tengwa,a)||!this.below&&
+("silme"===this.tengwa&&x("silme-nuquerna",a)||"esse"===this.tengwa&&x("esse-nuquerna",a))};p.prototype.addAbove=function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};p.prototype.canAddBelow=function(a){return!this.below&&!!x(this.tengwa,a)};p.prototype.addBelow=function(a){this.below=a;return this};p.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};p.prototype.addTildeBelow=function(){this.tildeBelow=
+!0;return this};p.prototype.canAddFollowing=function(a){return!this.following&&!!x(this.tengwa,a)};p.prototype.addFollowing=function(a){this.following=a;return this};p.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};var w={},pa=m,Ia=w.tengwar=k,A=w.tehtar=r,v=w.positions={tinco:2,parma:2,calma:{y:1,"o-under":1,others:2},quesse:{y:1,"o-under":1,others:2},ando:{wide:!0,others:0},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,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-under":null,others:1},arda:{a:1,e:1,i:2,o:1,u:1,w:1,"\u00ed":2,y:null,"o-under":null,others:0},lambe:{wide:!0,e:1,y:4,w:0,"o-under":null,others:0},alda:{wide:!0,w:0,y:null,"o-under":null,others:1},silme:{y:2,"o-under":2,others:null},"silme-nuquerna":{e:2,y:null,"o-under":null,others:1},esse:{others:null},"esse-nuquerna":{e:2,y:null,"o-under":null,others:1},hyarmen:{y:1,others:3},"hwesta-sindarinwa":{w:1,y:1,others:0},yanta:{a:1,others:2},ure:{a:1,others:2},halla:{others:null},"short-carrier":{y:null,
+others:3},"long-carrier":{y:null,"o-under":null,others:3},"round-carrier":2,"tinco-extended":{a:3,w:3,y:3,"\u00ed":3,others:2},"parma-extended":{a:3,w:3,y:3,"\u00ed":3,others:2},"calma-extended":{i:1,w:1,y:0,"\u00ed":0,others:0},"quesse-extended":{i:1,w:1,y:0,"\u00ed":0,others:0}};w.transcribe=function(a,c){var c=c||{},b=c.plain||!1,d=c.block||!1,e=d?"<p>":"",i=d?"<br>":"",f=d?"</p>":"";return a.map(function(a){return a.map(function(a){return e+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");a.following&&d.push(a.following);d=Ia[c]+d.map(function(a){return y(c,a)}).join("");a.errors&&!b&&(d='<abbr class="error" title="'+a.errors.join("\n").replace(/"/g,"&quot;")+'">'+d+"</abbr>");return d}).join("")}).join(" ")}).join(i+"\n")+f}).join("\n\n")}).join("\n\n\n")};w.tehtaForTengwa=y;var oa="\u00e1\u00e9\u00f3\u00fa";w.makeColumn=function(a,c,b){return new q(a,
+c,b)};var q=function(a,c,b){this.above=c;this.tildeAbove=void 0;this.tengwa=a;this.tildeBelow=void 0;this.below=b;this.error=this.following=void 0};q.prototype.canAddAbove=function(a){return!this.above&&!!y(this.tengwa,a)||!this.below&&("silme"===this.tengwa&&y("silme-nuquerna",a)||"esse"===this.tengwa&&y("esse-nuquerna",a))};q.prototype.addAbove=function(a){"silme"===this.tengwa&&(this.tengwa="silme-nuquerna");"esse"===this.tengwa&&(this.tengwa="esse-nuquerna");this.above=a;return this};q.prototype.canAddBelow=
+function(a){return!this.below&&!!y(this.tengwa,a)};q.prototype.addBelow=function(a){this.below=a;return this};q.prototype.addTildeAbove=function(){this.tildeAbove=!0;return this};q.prototype.addTildeBelow=function(){this.tildeBelow=!0;return this};q.prototype.canAddFollowing=function(a){return!this.following&&!!y(this.tengwa,a)};q.prototype.addFollowing=function(a){this.following=a;return this};q.prototype.addError=function(a){this.errors=this.errors||[];this.errors.push(a);return this};k={module$exports:{"-":"comma",
+",":"comma",":":"comma",";":"full-stop",".":"full-stop","!":"exclamation-point","?":"question-mark","(":"open-paren",")":"close-paren",">":"flourish-left","<":"flourish-right"}};k.module$exports&&(k=k.module$exports);var M={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&&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 Q(a,c)})})})})}};M.decodeWord=Q;var j={},Ja=k;j.makeParser=function(a,c){c=c||function(a,c){throw Error(a+" while parsing "+JSON.stringify(c));};return function(b){var d,e=a.apply(null,
+[function(a){d=a;return function(a){""!==a&&(a="Unexpected "+JSON.stringify(a),c(a,b));return function sa(){return sa}}}].concat(Array.prototype.slice.call(arguments,1)));for(Array.prototype.forEach.call(b,function(a){e=e(a)});!d;)e=e("");return d}};j.makeExpect=function(a){return function(c){return function(b){return b===a?c(b):c()(b)}}};j.makeParseSome=function(a){var c=R(a);return function(b){return a(function(a){return null!=a?c(b,[a]):b([])})}};j.makeParseAny=R;j.makeDelimitedParser=function(a,
+c){return function d(e,i,f){f=f||[];return a(function(a){return a.length?(f=f.concat([a]),c(function(a){return a?d(e,i,f):e(f)})):e(f)},i)}};j.isBreak=S;j.isFinal=function(a){return S(a)||Ja[a]};j.countPrimes=T;var r={module$exports:function(a,c){var b=c.font.makeColumn;return Ka(function(c){if(c)var e=c.join(""),c=j.countPrimes(function(c){var d=e,g,j;0==c?j=10:(j=12,g=1<c);d=parseInt(d,10).toString(j).split("");c=d.map(function(a){a=b(""+parseInt(a,12));g&&a.addError("Numbers can only be parsed in either decimal or dudecimal.");
+return a});return a(c)});else c=a();return c})}},Ka=j.makeParseSome(function(a){return function(c){return""!==c&&-1!=="0123456789".indexOf(c)?a(c):a()(c)}});j.makeExpect(".");r.module$exports&&(r=r.module$exports);var m={module$exports:function(a,c){var b=j.makeDelimitedParser(a,La),b=j.makeDelimitedParser(b,U),b=j.makeDelimitedParser(b,U),d=j.makeDelimitedParser(b,qa);return j.makeParser(function(a,b){b=c(b);return d(a,b)})}},t=j.makeExpect(" "),F=j.makeParseAny(t),La=j.makeParseSome(t),V=j.makeExpect("\n"),
+ra=j.makeParseSome(V);m.module$exports&&(m=m.module$exports);var l={};l.module$exports=W;l.module$exports&&(l=l.module$exports);var n={};n.module$exports=X;n.module$exports&&(n=n.module$exports);var t={module$exports:function(a){var c=P(a);return function d(a){c=c(a.toLowerCase());return d}}},l=l({k:"c",x:"cs",q:"cw",qu:"cw",p:"p",ph:"f",b:"b",bh:"v","\u00eb":"e","\u00e2":"\u00e1","\u00ea":"\u00e9","\u00ee":"\u00ed","\u00f4":"\u00f3","\u00fb":"\u00fa"}),P=n(l,function(a){return function(c){return Array.prototype.reduce.call(a,
+function(a,c){return a(c)},c)}},function(a){return P(a)},function(a){return function(c){return P(a(c))}});t.module$exports&&(t=t.module$exports);var l={},ua=s,H=j,Ma=t,$=k,wa=r;l.name="General Use Mode";var ta={};l.makeOptions=G;l.transcribe=function(a,c){c=G(c);return c.font.transcribe(ja(a,c),c)};l.encode=function(a,c){c=G(c);return M.encode(ja(a,c),c)};var ja=l.parse=m(function(a,c){var b,d=c.font.makeColumn;b=Y(function(b){return ka[b]?a(M.decodeWord(ka[b],d)):a(Na(b,c))},c);return Ma(b)},G),
+ka={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",is:"short-carrier:i,s"},Na=H.makeParser(function(a,c){return Z(a,c,[])}),N="aeiou\u00f3\u00fa",I={"\u00e1":"a","\u00e9":"e","\u00ed":"i","\u00f3":"o","\u00fa":"u"},va={o:"u",u:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"};l.parseTengwaAnnotations=D;var n=
+{},ya=s,K=j,Oa=t,ca=k,za=r;n.name="Classical Mode";var xa={};n.makeOptions=J;n.transcribe=function(a,c){c=J(c);return c.font.transcribe(la(a,c),c)};n.encode=function(a,c){c=J(c);return M.encode(la(a,c),c)};var la=n.parse=m(function(a,c){return Oa(aa(a,c))},J),da="aeiouy\u00e1\u00e9\u00ed\u00f3\u00fa",Aa={o:"u",u:"o","\u00f3":"\u00fa","\u00fa":"\u00f3"},C={},Ca=w,B=j,Pa=t,fa=k,Da=r;C.name="Mode of Beleriand";var Ba={};C.makeOptions=L;C.transcribe=function(a,c){c=L(c);return c.font.transcribe(ma(a,
+c),c)};C.encode=function(a,c){c=L(c);return Notation.encode(ma(a,c),c)};var ma=C.parse=m(function(a,c){return Pa(O(a,c))},L),k={};k.module$exports={"general-use":l,classical:n,beleriand:C};k.module$exports&&(k=k.module$exports);var Ga=l,ia=s,Ea=w,Fa=k,ha=Array.prototype;"undefined"!==typeof document&&("complete"===document.readyState?ga():document.addEventListener("DOMContentLoaded",ga,!0))})();