Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/delibero.git

Migrating to application that can transform XML documents into HTML pages using XSLT 2

Author Dave Jarvis <email>
Date 2015-01-13 17:32:18 GMT-0800
Commit 89e6cb37334612daf9e172e7a788b164935c79b6
Parent 468dbd2
Delta 2528 lines added, 30 lines removed, 2498-line increase
build.gradle
compile "org.apache.shiro:shiro-core:1.2.3"
+ // XSLT 2.0
+ compile "net.sf.saxon:Saxon-HE:9.4"
+
// Database
compile "org.postgresql:postgresql:9.3-1102-jdbc41"
questions.ods
Binary files differ
source/css/account.css
+@charset "utf-8";
+
+@import url( "css/related.css" );
+@import url( "css/xref.css" );
+
+.account::before {
+ content: "Account";
+
+ font-family: 'Montserrat', Helvetica, sans-serif;
+ font-size: 2em;
+ font-weight: bold;
+}
+
+.account {
+ margin-bottom: 0.5em;
+ padding-bottom: 0.5em;
+ border-bottom: 1px solid black;
+}
+
+.account > .implications {
+ display: table;
+ border-top: 1px solid black;
+ padding-top: 0.5em;
+}
+
+.implications > .entry, .implications > .header {
+ display: table-row;
+}
+
+.implications > * > * {
+ display: table-cell;
+ padding: 0.25em;
+}
+
+.implications > .entry:nth-child(odd) {
+ display: table-row;
+ background-color: #EEE;
+}
+
+.implications > .header {
+ background-color: black;
+ color: white;
+ font-weight: bold;
+}
+
+.implications > .entry > .timestamp > * {
+ display: table-cell;
+ padding-right: 0.25em;
+}
+
+.implications > .entry > .policy,
+.implications > .entry > .timestamp > .date {
+ white-space: nowrap;
+}
+
+.related > .implications { order: 1; }
+.related > .interests { order: 2; }
+.related > .edits { order: 3; }
+.related > .policies { order: 4; }
+.related > .votes { order: 5; }
+.related > .views { order: 6; }
+.related > .flags { order: 7; }
+
+.related > *::after {
+ content: "|";
+ padding-right: 3px;
+}
+
+.related > .flags::after {
+ content: "";
+ padding-right: 0;
+}
+
+.implications > a::before { content: "implications"; }
+.interests > a::before { content: "interests"; }
+.edits > a::before { content: "edits"; }
+.policies > a::before { content: "proposals"; }
+.votes > a::before { content: "votes"; }
+.views > a::before { content: "views"; }
+.flags > a::before { content: "flags"; }
source/css/common.css
+@charset "utf-8";
+
+@import url( 'reset.min.css' );
+
+body {
+ margin-top: 0.5em;
+ margin-left: auto;
+ margin-right: auto;
+ width: 800px;
+
+ font-family: 'Open Sans', sans-serif;
+}
+
+.paragraph {
+ line-height: 120%;
+}
+
+.title {
+ font-family: 'Montserrat', Helvetica, sans-serif;
+ font-size: 2em;
+ font-weight: bold;
+ padding-bottom: 0.2em;
+}
source/css/discuss.css
+@charset "utf-8";
+
+@import url( "css/related.css" );
+@import url( "css/xref.css" );
+
+.summary, .policy {
+ padding-bottom: 0.5em;
+}
+
+.title, .policy {
+ border-bottom: 1px solid black;
+}
+
+.implications::before {
+ font-size: 1.1em;
+ font-family: 'Montserrat', Helvetica, sans-serif;
+ font-weight: bold;
+
+ content: "Implications";
+}
+
+.implication {
+ margin-left: 1em;
+}
+
+.support {
+ float: left;
+ margin-right: 0.5em;
+}
+
+.support > a::before {
+ content: "▶";
+}
+
+.votes {
+ display: none;
+}
+
+.implication, .implications, .counter {
+ margin-top: 0.5em;
+}
+
+.counter {
+ margin-left: 1.5em;
+}
+
+.counter > .support::after {
+ content: " [Refuted]";
+ font-weight: bold;
+ font-size: .75em;
+}
+
+.related > .implicate > a::before { content: "new"; }
+
source/css/edit-discuss-flag.css
+@charset "utf-8";
+
+@import url( "related.css" );
+
+.related > .edit { order: 1; }
+.related > .discuss { order: 2; }
+.related > .flag { order: 3; }
+
+.related > *::after {
+ content: "|";
+ padding-right: 3px;
+}
+
+.related > .flag::after {
+ content: "";
+ padding-right: 0;
+}
+
+.related > .discuss > a::before { content: "discuss"; }
+.related > .edit > a::before { content: "edit"; }
+.related > .flag > a::before { content: "flag"; }
source/css/home.css
+@charset "utf-8";
+
+.policy {
+ display: flex;
+ flex-direction: column;
+}
+
+.overview {
+ display: flex;
+ flex-direction: row;
+ padding-bottom: 1em;
+}
+
+.statistics {
+ order: 1;
+}
+
+.activation {
+ order: 2;
+}
+
+.summary {
+ order: 3;
+}
+
+.statistics, .activation {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-end;
+
+ font-size: 0.8em;
+ padding-right: 0.5em;
+ padding-top: 0.5em;
+}
+
+.statistics {
+ width: 9%;
+}
+
+.activation {
+ width: 10%;
+}
+
+.activation > .time, .statistics > .views {
+ padding-top: 0.25em;
+}
+
+.proposal {
+ font-size: 1em;
+ font-weight: normal;
+ padding-top: 0.3em;
+}
+
+.proposal, .tags {
+ padding-left: 10px;
+}
+
+.proposal > a {
+ text-decoration: none;
+
+ font-family: 'Montserrat', Helvetica, sans-serif;
+ font-size: 1.25em;
+ color: #46A5E5;
+}
+
+.tags {
+ display: inline-flex;
+ font-size: 0.8em;
+ color: #B93507;
+}
+
+/** Separate tags using horizontal bars. */
+.tag::after {
+ content: "|";
+ padding-left: 5px;
+ padding-right: 5px;
+}
+.tag:last-child:after { content: ""; }
+
+.votes::after { content: " votes "; }
+.views::after { content: " views "; }
source/css/hypothesis.css
+@charset "utf-8";
+
+@import url( "css/edit-discuss-flag.css" );
+@import url( "css/xref.css" );
+@import url( "css/list.css" );
+
+.policy {
+ padding-bottom: 0.5em;
+ border-bottom: 1px solid black;
+}
+
+.policy, .title {
+ border-bottom: 1px solid black;
+}
+
+.paragraph {
+ margin-bottom: 0.5em;
+}
+
+.hypotheses > .general::before {
+ content: "General Hypothesis";
+}
+
+.hypotheses > .directional::before {
+ content: "Directional Hypothesis";
+}
+
+.hypotheses > .measurable::before {
+ content: "Measurable Hypothesis";
+}
+
+.hypotheses > *::before {
+ font-family: 'Montserrat', Helvetica, sans-serif;
+ font-size: 1.2em;
+ font-weight: bold;
+}
+
+.hypotheses > * > .paragraph {
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
+}
source/css/legend.css
+@charset "utf-8";
+
+/**
+ * Decorates the tabular data for the pie chart values.
+ */
+table.legend {
+ margin-left: 2em;
+
+ border: 1px solid #eee;
+}
+
+th, td {
+ padding: 4px;
+}
+
+th {
+ padding-bottom: 8px;
+}
+
+td.amount, td.percent {
+ text-align: right;
+}
+
+td.amount {
+ border-right: 1px solid #eee;
+}
+
+tr:nth-child(even) {
+ background-color: #eee;
+}
+
+table.legend > thead > tr > * {
+ color: white;
+ background-color: black;
+}
+
+table.legend > tfoot {
+ border-top: 3px double black;
+}
+
+table.legend > tfoot > tr > td.footer {
+ text-align: right;
+}
+
source/css/list.css
+@charset "utf-8";
+
+.list {
+ list-style-type: decimal;
+ counter-reset: contentList;
+}
+
+.list > .item::before {
+ counter-increment: contentList;
+ content: "(" counter( contentList, decimal ) ") ";
+}
+
+.list > .item {
+ margin-top: 0.5em;
+ margin-left: 1.25em;
+ line-height: 120%;
+}
+
source/css/parts.css
+@charset "utf-8";
+@import url( "list.css" );
+
+.part > .title, .section > .title {
+ margin-top: 0.75em;
+}
+
+.part > .title {
+ font-size: 1.5em;
+}
+
+.section > .title {
+ font-size: 1.2em;
+}
+
+.parts {
+ list-style-type: decimal;
+ counter-reset: partList;
+}
+
+.part > .title::before {
+ counter-increment: partList;
+ content: "Part " counter( partList, decimal ) " - ";
+}
+
+.sections {
+ list-style-type: decimal;
+ counter-reset: sectionList;
+}
+
+.section > .title::before {
+ counter-increment: sectionList;
+ content: "Section "
+ counter( partList, decimal ) "."
+ counter( sectionList, decimal ) " - ";
+}
+
source/css/policy.css
+@charset "utf-8";
+
+.policy {
+ padding-bottom: 0.5em;
+ border-bottom: 1px solid black;
+}
+
+.title {
+ border-bottom: 1px solid black;
+}
+
+.paragraph {
+ padding-top: 0.5em;
+ line-height: 120%;
+}
+
source/css/proposal.css
+@charset "utf-8";
+
+@import url( "css/edit-discuss-flag.css" );
+@import url( "css/xref.css" );
+@import url( "css/parts.css" );
+
+.policy {
+ margin-bottom: 0.5em;
+ padding-bottom: 0.5em;
+ border-bottom: 1px solid black;
+}
+
+.activation {
+ display: flex;
+ flex-direction: row;
+ margin-top: 0.5em;
+
+ justify-content: flex-end;
+}
+
+.date::before {
+ content: "Activation: ";
+}
+
+.time::before {
+ content: "\00a0 at\00a0";
+}
+
+.paragraph {
+ padding-top: 0.5em;
+ line-height: 120%;
+}
+
source/css/related.css
+@charset "utf-8";
+
+.related {
+ display: flex;
+ justify-content: flex-end;
+
+ padding-top: 0.5em;
+ width: 100%;
+}
+
+.related > div {
+ display: inline;
+ color: #333;
+}
+
+.related > div > a {
+ padding-right: 5px;
+ color: #46A5E5;
+}
source/css/reset.min.css
+/* reset5 © 2011 opensource.736cs.com MIT */
+html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,audio,canvas,details,figcaption,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,summary,time,video{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}body{line-height:1;}article,aside,dialog,figure,footer,header,hgroup,nav,section,blockquote{display:block;}nav ul{list-style:none;}ol{list-style:decimal;}ul{list-style:disc;}ul ul{list-style:circle;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:none;}ins{text-decoration:underline;}del{text-decoration:line-through;}mark{background:none;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input[type=submit],input[type=button],button{margin:0!important;padding:0!important;}input,select,a img{vertical-align:middle;}
source/css/resources.css
+@charset "utf-8";
+
+@import url( "css/edit-discuss-flag.css" );
+@import url( "css/xref.css" );
+@import url( "css/parts.css" );
+@import url( "css/legend.css" );
+
+.policy {
+ padding-bottom: 0.5em;
+ border-bottom: 1px solid black;
+ margin-bottom: 0.5em;
+}
+
+.summary > .title {
+ border-bottom: 1px solid black;
+ margin-bottom: 0.5em;
+}
+
+.chart {
+ display: flex;
+ flex-direction: row;
+}
+
+/* Add some whitespace between left-edge and legend table. */
+div.graph {
+ padding-left: 2em;
+ width: 35%;
+}
+
+.paragraph {
+ line-height: 120%;
+ margin-top: 0.5em;
+}
+
+div.bullet {
+ width: 1ex;
+ height: 1.25ex;
+ display: inline-block;
+}
+
+.overview {
+ margin-top: 1em;
+}
source/css/summary.css
+@charset "utf-8";
+
+@import url( "css/related.css" );
+@import url( "css/xref.css" );
+@import url( "css/votes.css" );
+
+.summary, .paragraph {
+ padding-bottom: 0.5em;
+}
+
+.synopsis {
+ float: right;
+ width: 90%;
+}
+
+.implications > .implication {
+ line-height: 120%;
+}
+
+.tags {
+ width: 100%;
+ padding-bottom: 1em;
+
+ font-size: 0.8em;
+ color: #B93507;
+ border-bottom: 1px solid black;
+}
+
+.tag {
+ display: inline;
+}
+
+.tag::after {
+ content: "|";
+ padding-left: 5px;
+ padding-right: 3px;
+}
+.tag:last-child:after { content: ""; }
+
+.statistics {
+ font-size: 0.8em;
+}
+
+.activation {
+ display: none;
+}
+
+.implications::before {
+ content: "Implications";
+ font-family: 'Montserrat', Helvetica, sans-serif;
+ font-size: 1.5em;
+ font-weight: bold;
+}
+
+.implications, .implication:nth-of-type(1) {
+ margin-top: 0.5em;
+}
+
+.implication > .support {
+ float: left;
+ margin-right: 0.5em;
+}
+
+.implication > .support > a::before {
+ content: "▶";
+}
+
+.related {
+ padding-bottom: 0.5em;
+ border-bottom: 1px solid black;
+ width: 100%;
+}
+
+.proposal { order: 1; }
+.resources { order: 2; }
+.hypothesis { order: 3; }
+.discuss { order: 4; }
+
+.proposal::after, .resources::after, .hypothesis::after {
+ content: "|";
+ padding-right: 3px;
+}
+
+.proposal > a::before { content: "proposal"; }
+.resources > a::before { content: "resources"; }
+.hypothesis > a::before { content: "hypothesis"; }
+.discuss > a::before { content: "implications"; }
+.flag > a::before { content: "flag"; }
source/css/support.css
+@charset "utf-8";
+
+@import url( "css/policy.css" );
+@import url( "css/edit-discuss-flag.css" );
+@import url( "css/xref.css" );
+@import url( "css/votes.css" );
+@import url( "css/video.css" );
+
+.implications::before {
+ font-family: 'Montserrat', Helvetica, sans-serif;
+ font-weight: bold;
+}
+
+.implication > .title {
+ font-size: 1.25em;
+ border-bottom: none;
+ line-height: 120%;
+}
+
+.implication {
+ min-height: 2.5em;
+ margin-left: 1em;
+ margin-top: 0.5em;
+}
+
+.support {
+ display: table;
+}
+
+.related > .counter { order: 0; }
+.related > .counter > a::before { content: "refute"; }
+
source/css/tags.css
+@charset "utf-8";
+
+@import url( "css/policy.css" );
+@import url( "css/xref.css" );
+
+div#container {
+ border-left: 2px solid #DDD;
+ border-right: 2px solid #DDD;
+ border-top-left-radius: 0.4em 0.4em;
+ border-top-right-radius: 0.4em 0.4em;
+ border-bottom-left-radius: 0.4em 0.4em;
+ border-bottom-right-radius: 0.4em 0.4em;
+}
+
+/**
+ *
+ * Cascading columns styling.
+ *
+ */
+div.columns {
+ float: left;
+ width: 100%;
+ height: 100%;
+ overflow-x: auto;
+ overflow-y: hidden;
+ white-space: nowrap;
+
+ background-color: #949494;
+}
+
+/* Display the lists as columns in blocks. */
+ul.column {
+ display: inline-block;
+
+ vertical-align: top;
+ overflow: hidden;
+ margin: 0;
+ padding: 0;
+
+ border-right: 1px solid #666;
+ background-color: white;
+ white-space: normal;
+
+ font-size: 0.9em;
+}
+
+/* Setting a list container class to "collapsed" will hide the column. */
+ul.column.collapse {
+ display: none;
+}
+
+/* Put some space between the column's list entries. */
+ul.column > li {
+ list-style: none;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+
+ min-width: 200px;
+}
+
+ul.column > li.parent::after {
+ content: "›";
+ float: right;
+ font-weight: bold;
+}
+
+/* Zebra stripes, which can be overridden. */
+ul.column > li:nth-child(odd) {
+ background-color: #EEE;
+}
+
+/* Highlight while hovering, without allowing selected items to override. */
+ul.column > li:hover {
+ color: black;
+ background-color: #DDE4E8;
+}
+
+/* Ensure all selected nodes in the hierarchy are easily seen. */
+ul.column > li.selected {
+ background-color: #08C;
+ color: white;
+}
+
+/**
+ *
+ * Breadcrumb styling.
+ *
+ */
+div.breadcrumb {
+ margin-top: 1em;
+ border-top-left-radius: 0.4em 0.4em;
+ border-top-right-radius: 0.4em 0.4em;
+
+ border-bottom: 1px solid #666;
+}
+
+div.breadcrumb > span {
+ height: 1.25em;
+ line-height: 1.25em;
+
+ font-size: 0.7em;
+ font-weight: bold;
+ color: #666;
+}
+
+div.breadcrumb > span::after {
+ content: " › ";
+}
+
+div.breadcrumb > span:first-child {
+ padding-left: 1em;
+}
+
+div.breadcrumb > span:last-child:after {
+ content: "";
+}
+
+/**
+ *
+ * Toolbar styling.
+ *
+ */
+div.toolbar {
+ margin-bottom: 1em;
+ border-bottom-left-radius: 0.4em 0.4em;
+ border-bottom-right-radius: 0.4em 0.4em;
+
+ clear: both;
+ border-top: 1px solid #666;
+
+ padding-right: 1em;
+
+ text-align: right;
+ font-size: 0.8em;
+}
+
+/**
+ *
+ * Breadcrumb and toolbar styling.
+ *
+ */
+div.breadcrumb, div.toolbar {
+ padding-top: 0;
+ height: 1.75em;
+ line-height: 1.75em;
+
+ background: linear-gradient(#f0f0f0, #d8d8d8);
+}
+
source/css/tour.css
+@charset "utf-8";
+
+a {
+ text-decoration: none;
+ font-weight: bold;
+ color: #087ECB;
+}
+
+a:hover {
+ color: #B93507;
+}
+
+div.header {
+ text-align: center;
+}
+
+hr {
+ background-color: #999;
+ border: 0 none;
+ color: #999;
+ height: 1px;
+}
+
+a.page-prev {
+ margin-right: 1em;
+}
+
+a.page-next::after {
+ content: " →";
+}
+
+a.page-prev::before {
+ content: "← ";
+}
+
source/css/video.css
+/* http://stackoverflow.com/a/114549/59087 */
+.video {
+ display: table;
+ margin: 0 auto;
+}
+
source/css/votes.css
+@charset "utf-8";
+
+.votes {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ float: left;
+ margin-right: 1.5em;
+ color: #A1C436;
+ font-size: 14px;
+}
+
+.votes::before {
+ content: "▲";
+ padding-bottom: 0.25em;
+}
+
source/css/xref.css
+@charset "utf-8";
+
+a {
+ text-decoration: none;
+ color: #46A5E5;
+}
+
+.xref {
+ display: inline;
+}
source/java/to/discuss/Main.java
+package to.discuss;
+
+import java.io.InputStream;
+
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.xml.XmlConfiguration;
+import org.eclipse.jetty.server.handler.ContextHandler;
+
+/**
+ * Launches the embedded web server.
+ */
+public class Main {
+ public static void main( String args[] ) throws Exception {
+ Server server = new Server( 8080 );
+
+ InputStream configFile = open( "static.xml" );
+ XmlConfiguration config = new XmlConfiguration( configFile );
+ ContextHandler context = (ContextHandler)config.configure();
+
+ server.setHandler( context );
+ server.start();
+ server.join();
+ }
+
+ private static InputStream open( String filename ) throws Exception {
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ return loader.getResourceAsStream( filename );
+ }
+}
+
source/js/columns.js
+;(function( $, window, document, undefined ) {
+ var settings;
+
+ $.fn.millerColumns = function( options ) {
+ var defaults = {
+ current: function( $item ) {},
+ breadcrumb: breadcrumb,
+ animation: animation,
+ delay: 500
+ };
+
+ settings = $.extend( defaults, options );
+
+ return this.each( function() {
+ var $columns = $(this);
+ unnest( $columns );
+ collapse();
+
+ // Expand the requested child node on click.
+ $columns.find( "li" ).on( "click", function( event ) {
+ reset();
+
+ var $child = $(this).data( "child" );
+
+ if( $child !== undefined ) {
+ $child.removeClass( "collapse" ).children().removeClass( "selected" );
+ }
+
+ var $ancestor = $(this);
+
+ // Reveal (uncollapse) all ancestors to the clicked item.
+ while( $ancestor !== undefined ) {
+ $ancestor.addClass( "selected" ).parent().removeClass( "collapse" );
+ $ancestor = $ancestor.data( "ancestor" );
+ }
+
+ settings.animation.call( this, $columns, $(this) );
+ settings.breadcrumb.call( this );
+ settings.current.call( this, $(this) );
+
+ // Don't allow the underlying DIV to receive the click event.
+ event.stopPropagation();
+ });
+
+ $columns.bind( 'keypress', keypress );
+
+ $columns.on( "click", function() {
+ reset();
+ });
+
+ // The last set of columns on the page recieves focus.
+ $columns.focus();
+ });
+ }
+
+ /** Ensure the viewport shows the entire newly expanded item. */
+ animation = function( $columns, $column ) {
+ $columns.animate( { scrollLeft: $column.offset().left }, settings.delay );
+ }
+
+ /** Add the breadcrumb path using the chain of selected items. */
+ breadcrumb = function() {
+ var $breadcrumb = $("div.breadcrumb").empty();
+
+ chain().each( function( _, crumb ) {
+ $("<span/>").text( $(crumb).text().trim() ).appendTo( $breadcrumb );
+ });
+ }
+
+ /** Convert nested lists into columns using breadth-first traversal. */
+ unnest = function( $columns ) {
+ var queue = [];
+
+ // Push the root unordered list item into the queue.
+ queue.push( $columns.children() );
+
+ while( queue.length ) {
+ var $node = queue.shift();
+
+ $node.children().each( function( _, el ) {
+ var $child = $(this).children();
+ var $ancestor = $(this).parent().parent();
+
+ // Retain item hierarchy (because it is lost after flattening).
+ if( $ancestor.length && ($(this).data( "ancestor" ) === undefined) ) {
+ // Use addBack to reset all selection chains.
+ $(this).siblings().addBack().data( "ancestor", $ancestor );
+ }
+
+ if( $child.length > 0 ) {
+ queue.push( $child );
+ $(this).data( "child", $child ).addClass( "parent" );
+ }
+
+ // Causes item siblings to have a flattened DOM lineage.
+ $(this).parent().appendTo( $columns ).addClass( "column" );
+ });
+ }
+ }
+
+ /** Hide columns (not the first). */
+ collapse = function() {
+ $(".column:gt(0)").addClass( "collapse" );
+ }
+
+ /** Hide columns (not the first), remove selections, update breadcrumb. */
+ reset = function() {
+ collapse();
+ chain().removeClass( "selected" );
+ breadcrumb();
+
+ // Upon reset ensure no value is returned to the calling code.
+ settings.current( undefined );
+ }
+
+ keypress = function( event ) {
+ // Was an attempt made to move the currently selected item (the cursor)?
+ var moved = false;
+
+ switch( event.keyCode ) {
+ case 27: // escape
+ reset();
+ break;
+ case 38: // arrow up
+ moveU();
+ moved = true;
+ break;
+ case 40: // arrow down
+ moveD();
+ moved = true;
+ break;
+ case 37: // arrow left
+ moveL();
+ moved = true;
+ break;
+ case 39: // arrow right
+ moveR();
+ moved = true;
+ break;
+ }
+
+ // If no item is selected, then jump to the first item.
+ if( moved && (current().length == 0) ) {
+ $(".column").first().children().first().click();
+ }
+ }
+
+ /** Returns a list of the currently selected items. */
+ chain = function() {
+ return $(".column > .selected");
+ }
+
+ /** Returns the last selected item (i.e., the current cursor). */
+ current = function() {
+ return chain().last();
+ }
+
+ /** Select item above current selection. */
+ moveU = function() {
+ current().prev().click();
+ }
+
+ /** Select item below current selection. */
+ moveD = function() {
+ current().next().click();
+ }
+
+ /** Select item left of the current selection. */
+ moveL = function() {
+ var $ancestor = current().data( "ancestor" );
+
+ if( $ancestor !== undefined ) {
+ $ancestor.click();
+ }
+ }
+
+ /** Select item right of the current selection, or down if no right item. */
+ moveR = function() {
+ var $child = current().data( "child" );
+
+ ($child === undefined) ? moveD() : $child.children().first().click();
+ }
+})(jQuery);
+
source/js/common.js
+var REQ_OBJECTS = [
+ function () {return new XMLHttpRequest()},
+ function () {return new ActiveXObject('Msxml2.XMLHTTP')},
+ function () {return new ActiveXObject('Msxml3.XMLHTTP')},
+ function () {return new ActiveXObject('Microsoft.XMLHTTP')}
+];
+
+/**
+ * Provides a cross-browser mechanism to retrieve the XMLHttpRequest object
+ * used for performing Ajax requests.
+ */
+function get_request_object() {
+ for( var i = 0; i < REQ_OBJECTS.length; i++ ) {
+ try {
+ return REQ_OBJECTS[ i ]();
+ }
+ catch( e ) { continue; }
+ }
+}
+
+/**
+ * This is used to perform an asynchronous injection of a code resource
+ * (JavaScript or CSS) into a web page element.
+ */
+function inject( path, parent, element, callback ) {
+ var req = get_request_object();
+
+ req.open( 'GET', path, true );
+
+ req.onreadystatechange = function() {
+ if( req.readyState == 4 && req.status == 200 ) {
+ element.appendChild( document.createTextNode( req.responseText ) );
+ parent.appendChild( element );
+
+ if( typeof( callback ) === typeof( Function ) ) {
+ callback();
+ }
+ }
+ }
+
+ req.send( null );
+}
+
+/**
+ * Downloads the contents of a resource (specified by src) and inserts
+ * those contents directly into a corresponding tag.
+ *
+ * @param src - Filname or URL.
+ * @param type - 'css' or 'js' to denote style or JavaScript, respectively.
+ * @param callback - Function to call after the code is downloaded.
+ */
+function include( src, type, callback ) {
+ var parent, element;
+
+ switch( type ) {
+ case 'css':
+ parent = document.head || document.getElementsByTagName('head')[0];
+ element = document.createElement( 'style' );
+ element.type = 'text/' + type;
+ element.media = 'all';
+ break;
+ case 'js':
+ parent = document.body || document.getElementsByTagName('body')[0];
+ element = document.createElement( 'script' );
+ element.type = 'text/javascript';
+ break;
+ }
+
+ inject( src, parent, element, callback );
+}
+
+/**
+ * Includes a file local to the web server.
+ */
+function include_file( file, type, callback ) {
+ var src = type + '/' + file.substr( 0, file.lastIndexOf( '.' ) ) + '.' + type;
+ include( src, type, callback );
+}
+
+/**
+ * Returns the last directory name from the URL so that relative files can
+ * be referenced.
+ */
+function path() {
+ return location.pathname.split( '/' ).pop();
+}
+
+include_file( path(), 'css' );
+include_file( path(), 'js' );
source/js/editor.min.js
+(function () {var aa;function ba(a){var b=a.length;return 1===b?function(){return a(this)}:2===b?function(b){return a(this,b)}:3===b?function(b,d){return a(this,b,d)}:4===b?function(b,d,f){return a(this,b,d,f)}:function(){var b=Array.prototype.slice.call(arguments,0);b.unshift(this);return a.apply(null,b)}}
+var e={Pc:function(a){return a},O:function(){},vd:function(){return!0},v:function(){return!1},ca:function(a){return function(){return!a.apply(this,arguments)}},d:function(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b.concat(Array.prototype.slice.call(arguments,0)))}},bf:function(a,b){return a===b},be:function(){var a=arguments,b=a.length;return function(){var c,d=b;for(0<d--&&(c=a[d].apply(this,arguments));0<d--;)c=a[d].call(this,c);return c}},Wd:function(){var a=
+arguments,b=a.length;return function(){for(var c=0;c<b;c++)if(!a[c].apply(this,arguments))return!1;return!0}},pg:function(){var a=arguments,b=a.length;return function(){for(var c=0;c<b;c++)if(a[c].apply(this,arguments))return!0;return!1}},Hf:function(a){return function(){return a}},w:function(a){return"function"===typeof a},ta:function(a){return null==a},C:ba,Hc:function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a.prototype[c]=ba(b[c]))}};function ca(a,b){return-1!==a.indexOf(b)}function da(a){return a.length?a[a.length-1]:null}function ea(a){return Array.prototype.slice.call(a)}function fa(a,b){var c=-1;a.some(function(a,f){if(b(a))return c=f,!0});return c}
+var g={contains:ca,Wb:function(a,b){return a.filter(function(a){return!ca(b,a)})},Yb:function(a,b,c){var d,f=a.length;if(f!==b.length)return!1;c=c||e.bf;for(d=0;d<f;d++)if(!c(a[d],b[d]))return!1;return!0},Sc:function(a,b){return a.filter(function(a){return ca(b,a)})},w:function(a){return"[object Array]"===Object.prototype.toString.call(a)},p:da,V:ea,Be:function(a,b){return a.reduce(function(a,d){return a.concat(b(d))},[])},Je:function(a,b){return a.reduce(function(a,d){var f=da(a);f&&f.length<b?f.push(d):
+a.push([d]);return a},[])},some:function(a,b){var c=fa(a,b);return-1===c?null:a[c]},Lb:fa,split:function(a,b){var c=fa(a,b),c=-1===c?a.length:c;return[a.slice(0,c),a.slice(c)]},unique:function(a){var b=[];a.forEach(function(a){-1===b.indexOf(a)&&b.push(a)});return b},wg:function(a){for(var b=ea(arguments).slice(1),c=0;c<a.length&&a[c]&&b[c];c++)b[c].length=0,Array.prototype.splice.apply(b[c],[0,0].concat(a[c]))}};var ga=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)};function ia(a,b,c,d,f){return d*((b=b/f-1)*b*b*b*b+1)+c}function ja(a){var b=(new Date).getTime();a.af||(a.af=b);var c=b-a.af,b=Math.min(1,c/a.duration),c=a.Rf(b,c,0,1,a.duration);return a.interval(a.start+a.Nf*c,b)?1:b}
+var ka={step:ja,Af:function(a,b,c,d,f){var h={start:a,Nf:b-a,duration:d||1,interval:f||e.O,Rf:c||ia};(function m(){1>ja(h)&&ga(m)})();return h},Qf:function(a,b,c,d){return c+(d-c)*a},sh:ia,rh:function(a,b,c,d,f){return 1>(b/=f/2)?d/2*b*b*b*b*b+c:d/2*((b-=2)*b*b*b*b+2)+c},requestAnimationFrame:ga};var la=["\\u200B","\\u200C","\\u200D","\\uFEFF"],ma=["\\u00A0","\\u202F"],na="\\u0009 \\u000A \\u000B \\u000C \\u000D \\u0020 \\u0085 \\u00A0 \\u1680 \\u180E \\u2000 \\u2001 \\u2002 \\u2003 \\u2004 \\u2005 \\u2006 \\u2007 \\u2008 \\u2009 \\u200A \\u2028 \\u2029 \\u202F \\u205F \\u3000".split(" "),oa="A- Z a- z \u00aa \u00b5 \u00ba \u00c0- \u00d6 \u00d8- \u00f6 \u00f8- \u02c1 \u02c6- \u02d1 \u02e0- \u02e4 \u02ec \u02ee \u0370- \u0374 \u0376 \u0377 \u037a- \u037d \u0386 \u0388- \u038a \u038c \u038e- \u03a1 \u03a3- \u03f5 \u03f7- \u0481 \u048a- \u0525 \u0531- \u0556 \u0559 \u0561- \u0587 \u05d0- \u05ea \u05f0- \u05f2 \u0621- \u064a \u066e \u066f \u0671- \u06d3 \u06d5 \u06e5 \u06e6 \u06ee \u06ef \u06fa- \u06fc \u06ff \u0710 \u0712- \u072f \u074d- \u07a5 \u07b1 \u07ca- \u07ea \u07f4 \u07f5 \u07fa \u0800- \u0815 \u081a \u0824 \u0828 \u0904- \u0939 \u093d \u0950 \u0958- \u0961 \u0971 \u0972 \u0979- \u097f \u0985- \u098c \u098f \u0990 \u0993- \u09a8 \u09aa- \u09b0 \u09b2 \u09b6- \u09b9 \u09bd \u09ce \u09dc \u09dd \u09df- \u09e1 \u09f0 \u09f1 \u0a05- \u0a0a \u0a0f \u0a10 \u0a13- \u0a28 \u0a2a- \u0a30 \u0a32 \u0a33 \u0a35 \u0a36 \u0a38 \u0a39 \u0a59- \u0a5c \u0a5e \u0a72- \u0a74 \u0a85- \u0a8d \u0a8f- \u0a91 \u0a93- \u0aa8 \u0aaa- \u0ab0 \u0ab2 \u0ab3 \u0ab5- \u0ab9 \u0abd \u0ad0 \u0ae0 \u0ae1 \u0b05- \u0b0c \u0b0f \u0b10 \u0b13- \u0b28 \u0b2a- \u0b30 \u0b32 \u0b33 \u0b35- \u0b39 \u0b3d \u0b5c \u0b5d \u0b5f- \u0b61 \u0b71 \u0b83 \u0b85- \u0b8a \u0b8e- \u0b90 \u0b92- \u0b95 \u0b99 \u0b9a \u0b9c \u0b9e \u0b9f \u0ba3 \u0ba4 \u0ba8- \u0baa \u0bae- \u0bb9 \u0bd0 \u0c05- \u0c0c \u0c0e- \u0c10 \u0c12- \u0c28 \u0c2a- \u0c33 \u0c35- \u0c39 \u0c3d \u0c58 \u0c59 \u0c60 \u0c61 \u0c85- \u0c8c \u0c8e- \u0c90 \u0c92- \u0ca8 \u0caa- \u0cb3 \u0cb5- \u0cb9 \u0cbd \u0cde \u0ce0 \u0ce1 \u0d05- \u0d0c \u0d0e- \u0d10 \u0d12- \u0d28 \u0d2a- \u0d39 \u0d3d \u0d60 \u0d61 \u0d7a- \u0d7f \u0d85- \u0d96 \u0d9a- \u0db1 \u0db3- \u0dbb \u0dbd \u0dc0- \u0dc6 \u0e01- \u0e30 \u0e32 \u0e33 \u0e40- \u0e46 \u0e81 \u0e82 \u0e84 \u0e87 \u0e88 \u0e8a \u0e8d \u0e94- \u0e97 \u0e99- \u0e9f \u0ea1- \u0ea3 \u0ea5 \u0ea7 \u0eaa \u0eab \u0ead- \u0eb0 \u0eb2 \u0eb3 \u0ebd \u0ec0- \u0ec4 \u0ec6 \u0edc \u0edd \u0f00 \u0f40- \u0f47 \u0f49- \u0f6c \u0f88- \u0f8b \u1000- \u102a \u103f \u1050- \u1055 \u105a- \u105d \u1061 \u1065 \u1066 \u106e- \u1070 \u1075- \u1081 \u108e \u10a0- \u10c5 \u10d0- \u10fa \u10fc \u1100- \u1248 \u124a- \u124d \u1250- \u1256 \u1258 \u125a- \u125d \u1260- \u1288 \u128a- \u128d \u1290- \u12b0 \u12b2- \u12b5 \u12b8- \u12be \u12c0 \u12c2- \u12c5 \u12c8- \u12d6 \u12d8- \u1310 \u1312- \u1315 \u1318- \u135a \u1380- \u138f \u13a0- \u13f4 \u1401- \u166c \u166f- \u167f \u1681- \u169a \u16a0- \u16ea \u1700- \u170c \u170e- \u1711 \u1720- \u1731 \u1740- \u1751 \u1760- \u176c \u176e- \u1770 \u1780- \u17b3 \u17d7 \u17dc \u1820- \u1877 \u1880- \u18a8 \u18aa \u18b0- \u18f5 \u1900- \u191c \u1950- \u196d \u1970- \u1974 \u1980- \u19ab \u19c1- \u19c7 \u1a00- \u1a16 \u1a20- \u1a54 \u1aa7 \u1b05- \u1b33 \u1b45- \u1b4b \u1b83- \u1ba0 \u1bae \u1baf \u1c00- \u1c23 \u1c4d- \u1c4f \u1c5a- \u1c7d \u1ce9- \u1cec \u1cee- \u1cf1 \u1d00- \u1dbf \u1e00- \u1f15 \u1f18- \u1f1d \u1f20- \u1f45 \u1f48- \u1f4d \u1f50- \u1f57 \u1f59 \u1f5b \u1f5d \u1f5f- \u1f7d \u1f80- \u1fb4 \u1fb6- \u1fbc \u1fbe \u1fc2- \u1fc4 \u1fc6- \u1fcc \u1fd0- \u1fd3 \u1fd6- \u1fdb \u1fe0- \u1fec \u1ff2- \u1ff4 \u1ff6- \u1ffc \u2071 \u207f \u2090- \u2094 \u2102 \u2107 \u210a- \u2113 \u2115 \u2119- \u211d \u2124 \u2126 \u2128 \u212a- \u212d \u212f- \u2139 \u213c- \u213f \u2145- \u2149 \u214e \u2183 \u2184 \u2c00- \u2c2e \u2c30- \u2c5e \u2c60- \u2ce4 \u2ceb- \u2cee \u2d00- \u2d25 \u2d30- \u2d65 \u2d6f \u2d80- \u2d96 \u2da0- \u2da6 \u2da8- \u2dae \u2db0- \u2db6 \u2db8- \u2dbe \u2dc0- \u2dc6 \u2dc8- \u2dce \u2dd0- \u2dd6 \u2dd8- \u2dde \u2e2f \u3005 \u3006 \u3031- \u3035 \u303b \u303c \u3041- \u3096 \u309d- \u309f \u30a1- \u30fa \u30fc- \u30ff \u3105- \u312d \u3131- \u318e \u31a0- \u31b7 \u31f0- \u31ff \u3400- \u4db5 \u4e00- \u9fcb \ua000- \ua48c \ua4d0- \ua4fd \ua500- \ua60c \ua610- \ua61f \ua62a \ua62b \ua640- \ua65f \ua662- \ua66e \ua67f- \ua697 \ua6a0- \ua6e5 \ua717- \ua71f \ua722- \ua788 \ua78b \ua78c \ua7fb- \ua801 \ua803- \ua805 \ua807- \ua80a \ua80c- \ua822 \ua840- \ua873 \ua882- \ua8b3 \ua8f2- \ua8f7 \ua8fb \ua90a- \ua925 \ua930- \ua946 \ua960- \ua97c \ua984- \ua9b2 \ua9cf \uaa00- \uaa28 \uaa40- \uaa42 \uaa44- \uaa4b \uaa60- \uaa76 \uaa7a \uaa80- \uaaaf \uaab1 \uaab5 \uaab6 \uaab9- \uaabd \uaac0 \uaac2 \uaadb- \uaadd \uabc0- \uabe2 \uac00- \ud7a3 \ud7b0- \ud7c6 \ud7cb- \ud7fb \uf900- \ufa2d \ufa30- \ufa6d \ufa70- \ufad9 \ufb00- \ufb06 \ufb13- \ufb17 \ufb1d \ufb1f- \ufb28 \ufb2a- \ufb36 \ufb38- \ufb3c \ufb3e \ufb40 \ufb41 \ufb43 \ufb44 \ufb46- \ufbb1 \ufbd3- \ufd3d \ufd50- \ufd8f \ufd92- \ufdc7 \ufdf0- \ufdfb \ufe70- \ufe74 \ufe76- \ufefc \uff21- \uff3a \uff41- \uff5a \uff66- \uffbe \uffc2- \uffc7 \uffca- \uffcf \uffd2- \uffd7 \uffda- \uffdc".split(" "),
+pa=new RegExp("["+na.join("")+"]+"),qa=na.join(""),ra=oa.join(""),sa=/[\x00-\x1f\x7f-\x9f]/,ta=new RegExp("^["+qa+"]+|["+qa+"]+$");function ua(a){return""===a||null==a}
+var k={Vd:function(a){for(var b=a.split(pa),c=g.V(arguments).slice(1),d=[],f=0;f<b.length;f++)b[f]&&d.push(b[f]);for(f=0;f<c.length;f++)c[f]&&d.push(c[f]);return d.join(" ")},Se:function(a){var b=a.split(pa),c=g.V(arguments).slice(1);return g.Wb(b,c).join(" ")},Gd:function(a){return g.unique(a.split(pa)).join(" ")},ff:function(a){a=a.trim().replace(ta,"");return ua(a)?[]:a.split(/\s+/g)},$e:function(a,b){for(var c=[],d=0,f;null!=(f=b.exec(a));)d<f.index&&(c.push(a.substring(d,f.index)),d=f.index),
+d+=f[0].length,c.push(f[0]);d<a.length&&c.push(a.substring(d,a.length));return c},Vb:function(){function a(a,b){return b.toUpperCase()}var b=/[\-]([a-z])/gi;return function(c){return c.replace(b,a)}}(),Ef:function(){function a(a){return"-"+a.toLowerCase()}var b=/[A-Z]/g;return function(c){return c.replace(b,a)}}(),Fa:ua,te:function(a){return sa.test(a)},gf:sa,pf:new RegExp("["+qa+la.join("")+ma.join("")+"]"),Cc:new RegExp("[^"+qa+la.join("")+ma.join("")+"]"),Ec:new RegExp("["+na.join("")+"]"),Pd:pa,
+vf:new RegExp("["+la.join("")+"]"),Qb:new RegExp("["+ma.join("")+"]"),Sb:new RegExp("[^"+ra+"]"),Rd:new RegExp("[^"+ra+"]["+ra+"]*$"),sf:new RegExp("["+ra+"]"),qf:ta,Sd:la,Qd:na,tf:oa,Nd:ma};var va=/^(#|rgba?|hsl)\(?([^\(\)]+)/i,wa=/\s*,\s*/;function xa(a){var b,c;4===a.length?(b=a.substr(1,1),c=a.substr(2,1),a=a.substr(3,1),b+=b,c+=c,a+=a):(b=a.substr(1,2),c=a.substr(3,2),a=a.substr(5,2));return[b,c,a]}function ya(a){return a.reduce(function(a,c){var d=parseInt(c,10).toString(16);return a.concat(1===d.length?d+d:d)},[])}function za(a){return xa(a).reduce(function(a,c){return a.concat(parseInt(c,16))},[])}
+function Aa(a){a=a.match(va);switch(a&&a[1]){case "#":return"#"+xa(a[0]).join("");case "rgb":case "rgba":return"#"+ya(a[2].split(wa)).join("")}}
+var Da={Yf:Aa,Eg:function(a){a=a.match(va);switch(a&&a[1]){case "#":return za(a[0]);case "rgb":case "rgba":return a[2].split(wa).reduce(function(a,c){return a.concat(parseInt(c,10))},[])}},Lf:function(a,b,c){return[a[0]+Math.round((b[0]-a[0])*c),a[1]+Math.round((b[1]-a[1])*c),a[2]+Math.round((b[2]-a[2])*c)]},n:function(a,b){return Aa(a)===Aa(b)},wd:function(a){return"string"===typeof a[0]?"#"+a.join(""):4===a.length?"rgba("+a.join(",")+")":"rgb("+a.join(",")+")"}};var Ea={AREA:!0,BASE:!0,BR:!0,COL:!0,COMMAND:!0,EMBED:!0,HR:!0,IMG:!0,INPUT:!0,KEYGEN:!0,LINK:!0,META:!0,PARAM:!0,SOURCE:!0,TRACK:!0,WBR:!0},Fa={ADDRESS:!0,ARTICLE:!0,ASIDE:!0,AUDIO:!0,BLOCKQUOTE:!0,CANVAS:!0,DD:!0,DIV:!0,DL:!0,FIELDSET:!0,FIGCAPTION:!0,FIGURE:!0,FOOTER:!0,FORM:!0,H1:!0,H2:!0,H3:!0,H4:!0,H5:!0,H6:!0,HEADER:!0,HGROUP:!0,HR:!0,NOSCRIPT:!0,OL:!0,OUTPUT:!0,P:!0,PRE:!0,SECTION:!0,TABLE:!0,TFOOT:!0,UL:!0,VIDEO:!0},Ga={A:!0,ABBR:!0,B:!0,BDI:!0,BDO:!0,BR:!0,CITE:!0,CODE:!0,DATA:!0,DFN:!0,
+EM:!0,I:!0,KBD:!0,MARK:!0,Q:!0,RP:!0,RT:!0,RUBY:!0,S:!0,SAMP:!0,SMALL:!0,SPAN:!0,STRONG:!0,SUB:!0,SUP:!0,TIME:!0,U:!0,VAR:!0,WBR:!0},Ha={OL:!0,UL:!0,DL:!0,MENU:!0},Ia={LI:!0,DT:!0,DD:!0},Ja={FIELDSET:!0,OBJECT:!0,FIGURE:!0,AUDIO:!0,SELECT:!0,COLGROUP:!0,HGROUP:!0,TABLE:!0,TBODY:!0,TR:!0,OL:!0,UL:!0,DL:!0,MENU:!0},Ka={LI:["OL","UL","DL"],DT:["DL"],DD:["DL"],TBODY:["TABLE"],TR:["TABLE","TBODY"],TH:["TABLE","TBODY"],TD:["TR","TH"]};function La(a){return!!Fa[a.nodeName]}
+var Ma={H1:!0,H2:!0,H3:!0,H4:!0,H5:!0,H6:!0},p={Ea:La,ia:function(a){return Ja[a.nodeName]},Ga:function(a){return!!Ka[a.nodeName]},Eb:function(a){return!!Ma[a.nodeName]},Ha:function(a){return!La(a)},ya:function(a){return!!Ha[a.nodeName]},g:function(a){return!!Ia[a.nodeName]},Xc:function(a){return"TABLE"===a.nodeName},Fb:function(a){return!!Ga[a.nodeName]},ab:function(a){return!!Ea[a.nodeName]}};function Na(a){throw Error(a?"\u2718 Error ("+a+"). See http://www.aloha-editor.org/docs/errors/"+a:"assertion failed");}function Oa(a,b){a||Na(b)}var r={assert:Oa,error:Na,tc:function(){Na(0)},Tb:function(a){Oa(null==a,2)},Xd:function(a){Oa(null!=a,1)},eh:0,gh:1,fh:2,Xg:15,of:3,nf:4,rf:5,Dc:16,Rb:8,jf:9,bh:10,hf:11,mf:12,lf:13,Od:14};function Pa(a,b){var c=a.length,d=b.length;r.assert(1<=c,r.lf);r.assert(2<=d,r.Od);r.assert(c===d-1,r.Od);return c}function Qa(a,b,c){return function(){return 0<arguments.length-c?b.apply(null,arguments):a.apply(null,arguments)}}function u(a,b){var c=Pa(a,b),c=1===c?function(c,f){return 1<arguments.length?b(c,f):a(c)}:2===c?function(c,f,h){return 2<arguments.length?b(c,f,h):a(c,f)}:Qa(a,b,c);c.get=a;c.set=b;return c}
+function Ra(a){return u(function(b){return b[a]},function(b,c){b[a]=c;return b})}u.th=Ra;u.uh=function(a){for(var b in a)if(a.hasOwnProperty(b))return Ra(b);r.error(r.mf)};u.C=function(a){var b=a.get,c=a.set;a=Pa(b,c);a=1===a?function(a){return arguments.length?c(this,a):b(this)}:2===a?function(a,f){return 1<arguments.length?c(this,a,f):b(this,a)}:e.C(Qa(b,c,a));a.get=b;a.set=c;return a};function Sa(a,b){for(var c in a)a.hasOwnProperty(c)&&b(a[c],c,a)}function Ta(a,b,c){return b.map(function(b){return a.hasOwnProperty(b)?a[b]:c})}function Ua(a){var b=[];Sa(a,function(a,d){b.push(d)});return b}function Va(a){var b;for(b=1;b<arguments.length;b++){var c=arguments[b];c&&Sa(c,function(b,c){a[c]=b})}return a}function Wa(a){r.Xd(a);return Va({},a)}
+var v={Fa:function(a){for(var b in a)if(a.hasOwnProperty(b))return!1;return!0},Ic:function(a,b,c){for(var d=b.length;d--;)a[b[d]]=c;return a},keys:Ua,eb:function(a){return Ta(a,Ua(a))},Gg:Ta,filter:function(a,b){var c={};Sa(a,function(d,f){b(d,f,a)&&(c[f]=d)});return c},forEach:Sa,extend:Va,i:function(){return Va.apply(null,[{}].concat(g.V(arguments)))},isMap:function(a){return!(!a||!a.constructor||"[object Object]"!==Object.prototype.toString.call(a))},clone:Wa,Fc:function(a,b,c){a=Wa(a);a[b]=c;
+return a},ae:function(a,b){a=Wa(a);delete a[b];return a},create:function(){return Object.create(null)},Zc:function(a){var b={};a.forEach(function(a){b[a[0]]=a[1]});return b}};var Xa={},Ya={},Za={};function ab(a,b,c){if(c!==Za)return new ab(a,b,Za);this._map_data=null;this._map_source=b;this._map_opts=a;this._map_realized=0}function bb(a){var b=a._map_realized;if(b&2)return a._map_data;var c=a._map_opts.realize(a._map_source);a._map_data=c;a._map_realized=b|3;a._map_source=null;return c}function cb(a,b,c){var d=a._map_data=a._map_data||{};return d.hasOwnProperty(b)?d[b]:a._map_realized&1?Ya:d[b]=c(a,b)}
+function db(a,b){var c=a._map_opts,d=!1;return(d=c.has?c.has(a._map_source,b):Ya!==cb(a,b,eb))?Xa:Ya}function eb(a,b){return a._map_opts.get(a._map_source,b,Ya)}var fb={realize:e.Pc,get:r.error},gb={realize:function(a){return v.i(a.map.realize(),a.obj)},get:function(a,b,c){var d=a.obj;return d.hasOwnProperty(b)?d[b]:a.map.get(b,c)}};
+e.Hc(ab,{keys:function(a){var b=a._map_data=a._map_data||{},c=a._map_realized;if(c&1)return v.keys(b).filter(function(a){return b[a]!==Ya});var d=a._map_opts;d.keys?(d=d.keys(a._map_source),d.forEach(function(a){b.hasOwnProperty(a)||(b[a]=Xa)}),a._map_realized=c|1):d=v.keys(bb(a));return d},realize:bb,isRealized:function(a){return!!(a._map_realized&2)},get:function(a,b,c){var d=cb(a,b,eb);Ya===d?d=c:Xa===d&&(d=(a._map_data=a._map_data||{})[b]=eb(a,b),r.kh(d!==Ya));return d},has:function(a,b){return Ya!==
+cb(a,b,db)},mergeObject:function(a,b,c){!c||a._map_opts!==gb||a._map_realized&2||(b=v.i(a._map_source.obj,b),a=a._map_source.map);return ab(gb,{map:a,obj:b})}});ab.Pe=function(a){a=ab(fb,a);a.realize();return a};ab.Ae=function(a){var b=e.ta;return function(c,d,f){c=a(c,d);return b(c)?f:c}};var hb={};function ib(a,b){var c=a.vb,d=c.length;d<b.length&&(c=c.concat(b.slice(d)),a.vb=c);return c}function jb(a,b){r.assert(!b||a.constructor===b,r.Dc);var c=a.fb;r.assert(0===c||2===c,r.of)}function kb(a,b){r.assert(!b||a.constructor===b,r.Dc);r.assert(2===a.fb,r.rf)}function lb(a){kb(a);a.fb=1;return new a.constructor(a.vb,hb)}function mb(a){jb(a);a=new a.constructor(a.vb.slice(0),hb);a.fb=2;return a}
+function nb(a,b){function c(b,c){r.assert(!a||b.constructor===a,r.Dc);r.assert(0===b.fb,r.nf);var m=f,n=d,q=new b.constructor(b.vb.slice(0),hb);ib(q,n)[m]=c;return q}var d=a.Td,f=a.Td.length;d.push(b);c.setT=function(b,c){kb(b,a);var m=f,n=d,q=lb(b);q.fb=2;ib(q,n)[m]=c;return q};return u(function(b){jb(b,a);var c;c=f;var m=c=ib(b,d)[c];Array.isArray(m)&&m[0]===hb&&(3<c.length?m=c[3]:(m=c[1](c[2]),c[3]=m),c=m,ib(b,d)[f]=c);return c},c)}function ob(a,b,c){return b.set(a,c)}
+function pb(a,b){return b.get(a)}function qb(a,b,c){return b.set.setT(a,c)}function rb(a,b,c,d){return ob(a,b,[hb,c,d])}function sb(a,b,c,d){return qb(a,b,[hb,c,d])}function tb(a,b){v.forEach(b,function(b,d){var f=nb(a,b);a.prototype[d]=u.C(f)})}function ub(a,b,c){var d=a.set,f=d.setT;c=c||function(a){return b(a.asPersistent()).asTransient()};a=u(a.get,function(a,c){a=d(a,c);return a=b(a)});a.set.setT=function(a,b){a=f(a,b);return a=c(a)};return a}
+var vb={define:function(a,b){function c(a,h){if(h!==hb)return b(new c(d,hb),a);this.vb=a;this.fb=0}e.w(a)&&(b=a,a=null);b=b||e.Pc;var d=[];e.Hc(c,{asTransient:mb,asPersistent:lb,get:pb,set:ob,setT:qb,delay:rb,delayT:sb});c.La=e.d(nb,c);c.extend=e.d(tb,c);c.Td=d;a&&tb(c,a);return c},hookSetter:ub,hookSetterRecompute:function(a,b,c,d){return ub(a,function(a){return b.set(a,c(a))},d?function(a){return b.set.setT(a,d(a))}:null)}};function wb(a){var b={};a=a.attributes;for(var c=0,d=a.length;c<d;c++){var f=a[c];if("undefined"===typeof f.specified||f.specified)b[f.name]=f.value}return b}function xb(a,b){a.removeAttribute(b)}function yb(a,b,c){null==c?a.removeAttribute(b):a.setAttribute(b,c)}
+var Ab={attrs:wb,get:function(a,b){return a.getAttribute(b)},Wf:function(a,b,c){return a.getAttributeNS(b,c)},has:function(a){return!v.eb(wb(a)).every(k.Fa)},remove:xb,xg:function(a){v.keys(wb(a)).forEach(e.d(xb,a))},Bg:function(a,b,c){null!=b?a.removeAttributeNS(b,c):a.removeAttribute(c)},set:yb,Jg:function(a,b,c,d){null!=b?a.setAttributeNS(b,c,d):yb(a,c,d)}};var Bb={A:"_PHRASING_",ABBR:"_PHRASING_",ADDRESS:"_FLOW_",AREA:"_EMPTY_",ARTICLE:"_FLOW_",ASIDE:"_FLOW_",AUDIO:"SOURCE",B:"_PHRASING_",BASE:"_EMPTY_",BDO:"_PHRASING_",BLOCKQUOTE:"_PHRASING_",BODY:"_FLOW_",BR:"_EMPTY_",BUTTON:"_PHRASING_",CANVAS:"_PHRASING_",CAPTION:"_FLOW_",CITE:"_PHRASING_",CODE:"_PHRASING_",COL:"_EMPTY_",COLGROUP:"COL",COMMAND:"_EMPTY_",DATALIST:{_PHRASING_:!0,OPTION:!0},DD:"_FLOW_",DEL:"_PHRASING_",DIV:"_FLOW_",DETAILS:{SUMMARY:!0,_FLOW_:!0},DFN:"_FLOW_",DL:{DT:!0,DD:!0},DT:"_PHRASING_",
+EM:"_PHRASING_",EMBED:"_EMPTY_",FIELDSET:{LEGEND:!0,_FLOW_:!0},FIGCAPTION:"_FLOW_",FIGURE:{FIGCAPTION:!0,_FLOW_:!0},FONT:"_PHRASING_",FOOTER:"_FLOW_",FORM:"_FLOW_",H1:"_PHRASING_",H2:"_PHRASING_",H3:"_PHRASING_",H4:"_PHRASING_",H5:"_PHRASING_",H6:"_PHRASING_",HEAD:"_META_DATA_",HEADER:"_FLOW_",HGROUP:{H1:!0,H2:!0,H3:!0,H4:!0,H5:!0,H6:!0},HR:"_EMPTY_",I:"_PHRASING_",IFRAME:"#TEXT",IMG:"_EMPTY_",INPUT:"_EMPTY_",INS:"_PHRASING_",KBD:"_PHRASING_",KEYGEN:"_EMPTY_",LABEL:"_PHRASING_",LEGEND:"_PHRASING_",
+LI:"_FLOW_",LINK:"_EMPTY_",MAP:"AREA",MARK:"_PHRASING_",MENU:{LI:!0,_FLOW_:!0},META:"_EMPTY_",METER:"_PHRASING_",NAV:"_FLOW_",NOSCRIPT:"_PHRASING_",OBJECT:"PARAM",OL:"LI",OPTGROUP:"OPTION",OPTION:"#TEXT",OUTPUT:"_PHRASING_",P:"_PHRASING_",PARAM:"_EMPTY_",PRE:"_PHRASING_",PROGRESS:"_PHRASING_",Q:"_PHRASING_",RP:"_PHRASING_",RT:"_PHRASING_",RUBY:{_PHRASING_:!0,RT:!0,RP:!0},S:"_PHRASING_",SAMP:"pharsing",SCRIPT:"#script",SECTION:"_FLOW_",SELECT:{OPTION:!0,OPTGROUP:!0},SMALL:"_PHRASING_",SOURCE:"_EMPTY_",
+SPAN:"_PHRASING_",STRONG:"_PHRASING_",STYLE:"_PHRASING_",SUB:"_PHRASING_",SUMMARY:"_PHRASING_",SUP:"_PHRASING_",TABLE:{CAPTION:!0,COLGROUP:!0,THEAD:!0,TBODY:!0,TFOOT:!0,TR:!0},TBODY:"TR",TD:"_FLOW_",TEXTAREA:"#TEXT",TFOOT:"TR",TH:"_PHRASING_",THEAD:"TR",TIME:"_PHRASING_",TITLE:"#TEXT",TR:{TH:!0,TD:!0},TRACK:"_EMPTY_",U:"_PHRASING_",UL:"LI",VAR:"_PHRASING_",VIDEO:"SOURCE",WBR:"_EMPTY_","#DOCUMENT-FRAGMENT":"_FLOW_"},w={_FLOW_:!0,_PHRASING_:!0},Cb={_FLOW_:!0,_PHRASING_:!0},Db={_FLOW_:!0,_HEADER_:!0},
+Eb={_FLOW_:!0},Fb={A:{_FLOW_:!0,_INTERACTIVE_:!0,_PHRASING_:!0},ABBR:w,ADDRESS:Eb,AREA:w,ARTICLE:Cb,ASIDE:Cb,AUDIO:{_EMBEDDED_:!0,_FLOW_:!0,_INTERACTIVE_:!0,_PHRASING_:!0},B:w,BASE:{_META_DATA_:!0},BDI:w,BDO:w,BLOCKQUOTE:{_FLOW_:!0,_SECTIONING_ROOT_:!0},BODY:{_SECTIONING_ROOT_:!0},BR:w,BUTTON:{_EMBEDDED_:!0,_FLOW_:!0,_INTERACTIVE_:!0,_PHRASING_:!0,_LISTED_:!0,_LABELABLE_:!0,_SUBMITTABLE_:!0,_REASSOCIATABLE_:!0,_FORM_ASSOCIATED_:!0},CANVAS:{_EMBEDDED_:!0,_FLOW_:!0,_PHRASING_:!0},CAPTION:{},CITE:w,
+CODE:w,COL:{},COLGROUP:{},COMMAND:{},DATALIST:w,DD:{},DEL:w,DETAILS:{_FLOW_:!0,_SECTIONING_ROOT_:!0,_INTERACTIVE_:!0},DFN:w,DIV:Eb,DL:Eb,DT:{},EM:w,EMBED:{_EMBEDDED_:!0,_FLOW_:!0,_INTERACTIVE_:!0,_PHRASING_:!0},FIELDSET:{_FLOW_:!0,_FORM_ASSOCIATED_:!0,_LISTED_:!0,_REASSOCIATABLE_:!0,_SECTIONING_ROOT_:!0},FIGCAPTION:{},FIGURE:{_FLOW_:!0,_SECTIONING_ROOT_:!0},FONT:w,FOOTER:Eb,FORM:Eb,H1:Db,H2:Db,H3:Db,H4:Db,H5:Db,H6:Db,HEADER:Eb,HGROUP:Db,HR:Eb,I:w,IFRAME:{_EMBEDDED_:!0,_FLOW_:!0,_INTERACTIVE_:!0,_PHRASING_:!0},
+IMG:{_EMBEDDED_:!0,_FLOW_:!0,_FORM_ASSOCIATED_:!0,_INTERACTIVE_:!0,_PHRASING_:!0},INPUT:{_FLOW_:!0,_FORM_ASSOCIATED_:!0,_INTERACTIVE_:!0,_LABELABLE_:!0,_LISTED_:!0,_PHRASING_:!0,_REASSOCIATABLE_:!0,_RESETTABLE_:!0,_SUBMITTABLE_:!0},INS:w,KBD:w,KEYGEN:{_FLOW_:!0,_FORM_ASSOCIATED_:!0,_INTERACTIVE_:!0,_LABELABLE_:!0,_LISTED_:!0,_PHRASING_:!0,_REASSOCIATABLE_:!0,_RESETTABLE_:!0,_SUBMITTABLE_:!0},LABEL:{_FLOW_:!0,_FORM_ASSOCIATED_:!0,_INTERACTIVE_:!0,_PHRASING_:!0,_REASSOCIATABLE_:!0},LEGEND:{},LI:{},
+LINK:{_FLOW_:!0,_METADATA_:!0,_PHRASING_:!0},MAIN:Eb,MAP:w,MARK:w,MENU:Eb,MENUITEM:Eb,META:{_FLOW_:!0,_METADATA_:!0,_PHRASING_:!0},METER:{_FLOW_:!0,_LABELABLE_:!0,_PHRASING_:!0},NAV:{_FLOW_:!0,_SECTIONING_:!0},NOSCRIPT:{_FLOW_:!0,_METADATA_:!0,_PHRASING_:!0},OBJECT:{_FLOW_:!0,_EMBEDDABLE_:!0,_FORM_ASSOCIATED_:!0,_INTERACTIVE_:!0,_LISTED_:!0,_PHRASING_:!0,_REASSOCIATABLE_:!0,_SUBMITTABLE_:!0},OL:Eb,OPTGROUP:{},OPTION:{},OUTPUT:{_FLOW_:!0,_PHRASING_:!0,_LISTED_:!0,_LABELABLE_:!0,_RESETTALBE_:!0,_REASSOCIATABLE_:!0,
+_FORM_ASSOCIATED_:!0},P:Eb,PARAM:{},PRE:Eb,PROGRESS:{_FLOW_:!0,_PHRASING_:!0,_LABELABLE_:!0},Q:w,RP:{},RT:{},RUBY:w,S:w,SAMP:w,SCRIPT:{_FLOW_:!0,_PHRASING_:!0,_METADATA_:!0,_SCRIPT_SUPPORTING_:!0},SECTION:{_FLOW_:!0,_SECTIONING_:!0},SELECT:{_FLOW_:!0,_PHRASING_:!0,_INTERACTIVE_:!0,_LISTED_:!0,_LABELABLE_:!0,_SUBMITTALBE_:!0,_RESETTALBE_:!0,_REASSOCIATABLE_:!0,_FORM_ASSOCIATED_:!0},SMALL:w,SOURCE:{},SPAN:w,STRONG:w,STYLE:{_FLOW_:!0,_METADATA_:!0},SUB:w,SUMMARY:{},SUP:w,TABLE:Eb,TBODY:{},TD:{_SECTIONING_ROOT_:!0},
+TEMPLATE:{_FLOW_:!0,_METADATA_:!0,_PHRASING_:!0,_SCRIPT_SUPPORTING_:!0},TEXTAREA:{_FLOW_:!0,_PHRASING_:!0,_INTERACTIVE_:!0,_LISTED_:!0,_LABELABLE_:!0,_SUBMITTALBE_:!0,_RESETTALBE_:!0,_REASSOCIATABLE_:!0,_FORM_ASSOCIATED_:!0},TFOOT:{},TH:{},THEAD:{},TIME:w,TITLE:{_METADATA_:!0},TR:{},TRACK:{},U:w,UL:Eb,VAR:w,VIDEO:{_FLOW_:!0,_PHRASING_:!0,_EMBEDDED_:!0,_INTERACTIVE_:!0},WBR:w,"#TEXT":w},Gb={IMG:["alt","src"],A:["href","name","_target"],TD:["colspan","rowspan"],TH:["colspan","rowspan"],OL:["start",
+"type"],"*":["xstyle"]},Hb={TABLE:["width"],IMG:["width","height"],"*":"color font-family font-size font-weight font-stlye font-decoration background background-image background-color".split(" ")},Ib={AUDIO:!0,COMMAND:!0,COLGROUP:!0,IFRAME:!0,INPUT:!0,INS:!0,KBD:!0,KEYGEN:!0,LINK:!0,META:!0,NOSCRIPT:!0,OUTPUT:!0,Q:!0,RUBY:!0,SAMP:!0,SCRIPT:!0,SELECT:!0,STYLE:!0,TEMPLATE:!0,TEXTAREA:!0,TITLE:!0,WBR:!0},Jb={FONT:"SPAN"},y={pa:function(a,b){var c;a=a.toUpperCase();b=b.toUpperCase();var d=Bb[a];if(!d)return!1;
+if("string"===typeof d){if(d===b||(c=Fb[b])&&c[d])return!0}else{if(d[b])return!0;c=Fb[b];for(var f in c)if(c.hasOwnProperty(f)&&d[f])return!0}return!1},hb:function(a){return v.i({},Hb,a)},gb:function(a){return v.i({},Gb,a)},Qa:function(a){return v.i({},Ib,a)},Hb:function(a){return v.i({},Jb,a)}};var Kb={ih:function(a,b){var c,d;c=0;for(d=a.length;c<d;c++)if(a[c].test(b))return!0;return!1},yb:function(a){return"undefined"!==typeof a},xa:function(a){if(!a)return a;var b,c={};for(b in a)a.hasOwnProperty(b)&&(c[b]=a[b]);return c}};function A(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent?a.attachEvent("on"+b,c):r.error()}function Lb(a){a.preventDefault?a.preventDefault():a.returnValue=!1}function Mb(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}
+var B={w:function(a){return a&&a.pe&&a.pe("type")&&a.stopPropagation&&a.preventDefault?!0:!1},se:function(a){return a&&a.hasOwnProperty&&a.hasOwnProperty("nativeEvent")&&a.hasOwnProperty("editable")&&a.hasOwnProperty("selection")&&a.hasOwnProperty("dnd")?!0:!1},add:A,remove:function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,!!d):a.detachEvent?a.detachEvent("on"+b,c):r.error()},Xe:function(a,b){A(a,"resize",b);A(a,"keyup",b);A(a,"keydown",b);A(a,"keypress",b);A(a,"click",b);A(a,"mouseup",
+b);A(a,"mousedown",b);A(a,"mousemove",b);A(a,"dblclick",b);A(a,"dragstart",b);A(a,"drag",b);A(a,"dragenter",b);A(a,"dragexit",b);A(a,"dragleave",b);A(a,"dragover",b);A(a,"drop",b);A(a,"dragend",b);A(a,"paste",b)},sa:function(a,b){return-1<a.meta.indexOf(b)},Pf:function(a,b,c){b.dispatchEvent?(a=a.createEvent("Event"),a.initEvent(c,!0,!0),b.dispatchEvent(a)):b.fireEvent?(a=a.createEventObject(),a.type=c,b.fireEvent("on"+c,a)):r.error()},Ie:function(a){setTimeout(a,4)},preventDefault:Lb,stopPropagation:Mb,
+cf:function(a){Mb(a);Lb(a)}};var Nb={ELEMENT:1,ATTR:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENTTYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};function Ob(a){return Nb.TEXT===a.nodeType}function Pb(a){return Nb.ELEMENT===a.nodeType}function Qb(a){return Nb.DOCUMENT_FRAGMENT===a.nodeType}function Rb(a){return a.childNodes.length}function Sb(a){for(var b=0;a=a.previousSibling;)b++;return b}function Tb(a){return Pb(a)||Qb(a)?Rb(a):Ob(a)?a.length:0}
+function Ub(a,b){return a.childNodes[b]}function Vb(a){return Ob(a)&&0===Tb(a)}function Wb(a,b,c){var d=0,f=0;for(a=a.firstChild;;){if(f>=b)return d;if(d>=c)return f;if(!a)break;if(Ob(a)){for(var h=-1;a&&Ob(a);)Vb(a)||(h=d),a=a.nextSibling,d+=1;if(-1!==h){if(h>=c)return f;f+=1}}else a=a.nextSibling,d+=1,f+=1}throw Error();}function Xb(a,b){return Wb(a,b,Number.POSITIVE_INFINITY)}
+var C={Y:Nb,offset:function(a){if(!Kb.yb(a.getBoundingClientRect))return{top:0,left:0};var b=a.getBoundingClientRect();return{top:b.top+window.pageYOffset-a.ownerDocument.body.clientTop,left:b.left+window.pageXOffset-a.ownerDocument.body.clientLeft}},children:function(a){return g.V(a.childNodes)},ma:function(a,b){Pb(a)&&b<Tb(a)?a=a.childNodes[b]:Ob(a)&&b===a.length&&(a=a.nextSibling||a.parentNode);return a},aa:Ub,uc:Rb,q:Sb,m:Tb,Mc:function(a){return 0<Rb(a)},rc:function(a,b){return Ub(a,Xb(a,b))},
+qc:function(a){return Wb(a.parentNode,Number.POSITIVE_INFINITY,Sb(a))},wc:Xb,sc:function(a){return Wb(a,Number.POSITIVE_INFINITY,Rb(a))},b:Ob,r:Pb,hc:Qb,Db:Vb,isSameNode:function(a,b){return a===b},text:function(a){return a.textContent},Nc:function(a){return 0<a.textContent.trim().length},n:function(a,b){return a.isEqualNode(b)},contains:function(a,b){return Pb(a)?a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):a!==b&&(Pb(b)?a.contains(b):b.parentNode&&(a===b.parentNode||a.contains(b.parentNode))):
+!1},qa:function(a,b){return!!(a.compareDocumentPosition(b)&4)},clone:function(a,b){return a.cloneNode("boolean"===typeof b?b:!0)},R:function(a){return a.cloneNode(!1)},vc:function(a){var b=a.ownerDocument.createElement("div");b.appendChild(a.cloneNode(!0));return b.innerHTML}};function Yb(a){if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a&&a.nextSibling}function Zb(a){for(var b=a.previousSibling;b&&b.lastChild;)b=b.lastChild;return b||a.parentNode}function $b(a,b,c,d){c=c||e.v;if(c(a))return null;do{a=d(a);if(!a||c(a))break;if(b(a))return a}while(a);return null}function ac(a){return a.nextSibling}function bc(a){return a.previousSibling}function cc(a){return a.parentNode}function dc(a,b,c,d){for(;a&&c(a,d);)a=b(a,d);return a}
+function ec(a,b,c,d,f){dc(a,function(a){var d=c(a);b(a,f);return d},d,f)}function fc(a,b,c,d){ec(a,b,ac,e.ca(c),d)}function gc(a,b,c,d){ec(a,b,bc,e.ca(c),d)}function hc(a,b,c){fc(a,b,e.v,c)}function ic(a,b,c){C.r(a)&&hc(a.firstChild,function(a){ic(a,b,c)});b(a,c)}function jc(a,b){for(var c=[],d=a.parentNode;d&&!b(d);)c.push(d),d=d.parentNode;return c}function kc(a,b){var c=jc(a,b),d=c.length?c[c.length-1]:a;d.parentNode&&c.push(d.parentNode);return c}
+function lc(a,b){if(b(a))return[];var c=jc(a,b);c.unshift(a);return c}function mc(a,b){if(b(a))return[a];var c=kc(a,b);c.unshift(a);return c}function nc(a,b){if(!a.previousSibling)return[];var c=[];gc(a.previousSibling,function(a){c.push(a)},b||e.v);return c.reverse()}function oc(a,b){if(!a.nextSibling)return[];var c=[];fc(a.nextSibling,function(a){c.push(a)},b||e.v);return c}
+var D={Kb:function(a,b){return g.V(b.querySelectorAll(a))},Ia:function(a,b,c,d){c=c||e.vd;d=d||e.v;for(var f=a;f;)if(a=b?f.previousSibling:f.nextSibling){if(d(a))return null;if(c(a))return a;f=a}else{if(!f.parentNode||d(f.parentNode))return null;f=f.parentNode}},ed:fc,s:function(a,b,c){return dc(a,ac,b,c)},nextSibling:ac,qb:oc,od:gc,G:function(a,b,c){return dc(a,bc,b,c)},u:bc,Ib:nc,oc:function(a,b){return b&&b(a)?[]:nc(a,b).concat(a)},la:function(a,b){return b&&b(a)?[]:[a].concat(oc(a,b))},Ja:hc,
+ub:ic,Pb:function(a,b,c,d){fc(a,b,function(a){return a===c},d)},forward:Yb,wa:Zb,Kc:function(a,b,c){return $b(a,b,c,Yb)},Jc:function(a,b,c){return $b(a,b,c,Zb)},t:function(a,b){return dc(a,cc,b)},Ca:function(a,b,c,d){ec(a,b,cc,e.ca(c),d)},Na:lc,Oa:mc,jb:function(a,b){return lc(a,function(a){return a===b})},ib:function(a,b){return mc(a,function(a){return a===b})},kd:jc,ld:kc,Ab:function(a,b){var c=!1;do!c&&a.firstChild?a=a.firstChild:a.nextSibling?(a=a.nextSibling,c=!1):(a=a.parentNode,c=!0);while(!b(a,
+c));return a},wb:function(a,b){var c=!0;do!c&&a.lastChild?a=a.lastChild:a.previousSibling?(a=a.previousSibling,c=!1):(a=a.parentNode,c=!0);while(!b(a,c));return a}};function pc(a,b,c){c?b.appendChild(a):b.parentNode.insertBefore(a,b)}function qc(a,b){pc(a,b.nextSibling||b.parentNode,!b.nextSibling)}function rc(a,b,c){for(var d;b;)d=b.nextSibling,a.insertBefore(b,c),b=d}function sc(a,b){pc(a,b,!0)}function tc(a,b,c){a=g.split(a,c||e.v);a[0].forEach(b);return a[1]}function uc(a,b,c){return tc(a,function(a){sc(a,b)},c)}function vc(a,b,c){return tc(a,function(a){pc(a,b,!1)},c)}function wc(a,b){return a.parentNode.replaceChild(b,a)}
+function xc(a){a.parentNode.removeChild(a)}function yc(a,b){sc(wc(a,b),b)}
+var E={append:sc,i:function(a,b){for(var c;a&&b&&a.nodeName===b.nodeName&&!C.b(a);){c=b.firstChild;rc(a,c,null);xc(b);if(!c)break;b=c;a=b.previousSibling}},$c:rc,pb:function(a,b,c){return tc(a,function(a){qc(a,b);b=a},c)},nc:vc,move:uc,xa:function(a,b,c){return tc(a,function(a){sc(C.clone(a),b)},c)},Ka:yc,Id:function(a,b){var c=a.ownerDocument.createElement(b);yc(a,c);return c},f:pc,fc:qc,replace:wc,rb:function(a,b){uc(C.children(a),b);return wc(a,b)},remove:xc,ua:function(a){vc(C.children(a),a);
+xc(a)},rd:function(a){C.children(a).forEach(xc)}};for(var zc={},Ac=zc,Bc="",Cc=["","-webkit-","-moz-","-ms-","-o-"],Dc=document.createElement("div").style,Ec=0;Ec<Cc.length;Ec++)Dc.hasOwnProperty(Cc[Ec]+"transform")&&(Bc=Cc[Ec]);var Fc=navigator.userAgent.toLowerCase(),Gc=/(chrome)[ \/]([\w.]+)/.exec(Fc)||/(webkit)[ \/]([\w.]+)/.exec(Fc)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(Fc)||/(msie) ([\w.]+)/.exec(Fc)||0>Fc.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(Fc),Hc,Ic,Jc,Kc,Lc,Mc;Jc=Kc=Lc=Mc=!1;
+Gc&&(Hc=Gc[1],Ic=Gc[2],Jc="msie"===Ic&&8>parseInt(Ic,10),"chrome"===Hc?Mc=!0:"webkit"===Hc&&(Lc=!0));Ac={wh:Jc,chrome:Kc,Hd:Mc,Fg:Lc,vendor:Hc,version:Ic,Aa:Bc};Gc&&(Ac[Hc]=!0);zc=Ac;var Nc={has:function(a,b){return C.r(a)&&0<=a.className.trim().split(k.Pd).indexOf(b)},add:function(a){var b=g.V(arguments).slice(1);a.className=k.Gd(k.Vd.apply(null,[a.className].concat(b)))},remove:function(a){var b=g.V(arguments).slice(1);a.className=k.Gd(k.Se.apply(null,[a.className].concat(b)))}},Oc={set:function(a,b,c){b=k.Vb(b);a=a.style;b in a&&(a[b]=c)},get:function(a,b){b=k.Vb(b);return a.style[b]},remove:function(a,b){a.style.removeProperty(b);k.Fa(a.getAttribute("style"))&&a.removeAttribute("style")},
+getComputedStyle:function(a,b){var c=a.ownerDocument;return c&&c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b):a.currentStyle?(b=k.Vb(b),a.currentStyle[b]):null},Lc:function(a,b){var c={},d=a.ownerDocument;if(d&&d.defaultView&&d.defaultView.getComputedStyle){var f=d.defaultView.getComputedStyle(a,null);f&&b.forEach(function(a){c[a]=f[a]||f.getPropertyValue(a)})}else a.currentStyle&&b.forEach(function(b){c[b]=a.currentStyle[b]});
+return c}},Pc=zc;function Qc(a){if(!C.r(a))return!1;if("true"===a.getAttribute("contentEditable")||Nc.has(a,"aloha-editable"))return!0;a=a.Fh;if(!a)return!1;if(a.nodeType===C.Y.DOCUMENT&&"on"===a.designMode)return!0}function Rc(a){if(!C.r(a))return!1;var b=a.getAttribute("contentEditable");return"true"===b||""===b?!0:"false"===b?!1:Nc.has(a,"aloha-editable")?!0:(a=a.parentNode)?a.nodeType===C.Y.DOCUMENT&&"on"===a.designMode?!0:Rc(a):!1}function Sc(a){return Rc(C.b(a)?a.parentNode:a)}
+var Tc=window.uf&&new window.uf,Uc=0;function Vc(a){return a.defaultView||a.parentWindow}function Wc(a,b){for(var c=a[b],d=a.offsetParent;d;)c+=d[b],d=d.offsetParent;return c}
+var F={Y:C.Y,offset:C.offset,R:C.R,clone:C.clone,text:C.text,children:C.children,aa:C.aa,uc:C.uc,q:C.q,m:C.m,Mc:C.Mc,ma:C.ma,rc:C.rc,qc:C.qc,wc:C.wc,sc:C.sc,Vc:function(a){return/^\[object (Text|Comment|HTML\w*Element)\]$/.test(Object.prototype.toString.call(a))},b:C.b,r:C.r,hc:C.hc,Db:C.Db,isSameNode:C.isSameNode,n:C.n,contains:C.contains,qa:C.qa,Nc:C.Nc,vc:C.vc,append:E.append,i:E.i,$c:E.$c,nc:E.nc,pb:E.pb,move:E.move,xa:E.xa,Ka:E.Ka,Id:E.Id,f:E.f,fc:E.fc,replace:E.replace,rb:E.rb,remove:E.remove,
+ua:E.ua,rd:E.rd,addClass:Nc.add,removeClass:Nc.remove,hasClass:Nc.has,attrs:Ab.attrs,ea:Ab.get,fe:Ab.Wf,cc:Ab.has,pd:Ab.remove,yg:Ab.Bg,zg:Ab.xg,va:Ab.set,xd:Ab.Jg,Te:Oc.remove,l:Oc.set,T:Oc.get,getComputedStyle:Oc.getComputedStyle,Lc:Oc.Lc,Kb:D.Kb,Ia:D.Ia,s:D.s,ed:D.ed,nextSibling:D.nextSibling,qb:D.qb,G:D.G,od:D.od,u:D.u,Ib:D.Ib,la:D.la,oc:D.oc,Ja:D.Ja,ub:D.ub,Pb:D.Pb,forward:D.forward,wa:D.wa,Kc:D.Kc,Jc:D.Jc,t:D.t,Ca:D.Ca,Na:D.Na,Oa:D.Oa,jb:D.jb,ib:D.ib,kd:D.kd,ld:D.ld,Ab:D.Ab,wb:D.wb,wd:function(a){return Tc.serializeToString(a)},
+da:function(a){return a["!aloha-expando-node-id"]=a["!aloha-expando-node-id"]||++Uc},Tf:function(a){a.removeAttribute("unselectable","on");Oc.set(a,Pc.Aa+"user-select","all");a.onselectstart=null},Of:function(a){a.removeAttribute("unselectable","on");Oc.set(a,Pc.Aa+"user-select","none");a.onselectstart=e.v},Tc:Rc,Za:Sc,e:Qc,isContentEditable:function(a){return C.r(a)&&"true"===a.contentEditable},Xb:Vc,zb:function(a){if(Qc(a))return a;if(!Sc(a))return null;for(a=a.parentNode;a&&!Qc(a);)a=a.parentNode;
+return a},Sf:function(a){for(a=a.parentNode;a&&!Rc(a);)a=a.parentNode;return a},scrollTop:function(a){var b=Vc(a);if(!e.ta(b.pageYOffset))return b.pageYOffset;b=a.documentElement;return(b.clientHeight?b:a.body).scrollTop},scrollLeft:function(a){var b=Vc(a);if(!e.ta(b.pageXOffset))return b.pageXOffset;b=a.documentElement;return(b.clientWidth?b:a.body).scrollLeft},Ba:function(a){return Wc(a,"offsetTop")},wf:function(a){return Wc(a,"offsetLeft")}};var Xc={toggle:function(a,b){if(!a.ownerDocument.querySelector("style#metaview")){var c=a.ownerDocument,d=c.createElement("style");F.va(d,"id","metaview");F.append(d,c.head);F.append(c.createTextNode('.\u272a{outline:5px solid #fce05e;}.\u272a td,.\u272a th,.\u272a b,.\u272a i,.\u272a u,.\u272a p,.\u272a ul,.\u272a ol,.\u272a li,.\u272a h1,.\u272a h2,.\u272a h3,.\u272a h4,.\u272a h5,.\u272a h6,.\u272a div,.\u272a span{border:1px solid rgba(0,0,0,0.1)}.\u272a p,.\u272a ul,.\u272a ol,.\u272a h1,.\u272a h2,.\u272a h3,.\u272a h4,.\u272a h5,.\u272a h6,.\u272a div{border-width:2px}.\u272a b{border-color:#f47d43}.\u272a i{border-color:#82b5e0}.\u272a u{border-color:#bb94b7}.\u272a span{border-color:#bb94b7}.\u272a code{border-color:#999}.\u272a pre{border-color:#999}.\u272a ul,.\u272a ol{border-color:#91c9cf}.\u272a p{border-color:#bdd74b}.\u272a h1,.\u272a h2,.\u272a h3,.\u272a h4,.\u272a h5,.\u272a h6{border-color:#f47d43}.\u272a\u272a td,.\u272a\u272a th,.\u272a\u272a b,.\u272a\u272a i,.\u272a\u272a u,.\u272a\u272a span,.\u272a\u272a pre,.\u272a\u272a code,.\u272a\u272a ul,.\u272a\u272a ol,.\u272a\u272a li,.\u272a\u272a h1,.\u272a\u272a h2,.\u272a\u272a h3,.\u272a\u272a h4,.\u272a\u272a h5,.\u272a\u272a h6,.\u272a\u272a p,.\u272a\u272a div{position:relative}.\u272a\u272a td::before,.\u272a\u272a th::before,.\u272a\u272a b::before,.\u272a\u272a i::before,.\u272a\u272a u::before,.\u272a\u272a p::before,.\u272a\u272a ul::before,.\u272a\u272a ol::before,.\u272a\u272a li::before,.\u272a\u272a h1::before,.\u272a\u272a h2::before,.\u272a\u272a h3::before,.\u272a\u272a h4::before,.\u272a\u272a h5::before,.\u272a\u272a h6::before,.\u272a\u272a div::before,.\u272a\u272a span::before,.\u272a\u272a pre::before,.\u272a\u272a code::before{position:absolute;top:-2px;left:-2px;line-height:8px;font-size:8px;font-weight:bold;font-style:normal;letter-spacing:0.5px;background:#fff;color:#111;opacity:0.5;}.\u272a\u272a td::before{content:"TD"}.\u272a\u272a th::before{content:"TH"}.\u272a\u272a b::before{content:"B"}.\u272a\u272a i::before{content:"I"}.\u272a\u272a u::before{content:"U"}.\u272a\u272a p::before{content:"P"}.\u272a\u272a ul::before{content:"UL"}.\u272a\u272a ol::before{content:"OL"}.\u272a\u272a li::before{content:"LI"}.\u272a\u272a h1::before{content:"H1"}.\u272a\u272a h2::before{content:"H2"}.\u272a\u272a h3::before{content:"H3"}.\u272a\u272a h4::before{content:"H4"}.\u272a\u272a h5::before{content:"H5"}.\u272a\u272a h6::before{content:"H6"}.\u272a\u272a div::before{content:"DIV"}.\u272a\u272a pre::before{content:"PRE"}.\u272a\u272a span::before{content:"SPAN"}.\u272a\u272a code::before{content:"CODE"}.\u272a\u272a\u272a{padding:10px}.\u272a\u272a\u272a td,.\u272a\u272a\u272a th,.\u272a\u272a\u272a b,.\u272a\u272a\u272a i,.\u272a\u272a\u272a u,.\u272a\u272a\u272a p,.\u272a\u272a\u272a /*xul,.\u272a\u272a\u272a ol,.\u272a\u272a\u272a*/ li,.\u272a\u272a\u272a h1,.\u272a\u272a\u272a h2,.\u272a\u272a\u272a h3,.\u272a\u272a\u272a h4,.\u272a\u272a\u272a h5,.\u272a\u272a\u272a h6,.\u272a\u272a\u272a div,.\u272a\u272a\u272a span{padding:2px 4px;margin:2px;}'),
+d)}b=b||{};b.outline?F.addClass(a,"\u272a"):F.removeClass(a,"\u272a");b.tagname?F.addClass(a,"\u272a\u272a"):F.removeClass(a,"\u272a\u272a");b.padding?F.addClass(a,"\u272a\u272a\u272a"):F.removeClass(a,"\u272a\u272a\u272a")}};var Yc=0;function Zc(a){return a.nodeType}function $c(a){a=a.childNodes;for(var b=[],c=0,d=a.length;c<d;c++)b.push(G(a[c]));return b}function ad(a){return a.nodeName}function bd(a){return a.data}
+var cd={realize:F.attrs,get:ab.Ae(F.ea)},dd={realize:r.tc,get:ab.Ae(F.T)},G=vb.define({domNode:null,type:null,name:null,text:null,classes:{},children:null,affinity:3},function(a,b){var c=a.asTransient();if(b)if(b.nodeType)var d=ab(cd,b),f=ab(dd,b),c=c.setT(c.domNode,b),c=c.delayT(c.type,Zc,b),c=c.delayT(c.name,ad,b),c=c.delayT(c.text,bd,b),c=c.delayT(c.children,$c,b),c=c.setT(ed,d),c=c.setT(fd,f),c=c.asPersistent(),c=c.asTransient().delayT(gd,hd,c);else if(e.ta(b.text))if(e.ta(b.name))r.error(r.dh);
+else{r.Tb(b.text);r.Tb(b.nodeType);var d=b.name,f=b.attrs||{},h=b.Jh||{},l=b.children||[],m=b.affinity||3;r.assert(e.ta(f.style),r.Rb);c=c.setT(c.domNode,b.domNode);c=c.setT(c.type,1);c=c.setT(c.name,d);c=c.setT(c.children,l);c=c.setT(c.affinity,m);c=c.setT(ed,ab.Pe(f));c=c.setT(fd,ab.Pe(h))}else r.Tb(b.name),r.Tb(b.nodeType),d=b.affinity||3,c=c.setT(c.domNode,b.domNode),c=c.setT(c.type,3),c=c.setT(c.text,b.text),c=c.setT(c.affinity,d);c=c.setT(id,++Yc);c=c.setT(jd,1);a=c.asPersistent();return a=
+kd.set(a,a)}),gd=G.prototype.classes,kd=G.La(),id=G.La(),ed=G.La(),fd=G.La(),ld=G.La(),md=G.La(),jd=G.La();function nd(a,b,c){var d=jd.get(a);d&1&&b!==(d&b)&&(a=c(a,d|b));return a}function od(a,b){return vb.hookSetter(a,function(a){return nd(a,b,jd.set)},function(a){return nd(a,b,jd.set.setT)})}function pd(a){r.assert(1===a.type.get(a),r.jf)}function qd(a,b,c,d){return(a=a.get(c))&&a.hasOwnProperty(d)?a[d]:b.get(c).get(d)}
+function rd(a,b,c,d,f){var h=a.get(c),h=v.Fc(h||{},d,f);c=c.asTransient();c=c.setT(a,h);c=nd(c,b,jd.set.setT);return c.asPersistent()}function sd(a,b){pd(a);r.assert("style"!==b,r.Rb);return qd(ld,ed,a,b)}function td(a,b,c,d){var f=kd.get(a),f=b.set(f,c);return d(a,f)}function ud(a,b){var c=kd.get(a);return b.get(c)}function vd(a,b,c){v.forEach(b,function(b,f){c(a,f,b)})}
+function wd(a,b,c,d){var f=a.get(d);if(!f)return d;var h=d.domNode.get(d);vd(h,f,c);c=b.get(d).mergeObject(f,!0);d=d.asTransient();d=d.setT(a,null);d=d.setT(b,c);return d.asPersistent()}var xd=e.d(wd,ld,ed,F.va),yd=e.d(wd,md,fd,F.l);function zd(a,b){var c=a.name.get(a),d=a.attrs.get(a),c=b.createElement(c);vd(c,d,F.va);d=ed.get(a);F.va(c,"style",d.get("style"));d=md.get(a);vd(c,d,F.l);return c}
+function Ad(a,b,c,d,f,h){b=d<b.length?b[d]:null;d=c;var l=d.type.get(d);1===l?d=zd(d,f):3===l?d=f.createTextNode(d.text.get(d)):(r.tc(),d=void 0);a.insertBefore(d,b);c=c.asTransient();c=c.setT(c.domNode,d);c=c.setT(id,++Yc);c=td(c,c.children,[],kd.set.setT);c=c.setT(jd,jd.get(c)|32);c=c.asPersistent();return c=Bd(c,f,h)}function Cd(a){var b={};a.forEach(function(a){b[id.get(a)]=!0});return b}
+function Dd(a,b){if(b===a)return null;for(var c,d,f=null,h=0,l=0,m=a.length,n=b.length,q=[],s=!1;h<m&&l<n;){c=a[h];d=b[l];var t=id.get(c),z=id.get(d);t===z?(c===d?c=0:(s=!0,c=4),h+=1,l+=1):(f=f||Cd(b),f[t]?(s=!0,c=1,l+=1):(s=!0,c=2,h+=1));q.push(c)}for(;h<m;h++)s=!0,q.push(2);for(;l<n;l++)s=!0,q.push(1);return s?q:null}
+function Ed(a,b,c){var d=a.children.get(a),f=ud(a,a.children),h=Dd(f,d);if(!h)return a;var l=a.domNode.get(a),m=l.childNodes,n=[],q=0,s=0,t=0;h.forEach(function(h){var x;h&1?(x=d[s],s+=1):(h&2?x=f[q]:(x=d[s],s+=1),q+=1);var Y=x.affinity.get(x),W=ud(a,a.affinity);(Y&1)!==(W&1)?Y&1&&!(h&2)?(x=Ad(l,m,x,t,b,c),t+=1):h&1||l.removeChild(m[t]):Y&1&&(h&1?(x=Ad(l,m,x,t,b,c),t+=1):h&2?l.removeChild(m[t]):(h&4&&(x=Bd(x,b,c)),t+=1));h&2||n.push(x)});a=a.set(a.children,n);return a=td(a,a.children,n,kd.set)}
+function Bd(a,b,c){var d=a.type.get(a),f=jd.get(a);1===d?(f&2&&(r.tc(),a=void 0),f&8&&(a=xd(a)),f&16&&(a=yd(a)),f&32&&(a=Ed(a,b,c))):3===d&&f&4&&(b=a.text.get(a),a.domNode.get(a).data=b,a=td(a,a.text,b,kd.set));return a}function Fd(a,b){var c;1===a.type()?(c=zd(a,b),a.children().forEach(function(a){c.appendChild(Fd(a,b))})):3===a.type()?c=b.createTextNode(a.text.get(a)):r.tc();return c}function hd(a){a=sd(a,"class");return e.ta(a)?{}:v.Ic({},k.ff(a),!0)}
+function Gd(a){var b=v.keys(a.get(a.classes)).join(" ");return rd(ld,8,a,"class",b)}var Hd=od(G.prototype.name,2),Id=od(G.prototype.text,4),Jd=od(G.prototype.children,32),Kd=od(G.prototype.affinity,64);
+v.extend(G.prototype,{name:u.C(Hd),text:u.C(Id),children:u.C(Jd),affinity:u.C(Kd),attrs:u.C(u(function(a){pd(a);var b=ed.get(a);a=ld.get(a);b=b.realize();b=v.extend({},b,a);b=v.filter(b,e.ca(e.ta));delete b.style;return b},function(a,b){pd(a);r.assert(e.ta(b.style),r.Rb);var c=ed.get(a),c=v.Ic({},c.keys(),null),c=v.extend(c,b);delete c.style;a=a.asTransient();a=nd(a,8,jd.set.setT);a=a.setT(ld,c);return a.asPersistent()})),attr:u.C(u(sd,function(a,b,c){pd(a);r.assert("style"!==b,r.Rb);a=rd(ld,8,a,
+b,c);"class"===b&&(a=a.set(gd,hd(a)));return a})),style:u.C(u(function(a,b){pd(a);return qd(md,fd,a,b)},function(a,b,c){pd(a);return rd(md,16,a,b,c)})),updateDom:e.C(function(a){var b=a.domNode.get(a).ownerDocument;r.assert(b,r.hf);return Bd(a,b,{})}),asDom:e.C(Fd),create:G,hasClass:e.C(function(a,b){return a.get(a.classes)[b]}),addClass:e.C(function(a,b){var c=a.get(a.classes);if(c[b])return a;c=v.Fc(c,b,!0);return a=a.set(a.classes,c)}),removeClass:e.C(function(a,b){var c=a.get(a.classes);if(!c[b])return a;
+c=v.ae(c,b);return a=a.set(a.classes,c)})});G.prototype.attrs=u.C(vb.hookSetterRecompute(G.prototype.attrs,gd,hd,hd));G.prototype.classes=u.C(vb.hookSetter(gd,Gd,Gd));G.Yg=1;G.ah=2;G.$g=4;G.Zg=0;G.Vg=1;G.Wg=2;G.Ug=3;G.nh=Dd;G.ELEMENT=1;G.TEXT=3;var Ld=G;function Md(a,b,c,d){var f=a.ownerDocument.createRange();f.setStart(a,b||0);c?f.setEnd(c,d||0):f.setEnd(a,b||0);return f}function Nd(a,b,c,d,f,h){b.setStart(a,c);b.setEnd(a,c);var l=g.p(b.getClientRects());return(h=l?{left:h||l.left,right:l.right,bottom:l.bottom}:null)&&f<h.bottom&&d>=h.left&&d<=h.right?(h.right-d>d-h.left&&c--,{node:a,index:c}):c<a.length?Nd(a,b,++c,d,f,h?h.left:null):null}
+function Od(a,b,c,d){if(F.b(a)){var f=Nd(a,b,0,c,d);if(f)return f}else if(b.setEndAfter(a),(f=g.p(b.getClientRects()))&&d<f.bottom&&c>=f.left&&c<=f.right)return{node:a.parentNode,index:F.q(a)};return a.nextSibling?Od(a.nextSibling,b,c,d):{node:a.parentNode,index:F.q(a)}}function Pd(a){a=F.Tc(a)?F.zb(a):a;a=F.t(a,function(a){return a.parentNode&&!F.Tc(a.parentNode)});return F.Y.DOCUMENT===a.nodeType?null:a}
+var Qd={w:function(a){return a&&a.hasOwnProperty&&a.hasOwnProperty("commonAncestorContainer")&&a.hasOwnProperty("collapsed")&&a.hasOwnProperty("startContainer")&&a.hasOwnProperty("startOffset")?!0:!1},n:function(a,b){return a.startContainer===b.startContainer&&a.startOffset===b.startOffset&&a.endContainer===b.endContainer&&a.endOffset===b.endOffset},create:Md,Z:function(a,b,c){a-=F.scrollLeft(c);b-=F.scrollTop(c);var d;d=a;if(0>d||0>b)d=null;else if(c.caretRangeFromPoint)d=c.caretRangeFromPoint(d,
+b);else if(c.caretPositionFromPoint)d=c.caretPositionFromPoint(d,b),d=Md(d.offsetNode,d.offset);else if(c.elementFromPoint){var f=c.elementFromPoint(d,b),h=c.createRange(),l={node:f.firstChild,index:-1};h.selectNodeContents(f);h.collapse(!0);l=l.node?Od(l.node,h,d,b):{node:f.parentNode,index:F.q(f)};d=Md(l.node,l.index)}else throw"fromPoint() unimplemented for this browser";if(!d)return null;if(F.Za(d.commonAncestorContainer))return d;d=Pd(d.commonAncestorContainer);if(!d||!d.parentNode)return null;
+c=c.body;b=F.offset(d);f=F.q(d);a+c.scrollLeft>b.left+c.scrollLeft+d.offsetWidth&&(f+=1);return Md(d.parentNode,f)}};function Rd(a){var b=[];a.forEach(function(a){if("TD"===a.nodeName){var d=F.children(a);a=a.ownerDocument.createElement("th");F.xa(d,a)}return b.push(a)});return b}var Sd=/mso-yfti-irow:\-1;/;function Td(a){var b=F.children(a),c=[],d,f,h;for(h=0;h<b.length;h++)d=Td(b[h]),"TR"===d.nodeName&&Sd.test(F.ea(d,"style"))&&(d=F.clone(d),f=F.children(d),f.forEach(F.remove),F.move(Rd(f),d)),c.push(d);a=F.clone(a,!1);F.move(c,a);return a}var Ud={transform:Td};var Vd=/^\s*((?:[0-9]{1,3}|[a-zA-Z]{1,5})+[\.\)])+\s*$/,Wd=/mso-list:\s*Ignore/i,Xd=/mso-list:.*?level(\d+)/i;function Yd(a){if(!a.firstChild)return null;a=Vd.exec(F.text(a.firstChild));return a?(a=/(\w+)/i.exec(a[0]))?a[1]:null:null}function Zd(a){return"SPAN"===a.nodeName&&Wd.test(F.ea(a,"style"))?!0:!F.b(a)&&Zd(a.firstChild)}function $d(a){return"P"===a.nodeName&&F.hasClass(a,"MsoListParagraphCxSpLast")}
+function ae(a){var b,c;a.firstChild?(c=F.T(a.firstChild,"fontFamily"),c="Wingdings"===c||"Symbol"===c?!1:null!==Yd(a)):c=!1;var d=c?"ol":"ul";c=a.ownerDocument.createElement(d);if("ul"===d)return c;(a=Yd(a))?/\d+/.test(a)?(b=a,a="1"):a=/i/i.test(a)?/I/.test(a)?"I":"i":/[A-Z]/.test(a)?"A":"a":a=b=void 0;Kb.yb(b)&&F.va(c,"start",b);Kb.yb(a)&&F.va(c,"type",a);return c}
+function be(a,b){var c=ae(a.node),d=a.items.reduce(function(c,d){var l=d.reduce(function(a,c){return a.concat(c[b]?be(c,b):c)},[]),m=a.node.ownerDocument.createElement("li");F.xa(l,m);return c.concat(m)},[]);F.move(d,c);return c}
+function de(a){var b=fe,c,d,f,h,l,m,n,q="_aloha"+(new Date).getTime();for(c=0;c<a.length;c++){h=b(a[c]);n=(d=Xd.exec(F.ea(h,"style")))&&d[1]?parseInt(d[1],10):1;l||(m=l={parent:null,ka:1,node:h,items:[]},l[q]=!0);if(n>l.ka)for(d=l.ka;d<n;d++)l={parent:l,ka:d+1,node:h,items:[]},l[q]=!0,f=g.p(l.parent.items),f||(f=[],l.parent.items.push(f)),f.push(l);if(n<l.ka)for(d=n,f=l.ka;d<f&&l.parent;d++)l=l.parent;d=h;("P"!==d.nodeName?0:F.hasClass(d,"MsoListParagraph")||F.hasClass(d,"MsoListParagraphCxSpFirst")||
+F.hasClass(d,"MsoListParagraphCxSpMiddle")||F.hasClass(d,"MsoListParagraphCxSpLast"))&&h.firstChild&&Zd(h.firstChild)?l.items.push(F.children(h).filter(e.ca(Zd))):(f=g.p(l.items),f||(f=[],l.items.push(f)),f.push(h))}return m&&be(m,q)}
+function fe(a){var b=F.children(a),c=[],d,f=b.length,h,l;for(d=0;d<f;d++)if(l=b[d],"P"===l.nodeName&&F.hasClass(l,"MsoListParagraph"))c.push(de([l]));else if("P"===l.nodeName&&F.hasClass(l,"MsoListParagraphCxSpFirst")){if(l=F.la(l,$d),(h=g.p(l).nextSibling)&&l.push(h),h=de(l))c.push(h),d+=l.length-1}else c.push(fe(l));a=F.clone(a,!1);F.move(c,a);return a}var ge={transform:fe};function he(a){if(!(this instanceof he))return new he(a);a=a||{};this.startContainer=a.startContainer;this.startOffset=a.startOffset;this.endContainer=a.endContainer;this.endOffset=a.endOffset;this.commonAncestorContainer=a.commonAncestorContainer;this.collapsed=a.collapsed}
+he.prototype.update=function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,d=this.endOffset;if(a&&b){this.collapsed=a===b&&c===d;c=a;for(d=0;4>d;d++)c=c.parentNode||c;var d=F.ib(a,c),f=F.ib(b,c);c!==g.p(f)&&(d=F.Na(a,e.v),f=F.Na(b,e.v));this.commonAncestorContainer=g.Sc(d,f)[0]}};he.prototype.setStart=function(a,b){this.startContainer=a;this.startOffset=b;this.update()};he.prototype.setEnd=function(a,b){this.endContainer=a;this.endOffset=b;this.update()};function ie(a,b){return[a,b]}function je(a){return ie(a.parentNode,F.q(a))}function ke(a){return ie(a.parentNode,F.q(a)+1)}function le(a){return[a,0]}function me(a){return ie(a,F.m(a))}function ne(a){var b=a[0];if(F.b(b)){r.Xd(b.parentNode);var c=a[1];if(0===c)return je(b);if(c>=F.m(b))return ke(b)}return a}function oe(a,b){r.assert(-1<b,"Boundaries.create(): Offset must be 0 or greater");return ne([a,b])}function pe(a,b){b=ne(b);a.setStart(b[0],b[1])}
+function qe(a,b){b=ne(b);a.setEnd(b[0],b[1])}function re(a,b,c){pe(a,b);qe(a,c)}function se(a){return oe(a.startContainer,a.startOffset)}function te(a){return oe(a.endContainer,a.endOffset)}function ue(a){return[se(a),te(a)]}function ve(a){return 0===ne(a)[1]}function we(a){a=ne(a);return a[1]===F.m(a[0])}function xe(a){return 0===a[1]}function ye(a){return a[1]===F.m(a[0])}function ze(a){return F.b(a[0])}function Ae(a){a=ne(a);return we(a)?null:F.aa(a[0],a[1])}
+function Be(a){a=ne(a);return ve(a)?null:F.aa(a[0],a[1]-1)}function Ce(a){a=ne(a);return Ae(a)||a[0]}function De(a){return ke(Ce(a))}function Ee(a){a=ne(a);var b=a[0];if(F.b(b)||ve(a))return je(b);b=F.aa(b,a[1]-1);return F.b(b)?je(b):me(b)}function Fe(a){a=ne(a);var b=a[0],c=a[1];if(F.b(b)||we(a))return De(a);a=F.aa(b,c);return F.b(a)?ke(a):[a,0]}function Ge(a,b,c){for(;b(a);)a=c(a);return a}function He(a,b){return Qd.create(a[0],a[1],b[0],b[1])}
+var H={w:function(a){return g.w(a)&&F.Vc(a[0])&&"number"===typeof a[1]},get:function(a){a=a.getSelection();return 0<a.rangeCount?ue(a.getRangeAt(0)):null},select:function(a,b){b||(b=a);var c=He(a,b),d=c.commonAncestorContainer.ownerDocument.getSelection();d.removeAllRanges();d.addRange(c)},K:ie,create:oe,normalize:ne,n:function(a,b){return a[0]===b[0]&&a[1]===b[1]},a:function(a){return a[0]},offset:function(a){return a[1]},document:function(a){return a[0].ownerDocument},J:He,lb:ue,mb:function(a){a=
+a||[];return g.Be(a,ue)},ra:se,Va:te,ha:je,$b:ke,Bb:le,Da:me,Z:function(a,b,c){return(a=Qd.Z(a,b,c))&&ue(a)[0]},yc:re,sb:function(a,b){g.Je(b,2).forEach(function(b,d){re(a[d],b[0],b[1])})},zd:pe,yd:qe,F:ve,h:we,Ch:xe,Bh:ye,$:ze,W:function(a){return!ze(a)},next:Fe,j:Ee,bd:function(a){var b=a[0];return ye(a)?ke(b):ze(a)?me(b):le(F.aa(b,a[1]))},md:function(a){var b=a[0];if(xe(a))return je(b);if(ze(a))return[b,0];b=F.aa(b,a[1]-1);return me(b)},mc:De,s:function(a,b){return Ge(a,b,Fe)},G:function(a,b){return Ge(a,
+b,Ee)},Ed:Ge,Tg:function(a,b,c,d){for(;a&&b(a);)d(a),a=c(a)},nextNode:Ce,k:function(a){a=ne(a);return Be(a)||a[0]},X:Ae,na:Be,ba:function(a,b){return He(a,b).commonAncestorContainer}};function I(a,b){this.node=a;this.atEnd=b}function Ie(a,b){return new I(a,b)}function Je(a,b){return Ie(F.ma(a,b),H.h(H.K(a,b)))}aa=I.prototype;aa.next=function(){var a=this.node,b;if(this.atEnd||!F.r(a)){if(b=a.nextSibling)this.atEnd=!1;else{b=a.parentNode;if(!b)return!1;this.atEnd=!0}this.node=b}else(b=a.firstChild)?this.node=b:this.atEnd=!0;return!0};
+aa.j=function(){var a=this.node,b;if(this.atEnd)(b=a.lastChild)?(this.node=b,F.r(b)||(this.atEnd=!1)):this.atEnd=!1;else{if(b=a.previousSibling)F.r(b)&&(this.atEnd=!0);else if(b=a.parentNode,!b)return!1;this.node=b}return!0};aa.Ye=function(){var a=this.u();return a?(this.node=a,this.atEnd=!1,!0):this.j()};aa.Bd=function(){if(this.atEnd)return this.next();this.atEnd=!0;return this.next()};aa.s=function(a){for(;a(this);)if(!this.next())return!1;return!0};
+aa.G=function(a){for(;a(this);)if(!this.j())return!1;return!0};aa.parent=function(){return this.atEnd?this.node:this.node.parentNode};aa.u=function(){return this.atEnd?this.node.lastChild:this.node.previousSibling};aa.nextSibling=function(){return this.atEnd?null:this.node.nextSibling};aa.n=function(a){return a.node===this.node&&a.atEnd===this.atEnd};aa.bb=function(a){this.node=a.node;this.atEnd=a.atEnd};aa.clone=function(){return Ie(this.node,this.atEnd)};
+aa.f=function(a){return F.f(a,this.node,this.atEnd)};I.prototype.next=I.prototype.next;I.prototype.prev=I.prototype.j;I.prototype.skipPrev=I.prototype.Ye;I.prototype.skipNext=I.prototype.Bd;I.prototype.nextWhile=I.prototype.s;I.prototype.prevWhile=I.prototype.G;I.prototype.parent=I.prototype.parent;I.prototype.prevSibling=I.prototype.u;I.prototype.nextSibling=I.prototype.nextSibling;I.prototype.equals=I.prototype.n;I.prototype.setFrom=I.prototype.bb;I.prototype.clone=I.prototype.clone;
+I.prototype.insert=I.prototype.f;function Ke(a,b){b.atEnd?a.setStart(b.node,F.m(b.node)):a.setStart(b.node.parentNode,F.q(b.node));return a}function Le(a,b){b.atEnd?a.setEnd(b.node,F.m(b.node)):a.setEnd(b.node.parentNode,F.q(b.node));return a}var Me={cursor:Ie,kb:Je,create:Ie,If:Je,Ve:function(a,b,c){b&&Ke(a,b);c&&Le(a,c);return a},zd:Ke,yd:Le,cb:function(a){return a.atEnd?H.create(a.node,F.m(a.node)):H.create(a.node.parentNode,F.q(a.node))}};function Ne(a){return a.reduce(function(a,c){return a.concat(c.data)},[]).join("")}function Oe(a,b){for(var c=0,d,f=0;f<a.length;f++){d=a[f];if(c+F.m(d)>=b)return H.create(d,b-c);c+=d.length}return null}function Pe(a,b){return b(a,function(a){return!F.b(a)||F.e(a)})}
+function Qe(a,b){var c,d=H.na(a);d?c=F.m(d):(d=H.a(a),c=H.offset(a));var f=d;do{if(F.b(f)){var h=Pe(f,F.oc).reverse(),l=Ne(h),m=l.search(b);if(-1<m){if(d!==f||m<c)return Oe(h,m);m=l.substr(0,c).search(b);if(-1<m)return Oe(h,m)}}f=F.wa(f)}while(f&&!F.e(f));return null}function Re(a,b){var c,d=H.X(a);d?c=0:(d=H.a(a),c=H.offset(a));var f=d;do{if(F.b(f)){var h=Pe(f,F.la),l=Ne(h);f===d&&(l=l.substr(c));l=l.search(b);if(-1<l)return Oe(h,c+l)}f=F.forward(f)}while(f&&!F.e(f));return null}
+var Se={search:function(a,b,c){return"backward"===c?Qe(a,b):Re(a,b)},forward:function(a,b){return Re(a,new RegExp(b))},wa:function(a,b){return Qe(a,new RegExp(b+"(?!.*"+b+")"))}};var Te={ke:function(a){"mousedown"===a.type&&(a.selection.formatting=[],a.selection.overrides=[]);return a},Md:{mouseup:!0,mousedown:!0,mousemove:!0,dblclick:!0,dragstart:!0,dragover:!0,dragend:!0}};var Ue={8:"backspace",9:"tab",12:"f1",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",23:"end",24:"home",27:"escape",32:"space",33:"pageUp",34:"pageDown",37:"left",38:"up",39:"right",40:"down",46:"delete",65:"selectAll",66:"bold",73:"italic",85:"underline",90:"undo",91:"meta"},Ve={};v.forEach(Ue,function(a,b){Ve[a]=parseInt(b,10)});
+function We(a){var b=[];a.altKey&&Ve.alt!==a.which&&b.push("alt");a.ctrlKey&&Ve.ctrl!==a.which&&b.push("ctrl");a.metaKey&&b.push("meta");a.shiftKey&&Ve.shift!==a.which&&b.push("shift");return{meta:b.join("+"),keycode:a.which,key:Ue[a.which],chr:String.fromCharCode(a.which).toLowerCase()}}
+var Xe={za:Ve,Md:{keyup:!0,keydown:!0,keypress:!0},Kd:{37:"left",38:"up",39:"right",40:"down"},ie:function(a){var b=We(a.nativeEvent);a.meta=b.meta;a.keycode=b.keycode;return a},Ad:function(a,b,c){b=46>=b||91<=b?Ue[b]||b:String.fromCharCode(b).toLowerCase();return c[a?a+"+"+b:b]||c["*+"+b]||null},qg:We};var Ye={BR:!0,HR:!0,IMG:!0},Ze={LI:!0,DT:!0,DD:!0},$e={inline:!0,"inline-block":!0,"inline-table":!0,none:!0};function af(a){if(!a)return!1;switch(a.nodeType){case F.Y.DOCUMENT:case F.Y.DOCUMENT_FRAGMENT:return!0;case F.Y.ELEMENT:var b=F.getComputedStyle(a,"display");return b?!$e[b]:p.Ea(a);default:return!1}}
+var bf={"background-color":!0,underline:!0},J={Wc:function(a){return!bf[a]},lc:function(a){return"pre"===a||"pre-wrap"===a||"-moz-pre-wrap"===a},Cb:af,Xa:function(a){return!af(a)},c:function(a){return Ye[a.nodeName]||Ze[a.nodeName]||af(a)}};function cf(a){if(!F.b(a))return!1;if(!a.length)return!0;if(k.Cc.test(a.nodeValue)||k.Qb.test(a.nodeValue))return!1;var b;return a.parentNode&&(b=F.getComputedStyle(a.parentNode,"white-space"),J.lc(b))?!1:"pre-line"===b&&/[\r\n]/.test(a.data)?!1:!0}var df={BR:!0,HR:!0,IMG:!0};function ef(a){return cf(a.node)||F.r(a.node)&&J.Xa(a.node)&&!df[a.node]}function ff(a){var b=a.clone();b.s(ef);if(!J.c(b.node))return!1;a.bb(b);return!0}
+function gf(a){var b=a.clone();b.j();b.G(ef);if(!J.c(b.node))return!1;var c="BR"===b.node.nodeName;b.next();if(c&&(c=a.clone(),ff(c)&&c.atEnd)){b.Ye();b.G(ef);if(!J.c(b.node))return!1;b.next()}a.bb(b);return!0}function hf(a){var b=a.parentNode;return b&&(a===b.firstChild||a===b.lastChild)}function jf(a){return a.previousSibling&&p.Ea(a.previousSibling)||a.nextSibling&&p.Ea(a.nextSibling)}
+function kf(a){return!p.ab(a)&&!p.g(a)&&0===F.m(a)||a.firstChild&&!F.s(a.firstChild,kf)?!0:cf(a)?hf(a)?F.b(a)?!F.Ia(a,!1,function(a){return p.Ha(a)&&!kf(a)},function(a){return J.c(a)||F.e(a)}):!1:jf(a)||ff(Me.create(a,!1))||gf(Me.create(a,!1)):"BR"===a.nodeName&&hf(a)&&J.c(a.parentNode)&&(a.nextSibling&&"BR"===a.nextSibling.nodeName||a.previousSibling&&"BR"===a.previousSibling.nodeName||a.nextSibling&&F.s(a.nextSibling,kf)||a.previousSibling&&F.G(a.previousSibling,kf))?!0:!1}
+function lf(a){return!kf(a)}var K={parse:function(a,b){var c=(b.implementation&&b.implementation.Jf?b.implementation.Jf():b).createElement("DIV");c.innerHTML=a;c=g.V(c.childNodes);c.forEach(F.remove);return c},M:function(a){return p.ab(a)||!F.Za(a)},o:lf,H:kf,$a:function(a){return cf(a)?ff(Me.cursor(a,!1))||gf(Me.cursor(a,!1)):!1},Dh:cf,jg:function(a){var b=a.parentNode;if("BR"!==a.nodeName||!b||!J.c(b))return!1;b=F.children(b).filter(lf);return 1===b.length&&a===b[0]},Ze:ff,Lg:gf};var mf={cb:function(a,b){var c=b.slice(0,-1).reduce(function(a,b){return a.childNodes[b]||a},a);return H.K(c,g.p(b)||0)},ga:function(a,b){var c=H.offset(b),d=H.a(b);if(d===a)return[c];c=F.jb(d,a).reduce(function(a,b){return a.concat(F.q(b))},[c]);c.reverse();return c}};var nf={A:!0,ABBR:!0,B:!0,CITE:!0,CODE:!0,DEL:!0,EM:!0,I:!0,INS:!0,S:!0,SMALL:!0,SPAN:!0,STRONG:!0,SUB:!0,SUP:!0,U:!0,"#text":!0},of=k.Sd.join(""),pf=g.Wb(k.Qd,k.Nd).join(""),qf=new RegExp("["+pf+"]+["+of+"]*$"),rf=new RegExp("[^"+pf+"]["+pf+of+"]*$"),sf=new RegExp("[^"+pf+of+"]"),tf=new RegExp("[^"+of+"]");function vf(a,b,c){return F.Ia(a,!0,b,c||F.e)}function wf(a,b,c){return F.Ia(a,!1,b,c||F.e)}
+function xf(a){var b=H.a(a);a=H.offset(a);var c=F.b(b);return c&&-1<b.data.substr(0,a).search(qf)?!1:0===a?!!vf(b,function(a){return p.Ha(a)&&K.o(a)},function(a){return J.c(a)||F.e(a)}):c&&0!==b.data.substr(a).search(qf)?!0:!!wf(b,function(a){return p.Ha(a)&&K.o(a)},function(a){return J.c(a)||F.e(a)})}
+function yf(a){var b=H.a(a);a=H.offset(a);var c=b.data.substr(0,a);if(!sf.test(c))return xf(H.K(b,0))?1:-1;var d=c.match(rf)[0].length-1;a=2>d?a:a-d+1;if(0===a)return 0;b=H.K(b,a-1);return sf.test(c.charAt(a-1))||xf(b)?a:yf(b)}function zf(a){var b=H.a(a),c=H.offset(a);a=b.data.substr(c).search(xf(a)?tf:sf);return-1===a?-1:c+a}function Af(a){if(H.W(a))return null;var b=zf(a);return-1===b?null:H.create(H.a(a),b+1)}
+function Bf(a){if(H.W(a))return null;var b=yf(a);return-1===b?null:H.create(H.a(a),b-1)}function Cf(a,b,c,d,f){return H.normalize(b(a,function(a){var b=c(a);return K.H(b)?!0:f(a)?F.e(b)||p.g(b)&&d(a)?!1:!0:!F.b(b)&&!K.M(b)}))}function Df(a,b){return H.Ed(a,b,Ef)}function Ff(a,b){return H.Ed(a,b,Gf)}function Hf(a){return Cf(a,Ff,H.k,H.h,H.F)}function If(a){return Cf(a,Df,H.nextNode,H.F,H.h)}
+function Jf(a,b){if(H.$(a)){var c=b.Fe(a);if(c)return c}c=b.fd(a);if(F.e(c))return a;if(F.b(c)||K.H(c))return Jf(b.zc(a),b);if(J.c(c))return b.expand(b.zc(a));for(;!K.o(c)||!(F.b(c)||J.c(c)||F.e(c));)a=b.zc(a),c=b.fd(a);return Jf(a,b)}function Ef(a){if(H.W(a)){var b=H.X(a);if(b&&K.M(b))return H.mc(a)}return H.bd(a)}function Gf(a){if(H.W(a)){var b=H.na(a);if(b&&K.M(b))return H.ha(b)}return H.md(a)}
+var Kf={Fe:Af,zc:Ef,expand:If,zf:H.X,fd:H.nextNode,Uf:function(a){return a.nextSibling},Pg:function(a){a=H.K(a,0);return Jf(a,Kf)}},Lf={Fe:Bf,zc:Gf,expand:Hf,zf:H.na,fd:H.k,Uf:function(a){return a.previousSibling},Pg:function(a){a=H.K(a,F.m(a));return Jf(a,Lf)}};
+function Mf(a){var b;if(H.$(a)){b=zf(a);if(-1===b)return(b=H.X(a))&&K.H(b)?Mf(H.mc(a)):b&&K.M(b)?a:Mf(H.next(a));if(H.offset(a)===b)return a;a=H.create(H.a(a),b);return Mf(a)}b=H.nextNode(a);if(F.b(b))return Mf(H.bd(a));for(;!F.e(b)&&K.H(b);)a=H.next(a),b=H.nextNode(a);return a}function Nf(a,b){var c,d;a=Mf(H.normalize(a));for(b=Mf(H.normalize(b));a&&!H.n(a,b);){c=H.nextNode(a);if(F.e(c)||(d=F.b(c)||K.M(c)||J.c(c))&&K.o(c))return!1;a=Mf(H.next(a))}return!0}
+function Of(a){var b;if(H.$(a)){b=yf(a);if(-1===b){for(b=H.j(a);Nf(b,a)&&!J.c(H.k(b));)b=H.j(b);return Of(b)}if(H.offset(a)===b)return a;a=H.create(H.a(a),b);return Of(a)}b=H.k(a);if(F.b(b))return Of(H.md(a));for(;!F.e(b)&&K.H(b);)a=H.j(a),b=H.k(a);return a}
+function Pf(a){var b,c;if(H.W(a))return b=H.nextNode(a),c=H.bd(a),nf[b.nodeName]?Pf(c):a;c=H.a(a);b=H.offset(a);c=c.data.substr(b).search(k.Sb);b=-1===c?-1:b+c;return-1===b?(c=H.next(a),b=H.nextNode(c),nf[b.nodeName]?Pf(c):c):b===H.offset(a)?a:H.K(H.a(a),b)}
+function Qf(a){var b,c;if(H.W(a))return b=H.k(a),c=H.md(a),nf[b.nodeName]?Qf(c):a;b=H.a(a);c=H.offset(a);b=b.data.substr(0,c).search(k.Rd);b=-1===b?-1:b+1;return-1===b?(c=H.j(a),b=H.k(c),nf[b.nodeName]?Qf(c):c):b===H.offset(a)?a:H.K(H.a(a),b)}function Rf(a){if(H.h(a))return!0;if(H.$(a))return!sf.test(H.a(a).data.substr(H.offset(a)));a=H.X(a);return!F.s(a,K.H)}
+var L={j:function(a,b){if("node"===b)return H.j(a);a=Of(H.normalize(a));var c;switch(b){case "char":c=Bf(a);break;case "word":c=Qf(a);Nf(c,a)&&(c=Jf(a,Lf));break;case "boundary":c=Gf(a);break;default:c=Jf(a,Lf)}return c&&Of(c)},next:function(a,b){if("node"===b)return H.next(a);a=Mf(H.normalize(a));var c;switch(b){case "char":c=Af(a);break;case "word":c=Pf(a);Nf(a,c)&&(c=Jf(a,Kf));break;case "boundary":c=Ef(a);break;default:c=Jf(a,Kf)}return c},k:function(a){return Rf(a)?H.a(a):H.na(a)},nextNode:function(a){return Rf(a)?
+H.a(a):H.X(a)},Oe:yf,dd:zf,Ne:Of,He:Mf,Ac:Ef,Dd:Gf,F:function(a){if(H.F(a))return!0;if(H.$(a))return!sf.test(H.a(a).data.substr(0,H.offset(a)));a=H.na(a);return!F.G(a,K.H)},h:Rf,Ya:Nf,Ta:Hf,Ua:If,Bc:function(a,b,c){var d=H.ba(a,b),f=mf.ga(d,a).reverse(),h=mf.ga(d,b),l=H.a(a),m=F.children(l);c(m.slice(f[0],l===d?h[0]:m.length));f.slice(1,-1).reduce(function(a,b){var d=F.children(a);c(d.slice(b+1,d.length));return a.parentNode},l.parentNode);1<f.length&&c(F.children(d).slice(g.p(f)+1,h[0]));h.slice(1).reduce(function(a,
+b){var d=F.children(a);c(d.slice(0,b));return d[b]},F.children(d)[h[0]]);return[a,b]}};function Sf(a,b){if(!(0<b&&b<a.nodeValue.length))return a;var c=a.parentNode,d=a.nodeValue,f=c.ownerDocument,h=f.createTextNode(d.substring(0,b)),d=f.createTextNode(d.substring(b,d.length));c.insertBefore(h,a);c.insertBefore(d,a);c.removeChild(a);return h}function Tf(a,b,c,d){var f=a[0];a=a[1];f===b?a<=c||!c?f=d:(f=d.nextSibling,a-=c):f===d.parentNode&&(b=F.q(d),a>b&&(a+=1));return[f,a]}
+function Uf(a,b,c,d,f,h,l,m){var n=a[0];a=a[1];n===b?(n=d,a+=m?f:0):n===d?a+=m?0:c:n===h&&(a===l?(n=d,a=m?f:0):m||a!==l+1?a>l&&(a-=1):(n=d,a=c));return[n,a]}function Vf(a,b,c,d){var f=a[0];a=a[1];f===b||F.contains(b,f)?(f=c,a=d):f===c&&a>d&&(a-=1);return[f,a]}function Wf(a,b,c,d,f){var h=a[0],l=a[1];b===h&&(f?l>=c:l>c)&&(a=[h,l+d]);return a}
+function Xf(a,b,c,d,f){a=H.normalize(a);var h=a[0],l=a[1];if(!F.b(h)){var m=l<F.uc(h)?F.aa(h,l):null,h=0<l?F.aa(h,l-1):null;m===b?a=[m,0]:h===b&&(a=[h,F.m(h)])}return H.normalize(Wf(a,b,c,d,f))}function Yf(a,b,c){a=H.normalize(a);return Wf(a,b.parentNode,F.q(b),1,c)}function Zf(a,b){var c=Array.prototype.slice.call(arguments,2);return b.map(function(b){return a.apply(null,[b].concat(c))})}
+function $f(a,b){var c=a[0],d=a[1];if(F.b(c)&&0<d&&d<c.nodeValue.length){var f=H.mb(b);f.push(a);var h=Sf(c,d),c=Zf(Tf,f,c,d,h);a=c.pop();H.sb(b,c)}return a}var ag={BODY:!0,HTML:!0,STYLE:!0,SCRIPT:!0,AREA:!0,BASE:!0,BR:!0,COL:!0,COMMAND:!0,EMBED:!0,HR:!0,IMG:!0,INPUT:!0,KEYGEN:!0,LINK:!0,META:!0,PARAM:!0,SOURCE:!0,TRACK:!0,WBR:!0};
+function bg(a,b){a=H.normalize(a);if(b&&b(a))return a;if(H.$(a))return bg($f(a),b);var c=H.a(a);if(ag[c.nodeName])return a;var d=F.R(c),f=H.X(a);f&&F.move(F.la(f),d);F.fc(d,c);return bg(L.Ac(a),b)}function cg(a,b,c,d){if(!b||!F.b(b))return a;var f=H.mb(c),h=a.parentNode,l=F.q(a),m=a.length,n=b.length;b.insertData(d?n:0,a.data);h.removeChild(a);f=Zf(Uf,f,a,m,b,n,h,l,d);H.sb(c,f);return b}function dg(a,b){F.b(a)&&(a=cg(a,a.previousSibling,b,!0),cg(a,a.nextSibling,b,!1))}
+function eg(a,b,c,d,f,h){f.push([a,b]);f=Zf(Xf,f,a,b,c,d);a=f.pop();H.sb(h,f);return a}function fg(a,b,c,d){c.push([a.parentNode,F.q(a)]);c=Zf(Yf,c,a,b);a=c.pop();H.sb(d,c);return a}function gg(a,b){var c=H.mb(b),d=a.parentNode,f=F.q(a);d.removeChild(a);c=Zf(Vf,c,a,d,f);H.sb(b,c)}function hg(a){var b=H.a(a),c=b.ownerDocument.createRange();a=H.offset(a);c.setStart(b,a);c.setEnd(b,a);return c}function ig(a){return H.lb(a)[0]}
+var M={removeNode:function(a,b){var c=b.map(hg);gg(a,c);return c.map(ig)},Cg:function(a,b){gg(a,[b])},td:gg,ud:function(a,b){b.forEach(function(b){b.node===a&&(b.node.firstChild?b.next():b.Bd())});F.ua(a)},Dg:function(a,b,c){var d=F.rb(a,b);return c.reduce(function(a,c){return a.concat(d===H.a(c)?[H.create(b,H.offset(c))]:[c])},[])},re:function(a,b,c,d){var f=H.mb(d);if(!a.length)return b;var h=b[0],l=b[1];if(F.b(h)&&l<F.m(h))return h.insertData(l,a),eg(h,l,a.length,c,f,d);b=F.ma(h,l);h=H.h(H.K(h,
+l));if(F.b(b))return b.insertData(0,a),eg(b,0,a.length,c,f,d);if((l=h?b.lastChild:b.previousSibling)&&F.b(l))return b=F.m(l),l.insertData(b,a),eg(l,b,a.length,c,f,d);a=b.ownerDocument.createTextNode(a);F.f(a,b,h);return fg(a,c,f,d)},fa:function(a,b,c,d){var f=H.mb(d);b=$f(b,d);var h=H.nextNode(b);b=H.h(b);F.f(a,h,b);return fg(a,c,f,d)},Ng:Sf,Mg:function(a){$f(H.ra(a),[a]);$f(H.Va(a),[a])},Yc:function(a,b){dg(a,[b])},kg:dg,Mb:$f,tb:bg};function jg(a,b){var c=H.a(a),d=H.a(b),f=c.ownerDocument,d=f.createTextNode(F.b(d)?"]":"}"),c=f.createTextNode(F.b(c)?"[":"{"),f=H.J(a,b);a=M.Mb(H.ra(f),[f]);b=M.Mb(H.Va(f));F.f(d,H.nextNode(b),H.h(b));F.f(c,H.nextNode(a),H.h(a));return[a,b]}
+function kg(a,b){var c=!b;b=b||a;var d=H.ba(a,b),f=F.Y.DOCUMENT===d.nodeType?d:d.ownerDocument,h=mf.ga(d,a),l=mf.ga(d,b),m;if(d.parentNode)m=mf.ga(d.parentNode,H.ha(d)),d=H.a(mf.cb(d.parentNode.cloneNode(!0),m));else{d=d.cloneNode(!0);m=f.createDocumentFragment();var n=f.createDocumentFragment();F.append(d,n);F.append(n,m);m=[]}h=m.concat(h);l=m.concat(l);c?(c=mf.cb(d,h),h=H.a(c).ownerDocument.createTextNode(H.$(c)?"\u00a6":"|"),c=M.Mb(c),F.f(h,H.nextNode(c),H.h(c))):jg(mf.cb(d,h),mf.cb(d,l));if(F.Y.DOCUMENT_FRAGMENT!==
+d.nodeType)return d.outerHTML;f=f.createElement("div");F.append(d,f);return f.innerHTML}
+var lg={hint:function(a){if(Kb.yb(a.length))return"string"===typeof a[0].nodeName?kg(a):kg(a[0],a[1]);a=[H.K(a.startContainer,a.startOffset),H.K(a.endContainer,a.endOffset)];return kg(a[0],a[1])},f:jg,Zb:function(a){var b=["[","{","}","]"],c=0,d=[];F.ub(a,function(a){if(F.b(a)){var h=k.$e(a.nodeValue,/[\[\{\}\]]/g);if(g.contains(b,h[0])||!(2>h.length)){var l=!1;h.forEach(function(h,n){l=l||0===n;if(g.contains(b,h)){var q;if(0===c){if(q=0,"["!==h&&"{"!==h)throw"end marker before start marker";}else if(1===
+c){if(q=1,"]"!==h&&"}"!==h)throw"start marker before end marker";}else throw"Too many markers";c+=1;if("["===h||"]"===h){var s=a.previousSibling;s&&F.b(s)||(s=a.ownerDocument.createTextNode(""),a.parentNode.insertBefore(s,a));d[q]=[s,s.length];l=!1}else d[q]=[a.parentNode,F.q(a)],l=!0}else!l&&a.previousSibling&&F.b(a.previousSibling)?a.previousSibling.insertData(a.previousSibling.length,h):a.parentNode.insertBefore(a.ownerDocument.createTextNode(h),a)});a.parentNode.removeChild(a)}}});if(2!==c)throw"Missing one or both markers";
+return d}};var mg=zc;function ng(a){!p.Ea(a)||mg.De&&F.t(a,e.ca(F.isContentEditable))||a.firstChild&&F.s(a.firstChild,K.$a)||F.f(a.ownerDocument.createElement("br"),a,!0)}function og(a,b){return H.s(a,function(a){return H.n(a,b)||J.c(H.nextNode(a))?!1:H.h(a)?!F.e(H.a(a)):!0})}function pg(a,b){var c=!1;H.G(b,function(b){return H.n(a,b)?(c=!0,!1):0<H.offset(b)&&(b=F.ma(H.a(b),H.offset(b)-1),(F.b(b)||p.ab(b))&&K.o(b))?c=!1:!0});return c}
+function qg(a){return F.b(a)?K.o(a):0<F.children(a).filter(function(a){return p.g(a)||K.o(a)}).length}
+function rg(a){function b(a){return"BR"!==a.nodeName&&K.H(a)}if("BR"!==a.nodeName)return!1;var c=a.previousSibling&&F.G(a.previousSibling,b),d=a.nextSibling&&F.s(a.nextSibling,b);if(c&&d&&p.Ha(a.parentNode)||!(!c||"BR"!==c.nodeName&&J.c(c)||!d||"BR"!==d.nodeName&&J.c(d))||c&&"BR"===c.nodeName||d&&"BR"===d.nodeName)return!0;for(c=H.ha(a);L.F(c);){if(J.c(H.a(c)))return!0;c=H.j(c)}for(c=H.mc(H.ha(a));L.h(c);){if(J.c(H.a(c)))return!1;c=H.next(c)}return!J.c(L.nextNode(c))}
+function sg(a){var b=H.a(a).ownerDocument,c=b.createElement("br");a=M.fa(c,a,!0);return rg(c)?a:M.fa(b.createElement("br"),a)}function tg(a,b){var c=H.a(a);if(!y.pa(c.nodeName,b))return sg(a);c=c.ownerDocument.createElement(b);M.fa(c,a);return H.create(c,0)}function ug(a){return!K.M(a)&&(J.c(a)||F.e(a))}function vg(a){return M.tb(a,function(a){return ug(H.a(a))})}function wg(a,b){F.Ca(H.a(a),function(a){b=M.removeNode(a,b)},function(a){return J.c(a)||F.e(a)||K.o(a)});return b}
+function xg(a){var b=H.na(a);a=H.X(a);return b&&rg(b)?b:a&&rg(a)?a:null}function yg(a){var b=F.Ib(a).filter(p.g),c=F.qb(a).filter(p.g);a=a.parentNode;if(0<b.length){var d=F.R(a);F.nc([d],a);F.move(b,d)}0<c.length&&(b=F.R(a),F.pb([b],a),F.move(c,b))}
+function zg(a,b){yg(a);var c=a.ownerDocument,d=a.parentNode;if(!p.g(d.parentNode))return c=c.createElement(b),F.ua(d),F.rb(a,c),ng(c),H.create(c,0);var f=M.tb(H.ha(d),function(a){return p.ya(H.a(a))});F.remove(d);d=H.nextNode(f);return F.children(d).filter(K.o).length?(a=c.createElement("li"),ng(a),M.fa(a,f,!0),H.create(a,0)):H.create(d,0)};var Ag={Jb:ng,qd:function(a,b){function c(a){return f===a?!0:K.jg(a)?!1:p.g(a)?qg(a):K.o(a)}if(!pg(a,b))return[a,b];var d=H.nextNode(b),f=H.a(a),h=og(a,b);if(H.n(h,b))return F.Ca(d,F.remove,c),[a,a];var l=d.parentNode,m=F.la(d,J.c);0===m.length&&(l=d);m.reduce(function(a,b){return M.fa(b,a,!0)},h);l&&F.Ca(l,F.remove,c);return[a,a]},Qc:function(a,b){var c=xg(a);c&&(a=M.fa(c.ownerDocument.createElement("br"),a,!0));var d=H.a(a);if(p.g(d)&&!d.firstChild)return zg(d,b);var c=vg(a),f=H.X(c),h=f?F.la(f):
+[],d=H.a(c);f&&ug(f)?c=tg(c,b):F.e(d)?(c=tg(c,b),f=H.a(c),h=F.move(h,f,ug),F.pb(h,f)):c=M.tb(c,function(a){return H.a(a)===d.parentNode});h=H.G(c,function(a){var b=H.k(a);return!(H.F(a)||K.M(b)||F.b(b))});c=H.s(c,function(a){var b=H.nextNode(a);return!(H.h(a)||K.M(b)||F.b(b))});c=[h,c];c=wg(c[0],c);c=wg(c[1],c);d=H.a(c[1]);!d.firstChild&&p.Eb(d)&&(c=M.Dg(d,d.ownerDocument.createElement(b),c));h=c[0];c=c[1];ng(H.a(h));ng(H.a(c));return(h=(h=H.X(c))&&F.s(h,function(a){return!rg(a)&&K.H(a)}))&&ug(h)?
+M.fa(h.ownerDocument.createElement("br"),c):c},Rc:sg,Ge:og,we:rg,xe:pg,Sg:function(a){yg(a);F.ua(a.parentNode);for(var b=a.ownerDocument,c=F.children(a).filter(K.o),d,f=[];0<c.length;)J.c(c[0])?f.push(c.shift()):(c=g.split(c,J.c),d=b.createElement("p"),F.move(c[0],d),f.push(d),c=c[1]);F.pb(f,a);F.remove(a);return f},Hh:yg},N={o:K.o,H:K.H,$a:K.$a,parse:K.parse,M:K.M,Wc:J.Wc,lc:J.lc,Cb:J.Cb,Xa:J.Xa,c:J.c,Jb:Ag.Jb,Qc:Ag.Qc,qd:Ag.qd,Rc:Ag.Rc,we:Ag.we,Ge:Ag.Ge,xe:Ag.xe,j:L.j,next:L.next,k:L.k,nextNode:L.nextNode,
+Oe:L.Oe,dd:L.dd,Ne:L.Ne,He:L.He,F:L.F,h:L.h,Ya:L.Ya,Ta:L.Ta,Ua:L.Ua,Ac:L.Ac,Dd:L.Dd,Bc:L.Bc,Ea:p.Ea,ia:p.ia,Ga:p.Ga,Eb:p.Eb,Ha:p.Ha,ya:p.ya,g:p.g,Xc:p.Xc,Fb:p.Fb,ab:p.ab};function Bg(a){var b=N.next(a,"char");return b&&H.$(b)?(a=H.a(b),b=H.offset(b),a.data.substr(b-1,1)):""}function Cg(a,b){var c=N.j(a,b);return"word"===b&&k.Sb.test(Bg(c))?Cg(c,b):c}function Dg(a,b){return"word"===b&&k.Sb.test(Bg(a))?Dg(N.next(a,"char"),b):N.next(a,b)}function Eg(a,b){var c=H.ba(a,b),c=F.Oa(c,function(a){return N.c(a)||F.e(a)}),c=g.p(c),d=F.m(c);return[H.create(c,0),Dg(H.create(c,d))]}
+var O={expand:function(a,b,c){switch(c){case "word":return[Cg(a,"word")||a,Dg(b,"word")||b];case "block":return Eg(a,b);default:throw'"'+c+"\"? what's that?";}},next:Dg,j:Cg,wa:N.Dd,forward:N.Ac,F:N.F,h:N.h,fg:N.fg,Gc:function(a){if(H.W(a))return a;var b=N.dd(a);a=H.a(a);return-1===b?H.Da(a):H.create(a,b)}};function Fg(a){return"#text"===a.name()}function Gg(a,b){a=arguments[0];return 1===arguments.length?Fg(a)?a.text():a.children():Fg(a)?a.text(b.join("")):a.children(b)}function Hg(a,b,c){return{N:a,L:b,frames:c}}function Ig(a){return g.p(a.frames)}function P(a){return a.L[0]}function Jg(a,b){b="number"===typeof b?b:1;return 0===b?a:Hg(a.N.concat(a.L.slice(0,b)),a.L.slice(b),a.frames.concat())}function Kg(a){return Hg([],Gg(P(a)),a.frames.concat(a))}
+function Lg(a){var b=a.N.concat(a.L),c=g.p(a.frames),b=Gg(P(c),b);return Hg(c.N.concat(),[b].concat(c.L.slice(1)),a.frames.slice(0,-1))}function Mg(a){return a.frames.reduce(Lg,a)}function Ng(a){return a.reduce(function(a,c){return a+c.text().length},0)}
+function Og(a,b){a=Mg(a);for(var c,d=[];;)if(Pg(a)){a=Lg(a);if(Qg(a))break;d=d.slice(0,-1);c=b(P(a),d);a=Jg(Rg(a,c),c.length)}else Sg(a)?(c=!0===P(Lg(a)).Uc?Ng(a.N.filter(Fg)):a.N.length,c=b(P(a),d.concat(c)),a=Jg(Rg(a,c),c.length)):(Qg(a)||d.push(a.N.length),a=Kg(a));return a}function Tg(a,b){b=b||e.vd;for(a=Mg(a);b(a);)if(Pg(a)){do{if(Qg(a))return a;a=Lg(a)}while(Pg(a));a=Jg(a)}else a=Sg(a)?Jg(a):Kg(a);return a}
+function Ug(a){var b=a.children().filter(Fg).reduce(function(a,b){return a.concat(b.text())},[]).join("");return a.jd&&a.jd.text()===b?a.jd:Vg([b])}function Wg(a){return P(a).domNode()}function Xg(a){return"string"===typeof a?"\u201c"+a+"\u201d":Fg(a)?a.text():a.domNode().outerHTML}function Yg(a,b){return[a.substr(0,b),a.substr(b)]}function Zg(a,b,c){c=c?c.constructor===Ld||c.constructor===vb?[c]:c:[];return Hg(a.N.concat(),c.concat(a.L.slice(b)),a.frames.concat())}
+function $g(a,b){return Zg(a,0,b)}function Rg(a,b){return Zg(a,1,b)}var ah=0;function bh(a){var b=document.createElement("code");b.innerHTML=++ah;b=Ld(b);b.jc=!0;b.Ce=a;return b}function ch(a){return!0===a.jc}
+function dh(a,b){var c={};v.forEach(b,function(b,f){var h,l;h=a;h=Mg(h);l=Wg(h);var m=l.ownerDocument.body;l=mf.ga(m,H.ha(l));var m=mf.ga(m,b),n;b:{for(n=0;n<l.length;n++)if(m[n]!==l[n]){n=[];break b}n=m.slice(n)}if(0===n.length)l=null;else{l=bh(f);b:{m=h;for(h=n.concat().reverse();h.length;){for(;ch(P(m));)m=Jg(m);n=h.pop();if(Fg(P(m))){h=m;m=n;m=Yg(Gg(P(h)),m);h=Hg([m[0]],[m[1]],h.frames.concat(h));break b}if(!0===P(m).Uc){d:{var q=n;if(0===q)n=[0];else{n=P(m).children();for(var s=n.length,t=0,
+z=void 0,z=void 0;t<s;)if(z=n[t],ch(z))t++;else{z=q-z.text().length;if(0===z){n=[t+1];break d}if(0>z){n=[t,q];break d}t++;q=z}throw"Text offset out of bounds";}}m=Jg(Kg(m),n[0]);1!==n.length&&(n=Yg(Gg(P(m)),n[1]),m=Jg(Zg(m,1,[Gg(Vg(),[n[0]]),Gg(Vg(),[n[1]])])))}else s=n,n=Kg(m),m=s+P(m).children().slice(0,s).filter(ch).length,m=Jg(n,m)}h=m}"string"===typeof P(h)&&(m=Lg(h),n=Ld(document.createElement("q")),n.Uc=!0,n.jd=P(m),h=Hg([Gg(Vg(),h.N)],[Gg(Vg(),h.L)],Kg(Rg(m,n)).frames.concat()));h=$g(h,l)}c[f]=
+l;a=h});return{ob:a,Gb:c}}function Vg(a){var b=document.createTextNode("");return"undefined"===typeof a?Ld(b):Gg(Ld(b),a)}function Qg(a){return 0===a.frames.length}function Sg(a){a=P(a);return"#text"===a.name()||ch(a)||N.ab(a.domNode())}function Pg(a){return 0===a.L.length}
+function eh(a,b){b=b||e.v;if(Qg(Ig(a))||b(a))return a;var c,d,f=Lg(a);"string"===typeof P(a)?(c=Vg(),d=Vg()):(c=Ld(F.R(P(f).domNode())),d=Ld(F.R(P(f).domNode())));c=Gg(c,a.N);d=Gg(d,a.L);a=Hg(f.N.concat(c),[d].concat(f.L.slice(1)),f.frames.concat());return eh(a,b)}function fh(a,b){a=Tg(Mg(a),function(a){a=P(a);return!(a&&ch(a)&&a===b)});return Qg(a)?null:a}
+var Q={go:fh,Ra:Wg,hint:function(a){return a.N.map(Xg).concat("\u2593",a.L.map(Xg)).join("")},update:function(a){var b=[];a=Og(a,function(a,c){return ch(a)?(a.Ce&&b.push({name:a.Ce,path:c}),[]):[!0===a.Uc?Ug(a):a]});var c=P(a).updateDom().domNode();return b.reduce(function(a,b){a[b.name]=mf.cb(c,b.path);return a},{})},xb:function(a){return g.p(a.N)},Ma:P,j:function(a,b){b="number"===typeof b?b:1;return 0===b?a:Hg(a.N.slice(0,-b),a.N.slice(-b).concat(a.L),a.frames.concat())},next:Jg,Ob:Lg,Sa:Kg,root:Mg,
+sg:Ig,split:eh,splice:Zg,f:$g,replace:Rg,remove:function(a){return Zg(a,1)},Jd:function(a,b){return dh(Hg([],[Ld(a)],[]),b)},F:function(a){return 0===a.N.length},h:Pg,Cd:function(a,b,c){return eh(fh(a,b),c)},dg:function(a,b,c){return $g(fh(a,b),c)},jc:ch,Kf:bh};function gh(a,b){if(a!==b)throw Error("assertion error "+a+" !== "+b);}function hh(){throw Error();}function ih(a){a=H.normalize(a);return H.W(a)?H.F(a)?null:F.aa(a[0],a[1]-1):a[0]}function jh(a){a=H.normalize(a);return H.W(a)?H.h(a)?null:F.aa(a[0],a[1]):a[0].nextSibling}function kh(a){a=H.normalize(a);var b=ih(a),c=0;H.W(a)||(c+=a[1],b=b.previousSibling);for(;b&&F.b(b);)c+=F.m(b),b=b.previousSibling;return c}function lh(a,b,c){return{changes:b,meta:a,selection:c}}
+function mh(a,b){for(var c=[];b&&a!==b;){var d=b.parentNode;if(!d)return[];var f=F.qc(b);c.push([f,d.nodeName]);b=d}c.reverse();return c}function nh(a,b){for(var c=0;c<b.length-1;c++){var d=b[c];gh(d[1],a.nodeName);a=F.rc(a,d[0])}d=g.p(b);c=d[0];a=F.s(a,F.Db);gh(d[1],a.nodeName);if(F.b(a)){if(0===c)throw Error("assertion error "+c+" === 0");for(;c>F.m(a);)d=F.b(a),gh(d,!0),c-=F.m(a),a=a.nextSibling;F.b(a)||(gh(c,0),a=a.parentNode,c=F.q(a))}else c=F.wc(a,c);return H.normalize([a,c])}
+function oh(a,b){var c=mh(a,b),d=F.sc(b);c.push([d,b.nodeName]);return c}function qh(a,b){b=H.normalize(b);var c,d=kh(b);d?(c=ih(b),c=F.G(c,F.Db),c=mh(a,c),c.push([d,"#text"])):c=H.h(b)?oh(a,b[0]):mh(a,jh(b));return c}function rh(a,b){if(!b)return null;var c=qh(a,H.ra(b)),d=qh(a,H.Va(b));return c&&d?{start:c,end:d}:null}function sh(a,b){if(b.opts.noObserve)a.observer.discardChanges();else{var c=a.observer.takeChanges();c.length&&b.records.push({changes:c})}}
+function th(a,b,c,d){(d.opts.partitionRecords&&!d.opts.noObserve||!!c.opts.noObserve!==!!d.opts.noObserve)&&sh(a,b)}function uh(a){a.frame&&(a.observer.disconnect(),a.frame=null)}function vh(a,b){b=b||{};var c=a.frame,d=a.observer,f=a.elem,h={opts:v.i(b,{noObserve:b.noObserve||c&&c.opts.noObserve}),records:[],oldRange:rh(f,b.oldRange),newRange:null};c?(th(a,c,h,c),a.stack.push(c)):d.observeAll(f);a.frame=h}
+function wh(a,b){var c=a.frame,d=a.stack.pop();d?th(a,c,c,d):(sh(a,c),uh(a));var f=c.opts.noObserve;gh(!(f||!b||!b.changes),!1);f&&b&&b.changes&&b.changes.length&&c.records.push({changes:b.changes});c.newRange=rh(a.elem,b&&b.newRange);d&&(d.records.push({frame:c}),a.frame=d);return c}function xh(a,b,c){vh(a,b);b=c();return wh(a,b)}function yh(a,b,c){xh(a,v.i(b,{noObserve:!0}),c);(a=a.frame)&&a.records.pop()}function zh(a,b){return{type:"insert",path:a,content:b}}
+function Ah(a,b){return{type:"delete",path:a,content:b}}function Bh(a,b,c){var d=[];v.forEach(c,function(a){var c=a.name,l=a.ns;d.push({name:c,ns:l,oldValue:a.oldValue,newValue:F.fe(b,l,c)})});return{type:"update-attr",path:a,attrs:d}}
+function Ch(a,b,c,d){a.forEach(function(a){var h=F.da(a.node),l=a.type;if(4===l){var l=a.u,m=a.target,n=l?c:d,q=F.da(l?l:m),s=n[q]=n[q]||[];b[h]?delete b[h]:s.push(a);if(a=c[h])delete c[h],!s.length&&a.length&&(h=a[0],h.u=l,h.target=m),n[q]=s.concat(a)}else 0===l?(gh(!!b[h],!1),b[h]=a):hh()})}function Dh(a,b){var c=b.u,d=b.target,f=a.node;return c?c===f||F.contains(c,f)?!0:!F.qa(c,f)&&!F.contains(f,c):d===f||F.contains(d,f)?!1:!F.qa(d,f)&&!F.contains(f,d)}
+function Eh(a,b){var c=b.u,d=b.target;return c?F.contains(c,a)?!0:F.contains(a,c)?!1:F.qa(a,c):a===d||F.contains(d,a)||F.contains(a,d)?!1:F.qa(a,d)}function Fh(a,b){var c=4&a.type,d=4&b.type,f;if(c&&d){c=a.u;d=b.u;f=a.target;var h=b.target;f=c?Eh(c,b):d?!Eh(d,a):F.qa(f,h)}else c||d?!c&&d?f=Dh(a,b):c&&!d&&(f=!Dh(b,a)):f=F.qa(a.node,b.node);return f?-1:1}function Gh(a){a.sort(Fh);a.forEach(function(a){(5===a.type?a.records:[a]).forEach(function(a){a.Pa&&4&a.type&&Gh(a.Pa)})})}
+function Hh(a,b){var c={};b.forEach(function(a){(5===a.type?a.records:[a]).forEach(function(a){var b=a.type;if(b&4||0===b){var b=F.da(a.node),d=c[b]||[];d.push(a);c[b]=d}})});var d=F.da(a);gh(!!c[d],!1);var f={type:0,node:a,Pa:[]};c[d]=[f];b.forEach(function(a){var b=F.t(4&a.type?a.target:a.node.parentNode,function(a){return!c[F.da(a)]});b&&c[F.da(b)].forEach(function(b){b.Pa.push(a)})});return f.Pa}
+function Ih(a,b,c,d){function f(a){var b=F.da(a.node);4===a.type&&(a.df=c[b],a.ef=d[b]);delete c[b];delete d[b]}var h={},l={},m={};Ch(b,m,h,l);b=v.eb(h).concat(v.eb(l));b=b.filter(function(a){return a.length});b=b.map(function(a){var b=a[0];a.forEach(f);return{type:5,records:a,target:b.target,u:b.u}});m=v.eb(m);m.forEach(f);a=Hh(a,b.concat(m).concat(v.eb(c)).concat(v.eb(d)));Gh(a);return a}
+function Jh(a,b,c){var d=b.u;d?(b=F.q(d)+1,d=[d.parentNode,b]):d=[b.target,0];c?(c=H.normalize(d),d=jh(c),kh(c)&&(d=F.s(d,F.b)),a=d?mh(a,d):oh(a,c[0])):a=qh(a,d);return a}function Kh(a){var b=a.node,c;F.b(b)?c=(a=a.ef)?b.ownerDocument.createTextNode(a.oldValue):F.clone(b):(c=F.clone(b),(b=a.df)&&v.forEach(b.attrs,function(a){F.xd(c,a.ns,a.name,a.oldValue)}));return c}
+function Lh(a,b,c,d){var f=null,h=null;d.forEach(function(d){var m=d.type,n;if(5===m){h=null;n=a.concat(Jh(b,d));var q=a.concat(Jh(b,d,!0)),s=null;d.records.forEach(function(a){var b=a.Pa;b.length&&(Lh(q,a.node,c,b),s=null);a=Kh(a);s?s.push(a):(s=[a],c.push(Ah(n,s)))})}else 0===m?(m=d.node,n=a.concat(qh(b,[m.parentNode,F.q(m)])),h&&h===m.previousSibling?f.push(F.clone(m)):(f=[F.clone(m)],c.push(zh(n,f))),h=m):1===m?(h=null,m=d.node,n=a.concat(qh(b,[m.parentNode,F.q(m)])),c.push(Bh(n,m,d.attrs))):
+2===m?(h=null,m=d.node,n=a.concat(qh(b,[m.parentNode,F.q(m)])),c.push(Ah(n,[m.ownerDocument.createTextNode(d.oldValue)])),c.push(zh(n,[F.clone(m)]))):hh()})}
+function Mh(a,b){var c={},d={},f=[];b.forEach(function(a){var b=a.target,h=a.oldValue,l=a.type,t;if("attributes"===l)l=a.attributeName,a=a.attributeNamespace,t=F.da(b),t=(c[t]=c[t]||{type:1,node:b,attrs:{}}).attrs,h={oldValue:h,name:l,ns:a},l=l+" "+a,t[l]=t[l]||h;else if("characterData"===l)t=F.da(b),d[t]=d[t]||{type:2,node:b,oldValue:h};else if("childList"===l){var z=a.previousSibling;g.V(a.removedNodes).forEach(function(a){f.push({type:4,node:a,target:b,u:z,Pa:[],df:null,ef:null})});g.V(a.addedNodes).forEach(function(a){f.push({type:0,
+node:a,Pa:[]})})}else hh()});var h=Ih(a,f,c,d),l=[];Lh([],a,l,h);return l}function Nh(){function a(){var a=c.concat(d.takeRecords());c.length=0;return Mh(b,a)}var b=null,c=[],d=new MutationObserver(function(a){c=c.concat(a)});return{observeAll:function(a){d.observe(a,{childList:!0,attributes:!0,characterData:!0,subtree:!0,attributeOldValue:!0,characterDataOldValue:!0});b=a},takeChanges:a,discardChanges:a,disconnect:function(){b=null;c.length=0;d.disconnect();d=null}}}
+function Oh(){var a=null,b=null;return{observeAll:function(c){a=c;b=F.clone(c)},takeChanges:function(){if(F.isEqualNode(b,a))return[];var c=b,d=F.clone(a);b=d;var f=[];f.push([0,d.nodeName]);var h=[];h.push(Ah(f,F.children(c)));h.push(zh(f,F.children(d)));return h},discardChanges:function(){b=F.clone(a)},disconnect:function(){b=a=null}}}
+function Qh(a,b,c,d,f){var h=b.type,l,m;"update-attr"===h?(l=nh(a,b.path),m=jh(l),b.attrs.forEach(function(a){F.xd(m,a.ns,a.name,a.newValue)})):"update-range"===h?(h=b.newRange,c&&h&&(b=nh(a,h.start),a=nh(a,h.end),H.yc(c,b,a))):"insert"===h?(l=nh(a,b.path),b.content.forEach(function(a){a=F.clone(a);F.b(a)&&f.push(a);l=M.fa(a,l,!0,d)})):"delete"===h?(l=nh(a,b.path),l=M.Mb(l,d),m=F.ma(l[0],l[1]),b.content.forEach(function(a){var b;if(F.b(a))for(var c=F.m(a);c;){gh(m.nodeName,a.nodeName);var h=F.m(m);
+c>=h?(b=m.nextSibling,M.td(m,d),c-=h):(l=M.Mb([m,c],d),c=ih(l),b=jh(l),M.td(c,d),c=0,f.push(b));m=b}else b=m.nextSibling,gh(m.nodeName,a.nodeName),M.td(m,d),m=b})):hh()}function Rh(a,b,c){var d=[];b.forEach(function(b){Qh(a,b,null,c,d)});d.forEach(function(a){M.kg(a,c)})}function Sh(a,b,c,d){Rh(a,b.changes,d);c&&b.selection&&Qh(a,b.selection,c,d,[])}
+function Th(a){var b=a.type,c;"update-attr"===b?c=v.i(a,{attrs:a.attrs.map(function(a){return v.i(a,{oldValue:a.newValue,newValue:a.oldValue})})}):"update-range"===b?c=v.i(a,{oldRange:a.newRange,newRange:a.oldRange}):"insert"===b?c=v.i(a,{type:"delete"}):"delete"===b?c=v.i(a,{type:"insert"}):hh();return c}function Uh(a){var b=a.changes.slice(0).reverse().map(Th);return lh(a.meta,b,Th(a.selection))}
+function Vh(a,b){var c=[];b.records.forEach(function(b){var f=b.frame;b=f?Vh(a,f):b.changes;c=c.concat(b)});return c}function Wh(a,b){return lh(a.opts.meta,b,{type:"update-range",oldRange:a.oldRange,newRange:a.newRange})}function Xh(a,b){var c=[];b.records.forEach(function(d){var f;(f=d.frame)?(d=Vh(a,f),f=Wh(f,d)):f=Wh(b,d.changes);c.push(f)});return c}
+function Yh(a){gh(!!a.stack.length,!1);var b=a.history,c=a.historyIndex,d=a.frame;sh(a,d);var f=Xh(a,d);if(f.length){b.length=c;c=g.p(b);if(1===f.length&&c&&!a.eg){var h=f[0],l=a.opts,m=c.changes,n=h.changes;if(m.length&&n.length){var q=c.meta&&c.meta.type,s=h.meta&&h.meta.type;if("typing"!==q&&"enter"!==q||"typing"!==s)c=null;else{var m=m[0],n=n[0],q=m.path,s=n.path,t=g.p(q),z=g.p(s);t&&"#text"!==t[1]&&(t=["#text",0],q=q.concat([t]));"insert"!==m.type||m.type!==n.type||"#text"!==t[1]||t[1]!==z[1]||
+1!==m.content.length||1!==n.content.length||!F.b(m.content[0])||!F.b(n.content[0])||l.ng<=F.m(m.content[0])||t[0]+F.m(m.content[0])!==z[0]||!g.Yb(q.slice(0,q.length-1),s.slice(0,s.length-1),g.Yb)?c=null:(l=F.clone(m.content[0]),l.insertData(F.m(l),n.content[0].data),c=lh(c.meta,[zh(q,[l])],{type:"update-range",oldRange:c.selection.oldRange,newRange:h.selection.newRange}))}}else c=null;c&&(b.pop(),f=[c])}a.eg=!1;b=b.concat(f);f=a.opts.og;b.length>f&&(b=b.slice(b.length-f,b.length));d.records=[];a.history=
+b;a.historyIndex=b.length}}
+var R={oa:function(a,b){b=v.i({ng:20,og:1E3},b);var c={elem:a,observer:null,stack:[],frame:null,opts:b,history:[],historyIndex:0};c.observer=!b.noMutationObserver&&window.MutationObserver?Nh():Oh();return c},ee:vh,close:uh,lg:wh,Ub:xh,rg:qh,mh:function(a,b){var c=Vh(a,b);return Wh(b,c)},zh:Uh,jh:Sh,hh:Yh,mg:zh,undo:function(a,b,c){Yh(a);var d=a.history,f=a.historyIndex;if(f){var f=f-1,h=Uh(d[f]);yh(a,{meta:{type:"undo"}},function(){Sh(a.elem,h,b,c)});a.historyIndex=f}},Qe:function(a,b,c){Yh(a);var d=
+a.history,f=a.historyIndex;if(f!==d.length){var h=d[f],f=f+1;yh(a,{meta:{type:"redo"}},function(){Sh(a.elem,h,b,c)});a.historyIndex=f}}};function Zh(a,b){return a[b.nodeName]}function $h(a){return N.o(a)?!F.r(a)||"none"!==F.T(a,"display"):!1}function ai(a,b,c){var d=bi;return b.filter(e.d(e.ca(Zh),a.Qa)).filter($h).reduce(function(b,h){c(a,h).forEach(function(h){b=b.concat(d(a,h,c))});return b},[])}function ci(a){return a.reduce(function(a,c){var d=F.children(c);1===d.length&&N.c(d[0])&&(N.Ga(c)?N.ia(d[0])||F.ua(d[0]):!N.ia(c)&&N.c(c)&&(c=d[0]));d=F.R(c);F.move(ci(F.children(c)),d);return a.concat(d)},[])}
+function bi(a,b,c){return c(a,b).reduce(function(b,f){if(a.Qa[f.nodeName]||!$h(f))return b;var h=ai(a,F.children(f),c);if("DIV"===f.nodeName){var l=a.defaultBlock,m=N.Ha,n=[],q,s=h.length,t;for(t=0;t<s;t++){for(q=[];t<s&&m(h[t]);)q.push(h[t]),t++;0<q.length&&(n.push(q[0].ownerDocument.createElement(l)),F.move(q,g.p(n)));t<s&&n.push(h[t])}h=n}l=F.R(f);F.move(ci(h),l);return b.concat(l)},[])}
+var di={Ld:{defaultBlock:"p",hb:y.hb(),gb:y.gb(),Qa:y.Qa(),Hb:y.Hb()},normalize:function(a,b,c){var d=b.ownerDocument.createDocumentFragment();F.move(bi(a,b,c),d);return d},Zb:function(a){a=a.replace(/\n/g," ");a=a.replace(/<iframe.*?<\/iframe>/g,"");var b=/<body.*?>/i.exec(a),c=/<\/body.*?>/i.exec(a);return b&&c?(b=a.indexOf(b[0])+b[0].length,c=a.indexOf(c[0]),a.slice(b,c)):a},xc:function(a,b){var c=a.ownerDocument.createElement(b);F.move(F.children(F.clone(a)),c);return c}};var ei=/MsoToc(\d+)/;function fi(a){return F.r(a)?(a=ei.exec(F.ea(a,"class")))?0<a.length:!1:!1}function gi(a,b){var c=a.node.ownerDocument.createElement("ul"),d=a.items.reduce(function(c,d){var l=d.reduce(function(a,c){return a.concat(c[b]?gi(c,b):c)},[]),m=a.node.ownerDocument.createElement("li");F.xa(l,m);return c.concat(m)},[]);F.move(d,c);return c}
+function hi(a){var b=e.ca(fi),c=F.children(a),d=[],f=c.length,h,l,m;for(h=0;h<f;h++)if(m=c[h],"P"===m.nodeName&&F.hasClass(m,"MsoTocHeading"))d.push(di.xc(m,"h1"));else if(fi(m)){l=m=g.split(F.la(m),b)[0];for(var n=hi,q=void 0,s=void 0,t=void 0,z=void 0,x=void 0,Y=void 0,W=t=void 0,ha="_aloha"+(new Date).getTime(),q=0;q<l.length;q++){z=n(l[q]);W=(s=ei.exec(F.ea(z,"class")))&&s[1]?parseInt(s[1],10):null;if(!x)Y=x={parent:null,ka:1,node:z,items:[]},x[ha]=!0;else if(W>x.ka)for(s=x.ka;s<W;s++)x={parent:x,
+ka:s+1,node:z,items:[]},x[ha]=!0,t=g.p(x.parent.items),t||(t=[],x.parent.items.push(t)),t.push(x);else if(W<x.ka)for(s=W,t=x.ka;s<t&&x.parent;s++)x=x.parent;x.items.push(F.children(z))}if(l=Y&&gi(Y,ha))d.push(l),h+=m.length-1}else d.push(hi(m));a=F.clone(a,!1);F.move(d,a);return a};var ii={transform:hi},ji=/xml|v\:\w+/i,ki=/o\:(\w+)/i;function li(a,b){if(b.nodeType===F.Y.COMMENT||ji.test(b.nodeName))return[];if(F.b(b))return[F.clone(b)];if(F.hasClass(b,"MsoTitle"))return[di.xc(b,"h1")];if(F.hasClass(b,"MsoSubtitle"))return[di.xc(b,"h2")];var c;return(c=(c=b.nodeName.match(ki))?c[1]:null)?[di.xc(b,c)]:[F.clone(b)]}
+var mi={transform:function(a,b,c){c||(c=di.Ld);a=N.parse(di.Zb(a),b);b=b.createElement("div");F.move(a,b);c=di.normalize(c,b,li)||b;c=ge.transform(c);c=ii.transform(c);c=Ud.transform(c);c=F.children(c);return 0===c.length?"":c[0].innerHTML},ig:function(a,b){var c=b.createElement("div");F.move(N.parse(a,b),c);return null!==c.querySelector('[style*="mso-"],[class^="Mso"]')}};var ni={1:"0.63em",2:"0.82em",3:"1em",4:"1.13em",5:"1.5em",6:"2em",7:"3em"};function oi(a,b){var c=(a["*"]||[]).concat(a[b.nodeName]||[]);g.contains(c,"*")||(c=c.reduce(function(a,c){a[c]=F.T(b,c);return a},{}),F.pd(b,"style"),v.forEach(c,function(a,c){a&&F.l(b,c,a)}))}
+function pi(a,b){b=F.clone(b);if(F.b(b))return[b];var c;switch(b.nodeName){case "IMG":c=b;var d=F.ea(c,"width"),f=F.ea(c,"height");d&&F.l(c,"width",d);f&&F.l(c,"height",f);break;case "FONT":c=b;do{var d=F.children(c),f=F.T(c,"color")||F.ea(c,"color"),h=F.T(c,"font-size")||ni[F.ea(c,"size")],l=F.T(c,"font-family")||F.ea(c,"face"),m=void 0;1===d.length&&F.r(d[0])?m=d[0]:(m=c.ownerDocument.createElement("span"),F.move(d,m));f&&F.l(m,"color",f);h&&F.l(m,"font-size",h);l&&F.l(m,"font-family",l);c=m}while("FONT"===
+c.nodeName);break;case "CENTER":c=b;break;default:c=b}if(F.hc(c))return[c];d=c;f=a.gb;h=(f["*"]||[]).concat(f[d.nodeName]||[]);f=v.keys(F.attrs(d));h=g.Sc(h,f);g.Wb(f,h).forEach(e.d(F.pd,d));oi(a.hb,c);"SPAN"===c.nodeName&&(F.cc(c)||(d=c.ownerDocument.createDocumentFragment(),F.move(F.children(c),d),c=d));d=F.children(c);for(f=0;f<d.length;f++)if(!y.pa(c.nodeName,d[f].nodeName))return d;return[c]};var qi={Oc:function(a,b,c){c||(c=di.Ld);var d=b.createDocumentFragment();F.move(N.parse(di.Zb(a),b),d);return F.vc(di.normalize(c,d,pi))},Ke:function(a){return a.split(/\n/).reduce(function(a,c){return a.concat("<p>",c.trim()||"<br>","</p>")},[]).join("")},Ee:mi.transform};function ri(a,b){return a.editables[F.da(b)]}function si(a){F.addClass(a,"aloha-editable");F.T(a,"min-height")||F.l(a,"min-height","1em");var b=R.oa(a);return{id:F.da(a),elem:a,Nb:b}}function ti(a,b){delete a.editables[b.id]}function ui(a,b){a.editables[b.id]=b}function vi(a){R.close(a.undoContext)}
+var wi={defaultBlock:"p",hb:y.hb(),gb:y.gb(),Qa:y.Qa(),Hb:y.Hb()},xi={kf:si,Vf:ri,ga:function(a,b){var c=H.a(b);return(c=F.t(c,function(b){return!a.editables[F.da(b)]}))&&ri(a,c)},lh:ui,qh:ti,close:vi,create:function(a,b,c){var d=si(b);F.l(b,"cursor","text");d.We=v.i({},wi,c);ui(a,d);R.ee(d.Nb,{meta:{type:"external"},partitionRecords:!0});return d},de:function(a,b){var c=ri(a,b);vi(c);ti(a,c);return c}};var yi={A:"link",U:"underline",B:"bold",STRONG:"bold",I:"italic",EM:"italic",STRIKE:"strikethrough",SUB:"subscript",SUP:"superscript"},zi={link:"A",underline:"U",bold:"B",italic:"I",strikethrough:"STRIKE",subscript:"SUB",superscript:"SUP"},Ai={bold:["fontWeight","bold",null],italic:["fontStyle","italic",null],underline:["textDecoration","underline","none"],strikethrough:["textDecoration","line-through","none"]},Bi="textTransform backgroundColor color fontSize fontFamily border borderColor borderStyle borderWidth borderTop borderTopColor borderTopStyle borderTopWidth borderBottom borderBottomColor borderBottomStyle borderBottomWidth borderLeft borderLeftColor borderLeftStyle borderLeftWidth borderRight borderRightColor borderRightStyle borderRightWidth".split(" ");
+function Ci(a){var b=[];v.forEach(Ai,function(c,d){var f=F.T(a,c[0]);f&&(c[2]?f===c[2]?b.push([d,!1]):f===c[1]&&b.push([d,!0]):b.push([d,f===c[1]]))});return b}function Di(a){if(F.b(a))return[];var b=yi[a.nodeName];return(b?[[b,!0]]:[]).concat(Ci(a))}function Ei(a){return F.b(a)?[]:Bi.reduce(function(b,c){var d=F.T(a,c);return d?b.concat([[c,d]]):b},[])}
+function Fi(a,b){for(var c=F.Na(a,b||F.e),d=[],f={},h=c.length,l,m,n,q,s;h--;){n=Di(c[h]);l=0;for(m=n.length;l<m;l++)q=n[l],s=f[q[0]],Kb.yb(s)&&d.splice(s-1,1,null),f[q[0]]=d.push(q);d=d.concat(Ei(c[h]))}return d.reduce(function(a,b){return b?a.concat([b]):a},[])}
+function Gi(a,b){for(var c=H.a(b),d=F.Na(c,F.e),f=zi[a],h=Ai[a],l=h[0],h=h[1],m=d.length,n,q;m--;)if(q=d[m],F.r(q)&&(f===q.nodeName||F.T(q,l)===h)){n=q.parentNode;break}if(!n)return b;c=Fi(c,function(a){return a==n}).reduce(function(b,c){return a===c[0]?b:b.concat([c])},[]);b=M.tb(b,function(a){return H.a(a)===n});d=[b];f=H.k(d[0]);N.H(f)&&(d=M.removeNode(f,d));f=H.nextNode(d[0]);N.H(f)&&(d=M.removeNode(f,d));return Hi(d[0],c)}
+function Hi(a,b){var c=H.document(a),d;v.forEach(v.Zc(b),function(b,h){if(zi[h])if(b){var l=c.createElement(zi[h]);d?F.Ka(d,l):(M.fa(l,a),a=H.create(l,0));d=l}else a=Gi(h,a);else d||(d=c.createElement("span"),M.fa(d,a),a=H.create(d,0)),F.l(d,h,b)});return a}function Ii(a,b){for(var c=0;c<a.length;c++)if(b===a[c][0])return c;return-1}function Ji(a){for(var b,c=[],d=v.create(),f=a.length;f--;)b=a[f],d[b[0]]||(d[b[0]]=!0,c.push(b));return c.reverse()}
+var S={indexOf:Ii,unique:Ji,toggle:function(a,b,c){var d=Ii(a,b);if(-1===d)return a.concat([[b,c]]);a=a.concat();a[d][1]="boolean"===typeof a[d][1]?!a[d][1]:c;return a},ce:Hi,Wa:Fi,nb:function(){return Ji(Array.prototype.concat.apply([],g.V(arguments)))},gd:yi,Og:zi};function Ki(a){return!N.c(a)&&!(a.parentNode&&F.e(a.parentNode))}function Li(a,b){a=a.concat();var c=b.filter(N.o);if(0<c.length){var d=c[0].ownerDocument.createElement("li");F.move(c,d);a.push(d)}return a}function Mi(a){var b=[];F.Ca(a,function(a){b=M.removeNode(a,b)},function(a){return N.g(a)&&0===F.children(a).length?!1:!a.parentNode||F.e(a)||N.o(a)})}function Ni(a){return!N.g(a)&&N.c(a)}
+function Oi(a,b){var c=F.Ib(a,Ni).concat(a);a!==b&&(c=c.concat(F.qb(a,function(a){return a===b}),b));return c.concat(F.qb(b,Ni))}
+function Pi(a,b){if(0!==b.length){var c=F.t(b[0],Ki);N.g(c)&&!F.u(c)&&(c=c.parentNode);r.assert(y.pa(c.parentNode.nodeName,a),"Lists.format#Cannot create "+a+" inside of a "+c.parentNode.nodeName);for(var d=c.ownerDocument.createElement(a),f=[],h=[],l=b.concat(),m,n;0<l.length;)n=l.shift(),m=!N.ia(n)&&!N.M(n)&&!N.Eb(n),N.c(n)&&m?(m=F.children(n),h.push(n)):(m=[n],h.push(n.parentNode)),l=g.split(l,N.c),m=m.concat(l[0]),l=l[1],0<m.length&&f.push(m);F.f(d,c);F.move(f.reduce(Li,[]),d);h.forEach(Mi)}}
+function Qi(a,b,c){r.assert(N.ya({nodeName:a.toUpperCase()}),"Lists.format#"+a+" is not a valid list container");var d;if(N.Ya(b,c))return d=F.t(H.nextNode(b),function(a){return!N.c(a)&&!F.e(a.parentNode)}),Pi(a,Oi(d,d)),[b,c];d=H.ba(b,c);if(!N.c(d))return d=F.t(d,function(a){return a.parentNode&&!Ni(a.parentNode)&&!F.e(a.parentNode)}),Pi(a,Oi(d,d)),[b,c];d=F.t(H.nextNode(b),function(a){return!Ni(a)&&!F.e(a.parentNode)});var f=F.t(H.k(c),function(a){return!Ni(a)&&!F.e(a.parentNode)});Pi(a,Oi(d,f));
+return[b,c]}function Ri(a){return a.filter(N.g).reduce(function(a,c){return a.concat(N.Sg(c))},[])}function Si(a,b){function c(a){return!N.g(a)&&!F.e(a.parentNode)}var d=H.a(a),f=H.offset(a),h=H.a(b),l=H.offset(b),m=F.t(d,c),n=F.t(h,c);N.g(m)&&(m=Ri(F.la(m)),N.g(d)&&(d=m[0],f=0));if(d===h)return[H.create(d,f),b];N.g(n)&&(m=Ri(F.la(n)),N.g(h)&&(h=m[0],l=0));return[H.create(d,f),H.create(h,l)]}function Ti(a){var b=N.g;return F.t(a,function(a){return!b(a)&&!(a.parentNode&&F.e(a.parentNode))})}
+function Ui(a){var b=H.k(a);if(F.b(b)){var c=b.data,d=H.offset(a),c=c.substr(0,d);if(k.Cc.test(c)||k.Qb.test(c))return!1;b=b.previousSibling||b.parentNode}b=Ti(b);if(!N.g(b))return!1;var b=H.ha(b),f=0;N.Bc(b,a,function(a){f+=a.filter(N.o).length});return 0===f}function Vi(a,b){for(var c=[];b--;)c.push(Q.Ma(a)),a=Q.remove(a);return{ob:a,records:c}}function Wi(a){return N.o(a.domNode())}function Xi(a){var b=g.Lb(a.N.concat().reverse(),Wi);return-1===b?null:Q.j(a,b+1)}
+function Yi(a){var b=g.Lb(a.L,Wi);return-1===b?null:Q.next(a,b)}function Zi(a){a=Yi(a);return a&&N.g(Q.Ra(a))?(a=Yi(Q.Sa(a)))&&N.ya(Q.Ra(a))?a:null:null}function $i(a){a=Xi(a);if(!a||!N.g(Q.Ra(a)))return null;var b=Q.next(Q.Sa(a),a.L.length);a=Xi(b);if(!a||!N.ya(Q.Ra(a)))return b;a=Q.Sa(a);return Q.next(a,a.L.length)}function aj(a,b){N.ya(Q.Ra(Q.Ob(a)))||(a=Q.Sa(Q.f(a,Ld(document.createElement("UL")))));return Q.f(a,b)}
+var bj={bg:function(a,b){function c(a){return Q.Ra(Q.Ob(a))===h}var d=Ti(H.k(a)),f=Ti(H.nextNode(b));if(!N.g(d)||!N.g(f))return[a,b];a=H.ha(d);b=H.$b(f);var h=H.ba(a,b),d=Q.Jd(F.zb(d),{start:a,end:b}),l=d.ob,l=Q.Cd(l,d.Gb.start,c),l=Q.Cd(l,d.Gb.end,c),m=Zi(Q.next(Q.go(l,d.Gb.end))),f=[];m&&(l=Q.Sa(m),l=Vi(l,l.L.length),f=f.concat(l.records),l=Q.remove(Q.Ob(Q.Ob(l.ob))));l=Q.go(l,d.Gb.start);l=Vi(l,g.Lb(l.L.slice(1),Q.jc)+2);f=l.records.concat(f);l=$i(l.ob)||Q.Sa(Q.f(l.ob,Ld(document.createElement("LI"))));
+d=Q.update(Q.root(aj(l,f)));return[H.next(d.start),H.j(d.end)]},format:Qi,Fd:Si,toggle:function(a,b,c){var d=H.a(b),f=H.a(c),d=F.t(d,N.g),f=F.t(f,N.g);return N.g(d)&&N.g(f)&&d.parentNode===f.parentNode&&d.parentNode.nodeName.toLowerCase()===a?Si(b,c):Qi(a,b,c)},hg:function(a,b){var c=Ti(H.k(a));if(!N.g(c))return!1;var d=Ti(H.nextNode(b));return N.g(d)?c!==d||Ui(a):!1}};function cj(a){return!N.ia(a)&&!N.Ga(a)}function dj(a){a=F.t(a,function(a){return"A"!==a.nodeName&&cj(a)&&!F.e(a)});return"A"===a.nodeName?a:null}function ej(a){return F.s(a,N.H)}var T={ja:cj,ze:function(a){var b=H.a(a),c=H.offset(a);H.W(a)&&(b=b.childNodes[c],c=0);a=ej(b);return H.create(dj(a)||a,c)},cd:ej,nd:function(a){return F.G(a,N.H)}};function fj(a,b){var c=F.R(a);a.insertBefore(c,b);c.appendChild(b);return c}
+function gj(a,b,c){if(F.b(a)&&a.length===b)return{Ma:a.nextSibling,xb:a};if(F.b(a)&&0===b)return{Ma:a,xb:a.previousSibling};b=M.Ng(a,b);var d=b.nextSibling;if(d&&!d.nextSibling&&T.ja(d.parentNode)&&!F.isSameNode(a,c)){a=b.parentNode;do d=fj(a,d),b=fj(a,b),F.ua(a),a=b.parentNode;while(a&&!F.isSameNode(a,c)&&T.ja(a))}else if(!d){for(d=b;d.parentNode&&!d.nextSibling&&!F.isSameNode(d.parentNode,c);)d=d.parentNode;d=d.nextSibling}return{Ma:d,xb:b}}
+function hj(a,b,c){var d=F.R(a);a.parentNode.insertBefore(d,c);d.appendChild(b);return d}function ij(a){for(;!T.ja(a);)a=a.lastChild;return a}var jj="LI TD TR TBODY DD DT".split(" ");
+function kj(a){var b;if(b=N.o(a))b=!(!F.b(a)||0<a.textContent.trim().length?0:a.previousElementSibling&&0<=jj.indexOf(a.previousElementSibling.nodeName)&&a.nextElementSibling&&0<=jj.indexOf(a.nextElementSibling.nodeName)||a.previousElementSibling&&0<=jj.indexOf(a.previousElementSibling.nodeName)&&!a.nextElementSibling||!a.previousElementSibling&&a.nextElementSibling&&0<=jj.indexOf(a.nextElementSibling.nodeName));return b}
+function lj(a,b){if(!kj(a))return a;if("A"===a.nodeName){var c=a.firstChild;F.children(a).forEach(function(a){b.push(a)});F.ua(a);a=c}else b.push(a);return a}function mj(a,b){0<a.length&&b.push(a);return[]}function nj(a,b){var c=H.a(a),d=H.a(b);return F.b(c)&&F.isSameNode(c,d)}window.ph=function(a,b){var c=M.tb(a,H.W),d=M.tb(b,H.W);H.nextNode(c);H.k(d);console.log(void 0);return[c,d]};var oj={Gf:function(a,b){var c,d,f,h=T.ze(a),l=T.ze(b);c=H.a(h);f=H.offset(h);d=H.offset(l);if(nj(h,l)&&0===f&&c.length===d)return[[H.a(h)]];d=l;f=H.ba(a,b);c=H.a(h);var m=H.a(d),n=H.offset(h),q=H.offset(d),m=F.b(c)&&F.isSameNode(c,m);c=f;var s=H.a(h),t=H.offset(h);if(F.b(s))c=gj(s,t,c).Ma;else if(F.isSameNode(s.parentNode,c)||!T.ja(s.parentNode))c=s;else if(N.Cb(s.parentNode))c=s;else{for(var t=s=s.parentNode,z=s.parentNode;z&&!F.isSameNode(z,c)&&T.ja(z);)t=hj(z,s,z.nextSibling),s=z,z=z.parentNode;
+c=t}m&&(d=H.K(c,q-n),f=c);n=H.a(d);d=H.offset(d);if(F.b(n)&&0<d)f=gj(n,d,f).xb;else if(F.b(n)&&0===d&&n.previousSibling)f=ij(n.previousSibling);else if(T.ja(n.parentNode)){d=n=n.parentNode;for(q=n.parentNode;q&&!F.isSameNode(q,f)&&T.ja(q);)d=hj(q,n,q),n=q,q=q.parentNode;kj(d)||(f=T.nd(d),F.remove(d),d=ij(f));f=d}else f=n;if(nj(h,l))h=[[f]];else{h=[];for(l=[];c&&!F.isSameNode(c,f);)if(T.ja(c)){c=lj(c,l);for(d=!1;c&&!c.nextSibling&&c.parentNode;)c=c.parentNode,T.ja(c)||(d=!0);c=c.nextSibling;d&&(l=
+mj(l,h))}else l=mj(l,h),c=c.firstChild;T.ja(f)&&lj(f,l);0<l.length&&h.push(l)}return h}};function pj(a,b){var c=H.document(a);return oj.Gf(a,b).reduce(function(a,b){var h=c.createElement("a");F.f(h,b[0]);F.move(b,h);return a.concat(h)},[])}function qj(a,b){var c;if(c=!F.b(a))c=F.R(a).isEqualNode(F.R(b));return c}function rj(a,b){for(var c;a&&b&&qj(a,b);)c=T.cd(a.firstChild),b.appendChild(c),F.remove(a),a=c,b=b.firstChild}
+function sj(a){if(T.Ah(a)){var b=T.cd(a.firstChild),c=T.nd(a.previousSibling);rj(b,c);b=T.nd(a.lastChild);c=T.cd(a.nextSibling);rj(c,b);F.ua(a)}}function tj(a){F.r(a)&&g.V(a.querySelectorAll("a")).forEach(sj)}function uj(a){return"A"!==a.nodeName}
+var vj={je:function(a){if("click"!==a.type)return a;var b=H.ba(a.selection.boundaries[0],a.selection.boundaries[1]);F.t(b,uj)&&B.preventDefault(a.nativeEvent);return a},create:function(a,b,c,d){N.Ya(b,c)?(c=H.document(b).createElement("a"),c.innerHTML=a,M.fa(c,b,!0),b=[c]):b=pj(b,c);b.forEach(function(b){F.va(b,"href",a)});d&&b.reduce(function(a,b){a.push(b);return a},d);return[H.ha(b[0]),H.$b(g.p(b))]},remove:function(a,b){var c=T.Df(H.a(a),H.offset(a)),d=T.Df(H.a(b),H.offset(b)),c=H.a(c),d=H.a(d);
+tj(c);for(tj(d);c&&!F.isSameNode(c,d);){for(var f=void 0;!c.nextSibling&&c.parentNode;)f=c.parentNode,sj(c),c=f;f=c.nextSibling;sj(c);(c=f)&&tj(c)}for(;d&&d.parentNode&&T.ja(d);)sj(d),d=d.parentNode}};function wj(a,b,c,d,f,h){var l=c;F.Ja(a.firstChild,function(a){a!==b?l(a,h):(l=f,d(a,h))})}function xj(a,b,c,d,f,h,l){var m,n=[];for(m=a.length;m--;){var q=c(a[m],l);null!=q&&(l=q);n.push(l)}n.reverse();a.length&&b&&F.Ja(a[0].firstChild,d,n[0]);for(m=0;m<a.length-1;m++)wj(a[m+1],a[m],d,f,h,n[m+1])}function yj(a,b,c,d){return function(f,h){f!==a||b?d(f,h):c(f,h)}}
+function zj(a,b,c,d,f,h,l,m,n){var q=a.commonAncestorContainer;F.b(q)&&(q=q.parentNode);var s=a.startContainer,t=a.endContainer,z=a.startOffset,x=a.endOffset;a=a.collapsed;var Y=F.ma(s,z),W=F.ma(t,x),s=H.h(H.K(s,z)),z=H.h(H.K(t,x)),ha=F.jb(Y,q),x=F.jb(W,q),t=yj(Y,s,d,l),W=yj(W,z,h,l);xj(ha,s,b,c,t,d,n);xj(x,z,b,f,W,h,n);b=g.p(ha);d=g.p(x);t=yj(Y,s,m,l);F.Pb(q.firstChild,c,b,n);b&&(c=b.nextSibling,b===d?a||l(b,n):(t(b,n),F.Pb(c,m,d,n),d&&(c=d.nextSibling,W(d,n))),d&&F.Ja(c,h,n))}
+function Aj(a,b,c,d,f,h){zj(a,b,c,f,f,c,d,f,h)}function Bj(a,b,c,d,f,h,l){var m=a.commonAncestorContainer;Aj(a,d,l,f,h,c);a=F.ib(m,b);xj(a,!1,d,l,f,l,null);f(b)}function Cj(a,b,c,d,f){function h(a){l=l||!N.$a(a)&&!b(a)}var l=null;Aj(a,e.O,h,e.O,e.O);if(l)return null;var m=a.commonAncestorContainer;F.b(m)&&(m=m.parentNode);a=F.Oa(m,function(a){return m!==a&&d(a)||c(a)||f(a)});var n=g.p(a);if(!d(n))return d(m)?m:null;xj(a,!1,e.O,h,e.O,h);return l?d(m)?m:null:n}
+function Dj(a,b){var c=a.commonAncestorContainer,d=b.kc,f=b.bc,h=b.ac,l=b.vg,m=b.dc,n=b.ec,q=b.Ig,s=b.Ff,t=b.isObstruction,z=b.isReusable,x=b.gc,Y=b.gg,W=b.oh||function(a){F.ub(a,s)},ha=null,Ba=null,$a=!1,Ca=!1,zb=F.Oa(c,function(a){return!a.parentNode||F.Y.DOCUMENT===a.parentNode.nodeType||n(a)});zb.forEach(function(a){Ca=Ca||d(a);var b=h(a);null==b||x(b)||(ha=a,$a=$a||Ca||!Y(a),null==Ba&&(Ba=b))});null==Ba&&(Ba=h(c));n(g.p(zb))&&!$a?ha?Bj(a,ha,Ba,f,s,W,l):Aj(a,f,l,s,W):(c=function(a,b){q(a,b,$a)},
+(m=Cj(a,m,d,z,t))?c(m):Aj(a,f,l,s,c))}function Ej(a,b,c,d){if(!y.pa(b.nodeName,a.nodeName))return!1;b.parentNode&&M.ud(b,[c,d]);c.node!==a||c.atEnd||(c.node=b);d.node!==a||d.atEnd||(d.node=b);F.Ka(a,b);return!0}
+function Fj(a,b,c){var d=he(a);M.Mg(d);var f=Me.kb(d.startContainer,d.startOffset),h=Me.kb(d.endContainer,d.endOffset);!1!==c&&Gj(d,N.$a,N.$a);c=Me.kb(d.startContainer,d.startOffset);var l=Me.kb(d.endContainer,d.endOffset);(b=b(d,c,l))&&b.Le();Me.Ve(d,c,l);M.Yc(f.node,d);M.Yc(h.node,d);b&&b.Me(d);d=H.lb(d);H.yc(a,d[0],d[1]);return d}function Hj(a,b,c,d){if(!F.r(a)||!d(a))return null;a=F.s(a.firstChild,c);return!a||F.s(a.nextSibling,c)?null:b(a)?a:Hj(a,b,c,d)}
+function Ij(a,b,c,d){var f=N.$a,h=N.Xa;return b(a)?a:(h=Hj(a,b,function(a){return!b(a)&&f(a)},h))&&Ej(a,h,c,d)?h:null}function Jj(a,b,c,d,f,h,l,m){var n=a.previousSibling;n&&d(n)&&d(a)?(F.f(a,n,!0),f(a)):c(a)?h(a):(n=b(a.ownerDocument),Ej(a,n,l,m)?f(a):F.Ja(a.firstChild,function(a){Jj(a,b,c,d,f,h,l,m)}))}
+function Kj(a,b,c,d){function f(a){Y(a)&&(Ba(a),zb(a)&&(a.previousSibling&&ee.push(a.previousSibling),a.nextSibling&&ee.push(a.nextSibling),M.ud(a,[b,c])))}function h(a,b){var c=$a(a,b),d=":"+a;(ce[d]=ce[d]||[]).push(c);Ph.push([c,a]);return c}function l(a){a=a.cloneNode(!1);Ba(a);return zb(a)}function m(a,b){return Ca(b)?g.contains(ce[":"+a]||[],b)?!0:Y(b)&&!W(b,a)?!1:l(b):!1}function n(a,d){Jj(a,e.d(h,d),Ca,e.d(m,d),f,e.d(ha,d),b,c)}function q(a){f(a)}function s(a){F.ub(a,q)}function t(a,d,l){function n(a){return W(a,
+d)}var q=l?a.nextSibling:a.previousSibling;if(q&&(q=Ij(q,n,b,c))){var s=e.d(m,d),z=e.d(h,d),t=e.d(ha,d);Jj(l?q:a,z,Ca,s,f,t,b,c)}}var z=d.dc,x=d.gc,Y=d.qe,W=d.oe,ha=d.Ud,Ba=d.Re,$a=d.createWrapper,Ca=d.isReusable,zb=d.isPrunable,ce={},Ph=[],ee=[];return{dc:z,isReusable:Ca,Ff:function(a){z(a)||f(a)},gg:l,vg:function(a,b){null==b||Y(a)||x(b)||n(a,b)},Ig:function(b,c){x(c)||(F.Ja(b.firstChild,s),n(b,a))},gc:x,Le:function(){Ph.forEach(function(a){var b=a[0];a=a[1];t(b,a,!0);t(b,a,!1)})},Me:function(a){ee.forEach(function(b){M.Yc(b,
+a)})},ec:d.ec,isObstruction:d.isObstruction,bc:d.bc,ac:d.ac,kc:d.kc}}function Lj(a){return"BODY"===a.nodeName||N.Cb(a)||F.e(a)}function Mj(a,b){return a===b}var Nj={Qg:{name:"U",pc:["U"],style:"text-decoration",value:"underline",hd:"none",normalize:{}},bold:{name:"B",pc:["B","STRONG"],style:"font-weight",value:"bold",hd:"normal",normalize:{700:"bold",400:"normal"}},ye:{name:"I",pc:["I","EM"],style:"font-style",value:"italic",hd:"normal",normalize:{}}};Nj.emphasis=v.i(Nj.ye,{name:"EM"});
+Nj.strong=v.i(Nj.bold,{name:"STRONG"});Nj.bold=Nj.bold;Nj.italic=Nj.ye;Nj.underline=Nj.Qg;function Oj(a,b){return F.r(a)?F.T(a,b):null}
+function Pj(a,b,c,d,f){function h(a){t&&t.normalize[a]&&(a=t.normalize[a]);return a}function l(a){return n(h(a),b)}function m(a){return g.contains(q,a.nodeName)?!0:"SPAN"===a.nodeName}var n=f.isStyleEqual||Mj,q=[],s=!1,t=Nj[a];t&&(q=t.pc,a=t.style,b=(s=!b)?t.hd:t.value);f=v.i({bc:function(b){if(g.contains(q,b.nodeName))return t.value;b=Oj(b,a);return k.Fa(b)?null:b},ac:function(b){if(g.contains(q,b.nodeName))return t.value;b=F.getComputedStyle(b,a);return k.Fa(b)?null:b},dc:function(b){return!s&&
+g.contains(q,b.nodeName)?!0:l(Oj(b,a))},ec:function(b){return!s&&g.contains(q,b.nodeName)||s&&"BODY"===b.nodeName?!0:s&&N.Wc(a)?l(Oj(b,a)):l(F.getComputedStyle(b,a))},gc:function(a){return l(a)},qe:function(b){return g.contains(q,b.nodeName)?!0:!k.Fa(Oj(b,a))},oe:function(b,c){c=h(c);return g.contains(q,b.nodeName)&&n(t.value,c)?!0:n(Oj(b,a),c)},Ud:function(b,c){b=h(b);g.contains(q,c.nodeName)&&n(t.value,b)||n(h(F.getComputedStyle(c,a)),b)||F.l(c,a,b)},Re:function(b){F.Te(b,a)},isPrunable:function(a){return m(a)&&
+!F.cc(a)},isStyleEqual:n,createWrapper:function(b,c){b=h(b);if(t&&n(t.value,b))return c.createElement(t.name);var d=c.createElement("SPAN");F.l(d,a,b);return d},isReusable:m,isObstruction:e.ca(N.Xa),kc:Lj},f);return Kj(b,c,d,f)}
+function Qj(a,b,c,d,f){function h(b){return a===b.nodeName||null}function l(c){return b?!1:a===c.nodeName}function m(b){return b.nodeName===a&&!F.cc(b)}function n(b){return b.nodeName===a}a=a.toUpperCase();f=v.i({bc:h,ac:h,dc:l,ec:function(a){return b&&"BODY"===a.nodeName?!0:l(a)},gc:function(a){return b?!1:null!=a},qe:n,oe:n,Ud:e.O,Re:e.O,createWrapper:function(b,c){return c.createElement(a)},isReusable:m,isPrunable:function(a){return m(a)},isObstruction:e.ca(N.Xa),kc:Lj},f);return Kj(a,c,d,f)}
+function Rj(a,b,c,d,f){var h=H.J(a,b);return h.collapsed?[a,b]:Fj(h,function(a,b,h){b=Pj(c,d,b,h,f||{});Dj(a,b);return b})}function Sj(a,b,c,d){a:{for(var f in Nj)if(-1!==Nj[f].pc.indexOf(a)){a=f;break a}a=!1}c=!1===a?[b,c]:Rj(b,c,a,d);if(H.n(c[0],c[1]))return c;b=H.X(c[0]);d=H.na(c[1]);b=b?H.normalize(H.Bb(b)):c[0];c=d?H.normalize(H.Da(d)):c[1];return[b,c]}
+function Tj(a,b,c){var d=void 0;c=c||e.v;d=d||e.v;a.G(function(a){var b=a.u();return b?d(b):!c(a.parent())});b.s(function(a){return a.atEnd?!c(a.parent()):d(a.node)})}function Uj(a,b){var c=null,d=void 0,c=c||e.v,d=d||e.v;a.s(function(a){return!a.n(b)&&(a.atEnd?!c(a.parent()):d(a.node))});b.G(function(b){var h=b.u();return!a.n(b)&&(h?d(h):!c(b.parent()))})}function Vj(a,b,c){var d=a.n(b);Uj(a,b);Tj(a,b,c);d&&b.bb(a)}
+function Wj(a,b,c,d,f,h,l,m){var n=Me.kb(b,c);if(m&&F.b(b)&&0<c&&c<b.length&&n.next()){if(!l(n))return;n.j()}b=Me.kb(d,f);for(c=!1;!n.n(b)&&l(n)&&(m?n.j():n.next());)c=!0;c&&h(a,n)}function Xj(a,b,c){b=b||e.v;c=c||e.v;if(!a.collapsed){var d=a.startContainer,f=a.startOffset,h=a.endContainer,l=a.endOffset;Wj(a,d,f,h,l,Me.zd,b,!1);d=a.startContainer;f=a.startOffset;Wj(a,h,l,d,f,Me.yd,c,!0)}}
+function Gj(a,b,c){b=b||e.v;c=c||e.v;Xj(a,function(a){return a.atEnd||b(a.node)},function(a){return!a.u()||c(a.u())});return a}function Yj(a,b,c,d,f,h){function l(a,b){return b||h.until(a)}function m(a,b){if(!b){var l=a.parentNode;n&&l.previousSibling===n||(n=h.clone(l),f.push(l),F.f(n,l,!1),c.node!==l||c.atEnd||(c.node=n),d.node===l&&(d.node=n));F.f(a,n,!0)}}var n=null;a=F.Oa(a,h.below);var q=a.pop();q&&h.below(q)&&xj(a,b,l,m,e.O,e.O);return q}
+function Zj(a){if(!K.Lg(a)&&K.Ze(a)&&"BR"===a.node.nodeName){a.Bd();var b=a.clone();K.Ze(b)&&b.atEnd&&a.bb(b)}}
+function ak(a,b,c,d){var f=d.normalizeRange?b:b.clone(),h=d.normalizeRange?c:c.clone();Zj(f);Zj(h);Me.Ve(a,f,h);var f=[],h=F.ma(a.startContainer,a.startOffset),l=F.ma(a.endContainer,a.endOffset),m=H.h(H.K(a.startContainer,a.startOffset));a=H.h(H.K(a.endContainer,a.endOffset));var n=Yj(h,m,b,c,f,d),q=Yj(l,a,b,c,f,d);f.forEach(function(a){!a.firstChild&&a.parentNode&&M.ud(a,[b,c])});d.normalizeRange&&Vj(b,c,function(a){return a===n||a===q})}
+function bk(a,b){b=b||{};b=v.i({clone:F.R,until:e.v,below:F.e,normalizeRange:!0},b);return Fj(a,function(a,d,f){ak(a,d,f,b);return null})}function ck(a,b){return F.t(a,function(a){return!b(a)&&!(a.parentNode&&F.e(a.parentNode))})}
+function dk(a,b){var c=null;b.forEach(function(b){if(!N.H(b)||c){if(y.pa(a,b.nodeName))return c||(c=b.ownerDocument.createElement(a),F.f(c,b)),F.move([b],c);c=null;if(!N.M(b)){var f=F.children(b),h=f.map(function(a){return a.nodeName}),h=h.length===h.filter(e.d(y.pa,a)).length,l=y.pa(b.parentNode.nodeName,a);if(h&&l&&!N.ia(b)&&!N.Ga(b))return F.rb(b,b.ownerDocument.createElement(a));b=g.Lb(f,N.o);-1<b&&dk(a,f.slice(b))}}})}
+function ek(a,b,c){var d,f={nodeName:c};if("a"===c.toLowerCase())d=vj.create("",a,b);else if(N.Fb(f))d=Sj(c,a,b,!0);else if(N.ya(f))d=bj.toggle(c,a,b);else if(N.Ea(f)){a:{d=N.c;if(N.Ya(a,b)){f=H.nextNode(b);F.e(f)&&(f=H.k(a));if(F.e(f)){b=[a,b];break a}a=b=d(f)?f:ck(f,d)}else a=ck(H.nextNode(a),d),b=ck(H.k(b),d);b=[H.ha(a),H.$b(b)]}b=N.Bc(b[0],b[1],e.d(dk,c));c=H.Bb(H.nextNode(b[0]));b=H.Da(H.k(b[1]));d=[N.Ua(c),N.Ta(b)]}return d}function fk(a,b,c){return Sj(c,a,b,!1)}
+var U={format:ek,Fd:fk,toggle:function(a,b,c){if(N.Fb({nodeName:c})){var d=S.gd[c];if(d){var f=H.nextNode(N.Ua(a)),h=H.k(N.Ta(b)),f=S.Wa(f).concat(S.Wa(h));a=(-1<S.indexOf(f,d)?fk:ek)(a,b,c)}else a=[a,b]}else a=[a,b];return a},style:Rj,className:function(){throw"Not implemented";},Bf:function(){throw"Not implemented";},Mf:function(){throw"Not implemented";},xa:function(){throw"Not implemented";},Zd:function(a,b){a=("BR"===b?N.Rc:N.Qc)(a,b);return[a,a]},f:function(a,b,c){a=H.J(a,b);bk(a,{below:function(a){return y.pa(a.nodeName,
+c.nodeName)}});b=M.fa(c,H.ra(a));H.yc(a,b,H.create(H.a(b),H.offset(b)+1));return H.ra(a)},Ka:function(a,b,c,d,f){f=f||{};var h=H.J(b,c);return h.collapsed?[b,c]:Fj(h,function(b,c,h){c=Qj(a,d,c,h,f);Dj(b,c);return c})},split:bk,remove:function(a,b){var c=H.J(a,b);return Fj(c,function(a,b,c){function l(b){M.Cg(b,a)}zj(a,e.O,e.O,l,l,e.O,e.O,l,null);return{Me:e.O,Le:function(){var l=N.qd(H.ra(a),H.Va(a))[0],l=Me.If(H.a(l),H.offset(l));b.bb(l);c.bb(l)}}},!1)},Kh:Gj};function gk(a,b,c){c=O.Gc(c);b=U.remove(b,c)[0];return M.re(a,b,!0)}
+var hk={"```":function(a,b){if(!Se.wa(a,"```"))return b;var c=U.remove(a,b)[1],d=Se.wa(c,"```");if(!d)return c;var f=Se.search(d,/[^`]|$/);if(!f)return c;d=U.remove(d,f)[0];return U.Ka("code",d,c)[1]},"(:":e.d(gk,"\u263a"),":)":e.d(gk,"\u263a"),":(":e.d(gk,"\u2639"),"):":e.d(gk,"\u2639"),"<3":e.d(gk,"\u2665"),"--":e.d(gk,"\u2014"),"--\x3e":e.d(gk,"\u2192"),"<--":e.d(gk,"\u2190"),"==>":e.d(gk,"\u21d2"),"<==":e.d(gk,"\u21d0"),"|>":e.d(gk,"\u25ba"),"<|":e.d(gk,"\u25c4")},ik={};
+v.forEach(hk,function(a,b){var c=ik,d=b.split("").reverse(),f=d.length-1;d.forEach(function(b,d){d===f?c[b]=a:c=c[b]?c[b]:c[b]={}})});function jk(a){var b;if(H.$(a))return b=H.a(a),b.data.substr(H.offset(a),1);b=H.nextNode(a);return F.b(b)?b.data.substr(0,1):""};function kk(a,b,c){var d=H.document(a);a=U.remove(a,b);c=N.parse(c,d);if(0===c.length)return a;d=d.createElement("div");F.va(d,"contentEditable",!0);F.move(c,d);d=c[0];F.b(d)||N.M(d)||N.ia(d)||(c=F.children(d).concat(c.slice(1)));if(0===c.length)return a;d=F.zb(H.a(a[0]));a=Q.Jd(d,{start:a[0],end:a[1]});var f=Q.go(a.ob,a.Gb.start);c.forEach(function(a){f=Q.split(f,function(b){return y.pa(Q.Ma(b).name(),a.nodeName)});f=Q.f(f,Ld(a))});a=Q.update(f);return[a.start,a.end]}
+function lk(a,b,c){return g.contains(a.clipboardData.types,"text/html")?(a=a.clipboardData.getData("text/html"),mi.ig(a,b)?qi.Oc(qi.Ee(a,b),b,c):qi.Oc(a,b,c)):g.contains(a.clipboardData.types,"text/plain")?qi.Ke(a.clipboardData.getData("text/plain"),b):""}
+var mk={le:function(a){if("paste"!==a.type||"undefined"===typeof a.nativeEvent.clipboardData)return a;B.cf(a.nativeEvent);var b=lk(a.nativeEvent,a.nativeEvent.target.ownerDocument,a.editable.We);if(!b)return a;R.Ub(a.editable.Nb,{meta:{type:"paste"}},function(){a.selection.boundaries=kk(a.selection.boundaries[0],a.selection.boundaries[1],b)});return a}};var nk={ag:function(a){var b=[],c=H.nextNode(a[0]),d=H.k(a[1]);for(a=a[0];c&&c!==d;)"IMG"===c.nodeName&&b.push(c),a=H.next(a),c=H.a(a);"IMG"===d.nodeName&&b.push(d);return b}};function ok(a,b){Object.keys(b).forEach(function(c){F.va(a,c,b[c])})}function pk(a,b){var c=a.commonAncestorContainer.ownerDocument,d=c.createElement("img");ok(d,b);var f=c.createElement("p");f.appendChild(d);d=c.createDocumentFragment();d.appendChild(f);mk.yh(a,d,{},c)}
+function qk(a,b){var c=H.lb(a);nk.ag(c).forEach(function(a){ok(a,b)})}var rk={f:function(a,b){var c=H.get(b);c&&pk(H.J(c[0],c[1]),a)},xh:pk,Ih:qk,Hg:function(a,b){var c=H.get(b);c&&qk(H.J(c[0],c[1]),a)}};function sk(a){var b=O.j(a,"char");return b?b:N.c(H.k(a))?a:sk(O.j(a,"boundary"))}function tk(a){var b=O.next(a,"char");return b?b:N.c(H.nextNode(a))?a:tk(O.next(a,"boundary"))}function uk(a){a=a.getClientRects()[0]||a.getBoundingClientRect();return{top:a.top,left:a.left,width:a.width,height:a.height}}
+var V={D:function(a,b){b||(b=a);var c=H.J(a,b),d;a:{d=H.ra(c);var f=H.Va(c);if(d=H.h(f)||N.c(H.nextNode(f))||N.h(d)?null:H.J(d,tk(f)))if(d=uk(d),0<d.width)break a;d=c.cloneRange();var h=H.ra(d);H.$(h)||H.F(h)||N.o(H.na(h))?f=h:(f=F.clone(H.a(h),!0),h=H.offset(h)-1,F.remove(f.childNodes[h]),f=H.create(f,h));d=H.Va(d);(d=H.F(f)||N.c(H.k(f))?null:H.J(sk(f),d))?(d=uk(d),d.left+=d.width):d=uk(c)}c=c.commonAncestorContainer.ownerDocument;c["!aloha-br-style-fix"]||(f=c.createElement("style"),F.append(c.createTextNode('.aloha-editable br,.aloha-editable br:after{content:"\\A";white-space:pre-line;}'),
+f),F.append(f,c.head),c["!aloha-br-style-fix"]=!0);if(0<d.width||(d=H.X(a)||H.na(a))&&!F.b(d)&&(d=uk(d)))return{top:d.top+F.scrollTop(c),left:d.left+F.scrollLeft(c),width:d.width,height:d.height};d=H.a(a);return{top:d.offsetTop+F.scrollTop(c),left:d.offsetLeft+F.scrollLeft(c),width:d.offsetWidth,height:parseInt(F.getComputedStyle(d,"line-height"),10)}},Kg:function(a,b){var c=b.querySelector(".aloha-caret-box-hint");c||(c=b.createElement("div"),F.addClass(c,"aloha-caret-box-hint","aloha-ephemera"));
+v.extend(c.style,{top:a.top+"px",left:a.left+"px",height:a.height+"px",width:a.width+"px",position:"absolute",background:"red",opacity:.2});F.append(c,b.body);return c},$f:function(a){(a=a.querySelector(".aloha-caret-box-hint"))&&F.remove(a);return a||null}};var vk=zc;function wk(a,b){var c=V.D(b);v.extend(a.style,{top:c.top+"px",left:c.left+"px",height:c.height+"px",width:"2px",display:"block"})}function xk(a){var b={};b.padding=a.bold?"1.5px":"0px";b[vk.Aa+"transform"]=a.italic?"rotate(16deg)":"";b.background=a.color||"black";return b}function yk(a,b){var c=H.a(a),d=H.a(b),f=H.offset(a),h=H.offset(b);return c===d&&f>h||F.qa(d,c)}function zk(a,b,c){return(a=H.Z(a.left,a.top-b,c))&&H.J(a,a)}
+function Ak(a,b,c){return(a=H.Z(a.left,a.top+a.height+b,c))&&H.J(a,a)}function Bk(a,b,c){var d;"start"===c?(d=a[0],a=b[1]):(d=b[0],a=a[1]);return yk(d,a)?{boundaries:[a,d],focus:"start"===c?"end":"start"}:{boundaries:[d,a],focus:c}}function Ck(a,b,c,d){"up"===a?(a=H.create(b.editable.elem,0),a=N.Ua(a)):(a=H.Da(b.editable.elem),a=N.Ta(a));a=[a,a];return B.sa(b,"shift")?Bk(a,c,d):{boundaries:a,focus:d}}
+function Dk(a,b){var c=H.J(a,a),d=H.document(a),f=V.D(a),h=f.height/4,l=0,m;do l+=h,m=b(f,l,d);while(m&&Qd.n(m,c));return m&&H.ra(m)}
+function Ek(a,b){for(var c=H.document(a),d=V.D(b),f=d.top,d=d.left,h,l,m,n,q,s,t=[],z=a;z;){h=V.D(z);l=h.top;m=H.a(z);n=F.t(m,e.ca(N.c));if(!n)break;(s=f<l+h.height)?(m=0===t.length?h.left:F.offset(n).left,q=d-m):0===t.length?(m=h.left,q=(n.clientWidth||n.offsetWidth)-(m-F.offset(n).left)):(m=F.offset(n).left,q=n.clientWidth||n.offsetWidth);n=H.Z(m,l,c);q=H.Z(m+q,l,c);if(!n||!q)break;m=V.D(n).left;n=V.D(q).left;t.push({top:l,left:m,width:n-m,height:h.height});if(s)break;z=Fk(z)}return t}
+function Gk(a){return!N.M(a)&&N.o(a)&&N.c(a)}function Hk(a){return!N.M(a)&&N.o(a)}function Ik(a,b,c){a=b(a);var d=Gk(a)?a:c(a,Gk);if(!d)return null;c=!!F.t(a,function(a){return a!==d});return{Yd:d,ic:c}}function Fk(a){var b,c=V.D(a),d=Jk(a);if(d){b=N.Ua(H.Bb(d));d=H.X(b);b=V.D(b);var f=F.b(d)?b.top:F.Ba(d),f=f+b.height/2;b=H.Z(c.left,f,d.ownerDocument)}return(b=b||Dk(a,Ak))&&c.top!==V.D(b).top?b:a}
+function Kk(a){var b=Ik(a,H.k,F.wb);if(!b)return null;var c=V.D(a);a=b.Yd;var c=c.top-c.height,d=F.Ba(a);b.ic||(d+=a.clientHeight||a.offsetHeight);return c>=d?null:(b=b.ic?F.Ia(a,!0,Hk,F.e):a)?N.ia(b)?F.wb(b.nextSibling,N.Ga):b:null}function Jk(a){var b=Ik(a,H.nextNode,F.Ab);if(!b)return null;var c=b.Yd;a=V.D(a);a=a.top+a.height+a.height;var d=F.Ba(c);b.ic&&(d+=c.clientHeight||c.offsetHeight);return a<=d?null:(b=b.ic?F.Ia(c,!1,Hk,F.e):c)?N.ia(b)?F.Ab(b.previousSibling,N.Ga):b:null}
+function Lk(a,b,c,d){var f=c["start"===d?0:1],h=H.document(f),l=F.Xb(h),m=F.scrollTop(h),n=l.innerHeight,q=V.D(f),s=Kk(f),t=Jk(f),t=t&&!F.b(t)?F.Ba(t)+q.height:q.top+q.height+q.height,s=s&&!F.b(s)?F.Ba(s)+(s.clientHeight||s.offsetHeight)-q.height:q.top-q.height,q=q.height,z=0;s<=m?"up"===a&&(z=s-q):t>=m+n&&"down"===a&&(z=t-n+q+q);z&&l.scrollTo(F.scrollLeft(h),z);if("up"===a){var x;a=V.D(f);if(h=Kk(f))x=N.Ta(H.Da(h)),h=H.k(x),x=V.D(x),x=F.b(h)?x.top+x.height/2:F.Ba(h)+(h.clientHeight||h.offsetHeight)-
+x.height/2,x=H.Z(a.left,x,h.ownerDocument);f=(x=x||Dk(f,zk))&&a.top!==V.D(x).top?x:f}else f=Fk(f);return f?B.sa(b,"shift")?Bk([f,f],c,d):{boundaries:[f,f],focus:d}:{boundaries:c,focus:d}}
+function Mk(a,b,c,d){var f=B.sa(b,"shift"),h=c[0];c=c[1];var l=H.n(h,c);if(l||!f)d="left"===a?"start":"end";var m="start"===d?h:O.Gc(c);if(l||f)b=B.sa(b,"ctrl")||B.sa(b,"alt")?"word":"visual",a="left"===a?O.j(m,b):O.next(m,b),F.e(H.a(a))&&(H.F(m)?a=N.Ua(m):H.h(m)&&(a=N.Ta(m))),a&&(m=a);return f?{boundaries:"start"===d?[m,c]:[h,m],focus:d}:{boundaries:[m,m],focus:d}}
+function Nk(a,b){var c=V.D(a),d=H.a(a);F.b(d)&&(d=d.parentNode);var f=parseInt(F.getComputedStyle(d,"font-size")),c=c?c.top:F.Ba(d),c=c+(f?f/2:0),f=F.offset(b).left;return{top:c,left:f,right:f+(b.clientWidth||b.offsetWidth)}}var X={};X.left=X["*+left"]=e.d(Mk,"left");X.right=X["*+right"]=e.d(Mk,"right");X.up=X["*+up"]=e.d(Lk,"up");X.down=X["*+down"]=e.d(Lk,"down");X.pageUp=X["meta+up"]=e.d(Ck,"up");X.pageDown=X["meta+down"]=e.d(Ck,"down");
+X.home=X["meta+left"]=X["meta+shift+left"]=function(a,b,c){var d=Nk(b[0],a.editable.elem);if(d=H.Z(d.left,d.top,H.document(b[0])))b=b["end"===c?0:1],b=B.sa(a,"shift")?[d,b]:[d,d],c="start";return{boundaries:b,focus:c}};X.end=X["meta+right"]=X["meta+shift+right"]=function(a,b,c){var d=Nk(b[1],a.editable.elem);if(d=H.Z(d.right-1,d.top,H.document(b[0])))b=b["start"===c?1:0],b=B.sa(a,"shift")?[b,d]:[d,d],c="end";return{boundaries:b,focus:c}};function Ok(a,b,c){return{boundaries:b,focus:c}}
+function Pk(a,b,c,d){return Bk(b,d,c)}function Qk(a,b){return{boundaries:b,focus:"end"}}
+var Rk={keydown:function(a,b,c){var d=Xe.Ad(a.meta,a.keycode,X);return d?(B.preventDefault(a.nativeEvent),d(a,b,c)):Ok(0,b,c)},keypress:Ok,"aloha.dblclick":function(a,b){return{boundaries:O.expand(b[0],b[1],"word"),focus:"end"}},"aloha.tplclick":function(a,b){return{boundaries:O.expand(b[0],b[1],"block"),focus:"end"}},"aloha.mouseup":Pk,mouseup:Pk,mousedown:function(a,b,c,d,f){if(!f)return{boundaries:b,focus:c};a=b[0];c=d["start"===c?1:0];return yk(a,c)?{boundaries:[c,a],focus:"end"}:{boundaries:[a,
+c],focus:"start"}},dragover:Qk,drop:Qk,resize:function(a,b,c){return{boundaries:b,focus:c}},paste:function(a,b){return{boundaries:b,focus:"end"}}};
+function Sk(a){function b(c,d){ka.Af(c,d,ka.Qf,100,function(c,d){if(!h)return!0;F.l(a,"opacity",c);1>d||(0===c?f.push(setTimeout(function(){b(0,1)},300)):1===c&&f.push(setTimeout(function(){b(1,0)},500)))})}function c(){h=!1;F.l(a,"opacity",1);f.forEach(clearTimeout);f=[]}function d(){c();h=!0;f.push(setTimeout(function(){b(1,0)},500))}var f=[],h=!0;return{start:function(){c();f.push(setTimeout(d,50))},stop:c}}
+function Tk(a){var b=V.D(a),c=H.document(a);a=F.Xb(c);var d=F.scrollTop(c),c=F.scrollLeft(c),f=a.innerHeight,h=a.innerWidth,l=b.height,m=b.top,b=b.left,n=0,q=0;m<d?n=m-l:m>d+f&&(n=m-f+l+l);b<c?q=b-l:b>c+h&&(q=b-h+l+l);(n||q)&&a.scrollTo(q||c,n||d)}function Uk(a,b){var c=S.nb(b.formatting,S.Wa(a),b.overrides),c=v.i(v.Zc(c));c.color||(c.color=F.getComputedStyle(F.b(a)?a.parentNode:a,"color"));return c}
+function Vk(a,b,c,d){var f="start"===d?b:c,h=H.a(f);if(!F.Za(h))return F.l(a.caret,"display","none"),a;wk(a.caret,f);v.extend(a.caret.style,xk(Uk(h,a)));H.select(b,c);a.Cf.start();return v.i(a,{boundaries:[b,c],focus:d})}
+var Wk={w:function(a){return a&&a.pe&&a.hasOwnProperty("focus")&&a.hasOwnProperty("caret")&&a.hasOwnProperty("boundaries")?!0:!1},ve:function(a){return Qd.w(a)},show:wk,select:Vk,focus:Tk,update:function(a){var b=a.selection;if(!(a.tg||b.dragging&&"dragover"!==a.type)){var c=a.type;if("mouseup"===c||"click"===c||"dblclick"===c)F.l(b.caret,"display","block");else return b=Vk(b,b.boundaries[0],b.boundaries[1],b.focus),c="start"===b.focus?b.boundaries[0]:b.boundaries[1],("keypress"===a.type||"paste"===
+a.type||Xe.Kd[a.keycode]||Xe.za.pageDown===a.keycode||Xe.za.pageUp===a.keycode||Xe.za.undo===a.keycode&&("meta"===a.meta||"ctrl"===a.meta||"shift"===a.meta)||Xe.za.enter===a.keycode)&&Tk(c),b}},me:function(a){if(!Rk[a.type])return a;var b=a.selection,c=Rk[a.type](a,b.boundaries,b.focus,b.ug,B.sa(a,"shift"));b.focus=c.focus;b.boundaries=c.boundaries;return a},oa:function(a){var b=a.createElement("div");v.extend(b.style,{cursor:"text",color:"#000",zIndex:"9999",display:"none",position:"absolute"});
+F.addClass(b,"aloha-caret","aloha-ephemera");F.f(b,a.body,!0);return{Cf:Sk(b),focus:"end",boundaries:null,event:null,dragging:null,ad:null,$d:0,lastMouseEvent:"",caret:b,formatting:[],overrides:[]}},Zf:function(a){a=a.querySelectorAll("div.aloha-caret");var b=[];[].forEach.call(a,function(a){"block"===F.T(a,"display")&&(b.push(a),F.l(a,"display","none"))});return b},Rg:function(a){a.forEach(function(a){F.l(a,"display","block")})},vh:function(a,b){var c=H.document(a);F.Kb(".aloha-selection-box",c).forEach(F.remove);
+return Ek(a,b).map(function(a){var b=c.createElement("div");v.extend(b.style,{top:a.top+"px",left:a.left+"px",height:a.height+"px",width:a.width+"px",position:"absolute",background:"red",opacity:.4});F.addClass(b,"aloha-selection-box","aloha-ephemera");F.append(b,c.body);return b})},Gh:Ek};function Xk(a,b,c){var d=H.J(b.selection.boundaries[0],b.selection.boundaries[1]);R.Ub(b.editable.Nb,{meta:{type:a},oldRange:d},function(){d=c();return{newRange:d}})}function Yk(a){function b(b){a=M.removeNode(b,a)}for(var c=0;c<a.length;c++)F.Ca(H.a(a[c]),b,N.o);return a}function Zk(a,b){var c=b.selection,d=c.boundaries[0],f=c.boundaries[1];H.n(d,f)&&(a?f=O.next(f):d=O.j(d));d=U.remove(d,O.Gc(f));c.formatting=S.nb(c.formatting,S.Wa(H.a(d[0])));d=Yk(d);N.Jb(H.ba(d[0],d[1]));return d}
+function $k(a,b){var c=b.selection,d=c.boundaries;if(!N.Ya(d[0],d[1]))return U.toggle(d[0],d[1],a);var f=S.gd[a];if(!f)return d;d=S.nb(c.formatting,S.Wa(H.a(d[0])),c.overrides);c.overrides=S.toggle(d,f,!0);return c.boundaries}function al(a,b){a||(b.selection.formatting=S.nb(b.selection.formatting,S.Wa(H.a(b.selection.boundaries[0]))));var c=-1<b.meta.indexOf("shift")?"BR":b.editable.We.defaultBlock;return U.Zd(b.selection.boundaries[1],c)}
+function bl(a){var b=H.a(a).data;a=H.offset(a);return k.Ec.test(b.substr(a-1,1))}function cl(a){var b=H.a(a).data;a=H.offset(a);return k.Ec.test(b.substr(a,1))}function dl(a){if(H.$(a))return bl(a)||cl(a)?"\u00a0":" ";a=H.a(a);var b=F.wb(a,function(a){return F.b(a)||F.e(a)||N.c(a)});if(F.r(b)||bl(H.Da(b)))return"\u00a0";b=F.Ab(a,function(a){return F.b(a)||F.e(a)||N.c(a)});return F.r(b)||cl(H.Bb(b))?"\u00a0":" "}
+function el(a){var b,c;H.$(a)?(b=H.a(a),c=H.offset(a)):(b=H.na(a))&&F.b(b)&&(c=b.data.length);b&&(a=b.data)&&k.Qb.test(a.substr(c-1,1))&&(b.data=a.substr(0,c-1)+" "+a.substr(c))}
+function fl(a){var b=a.editable,c=a.selection,d=String.fromCharCode(a.keycode),f=c.boundaries[0];"\t"===d?d="\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0":" "===d?(a=F.getComputedStyle(F.t(H.a(f),F.b),"white-space"),N.lc(a)||(d=dl(f))):el(f);f=S.ce(f,S.nb(c.formatting,c.overrides));c.overrides=[];c.formatting=[];var h=H.J(f,f),c=R.rg(b.elem,f),l=R.mg(c,[b.elem.ownerDocument.createTextNode(d)]);R.Ub(b.Nb,{noObserve:!0},function(){M.re(d,f,!0,[h]);return{changes:[l]}});return H.lb(h)}
+function gl(a,b){var c=H.J(b.selection.boundaries[0],b.selection.boundaries[1]);a(b.editable.Nb,c,[c]);return H.lb(c)}
+var hl={clearOverrides:!0,preventDefault:!0,undo:"delete",mutate:e.d(Zk,!1)},il={clearOverrides:!0,preventDefault:!0,undo:"delete",mutate:e.d(Zk,!0)},jl={sd:!0,preventDefault:!0,undo:"enter",mutate:e.d(al,!1)},kl={sd:!0,preventDefault:!0,undo:"enter",mutate:e.d(al,!0)},ll={preventDefault:!0,undo:"bold",mutate:e.d($k,"B")},ml={preventDefault:!0,undo:"italic",mutate:e.d($k,"I")},nl={preventDefault:!0,undo:"underline",mutate:e.d($k,"U")},ol={sd:!0,preventDefault:!0,undo:"typing",mutate:fl},pl={clearOverrides:!0,
+preventDefault:!0,mutate:e.d(gl,R.undo)},ql={preventDefault:!0,clearOverrides:!0,mutate:e.d(gl,R.Qe)},rl={breakBlock:jl,breakLine:kl,deleteBackward:hl,deleteForward:il,formatBold:ll,formatItalic:ml,inputText:ol,redo:ql,undo:pl},Z={keydown:{},keypress:{},keyup:{}};Z.keydown.up=Z.keydown.down=Z.keydown.left=Z.keydown.right={clearOverrides:!0};Z.keydown["delete"]=il;Z.keydown.backspace=hl;Z.keydown.enter=jl;Z.keydown["shift+enter"]=kl;Z.keydown["ctrl+b"]=Z.keydown["meta+b"]=ll;
+Z.keydown["ctrl+i"]=Z.keydown["meta+i"]=ml;Z.keydown["ctrl+u"]=Z.keydown["meta+u"]=nl;Z.keydown["ctrl+a"]=Z.keydown["meta+a"]={preventDefault:!0,clearOverrides:!0,mutate:function(a){var b=F.zb(H.ba(a.selection.boundaries[0],a.selection.boundaries[1]));return b?[H.create(b,0),H.Da(b)]:a.selection.boundaries}};Z.keydown["ctrl+z"]=Z.keydown["meta+z"]=pl;Z.keydown["ctrl+shift+z"]=Z.keydown["meta+shift+z"]=ql;
+Z.keydown.tab={preventDefault:!0,undo:"indent",mutate:function(a){var b=a.selection.boundaries,c=b[0],b=b[1];if(bj.hg(c,b))return bj.bg(c,b);H.n(c,b)||(a.selection.boundaries=Zk(!1,a));return fl(a)}};Z.keypress.input=ol;Z.keydown["ctrl+0"]={mutate:function(a){a.editable&&Xc.toggle(a.editable.elem);return a.selection.boundaries}};Z.keydown["ctrl+1"]={mutate:function(a){a.editable&&Xc.toggle(a.editable.elem,{outline:!0,tagname:!0});return a.selection.boundaries}};
+Z.keydown["ctrl+2"]={mutate:function(a){a.editable&&Xc.toggle(a.editable.elem,{outline:!0,tagname:!0,padding:!0});return a.selection.boundaries}};function sl(a){return Xe.Ad(a.meta,a.keycode,Z[a.type]||[])||"keypress"===a.type&&"alt"!==a.meta&&"ctrl"!==a.meta&&!k.te(String.fromCharCode(a.keycode))&&Z.keypress.input}
+var tl={ne:function(a){var b=a.selection,c=b.boundaries[0],d=b.boundaries[1],f=sl(a);if(!f)return a;f.preventDefault&&B.preventDefault(a.nativeEvent);f.clearOverrides&&(b.overrides=[],b.formatting=[]);f.mutate&&(f.undo?Xk(f.undo,a,function(){f.sd&&!H.n(c,d)&&(b.boundaries=Zk(!1,a));b.boundaries=f.mutate(a);N.Jb(H.ba(b.boundaries[0],b.boundaries[1]))}):b.boundaries=f.mutate(a));return a},xf:rl};var ul={dropEffect:"none",element:null,target:null,data:["text/plain",""]};function vl(a,b,c){var d=Wk.Zf(c);a=H.Z(F.scrollLeft(c)+a,F.scrollTop(c)+b,c);Wk.Rg(d);return[a,a]}
+var wl={dragstart:function(a){a.nativeEvent.dataTransfer.setData(a.dnd.data[0],a.dnd.data[1]);a.dnd.element=a.nativeEvent.target;a.dnd.target=a.nativeEvent.target},dragover:function(a){var b=a.nativeEvent;a.selection.boundaries=vl(b.clientX+-10,b.clientY+-10,b.target.ownerDocument);B.preventDefault(b)},drop:function(a){var b=a.nativeEvent;a.selection.boundaries=vl(b.clientX+-10+8,b.clientY+-10,b.target.ownerDocument);if(a.selection.boundaries){var c=a.selection,d=a.dnd.element,f=d.previousSibling;
+a=U.f(a.selection.boundaries[0],a.selection.boundaries[1],d);f&&f.nextSibling&&F.i(f,f.nextSibling);c.boundaries=[a,a]}B.stopPropagation(b);B.preventDefault(b)}},xl={he:function(a){if(a.dnd&&wl[a.type])wl[a.type](a);return a},oa:function(a){return v.i({},ul,a)},ue:function(a){if(!F.r(a))return!1;var b=a.getAttribute("draggable");return"false"===b?!1:"true"===b||"IMG"===a.nodeName?!0:"A"===a.nodeName&&a.getAttribute("href")}};var yl=zc,zl=[[yl.Aa+"transition",yl.Aa+"transform 0.2s ease-out"],[yl.Aa+"transform","scale(0.9)"],["opacity","0.5"]];function Al(a){return"IMG"===a.nativeEvent.target.nodeName||F.hasClass(a.nativeEvent.target,"aloha-block")}
+var Bl={mousedown:function(a){var b=a.nativeEvent.target;Al(a)&&xl.ue(b)&&(b=B.sa(a,"ctrl")?xl.oa({dropEffect:"copy",element:b.cloneNode(!0),target:b,data:["text/html",b.outerHTML]}):xl.oa({dropEffect:"move",element:b,target:b,data:["text/html",b.outerHTML]}),a.dnd=b)},dragstart:function(a){Al(a)&&zl.forEach(function(b){a.dnd.target&&F.l(a.dnd.target,b[0],b[1]);F.l(a.dnd.element,b[0],b[1])})},dragend:function(a){Al(a)&&zl.forEach(function(b){a.dnd.target&&F.l(a.dnd.target,b[0],"");F.l(a.dnd.element,
+b[0],"")})},dragover:function(){}},Cl={ge:function(a){if(Bl[a.type])Bl[a.type](a);return a},cg:function(a){a=F.Kb(".aloha-block,img",a.ownerDocument);a.forEach(function(a){a.setAttribute("contentEditable","false");F.l(a,"cursor",yl.Aa+"grab")});return a}};var Dl=zc;var El={},$=El,Fl=zc,Gl={Xf:function(a,b,c){function d(f){var h=a();h&&!g.Yb(b,h,H.n)?(b=h,c(h,f)):(h=f.type,Dl.Eh&&"mouseup"===h&&B.Ie(e.d(d,f)))}return d},yf:function(a,b,c){B.add(a,"selectionchange",b,!0);B.add(a,"keyup",b,!0);B.add(a,"mouseup",b,!0);B.add(a,"touchend",b,!0);B.add(a,"keypress",b,!0);Dl.Hd||Dl.De||!c||B.add(a,"mousemove",b,!0)},Ag:function(a,b,c){B.remove(a,"selectionchange",b,!0);B.remove(a,"keyup",b,!0);B.remove(a,"mouseup",b,!0);B.remove(a,"touchend",b,!0);B.remove(a,"keypress",
+b,!0);Dl.Hd||Dl.De||!c||B.remove(a,"mousemove",b,!0)}},$={Boromir:Ld,Record:vb,arrays:{}};$.arrays.is=g.w;$.arrays.contains=g.contains;$.arrays.difference=g.Wb;$.arrays.equal=g.Yb;$.arrays.intersect=g.Sc;$.arrays.is=g.w;$.arrays.last=g.p;$.arrays.coerce=g.V;$.arrays.mapcat=g.Be;$.arrays.partition=g.Je;$.arrays.some=g.some;$.arrays.someIndex=g.Lb;$.arrays.split=g.split;$.arrays.unique=g.unique;$.arrays.refill=g.wg;$.blocks={};$.blocks.handleBlocks=Cl.ge;$.boundaries={};$.boundaries.is=H.w;
+$.boundaries.get=H.get;$.boundaries.select=H.select;$.boundaries.raw=H.K;$.boundaries.create=H.create;$.boundaries.normalize=H.normalize;$.boundaries.equals=H.n;$.boundaries.container=H.a;$.boundaries.offset=H.offset;$.boundaries.document=H.document;$.boundaries.fromRange=H.lb;$.boundaries.fromRanges=H.mb;$.boundaries.fromRangeStart=H.ra;$.boundaries.fromRangeEnd=H.Va;$.boundaries.fromFrontOfNode=H.ha;$.boundaries.fromBehindOfNode=H.$b;$.boundaries.fromStartOfNode=H.Bb;
+$.boundaries.fromEndOfNode=H.Da;$.boundaries.fromPosition=H.Z;$.boundaries.setRange=H.yc;$.boundaries.setRanges=H.sb;$.boundaries.setRangeStart=H.zd;$.boundaries.setRangeEnd=H.yd;$.boundaries.isAtStart=H.F;$.boundaries.isAtEnd=H.h;$.boundaries.isTextBoundary=H.$;$.boundaries.isNodeBoundary=H.W;$.boundaries.next=H.next;$.boundaries.prev=H.j;$.boundaries.jumpOver=H.mc;$.boundaries.nextWhile=H.s;$.boundaries.prevWhile=H.G;$.boundaries.stepWhile=H.Ed;$.boundaries.walkWhile=H.Tg;
+$.boundaries.nextNode=H.nextNode;$.boundaries.prevNode=H.k;$.boundaries.nodeAfter=H.X;$.boundaries.nodeBefore=H.na;$.boundaries.commonContainer=H.ba;$.boundaries.range=H.J;$.markers={};$.markers.hint=lg.hint;$.markers.insert=lg.f;$.markers.extract=lg.Zb;$.browsers={};$.browsers.chrome=Fl.chrome;$.browsers.webkit=Fl.Hd;$.browsers.safari=Fl.Fg;$.browsers.vendor=Fl.vendor;$.browsers.version=Fl.version;$.browsers.VENDOR_PREFIX=Fl.Aa;$.colors={};$.colors.hex=Da.Yf;$.colors.rgb=Da.Eg;$.colors.cross=Da.Lf;
+$.colors.equals=Da.n;$.colors.serialize=Da.wd;$.content={};$.content.allowsNesting=y.pa;$.content.allowedStyles=y.hb;$.content.allowedAttributes=y.gb;$.content.disallowedNodes=y.Qa;$.content.nodeTranslations=y.Hb;$.dom={};$.dom.Nodes=F.Y;$.dom.offset=F.offset;$.dom.cloneShallow=F.R;$.dom.clone=F.clone;$.dom.text=F.text;$.dom.children=F.children;$.dom.nthChild=F.aa;$.dom.numChildren=F.uc;$.dom.nodeIndex=F.q;$.dom.nodeLength=F.m;$.dom.hasChildren=F.Mc;$.dom.nodeAtOffset=F.ma;
+$.dom.normalizedNthChild=F.rc;$.dom.normalizedNodeIndex=F.qc;$.dom.realFromNormalizedIndex=F.wc;$.dom.normalizedNumChildren=F.sc;$.dom.isNode=F.Vc;$.dom.isTextNode=F.b;$.dom.isElementNode=F.r;$.dom.isFragmentNode=F.hc;$.dom.isEmptyTextNode=F.Db;$.dom.isSameNode=F.isSameNode;$.dom.equals=F.n;$.dom.contains=F.contains;$.dom.followedBy=F.qa;$.dom.hasText=F.Nc;$.dom.outerHtml=F.vc;$.dom.append=F.append;$.dom.merge=F.i;$.dom.moveNextAll=F.$c;$.dom.moveBefore=F.nc;$.dom.moveAfter=F.pb;$.dom.move=F.move;
+$.dom.copy=F.xa;$.dom.wrap=F.Ka;$.dom.wrapWith=F.Id;$.dom.insert=F.f;$.dom.insertAfter=F.fc;$.dom.replace=F.replace;$.dom.replaceShallow=F.rb;$.dom.remove=F.remove;$.dom.removeShallow=F.ua;$.dom.removeChildren=F.rd;$.dom.addClass=F.addClass;$.dom.removeClass=F.removeClass;$.dom.hasClass=F.hasClass;$.dom.hasAttrs=F.cc;$.dom.attrs=F.attrs;$.dom.setAttr=F.va;$.dom.setAttrNS=F.xd;$.dom.getAttr=F.ea;$.dom.getAttrNS=F.fe;$.dom.removeAttr=F.pd;$.dom.removeAttrNS=F.yg;$.dom.removeAttrs=F.zg;
+$.dom.removeStyle=F.Te;$.dom.setStyle=F.l;$.dom.getStyle=F.T;$.dom.getComputedStyle=F.getComputedStyle;$.dom.getComputedStyles=F.Lc;$.dom.query=F.Kb;$.dom.nextNonAncestor=F.Ia;$.dom.nextWhile=F.s;$.dom.nextUntil=F.ed;$.dom.nextSibling=F.nextSibling;$.dom.nextSiblings=F.qb;$.dom.prevWhile=F.G;$.dom.prevUntil=F.od;$.dom.prevSibling=F.u;$.dom.prevSiblings=F.Ib;$.dom.nodeAndNextSiblings=F.la;$.dom.nodeAndPrevSiblings=F.oc;$.dom.walk=F.Ja;$.dom.walkRec=F.ub;$.dom.walkUntilNode=F.Pb;$.dom.forward=F.forward;
+$.dom.backward=F.wa;$.dom.findForward=F.Kc;$.dom.findBackward=F.Jc;$.dom.upWhile=F.t;$.dom.climbUntil=F.Ca;$.dom.childAndParentsUntil=F.Na;$.dom.childAndParentsUntilIncl=F.Oa;$.dom.childAndParentsUntilNode=F.jb;$.dom.childAndParentsUntilInclNode=F.ib;$.dom.parentsUntil=F.kd;$.dom.parentsUntilIncl=F.ld;$.dom.serialize=F.wd;$.dom.enableSelection=F.Tf;$.dom.disableSelection=F.Of;$.dom.isEditable=F.Tc;$.dom.isEditableNode=F.Za;$.dom.isEditingHost=F.e;$.dom.isContentEditable=F.isContentEditable;
+$.dom.documentWindow=F.Xb;$.dom.editingHost=F.zb;$.dom.editableParent=F.Sf;$.dom.scrollTop=F.scrollTop;$.dom.scrollLeft=F.scrollLeft;$.dom.absoluteTop=F.Ba;$.dom.absoluteLeft=F.wf;$.dragdrop={};$.dragdrop.handleDragDrop=xl.he;$.dragdrop.Context=xl.oa;$.dragdrop.isDraggable=xl.ue;$.editables={};$.editables.Editable=xi.kf;$.editables.fromElem=xi.Vf;$.editables.fromBoundary=xi.ga;$.editables.create=xi.create;$.editables.destroy=xi.de;$.editing={};$.editing.format=U.format;$.editing.unformat=U.Fd;
+$.editing.style=U.style;$.editing.remove=U.remove;$.editing.breakline=U.Zd;$.editing.insert=U.f;$.editing.className=U.className;$.editing.attribute=U.Bf;$.editing.cut=U.Mf;$.editing.copy=U.xa;$.editing.wrap=U.Ka;$.events={};$.events.is=B.w;$.events.isAlohaEvent=B.se;$.events.add=B.add;$.events.remove=B.remove;$.events.setup=B.Xe;$.events.hasKeyModifier=B.sa;$.events.dispatch=B.Pf;$.events.nextTick=B.Ie;$.events.preventDefault=B.preventDefault;$.events.stopPropagation=B.stopPropagation;
+$.events.suppress=B.cf;$.fn={};$.fn.identity=e.Pc;$.fn.noop=e.O;$.fn.returnTrue=e.vd;$.fn.returnFalse=e.v;$.fn.complement=e.ca;$.fn.partial=e.d;$.fn.strictEquals=e.bf;$.fn.comp=e.be;$.fn.and=e.Wd;$.fn.constantly=e.Hf;$.fn.is=e.w;$.fn.isNou=e.ta;$.fn.or=e.pg;$.fn.and=e.Wd;$.fn.asMethod=e.C;$.fn.extendType=e.Hc;$.html={};$.html.parse=N.parse;$.html.hasBlockStyle=N.Cb;$.html.hasInlineStyle=N.Xa;$.html.hasLinebreakingStyle=N.c;$.html.prop=N.Jb;$.html.isVoidType=N.M;$.html.isRendered=N.o;
+$.html.isUnrendered=N.H;$.html.isBlockNode=N.Ea;$.html.isInlineNode=N.Ha;$.html.isListContainer=N.ya;$.html.isTableContainer=N.Xc;$.html.isGroupContainer=N.ia;$.html.isGroupedElement=N.Ga;$.html.isListItem=N.g;$.html.isHeading=N.Eb;$.html.isTextLevelSemanticNode=N.Fb;$.html.isVoidNode=N.ab;$.images={};$.images.insert=rk.f;$.images.setAttributes=rk.Hg;$.keys={};$.keys.handleKeys=Xe.ie;$.keys.parseKeys=Xe.qg;$.keys.ARROWS=Xe.Kd;$.keys.CODES=Xe.za;$.keys.shortcutHandler=Xe.Ad;$.links={};
+$.links.create=vj.create;$.links.remove=vj.remove;$.links.handleLinks=vj.je;$.lists={};$.lists.format=bj.format;$.lists.unformat=bj.Fd;$.lists.toggle=bj.toggle;$.maps={};$.maps.isEmpty=v.Fa;$.maps.fillKeys=v.Ic;$.maps.keys=v.keys;$.maps.vals=v.eb;$.maps.selectVals=v.Gg;$.maps.filter=v.filter;$.maps.forEach=v.forEach;$.maps.extend=v.extend;$.maps.merge=v.i;$.maps.isMap=v.isMap;$.maps.clone=v.clone;$.maps.cloneSet=v.Fc;$.maps.cloneDelete=v.ae;$.maps.create=v.create;$.maps.mapTuples=v.Zc;
+$.metaview={};$.metaview.toggle=Xc.toggle;$.mouse={};$.mouse.handleMouse=Te.ke;$.mouse.EVENTS=Te.Md;$.overrides={};$.overrides.indexOf=S.indexOf;$.overrides.unique=S.unique;$.overrides.toggle=S.toggle;$.overrides.harvest=S.Wa;$.overrides.consume=S.ce;$.overrides.nodeToState=S.gd;$.overrides.stateToNode=S.Og;$.overrides.joinToSet=S.nb;$.paste={};$.paste.handlePaste=mk.le;$.paths={};$.paths.toBoundary=mf.cb;$.paths.fromBoundary=mf.ga;$.carets={};$.carets.box=V.D;$.carets.showHint=V.Kg;
+$.carets.hideHint=V.$f;$.selectionchange={};$.selectionchange.handler=Gl.Xf;$.selectionchange.addHandler=Gl.yf;$.selectionchange.removeHandler=Gl.Ag;$.selections={};$.selections.is=Wk.w;$.selections.isRange=Wk.ve;$.selections.show=Wk.show;$.selections.focus=Wk.focus;$.selections.select=Wk.select;$.selections.handleSelections=Wk.me;$.selections.Context=Wk.oa;$.searching={};$.searching.search=Se.search;$.searching.forward=Se.forward;$.searching.backward=Se.wa;$.strings={};$.strings.addToList=k.Vd;
+$.strings.removeFromList=k.Se;$.strings.uniqueList=k.Gd;$.strings.words=k.ff;$.strings.splitIncl=k.$e;$.strings.dashesToCamelCase=k.Vb;$.strings.camelCaseToDashes=k.Ef;$.strings.isEmpty=k.Fa;$.strings.isControlCharacter=k.te;$.strings.CONTROL_CHARACTER=k.gf;$.strings.SPACE=k.pf;$.strings.NOT_SPACE=k.Cc;$.strings.WHITE_SPACE=k.Ec;$.strings.WHITE_SPACES=k.Pd;$.strings.ZERO_WIDTH_SPACE=k.vf;$.strings.NON_BREAKING_SPACE=k.Qb;$.strings.WORD_BOUNDARY=k.Sb;$.strings.WORD_BOUNDARY_FROM_END=k.Rd;
+$.strings.WORD_BREAKING_CHARACTER=k.sf;$.strings.TERMINAL_WHITE_SPACES=k.qf;$.strings.ZERO_WIDTH_CHARACTERS=k.Sd;$.strings.WHITE_SPACE_CHARACTERS=k.Qd;$.strings.WORD_BREAKING_CHARACTERS=k.tf;$.strings.NON_BREAKING_SPACE_CHARACTERS=k.Nd;$.transform={};$.transform.html=qi.Oc;$.transform.plain=qi.Ke;$.transform.msword=qi.Ee;$.traversing={};$.traversing.next=O.next;$.traversing.prev=O.j;$.traversing.expand=O.expand;$.traversing.isAtStart=O.F;$.traversing.isAtEnd=O.h;$.traversing.isBoundariesEqual=O.Ya;
+$.typing={};$.typing.handleTyping=tl.ne;$.typing.actions=tl.xf;$.undo={};$.undo.Context=R.oa;$.undo.enter=R.ee;$.undo.close=R.close;$.undo.leave=R.lg;$.undo.capture=R.Ub;$.undo.undo=R.undo;$.undo.redo=R.Qe;$.zippers={};$.zippers.go=Q.go;$.zippers.dom=Q.Ra;$.zippers.hint=Q.hint;$.zippers.update=Q.update;$.zippers.before=Q.xb;$.zippers.after=Q.Ma;$.zippers.prev=Q.j;$.zippers.next=Q.next;$.zippers.up=Q.Ob;$.zippers.down=Q.Sa;$.zippers.root=Q.root;$.zippers.peek=Q.sg;$.zippers.split=Q.split;
+$.zippers.splice=Q.splice;$.zippers.insert=Q.f;$.zippers.replace=Q.replace;$.zippers.remove=Q.remove;$.zippers.zipper=Q.Jd;$.zippers.isAtStart=Q.F;$.zippers.isAtEnd=Q.h;$.zippers.splitAt=Q.Cd;$.zippers.insertAt=Q.dg;$.zippers.isMarker=Q.jc;$.zippers.createMarker=Q.Kf;function Hl(){var a=Il,b=Jl;return function(){try{return $[a][b].apply(this,arguments)}catch(c){throw console.info(Kl(g.V(arguments),a,b)),c;}}}
+function Kl(a,b,c){return"See http://aloha-editor.org/api/"+b+".html?types="+Ll(a).join("-")+"#"+c}function Ll(a){var b=[];a.forEach(function(a){b.push(Ml(a))});return b}function Ml(a){if(a&&g.w(a))return H.w(a)?"Boundary":"Array";if(a&&"object"===typeof a){if(F.r(a))return"Element";if(F.Vc(a))return"Node";if(Wk.w(a))return"Selection";if(Wk.ve(a))return"Range";if(B.w(a))return"Event";if(B.se(a))return"AlohaEvent";if(a instanceof RegExp)return"RegExp"}return typeof a}var Nl={},Il;
+for(Il in $)if(Nl[Il]={},"Boromir"===Il||"Record"===Il)Nl[Il]=$[Il];else for(var Jl in $[Il])Nl[Il][Jl]=e.w($[Il][Jl])?Hl():$[Il][Jl];El=Nl;var Ol=El,Pl=document,Ql=F.Xb(Pl),Rl={mousemove:!0,mousedown:!0,mouseup:!0,click:!0,dblclick:!0,"aloha.dblclick":!0,"aloha.tplclick":!0},Sl={mousedown:!0,mouseup:!0,click:!0,dblclick:!0,"aloha.dblclick":!0,"aloha.tplclick":!0},Tl={dblclick:!0,"aloha.dblclick":!0,"aloha.tplclick":!0};
+function Ul(a){var b=Vl,c=a.type,d=b.Ue,f=Sl[c]||!1,h;if(d.dragging)h=d.dragging;else if("mousemove"!==c)h=null;else{var l=d.lastMouseEvent;h="mousedown"===l||"aloha.dblclick"===l||"aloha.tplclick"===l?l:null}var m=h&&h!==d.dragging,l=F.T(d.caret,"display");(f||m)&&F.l(d.caret,"display","none");m&&(d.dragging=h);if("mousemove"===c)return null;"mouseup"===c&&d.dragging&&(c="aloha.mouseup",d.dragging=null);if(f){if("mousedown"!==a.type&&"dbclick"!==a.type&&"aloha.dblclick"!==a.type)h=null;else{h=new Date;
+var m=h-d.$d,n=d.ad;d.ad=null;d.$d=h;h=500<m||!d.event||d.event.clientX!==a.clientX||d.event.clientY!==a.clientY?null:Tl[n]?"aloha.tplclick":"aloha.dblclick"}c=h||c}Tl[c]&&(d.ad=c,B.preventDefault(a));Rl[c]&&(d.lastMouseEvent=c);h=a.target.document||a.target.ownerDocument;f=f?(f=H.Z(a.clientX+F.scrollLeft(h),a.clientY+F.scrollTop(h),h))&&[f,f]:H.get(h);F.l(d.caret,"display",l);if(!f)return null;l=H.ba(f[0],f[1]);if(!F.Za(l))return"keydown"===c&&(F.Za(H.a(f[0]))||F.Za(H.a(f[1])))&&B.preventDefault(a),
+null;l=xi.ga(b,f[0]);if(!l)return null;d.overrides=b.selection?b.selection.overrides:[];d.ug=d.boundaries;d.boundaries=f;d.event=a;return{tg:!1,type:c,nativeEvent:a,editable:l,selection:d,dnd:b.dnd}}function Vl(a){if(a=Ul(a))if(a=e.be.apply(Vl.stack,Vl.stack)(a),a=Wk.update(a))Vl.selection=v.i(a)}Vl.dnd=xl.oa();Vl.Ue=Wk.oa(Pl);Vl.selection=Vl.Ue;Vl.editables={};
+Vl.stack=[Wk.me,vj.je,tl.ne,function(a){if("keydown"!==a.type||Xe.za.tab!==a.keycode&&Xe.za.space!==a.keycode&&Xe.za.enter!==a.keycode)return a;for(var b=a.selection.boundaries[0],c=O.j(b,"visual"),d=c&&jk(c),f=ik,h,l;d&&f[d];)f=f[d],"function"===typeof f&&(h=f,l=c),d=(c=O.j(c,"visual"))&&jk(c);h&&(b=h(l,b),a.selection.boundaries=[b,b]);return a},Cl.ge,xl.he,mk.le,Xe.ie,Te.ke];B.Xe(Pl,Vl);B.add(Ql,"resize",Vl);function Wl(a,b){var c=xi.create(Vl,a,b);Cl.cg(c.elem);return c}Ol.aloha=Wl;
+Ol.mahalo=function(a){return xi.de(Vl,a)};Ol.editor=Vl;Ol.buildcommit="https://github.com/alohaeditor/Aloha-Editor/commit/331dfdef38cd12b3659876c33c5c281d8acd5795";Ql.aloha=v.extend(Wl,Ol);
+console.log("%c _ _ _ _ _\n __ _%c| |%c ___ %c| |%c__ __ _ ___ __%c| (_) |%c_ ___ _ __ %cAloha! \n %c/ _` | |/ _ \\| '_ \\%c %c/ _` |%c %c/ _ \\/ _` | | __/ _ \\| '__|%c %cHelp us shape the future of content editing on the web! \n%c| (%c_%c| | | (%c_%c) | |%c %c| | (%c_%c| |%c %c| __/ (%c_%c| | | %c||%c (%c_%c) | |%c %cJoin the team at http://github.com/alohaeditor \n %c\\__,_|_|\\___/|_|%c %c|_|\\__,_|%c %c\\___|\\__,_|_|\\__\\___/|_|%c.org %c\u2665","color: #bbb;",
+"color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #555;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #555;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;",
+"color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #555;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #bbb; background: #f8f6f5;","color: #bbb;","color: #f34;");}())
source/js/support.js
+include_file( 'editor.min.js', 'js', function() {
+ aloha( document.querySelector('.support') );
+});
+
source/js/tags.js
+$(document).ready( function() {
+ $.getScript( "js/columns.js", function() {
+ var $current;
+
+ $("div.columns").millerColumns({
+ current: function( $item ) {
+ $current = $item;
+ }
+ });
+
+ /** Used to initialize code blocks called when a link is clicked. */
+ update = function( link, def, undef ) {
+ $(link).on( "click", function( event ) {
+ event.preventDefault();
+
+ ($current === undefined) ?
+ typeof undef === "function" && undef() :
+ typeof def === "function" && def();
+
+ return false;
+ });
+ }
+
+ update( "#new",
+ function() {
+ console.log( "new child of: " + $current.attr( "id" ) );
+ },
+ function() {
+ console.log( "new root sibling" );
+ }
+ );
+
+ update( "#edit",
+ function() {
+ console.log( "edit: " + $current.attr( "id" ) );
+ }
+ );
+
+ update( "#del",
+ function() {
+ console.log( "del: " + $current.attr( "id" ) );
+ }
+ );
+
+ update( "#flag",
+ function() {
+ console.log( "flag: " + $current.attr( "id" ) );
+ }
+ );
+ });
+});
+
source/to/discuss/Main.java
-package to.discuss;
-
-import java.io.InputStream;
-
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.xml.XmlConfiguration;
-import org.eclipse.jetty.server.handler.ContextHandler;
-
-/**
- * Launches the embedded web server.
- */
-public class Main {
- public static void main( String args[] ) throws Exception {
- Server server = new Server( 8080 );
-
- InputStream configFile = open( "static.xml" );
- XmlConfiguration config = new XmlConfiguration( configFile );
- ContextHandler context = (ContextHandler)config.configure();
-
- server.setHandler( context );
- server.start();
- server.join();
- }
-
- private static InputStream open( String filename ) throws Exception {
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- return loader.getResourceAsStream( filename );
- }
-}
-
source/xsl/chart.xsl
+<?xml version="1.0"?>
+<!--
+ | The MIT License
+ |
+ | Copyright 2014 White Magic Software, Inc.
+ |
+ | Permission is hereby granted, free of charge, to any person
+ | obtaining a copy of this software and associated documentation
+ | files (the "Software"), to deal in the Software without
+ | restriction, including without limitation the rights to use,
+ | copy, modify, merge, publish, distribute, sublicense, and/or
+ | sell copies of the Software, and to permit persons to whom the
+ | Software is furnished to do so, subject to the following
+ | conditions:
+ |
+ | The above copyright notice and this permission notice shall be
+ | included in all copies or substantial portions of the Software.
+ |
+ | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ | OTHER DEALINGS IN THE SOFTWARE.
+ +-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:include href="math.xsl"/>
+<xsl:include href="colour.xsl"/>
+
+<!-- Pie chart width and height. -->
+<xsl:variable name="width" select="200"/>
+<xsl:variable name="height" select="$width"/>
+
+<xsl:template match="resources">
+ <xsl:apply-templates mode="piechart"/>
+</xsl:template>
+
+<xsl:template match="expenses">
+ <div class="expenses">
+ <xsl:apply-templates mode="piechart"/>
+ <xsl:apply-templates select="dataset"/>
+ </div>
+</xsl:template>
+
+<xsl:template match="//dataset/*[name()='data' or name()='footer']/value">
+ <div class="value"><xsl:value-of
+ select="format-number(., '###,###')"/></div>
+</xsl:template>
+
+<!-- Convert XML data into a pie chart. -->
+<xsl:template match="dataset" mode="piechart">
+ <!-- Number of wedges. -->
+ <xsl:variable name="wedges" select="count(data)"/>
+
+ <!-- Calculate the sum of all wedge values. -->
+ <xsl:variable name="total" select="sum(data//value)"/>
+
+ <div class="chart">
+ <div class="graph">
+ <svg width="{$width}" height="{$height}" version="1.1"
+ xmlns="http://www.w3.org/2000/svg">
+ <xsl:for-each select="data">
+ <xsl:apply-templates select="value" mode="piechart">
+ <xsl:with-param name="colour">
+ <xsl:call-template name="fill">
+ <xsl:with-param name="wedge" select="position()"/>
+ <xsl:with-param name="wedges" select="$wedges"/>
+ <xsl:with-param name="colour" select="$base_colour"/>
+ </xsl:call-template>
+ </xsl:with-param>
+ <xsl:with-param name="total"
+ select="$total"/>
+ <xsl:with-param name="runningTotal"
+ select="sum(preceding-sibling::data/value)"/>
+ <xsl:with-param name="radius"
+ select="$width * 0.5"/>
+ </xsl:apply-templates>
+ </xsl:for-each>
+ </svg>
+ </div>
+
+ <!-- SVG 1.1 has no text flow abilities. -->
+ <table class="legend" id="legend" name="legend">
+ <thead>
+ <tr>
+ <th colspan="2">Expense</th>
+ <th>Amount</th>
+ <th></th>
+ </tr>
+ </thead>
+ <tbody>
+ <xsl:for-each select="data//name">
+ <xsl:variable name="colour">
+ <xsl:call-template name="fill">
+ <xsl:with-param name="wedge" select="position()"/>
+ <xsl:with-param name="wedges" select="$wedges"/>
+ <xsl:with-param name="colour" select="$base_colour"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="amount"
+ select="format-number(../value, '###,###')"/>
+
+ <xsl:variable name="percent"
+ select="format-number(../value div $total, '0.00%')"/>
+
+ <tr class="wedge">
+ <td class="bullet">
+ <div class="bullet" style="background-color:{$colour}"/>
+ </td>
+ <td class="category"><xsl:value-of select="." /></td>
+ <td class="amount"><xsl:value-of select="$amount" /></td>
+ <td class="percent"><xsl:value-of select="$percent" /></td>
+ </tr>
+ </xsl:for-each>
+ </tbody>
+ <tfoot>
+ <tr>
+ <td></td>
+ <td class="total">Total</td>
+ <td class="footer">
+ <xsl:value-of select="format-number(footer/value, '###,###')"/>
+ </td>
+ </tr>
+ </tfoot>
+ </table>
+ <div class="legend">
+ </div>
+ </div>
+</xsl:template>
+
+<!--
+ | Creates a pie wedge path.
+ |
+ | http://www.svgopen.org/2003/papers/CreatingSVGPieChartsThroughWebService
+ | http://jbkflex.wordpress.com/2011/07/28/creating-a-svg-pie-chart-html5
+ | http://www.codestore.net/store.nsf/unid/epsd-5dtt4l
+ +-->
+<xsl:template match="value" mode="piechart">
+ <!-- Colour of the pie wedge. -->
+ <xsl:param name="colour"/>
+ <!-- Sum of all the wedge values. -->
+ <xsl:param name="total"/>
+ <!-- Sum of all preceding wedge values. -->
+ <xsl:param name="runningTotal"/>
+ <!-- Pie radius. -->
+ <xsl:param name="radius"/>
+
+ <!-- Hover text. -->
+ <xsl:variable name="title"
+ select="concat(../name,' (',format-number(., '###,###'),')')"/>
+
+ <!-- Set the start and ending angles. -->
+ <xsl:variable name="sa"
+ select="360.0 * ($runningTotal div $total)"/>
+ <xsl:variable name="ea"
+ select="360.0 * (($runningTotal + .) div $total)"/>
+
+ <!-- Calculate the starting Cartesian coordinate. -->
+ <xsl:variable name="x1">
+ <xsl:call-template name="sine">
+ <xsl:with-param name="degrees" select="-$sa"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="y1">
+ <xsl:call-template name="sine">
+ <xsl:with-param name="degrees" select="(-$sa - 90)"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <!-- Calculate the ending Cartesian coordinate. -->
+ <xsl:variable name="x2">
+ <xsl:call-template name="sine">
+ <xsl:with-param name="degrees" select="-$ea"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="y2">
+ <xsl:call-template name="sine">
+ <xsl:with-param name="degrees" select="(-$ea - 90)"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <!-- Wedges with angles that exceed 180 degrees must be marked. -->
+ <xsl:variable name="sweep">
+ <xsl:choose>
+ <xsl:when test="($ea - $sa &gt; 180)">1</xsl:when>
+ <xsl:otherwise>0</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <!-- Ensure the path's d attribute fits on a printed page. -->
+ <!-- Note: superfluous variables. -->
+ <xsl:variable name="r" select="$radius"/>
+ <xsl:variable name="x1r" select="$x1 * $r"/>
+ <xsl:variable name="y1r" select="$y1 * $r"/>
+ <xsl:variable name="x2r" select="$x2 * $r"/>
+ <xsl:variable name="y2r" select="$y2 * $r"/>
+
+ <!-- Create the wedge path. -->
+ <path xmlns="http://www.w3.org/2000/svg"
+ fill="{$colour}"
+ title="{$title}"
+ stroke="{$stroke_colour}"
+ transform="translate({$radius},{$radius})"
+ d="M 0 0 L {$x1r} {$y1r} A {$r} {$r} 0 {$sweep} 0 {$x2r} {$y2r} Z"/>
+</xsl:template>
+
+<xsl:template match="title" mode="piechart">
+</xsl:template>
+
+</xsl:stylesheet>
source/xsl/colour.xsl
+<?xml version="1.0"?>
+<!--
+ | The MIT License
+ |
+ | Copyright 2014 White Magic Software, Inc.
+ |
+ | Permission is hereby granted, free of charge, to any person
+ | obtaining a copy of this software and associated documentation
+ | files (the "Software"), to deal in the Software without
+ | restriction, including without limitation the rights to use,
+ | copy, modify, merge, publish, distribute, sublicense, and/or
+ | sell copies of the Software, and to permit persons to whom the
+ | Software is furnished to do so, subject to the following
+ | conditions:
+ |
+ | The above copyright notice and this permission notice shall be
+ | included in all copies or substantial portions of the Software.
+ |
+ | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ | OTHER DEALINGS IN THE SOFTWARE.
+ +-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- Reference white (X, Y, and Z components) -->
+<xsl:variable name="X_r" select="0.950456"/>
+<xsl:variable name="Y_r" select="1.000000"/>
+<xsl:variable name="Z_r" select="1.088754"/>
+<xsl:variable name="LAB_EPSILON" select="216.0 div 24389.0"/>
+<xsl:variable name="LAB_K" select="24389.0 div 27.0"/>
+
+<!-- Pie wedge colours based on this hue. -->
+<xsl:variable name="base_colour" select="'46A5E5'"/>
+
+<!-- Pie wedge stroke colour. -->
+<xsl:variable name="stroke_colour" select="'white'"/>
+
+<!--
+ | Creates a colour for a particular pie wedge.
+ |
+ | http://en.wikipedia.org/wiki/HSL_and_HSV
+ +-->
+<xsl:template name="fill">
+ <!-- Current wedge number for generating a colour. -->
+ <xsl:param name="wedge"/>
+ <!-- Total number of wedges in the pie. -->
+ <xsl:param name="wedges"/>
+ <!-- RGB colour in hexadecimal. -->
+ <xsl:param name="colour"/>
+
+ <!-- Derive the colour decimal values from $colour's HEX code. -->
+ <xsl:variable name="r">
+ <xsl:call-template name="hex2dec">
+ <xsl:with-param name="hex"
+ select="substring( $colour, 1, 2 )"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="g">
+ <xsl:call-template name="hex2dec">
+ <xsl:with-param name="hex"
+ select="substring( $colour, 3, 2 )"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="b">
+ <xsl:call-template name="hex2dec">
+ <xsl:with-param name="hex"
+ select="substring( $colour, 5, 2 )"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <!--
+ | Convert RGB to XYZ, using nominal range for RGB.
+ | http://www.brucelindbloom.com/index.html?Eqn_RGB_to_XYZ.html
+ +-->
+ <xsl:variable name="r_n" select="$r div 255" />
+ <xsl:variable name="g_n" select="$g div 255" />
+ <xsl:variable name="b_n" select="$b div 255" />
+
+ <!--
+ | Assume colours are in sRGB.
+ | http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
+ -->
+ <xsl:variable name="x"
+ select=".4124564 * $r_n + .3575761 * $g_n + .1804375 * $b_n"/>
+ <xsl:variable name="y"
+ select=".2126729 * $r_n + .7151522 * $g_n + .0721750 * $b_n"/>
+ <xsl:variable name="z"
+ select=".0193339 * $r_n + .1191920 * $g_n + .9503041 * $b_n"/>
+
+ <!--
+ | Convert XYZ to L*a*b.
+ | http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_Lab.html
+ +-->
+ <xsl:variable name="if_x">
+ <xsl:call-template name="lab_f">
+ <xsl:with-param name="xyz_n" select="$x div $X_r"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="if_y">
+ <xsl:call-template name="lab_f">
+ <xsl:with-param name="xyz_n" select="$y div $Y_r"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="if_z">
+ <xsl:call-template name="lab_f">
+ <xsl:with-param name="xyz_n" select="$z div $Z_r"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="lab_l" select="(116.0 * $if_y) - 16.0"/>
+ <xsl:variable name="lab_a" select="500.0 * ($if_x - $if_y)"/>
+ <xsl:variable name="lab_b" select="200.0 * ($if_y - $if_z)"/>
+
+ <!--
+ | Convert L*a*b to LCH.
+ | http://www.brucelindbloom.com/index.html?Eqn_Lab_to_LCH.html
+ +-->
+ <xsl:variable name="lch_l" select="$lab_l"/>
+
+ <xsl:variable name="lch_c">
+ <xsl:call-template name="sqrt">
+ <xsl:with-param name="n" select="($lab_a * $lab_a) + ($lab_b * $lab_b)"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="lch_h">
+ <xsl:call-template name="atan2">
+ <xsl:with-param name="x" select="$lab_b"/>
+ <xsl:with-param name="y" select="$lab_a"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <!--
+ | Prevent similar adjacent colours.
+ |
+ | wi = wedge index number
+ | wt = total number of wedges
+ | wte = evenness determiniate for wt
+ |
+ | http://math.stackexchange.com/a/936276/7932
+ +-->
+ <xsl:variable name="wi" select="$wedge"/>
+ <xsl:variable name="wt" select="$wedges"/>
+ <xsl:variable name="wtm" select="$wt mod 2"/>
+ <xsl:variable name="wte" select="$wt + (1 - $wtm)"/>
+
+ <xsl:variable name="w" select="
+ round(($wi - $wtm) * floor( $wt div 2 ) mod $wte) + $wtm"/>
+
+ <!-- lch_l, lch_c, and lch_h are now set; rotate the hue. -->
+ <xsl:variable name="lch_wedge_h" select="(360.0 div $wedges) * $w"/>
+
+ <!--
+ | Convert wedge's hue-adjusted LCH to L*a*b.
+ | http://www.brucelindbloom.com/index.html?Eqn_LCH_to_Lab.html
+ +-->
+ <xsl:variable name="lab_sin_h">
+ <xsl:call-template name="sine">
+ <xsl:with-param name="degrees" select="$lch_wedge_h"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="lab_cos_h">
+ <xsl:call-template name="cosine">
+ <xsl:with-param name="degrees" select="$lch_wedge_h"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="final_lab_l" select="$lch_l"/>
+ <xsl:variable name="final_lab_a" select="$lch_c * $lab_cos_h"/>
+ <xsl:variable name="final_lab_b" select="$lch_c * $lab_sin_h"/>
+
+ <!--
+ | Convert L*a*b to XYZ.
+ | http://www.brucelindbloom.com/index.html?Eqn_Lab_to_XYZ.html
+ +-->
+ <xsl:variable name="of_y" select="($final_lab_l + 16.0) div 116.0"/>
+ <xsl:variable name="of_x" select="($final_lab_a div 500.0) + $of_y"/>
+ <xsl:variable name="of_z" select="$of_y - ($final_lab_b div 200.0)"/>
+
+ <xsl:variable name="of_x_pow">
+ <xsl:call-template name="power">
+ <xsl:with-param name="base" select="$of_x"/>
+ <xsl:with-param name="exponent" select="3"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="of_z_pow">
+ <xsl:call-template name="power">
+ <xsl:with-param name="base" select="$of_z"/>
+ <xsl:with-param name="exponent" select="3"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="ox_r">
+ <xsl:choose>
+ <xsl:when test="$of_x_pow &gt; $LAB_EPSILON">
+ <xsl:value-of select="$of_x_pow"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="((116.0 * $of_x) - 16.0) div $LAB_K"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="oy_r">
+ <xsl:choose>
+ <xsl:when test="$final_lab_l &gt; ($LAB_K * $LAB_EPSILON)">
+ <xsl:call-template name="power">
+ <xsl:with-param name="base"
+ select="($final_lab_l + 16.0) div 116.0"/>
+ <xsl:with-param name="exponent"
+ select="3"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$final_lab_l div $LAB_K"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="oz_r">
+ <xsl:choose>
+ <xsl:when test="$of_z_pow &gt; $LAB_EPSILON">
+ <xsl:value-of select="$of_z_pow"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="((116.0 * $of_z) - 16.0) div $LAB_K"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+
+ <xsl:variable name="X" select="$ox_r * $X_r"/>
+ <xsl:variable name="Y" select="$oy_r * $Y_r"/>
+ <xsl:variable name="Z" select="$oz_r * $Z_r"/>
+
+ <!--
+ | Convert XYZ to sRGB.
+ | http://www.brucelindbloom.com/index.html?Eqn_RGB_XYZ_Matrix.html
+ +-->
+ <xsl:variable name="R"
+ select="3.2404542 * $X + -1.5371385 * $Y + -0.4985314 * $Z"/>
+ <xsl:variable name="G"
+ select="-0.9692660 * $X + 1.8760108 * $Y + 0.0415560 * $Z"/>
+ <xsl:variable name="B"
+ select="0.0556434 * $X + -0.2040259 * $Y + 1.0572252 * $Z"/>
+
+ <!-- Round the result. -->
+ <xsl:variable name="R_r" select="round( $R * 255 )"/>
+ <xsl:variable name="G_r" select="round( $G * 255 )"/>
+ <xsl:variable name="B_r" select="round( $B * 255 )"/>
+
+ <xsl:text>rgb(</xsl:text>
+ <xsl:value-of select="concat( $R_r, ',', $G_r, ',', $B_r )"/>
+ <xsl:text>)</xsl:text>
+</xsl:template>
+
+<xsl:template name="lab_f">
+ <xsl:param name="xyz_n"/>
+
+ <xsl:choose>
+ <xsl:when test="$xyz_n &gt; $LAB_EPSILON">
+ <xsl:call-template name="nthroot">
+ <xsl:with-param name="index" select="3"/>
+ <xsl:with-param name="radicand" select="$xyz_n"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="($LAB_K * $xyz_n + 16.0) div 116.0" />
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- Converts a two-digit hexadecimal number to decimal. -->
+<xsl:template name="hex2dec">
+ <xsl:param name="hex"/>
+
+ <xsl:variable name="digits" select="'0123456789ABCDEF'"/>
+ <xsl:variable name="X" select="substring( $hex, 1, 1 )"/>
+ <xsl:variable name="Y" select="substring( $hex, 2, 1 )"/>
+ <xsl:variable name="Xval"
+ select="string-length(substring-before($digits,$X))"/>
+ <xsl:variable name="Yval"
+ select="string-length(substring-before($digits,$Y))"/>
+ <xsl:value-of select="16 * $Xval + $Yval"/>
+</xsl:template>
+
+</xsl:stylesheet>
source/xsl/common.xsl
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ | The MIT License
+ |
+ | Copyright 2014 White Magic Software, Inc.
+ |
+ | Permission is hereby granted, free of charge, to any person
+ | obtaining a copy of this software and associated documentation
+ | files (the "Software"), to deal in the Software without
+ | restriction, including without limitation the rights to use,
+ | copy, modify, merge, publish, distribute, sublicense, and/or
+ | sell copies of the Software, and to permit persons to whom the
+ | Software is furnished to do so, subject to the following
+ | conditions:
+ |
+ | The above copyright notice and this permission notice shall be
+ | included in all copies or substantial portions of the Software.
+ |
+ | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ | OTHER DEALINGS IN THE SOFTWARE.
+ +-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:include href="chart.xsl"/>
+<xsl:include href="tags.xsl"/>
+
+<xsl:output
+ indent="no"
+ method="html"
+ doctype-system="about:legacy-compat"
+ encoding="utf-8"/>
+
+<!-- Action parser that responds to HTTP requests. -->
+<xsl:param name="action" select="'do.dhtml'"/>
+
+<xsl:template match="/">
+<html>
+ <head>
+ <meta charset='utf-8'/>
+ <title>Liberum Consilium: moderated, transparent deliberation</title>
+
+ <link rel='stylesheet' type='text/css' href='css/common.css'/>
+ <link rel='stylesheet' type='text/css'
+ href='//fonts.googleapis.com/css?family=Open+Sans'/>
+ <link rel='stylesheet' type='text/css'
+ href='//fonts.googleapis.com/css?family=Montserrat'/>
+ </head>
+ <body>
+ <xsl:apply-templates/>
+ <script type='text/javascript' src='js/common.js'></script>
+ </body>
+</html>
+</xsl:template>
+
+<!-- Make the document complete with div elements and classes. -->
+<xsl:template match="*">
+ <div class="{local-name()}"><xsl:apply-templates select="node()|@*"/></div>
+</xsl:template>
+
+<!-- The 'id' attribute indicates a link. -->
+<xsl:template match="*[@id]">
+ <div class="{local-name()}"><a
+ href="{$action}?action={local-name()}&amp;id={@id}"><xsl:apply-templates
+ select="node()|*"/></a></div>
+</xsl:template>
+
+<!-- The 'video' attribute indicates an embedded video. -->
+<xsl:template match="*[@url]">
+<div class="{local-name()}">
+ <iframe width="560" height="315" src="{@url}" frameborder="0"></iframe>
+</div>
+</xsl:template>
+
+<!-- Retain the attributes (except if named "class"). -->
+<xsl:template match="@*">
+ <xsl:if test="name() != 'class'"><xsl:copy-of select="."/></xsl:if>
+</xsl:template>
+
+</xsl:stylesheet>
source/xsl/math.xsl
+<?xml version="1.0"?>
+<!--
+ | The MIT License
+ |
+ | Copyright 2014 White Magic Software, Inc.
+ |
+ | Permission is hereby granted, free of charge, to any person
+ | obtaining a copy of this software and associated documentation
+ | files (the "Software"), to deal in the Software without
+ | restriction, including without limitation the rights to use,
+ | copy, modify, merge, publish, distribute, sublicense, and/or
+ | sell copies of the Software, and to permit persons to whom the
+ | Software is furnished to do so, subject to the following
+ | conditions:
+ |
+ | The above copyright notice and this permission notice shall be
+ | included in all copies or substantial portions of the Software.
+ |
+ | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ | OTHER DEALINGS IN THE SOFTWARE.
+ +-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:variable name="PI">3.14159265358979323846264338327950</xsl:variable>
+<xsl:variable name="PHI">1.61803398874989484820458683436564</xsl:variable>
+<xsl:variable name="PIDIV2" select="$PI div 2.0"/>
+<xsl:variable name="ROOT_PRECISION" select="0.00001"/>
+
+<!-- Calculates square root of n. -->
+<xsl:template name="sqrt">
+ <!-- Number to root. -->
+ <xsl:param name="n" select="0"/>
+ <!-- Used internally. -->
+ <xsl:param name="try" select="1"/>
+ <!-- Maximum number of iterations (decreases recursively). -->
+ <xsl:param name="iter" select="17"/>
+
+ <!-- Nate Austin's implementation using Newton's method -->
+ <xsl:choose>
+ <xsl:when test="($try * $try = $n) or ($iter = 0)">
+ <xsl:value-of select="$try"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="sqrt">
+ <xsl:with-param name="n"
+ select="$n"/>
+ <xsl:with-param name="try"
+ select="$try - (($try * $try - $n) div (2 * $try))"/>
+ <xsl:with-param name="iter"
+ select="$iter - 1"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!--
+ | Calculates sin(x) as:
+ | x(1 - (x^2/2*3)(1 - (x^2/4*5)(1 - (x^2/6*7))))
+ | https://www.wolframalpha.com/input/?i=expand+sin(x)
+ +-->
+<xsl:template name="sine">
+ <!-- Degrees (should be between 0 and 360). -->
+ <xsl:param name="degrees"/>
+ <!-- Convert degrees to radians when degrees are used. -->
+ <xsl:param name="rad" select="$degrees * $PI div 180"/>
+ <!-- Maximum number of iterations (decreases recursively). -->
+ <xsl:param name="iter" select="31"/>
+ <!-- Collects the value of all the terms. -->
+ <xsl:param name="result" select="1"/>
+
+ <xsl:choose>
+ <xsl:when test="$iter &gt; 2">
+ <xsl:call-template name="sine">
+ <xsl:with-param name="rad" select="$rad"/>
+ <xsl:with-param name="iter" select="$iter - 2"/>
+ <xsl:with-param name="result"
+ select="1 - ((($rad * $rad) div (($iter - 1) * $iter)) * $result)"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise><xsl:value-of select="$rad * $result"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!--
+ | Calculates cos(x) as:
+ | sine($PIDIV2 - $rad)
+ +-->
+<xsl:template name="cosine">
+ <!-- Degrees (should be between 0 and 360). -->
+ <xsl:param name="degrees"/>
+ <!-- Convert degrees to radians when degrees are used. -->
+ <xsl:param name="rad" select="$degrees * $PI div 180"/>
+ <xsl:call-template name="sine">
+ <xsl:with-param name="rad" select="$PIDIV2 - $rad" />
+ </xsl:call-template>
+</xsl:template>
+
+<!-- Calculates: normalized arc tangent form -->
+<xsl:template name="atan2">
+ <xsl:param name="y"/>
+ <xsl:param name="x"/>
+ <!--
+ | http://lists.apple.com/archives/PerfOptimization-dev/2005/Jan/msg00051.html
+ | http://permalink.gmane.org/gmane.text.xml.xslt.extensions/840
+ +-->
+ <xsl:choose>
+ <xsl:when test="$x = 0.0">
+ <xsl:choose>
+ <xsl:when test="($y &gt; 0.0)">
+ <xsl:value-of select="$PIDIV2"/>
+ </xsl:when>
+ <xsl:when test="($y &lt; 0.0)">
+ <xsl:value-of select="-$PIDIV2"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="number(NaN)"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="z"
+ select="$y div $x"/>
+ <xsl:variable name="absZ"
+ select="($z &gt;= 0) * $z - not($z &gt;= 0) * $z"/>
+ <xsl:choose>
+ <xsl:when test="($absZ &lt; 1.0)">
+ <xsl:variable name="f1Z"
+ select="$z div (1.0 + 0.28*$z*$z)"/>
+ <xsl:choose>
+ <xsl:when test="($x &lt; 0.0) and ($y &lt; 0.0)">
+ <xsl:value-of select="$f1Z - $PI"/>
+ </xsl:when>
+ <xsl:when test="($x &lt; 0.0)">
+ <xsl:value-of select="$f1Z + $PI"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$f1Z"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="f2Z"
+ select="$PIDIV2 - ($z div ($z*$z + 0.28))"/>
+ <xsl:choose>
+ <xsl:when test="($y &lt; 0.0)">
+ <xsl:value-of select="$f2Z - $PI"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$f2Z"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- Returns the larger of two values (a, b). -->
+<xsl:template name="max">
+ <xsl:param name="a"/>
+ <xsl:param name="b"/>
+
+ <xsl:choose>
+ <xsl:when test="$a &gt; $b"><xsl:value-of select="$a"/></xsl:when>
+ <xsl:otherwise><xsl:value-of select="$b"/></xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- Calculates: radicand^(1/index) -->
+<!-- http://www.shodor.org/unchem/math/newton/ -->
+<xsl:template name="nthroot">
+ <xsl:param name="index"/>
+ <xsl:param name="radicand"/>
+ <!-- Initial guess -->
+ <xsl:param name="guess" select="1 + (($radicand - 1) div $index)"/>
+
+ <xsl:variable name="approx">
+ <xsl:call-template name="nthroot_approx">
+ <xsl:with-param name="guess" select="$guess"/>
+ <xsl:with-param name="index" select="$index"/>
+ <xsl:with-param name="radicand" select="$radicand"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="derivative">
+ <xsl:call-template name="nthroot_derivative">
+ <xsl:with-param name="guess" select="$guess"/>
+ <xsl:with-param name="index" select="$index"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="newGuess" select="$guess - $approx div $derivative"/>
+ <xsl:variable name="difference" select="$newGuess - $guess"/>
+ <xsl:variable name="precision" select="$guess * $ROOT_PRECISION"/>
+
+ <xsl:variable name="abs_difference">
+ <xsl:call-template name="abs">
+ <xsl:with-param name="x" select="$difference"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:variable name="abs_precision">
+ <xsl:call-template name="abs">
+ <xsl:with-param name="x" select="$precision"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="$abs_difference &lt; $abs_precision">
+ <xsl:value-of select="$newGuess"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="nthroot">
+ <xsl:with-param name="index" select="$index"/>
+ <xsl:with-param name="radicand" select="$radicand"/>
+ <xsl:with-param name="guess" select="$newGuess"/>
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- Calculates: (guess ^ index) - radicand -->
+<xsl:template name="nthroot_approx">
+ <xsl:param name="guess"/>
+ <xsl:param name="index"/>
+ <xsl:param name="radicand"/>
+
+ <xsl:variable name="power">
+ <xsl:call-template name="power">
+ <xsl:with-param name="base" select="$guess"/>
+ <xsl:with-param name="exponent" select="$index"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:value-of select="$power - $radicand"/>
+</xsl:template>
+
+<!-- Calculates: index * (guess ^ (index - 1)) -->
+<xsl:template name="nthroot_derivative">
+ <xsl:param name="guess"/>
+ <xsl:param name="index"/>
+
+ <xsl:variable name="power">
+ <xsl:call-template name="power">
+ <xsl:with-param name="base" select="$guess"/>
+ <xsl:with-param name="exponent" select="($index - 1)"/>
+ </xsl:call-template>
+ </xsl:variable>
+
+ <xsl:value-of select="$index * $power"/>
+</xsl:template>
+
+<!-- Calculates: base ^ exponent (whole number exponents) -->
+<xsl:template name="power">
+ <xsl:param name="base"/>
+ <xsl:param name="exponent"/>
+ <xsl:choose>
+ <xsl:when test="$exponent = 0">
+ <xsl:value-of select="1"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:variable name="t">
+ <xsl:call-template name="power">
+ <xsl:with-param name="base" select="$base"/>
+ <xsl:with-param name="exponent" select="$exponent - 1"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="$base * $t"/>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
+
+<!-- Calculates: |x| -->
+<!-- http://en.wikipedia.org/wiki/Absolute_value -->
+<xsl:template name="abs">
+ <xsl:param name="x"/>
+ <xsl:value-of select="($x &gt;= 0) * $x - not($x &gt;= 0) * $x"/>
+</xsl:template>
+
+</xsl:stylesheet>
source/xsl/pages.xsl
+<?xml version="1.0"?>
+<!--
+ | The MIT License
+ |
+ | Copyright 2014 White Magic Software, Inc.
+ |
+ | Permission is hereby granted, free of charge, to any person
+ | obtaining a copy of this software and associated documentation
+ | files (the "Software"), to deal in the Software without
+ | restriction, including without limitation the rights to use,
+ | copy, modify, merge, publish, distribute, sublicense, and/or
+ | sell copies of the Software, and to permit persons to whom the
+ | Software is furnished to do so, subject to the following
+ | conditions:
+ |
+ | The above copyright notice and this permission notice shall be
+ | included in all copies or substantial portions of the Software.
+ |
+ | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ | OTHER DEALINGS IN THE SOFTWARE.
+ +-->
+<xsl:stylesheet version="2.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<xsl:strip-space elements="*"/>
+
+<xsl:output method="text"/>
+<xsl:output method="html" indent="yes" name="html" encoding="utf-8"/>
+
+<xsl:template match="/">
+ <xsl:apply-templates />
+</xsl:template>
+
+<xsl:template match="page">
+<xsl:result-document href="{@file}.html" format="html">
+<html>
+<head>
+ <meta charset="utf-8" />
+ <link rel="stylesheet" type="text/css" href="css/tour.css" />
+</head>
+<body>
+<div class="header">
+ <xsl:if test="position() &gt; 1">
+ <a class="page-prev" href="{preceding-sibling::page[1]/@file}.html">Previous</a>
+ </xsl:if>
+ <xsl:if test="position() &lt; last()">
+ <a class="page-next" href="{following-sibling::page[1]/@file}.html">Next</a>
+ </xsl:if>
+</div>
+<hr />
+ <iframe id="page" src="{@file}.xml" width="100%" height="100%" frameborder="0">
+ </iframe>
+</body>
+</html>
+</xsl:result-document>
+</xsl:template>
+
+</xsl:stylesheet>
+
source/xsl/tags.xsl
+<?xml version="1.0"?>
+<!--
+ | The MIT License
+ |
+ | Copyright 2014 White Magic Software, Inc.
+ |
+ | Permission is hereby granted, free of charge, to any person
+ | obtaining a copy of this software and associated documentation
+ | files (the "Software"), to deal in the Software without
+ | restriction, including without limitation the rights to use,
+ | copy, modify, merge, publish, distribute, sublicense, and/or
+ | sell copies of the Software, and to permit persons to whom the
+ | Software is furnished to do so, subject to the following
+ | conditions:
+ |
+ | The above copyright notice and this permission notice shall be
+ | included in all copies or substantial portions of the Software.
+ |
+ | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ | OTHER DEALINGS IN THE SOFTWARE.
+ +-->
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+
+<!-- Override the match="*" from the common template by forcing priority. -->
+<xsl:template match="taglist" priority="1">
+ <div id="container">
+ <div class="breadcrumb"></div>
+ <!-- tabindex is required to register keypresses. -->
+ <div class="columns" tabindex="1">
+ <ul>
+ <xsl:apply-templates mode="tag"/>
+ </ul>
+ </div>
+ <div class="toolbar">
+ <a id="new" href="do.xhtml?action=tag&amp;command=new">new</a> |
+ <a id="edit" href="do.xhtml?action=tag&amp;command=edit">edit</a> |
+ <a id="del" href="do.xhtml?action=tag&amp;command=delete">delete</a> |
+ <a id="flag" href="do.xhtml?action=tag&amp;command=flag">flag</a>
+ </div>
+ </div>
+ <div class="description">
+ <h1>Gas</h1>
+ <p>
+ The <b>gas</b> tag refers to
+ <a href="http://en.wikipedia.org/wiki/Natural_gas">natural gas</a>.
+ </p>
+ </div>
+ <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
+</xsl:template>
+
+<xsl:template match="tag" mode="tag">
+<li>
+ <xsl:attribute name="id">
+ <xsl:value-of select="@id"/>
+ </xsl:attribute>
+ <xsl:value-of select="name"/>
+ <xsl:if test="tag">
+ <ul>
+ <xsl:apply-templates select="tag" mode="tag"/>
+ </ul>
+ </xsl:if>
+</li>
+</xsl:template>
+
+<!-- Ignore any nodes having nothing to do with tags. -->
+<xsl:template match="*" mode="tag"/>
+
+<!-- Ignore the tags not in the correct mode. -->
+<xsl:template match="taglist"/>
+
+</xsl:stylesheet>