diff options
Diffstat (limited to 'src/sdp')
| -rw-r--r-- | src/sdp/ao_abstract_doc_source.d | 751 | ||||
| -rw-r--r-- | src/sdp/ao_defaults.d | 26 | ||||
| -rw-r--r-- | src/sdp/ao_object_setter.d | 46 | ||||
| -rw-r--r-- | src/sdp/output_html.d | 2706 | 
4 files changed, 1778 insertions, 1751 deletions
| diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d index 944a720..b89c1e1 100644 --- a/src/sdp/ao_abstract_doc_source.d +++ b/src/sdp/ao_abstract_doc_source.d @@ -63,8 +63,8 @@ template SiSUdocAbstraction() {      /+ ocn +/      int obj_cite_number, obj_cite_number_;      auto object_citation_number = OCNemitter(); -    int obj_cite_number_emit(int obj_cite_number_status_flag) { -      return object_citation_number.obj_cite_number_emitter(obj_cite_number_status_flag); +    int ocn_emit(int ocn_status_flag) { +      return object_citation_number.ocn_emitter(ocn_status_flag);      }      /+ book index variables +/      string book_idx_tmp; @@ -77,8 +77,8 @@ template SiSUdocAbstraction() {        return bookindex_extract_hash.bookindex_nugget_hash(bookindex_section, obj_cite_number);      }      /+ node +/ -    string[string] _node_str; -    int[string]    _node_int; +    string[string] _node_heading_str; +    int[string]    _node_heading_int;      auto node_construct = NodeStructureMetadata();      /+ ↓ abstract marked up document +/      auto abstract_doc_source( @@ -101,8 +101,10 @@ template SiSUdocAbstraction() {          destroy(processing);          destroy(biblio_arr_json);        } -      auto node_int_ = node_metadata_int; -      auto node_str_ = node_metadata_str; +      auto node_heading_int_ = node_metadata_heading_int; +      auto node_heading_str_ = node_metadata_heading_str; +      auto node_para_int_    = node_metadata_para_int; +      auto node_para_str_    = node_metadata_para_str;        line_occur = [          "heading"  : 0,          "para"     : 0, @@ -160,20 +162,20 @@ template SiSUdocAbstraction() {        string toc_txt_;        an_object["glossary_nugget"] = "";        an_object["blurb_nugget"] = ""; -      node_str_["is"]                           = "heading"; -      node_str_["ocn"]                          = "0"; -      node_str_["segment_anchor_tag"]           = "toc"; -      node_str_["attrib"]                       = ""; -      node_str_["marked_up_lev"]                = "1"; -      node_int_["heading_lev_markup"]           = 4; -      node_int_["heading_lev_collapsed"]        = 2; -      node_int_["parent_ocn"]                   = 1; -      node_int_["parent_lev_markup"]            = 0; +      node_heading_str_["is"]                           = "heading"; +      node_heading_str_["ocn"]                          = "0"; +      node_heading_str_["segment_anchor_tag"]           = "toc"; +      node_heading_str_["attrib"]                       = ""; +      node_heading_str_["marked_up_lev"]                = "1"; +      node_heading_int_["heading_lev_markup"]           = 4; +      node_heading_int_["heading_lev_collapsed"]        = 2; +      node_heading_int_["parent_ocn"]                   = 1; +      node_heading_int_["parent_lev_markup"]            = 0;        auto toc_head =          set_abstract_object.contents_heading(            "Table of Contents", // nugget/object -          node_str_, -          node_int_, +          node_heading_str_, +          node_heading_int_,            ["toc"],             // anchor tag          );        the_table_of_contents_section = [ @@ -213,7 +215,7 @@ template SiSUdocAbstraction() {            }          }          if (!line.empty) { -          _check_obj_cite_number_status_(line, type); +          _check_ocn_status_(line, type);          }          if (type["code"] == TriState.on) {            /+ block object: code +/ @@ -263,53 +265,56 @@ template SiSUdocAbstraction() {                line_occur["para"] = State.off;                an_object_key="glossary_nugget"; //                if (matchFirst(line, rgx.heading_glossary)) { -                node_str_["is"]                       = "heading"; -                node_str_["ocn"]                      = "0"; -                node_str_["segment_anchor_tag"]       = ""; -                node_str_["attrib"]                   = ""; -                node_str_["marked_up_lev"]            = "B"; -                node_int_["heading_lev_markup"]       = 1; -                node_int_["heading_lev_collapsed"]    = 1; -                node_int_["parent_ocn"]               = 1; -                node_int_["parent_lev_markup"]        = 0; +                node_heading_str_["is"]                       = "heading"; +                node_heading_str_["ocn"]                      = "0"; +                node_heading_str_["segment_anchor_tag"]       = ""; +                node_heading_str_["attrib"]                   = ""; +                node_heading_str_["marked_up_lev"]            = "B"; +                node_heading_int_["heading_lev_markup"]       = 1; +                node_heading_int_["heading_lev_collapsed"]    = 1; +                node_heading_int_["parent_ocn"]               = 1; +                node_heading_int_["parent_lev_markup"]        = 0;                  the_glossary_section ~=                    set_abstract_object.contents_heading(                      "Glossary",       // nugget/object -                    node_str_, -                    node_int_, +                    node_heading_str_, +                    node_heading_int_,                      [""],             // anchor tag                    ); -                node_str_["is"]                       = "heading"; -                node_str_["ocn"]                      = "0"; -                node_str_["segment_anchor_tag"]       = "glossary"; -                node_str_["attrib"]                   = ""; -                node_str_["marked_up_lev"]            = "1"; -                node_int_["heading_lev_markup"]       = 4; -                node_int_["heading_lev_collapsed"]    = 2; -                node_int_["parent_ocn"]               = 1; -                node_int_["parent_lev_markup"]        = 0; +                node_heading_str_["is"]                       = "heading"; +                node_heading_str_["ocn"]                      = "0"; +                node_heading_str_["segment_anchor_tag"]       = "glossary"; +                node_heading_str_["attrib"]                   = ""; +                node_heading_str_["marked_up_lev"]            = "1"; +                node_heading_int_["heading_lev_markup"]       = 4; +                node_heading_int_["heading_lev_collapsed"]    = 2; +                node_heading_int_["parent_ocn"]               = 1; +                node_heading_int_["parent_lev_markup"]        = 0;                  the_glossary_section ~=                    set_abstract_object.contents_heading(                      "Glossary",       // nugget/object -                    node_str_, -                    node_int_, +                    node_heading_str_, +                    node_heading_int_,                      ["glossary"],     // anchor tag                    );                // } else if (matchFirst(line, rgx.heading)) {                //   _heading_matched_(line, line_occur, an_object, an_object_key, lv, collapsed_lev, type, dochead_meta_aa); // levels?                } else {                  _para_match_(line, an_object, an_object_key, indent, bullet, type, line_occur); +                node_para_str_["is"]                           = "para"; +                node_para_str_["attrib"]                       = ""; +                node_para_int_["ocn"]                          = 0; +                node_para_int_["indent_hang"]                  = indent["hang_position"]; +                node_para_int_["indent_base"]                  = indent["base_position"]; +                node_para_int_["bullet"]                       = (bullet) ? 1 : 0;                  the_glossary_section ~=                    set_abstract_object.contents_para( -                    "para",                    // an_object["is"],                      to!string(line),           // an_object["substantive"], -                    "",                        // attrib -                    0,                         // obj_cite_number, -                    indent, -                    bullet +                    node_para_str_, +                    node_para_int_,                    );                } -              type["obj_cite_number_status"] = TriState.off; +              type["ocn_status"] = TriState.off;              }              continue;            } else if ((matchFirst(line, rgx.heading_blurb) @@ -336,70 +341,73 @@ template SiSUdocAbstraction() {                line_occur["para"] = State.off;                an_object_key="blurb_nugget";                if (matchFirst(line, rgx.heading_blurb)) { -                node_str_["is"]                       = "heading"; -                node_str_["ocn"]                      = "0"; -                node_str_["segment_anchor_tag"]       = ""; -                node_str_["attrib"]                   = ""; -                node_str_["marked_up_lev"]            = "B"; -                node_int_["heading_lev_markup"]       = 1; -                node_int_["heading_lev_collapsed"]    = 1; -                node_int_["parent_ocn"]               = 1; -                node_int_["parent_lev_markup"]        = 0; +                node_heading_str_["is"]                       = "heading"; +                node_heading_str_["ocn"]                      = "0"; +                node_heading_str_["segment_anchor_tag"]       = ""; +                node_heading_str_["attrib"]                   = ""; +                node_heading_str_["marked_up_lev"]            = "B"; +                node_heading_int_["heading_lev_markup"]       = 1; +                node_heading_int_["heading_lev_collapsed"]    = 1; +                node_heading_int_["parent_ocn"]               = 1; +                node_heading_int_["parent_lev_markup"]        = 0;                  the_blurb_section ~=                    set_abstract_object.contents_heading(                      "Blurb",          // nugget/object -                    node_str_, -                    node_int_, +                    node_heading_str_, +                    node_heading_int_,                      [""],             // anchor tag                    ); -                node_str_["is"]                       = "heading"; -                node_str_["ocn"]                      = "0"; -                node_str_["segment_anchor_tag"]       = "blurb"; -                node_str_["attrib"]                   = ""; -                node_str_["marked_up_lev"]            = "1"; -                node_int_["heading_lev_markup"]       = 4; -                node_int_["heading_lev_collapsed"]    = 2; -                node_int_["parent_ocn"]               = 1; -                node_int_["parent_lev_markup"]        = 0; +                node_heading_str_["is"]                       = "heading"; +                node_heading_str_["ocn"]                      = "0"; +                node_heading_str_["segment_anchor_tag"]       = "blurb"; +                node_heading_str_["attrib"]                   = ""; +                node_heading_str_["marked_up_lev"]            = "1"; +                node_heading_int_["heading_lev_markup"]       = 4; +                node_heading_int_["heading_lev_collapsed"]    = 2; +                node_heading_int_["parent_ocn"]               = 1; +                node_heading_int_["parent_lev_markup"]        = 0;                  the_blurb_section ~=                    set_abstract_object.contents_heading(                      "Blurb",          // nugget/object -                    node_str_, -                    node_int_, +                    node_heading_str_, +                    node_heading_int_,                      ["blurb"],        // anchor tag                    );                } else if ((matchFirst(line, rgx.heading))                && (opt_action_bool["backmatter"] && opt_action_bool["section_blurb"])) {                  _heading_matched_(line, line_occur, an_object, an_object_key, lv, collapsed_lev, type, dochead_meta_aa); // levels? -                node_str_["is"]                       = "heading"; -                node_str_["ocn"]                      = "0"; -                node_str_["segment_anchor_tag"]       = "blurb"; -                node_str_["attrib"]                   = ""; -                node_str_["marked_up_lev"]            = to!string(an_object["lev"]); -                node_int_["heading_lev_markup"]       = to!int(an_object["lev_markup_number"]);    // make int, remove need to conv -                node_int_["heading_lev_collapsed"]    = to!int(an_object["lev_collapsed_number"]); // make int, remove need to conv -                node_int_["parent_ocn"]               = 1; -                node_int_["parent_lev_markup"]        = 0; +                node_heading_str_["is"]                       = "heading"; +                node_heading_str_["ocn"]                      = "0"; +                node_heading_str_["segment_anchor_tag"]       = "blurb"; +                node_heading_str_["attrib"]                   = ""; +                node_heading_str_["marked_up_lev"]            = to!string(an_object["lev"]); +                node_heading_int_["heading_lev_markup"]       = to!int(an_object["lev_markup_number"]);    // make int, remove need to conv +                node_heading_int_["heading_lev_collapsed"]    = to!int(an_object["lev_collapsed_number"]); // make int, remove need to conv +                node_heading_int_["parent_ocn"]               = 1; +                node_heading_int_["parent_lev_markup"]        = 0;                  the_blurb_section ~=                    set_abstract_object.contents_heading(                      to!string(line),           //  an_object["substantive"], -                    node_str_, -                    node_int_, +                    node_heading_str_, +                    node_heading_int_,                      [""],                      // anchor tag                    );                } else {                  _para_match_(line, an_object, an_object_key, indent, bullet, type, line_occur); +                node_para_str_["is"]                           = "para"; +                node_para_str_["attrib"]                       = ""; +                node_para_int_["ocn"]                          = obj_cite_number; +                node_para_int_["indent_hang"]                  = indent["hang_position"]; +                node_para_int_["indent_base"]                  = indent["base_position"]; +                node_para_int_["bullet"]                       = (bullet) ? 1 : 0;                  the_blurb_section ~=                    set_abstract_object.contents_para( -                    "para",                    // an_object["is"],                      to!string(line),           //  an_object["substantive"], -                    "",                        // attrib -                    obj_cite_number, -                    indent, -                    bullet +                    node_para_str_, +                    node_para_int_,                    );                } -              type["obj_cite_number_status"] = TriState.off; +              type["ocn_status"] = TriState.off;              }              continue;            } else if (type["poem"] == TriState.on) { @@ -540,15 +548,14 @@ template SiSUdocAbstraction() {                  the_document_body_section,                  bookindex_unordered_hashes,                  obj_cite_number, -                _node_str, -                _node_int, +                _node_heading_str, +                _node_heading_int,                  cntr,                  type,                  obj_cite_number_poem,                  dochead_make_aa                ); // watch              } else { -              /+ line empty +/                /+ line.empty, post contents, empty variables: +/                assert(                  line.empty, @@ -561,7 +568,7 @@ template SiSUdocAbstraction() {                if ((type["heading"] == State.on)                && (line_occur["heading"] > State.off)) {                  /+ heading object (current line empty) +/ -                obj_cite_number = obj_cite_number_emit(type["obj_cite_number_status"]); +                obj_cite_number = ocn_emit(type["ocn_status"]);                  an_object["bookindex_nugget"] =                    ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : "";                  bookindex_unordered_hashes = @@ -602,10 +609,10 @@ template SiSUdocAbstraction() {                      an_object["is"],                              // string                      html_segnames_ptr,                            // int                    ); -                 _node_str = _node_t[0]; -                 _node_int = _node_t[1]; +                 _node_heading_str = _node_t[0]; +                 _node_heading_int = _node_t[1];                  an_object["attrib"] = -                  obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +                  obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);                  ++heading_ptr;                  debug(segments) {                    writeln(an_object["lev_markup_number"]); @@ -614,8 +621,8 @@ template SiSUdocAbstraction() {                  the_document_body_section ~=                    set_abstract_object.contents_heading(                      an_object["substantive"], -                    _node_str, -                    _node_int, +                    _node_heading_str, +                    _node_heading_int,                      anchor_tags,                    );                  // track previous heading and make assertions @@ -629,7 +636,7 @@ template SiSUdocAbstraction() {                  ++cntr;                } else if ((type["para"] == State.on) && (line_occur["para"] > State.off)) {                  /+ paragraph object (current line empty) +/ -                obj_cite_number = obj_cite_number_emit(type["obj_cite_number_status"]); +                obj_cite_number = ocn_emit(type["ocn_status"]);                  an_object["bookindex_nugget"] =                    ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : "";                  bookindex_unordered_hashes = @@ -644,22 +651,25 @@ template SiSUdocAbstraction() {                      heading_ptr-1,                      an_object["is"],                    ); -                _node_str = _node_t[0]; -                _node_int = _node_t[1]; +                _node_heading_str = _node_t[0]; +                _node_heading_int = _node_t[1];                  auto substantive_object_and_anchor_tags_tuple =                    obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa); // ...                  an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];                  anchor_tags = substantive_object_and_anchor_tags_tuple[1];                  an_object["attrib"] = -                  obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +                  obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int); +                node_para_str_["is"]                           = an_object["is"]; +                node_para_str_["attrib"]                       = an_object["attrib"]; +                node_para_int_["ocn"]                          = obj_cite_number; +                node_para_int_["indent_hang"]                  = indent["hang_position"]; +                node_para_int_["indent_base"]                  = indent["base_position"]; +                node_para_int_["bullet"]                       = (bullet) ? 1 : 0;                  the_document_body_section ~=                    set_abstract_object.contents_para( -                    an_object["is"],                      an_object["substantive"], -                    an_object["attrib"], -                    obj_cite_number, -                    indent, -                    bullet +                    node_para_str_, +                    node_para_int_,                    );                  _common_reset_(line_occur, an_object, type);                  indent=[ @@ -738,20 +748,20 @@ template SiSUdocAbstraction() {        }        if (an_object["glossary_nugget"].length == 0) {          writeln("no gloss"); -        node_str_["is"]                       = "heading"; -        node_str_["ocn"]                      = "0"; -        node_str_["segment_anchor_tag"]       = ""; -        node_str_["attrib"]                   = ""; -        node_str_["marked_up_lev"]            = "B"; -        node_int_["heading_lev_markup"]       = 1; -        node_int_["heading_lev_collapsed"]    = 1; -        node_int_["parent_ocn"]               = 1; -        node_int_["parent_lev_markup"]        = 0; +        node_heading_str_["is"]                       = "heading"; +        node_heading_str_["ocn"]                      = "0"; +        node_heading_str_["segment_anchor_tag"]       = ""; +        node_heading_str_["attrib"]                   = ""; +        node_heading_str_["marked_up_lev"]            = "B"; +        node_heading_int_["heading_lev_markup"]       = 1; +        node_heading_int_["heading_lev_collapsed"]    = 1; +        node_heading_int_["parent_ocn"]               = 1; +        node_heading_int_["parent_lev_markup"]        = 0;          the_glossary_section ~=            set_abstract_object.contents_heading(              "(skip) there is no Glossary section",   // nugget/object -            node_str_, -            node_int_, +            node_heading_str_, +            node_heading_int_,              [""],             // anchor tag            );        } else { @@ -768,53 +778,53 @@ template SiSUdocAbstraction() {        auto biblio_ordered =          biblio._bibliography_(biblio_unsorted_incomplete, bib_arr_json);        if (biblio_ordered.length > 0) { -        node_str_["is"]                       = "heading"; -        node_str_["ocn"]                      = "0"; -        node_str_["segment_anchor_tag"]       = ""; -        node_str_["attrib"]                   = ""; -        node_str_["marked_up_lev"]            = "B"; -        node_int_["heading_lev_markup"]       = 1; -        node_int_["heading_lev_collapsed"]    = 1; -        node_int_["parent_ocn"]               = 1; -        node_int_["parent_lev_markup"]        = 0; +        node_heading_str_["is"]                       = "heading"; +        node_heading_str_["ocn"]                      = "0"; +        node_heading_str_["segment_anchor_tag"]       = ""; +        node_heading_str_["attrib"]                   = ""; +        node_heading_str_["marked_up_lev"]            = "B"; +        node_heading_int_["heading_lev_markup"]       = 1; +        node_heading_int_["heading_lev_collapsed"]    = 1; +        node_heading_int_["parent_ocn"]               = 1; +        node_heading_int_["parent_lev_markup"]        = 0;          the_bibliography_section ~=            set_abstract_object.contents_heading(              "Bibliography",   // nugget/object -            node_str_, -            node_int_, +            node_heading_str_, +            node_heading_int_,              [""],             // anchor tag            ); -        node_str_["is"]                       = "heading"; -        node_str_["ocn"]                      = "0"; -        node_str_["segment_anchor_tag"]       = "bibliography"; -        node_str_["attrib"]                   = ""; -        node_str_["marked_up_lev"]            = "1"; -        node_int_["heading_lev_markup"]       = 4; -        node_int_["heading_lev_collapsed"]    = 2; -        node_int_["parent_ocn"]               = 1; -        node_int_["parent_lev_markup"]        = 0; +        node_heading_str_["is"]                       = "heading"; +        node_heading_str_["ocn"]                      = "0"; +        node_heading_str_["segment_anchor_tag"]       = "bibliography"; +        node_heading_str_["attrib"]                   = ""; +        node_heading_str_["marked_up_lev"]            = "1"; +        node_heading_int_["heading_lev_markup"]       = 4; +        node_heading_int_["heading_lev_collapsed"]    = 2; +        node_heading_int_["parent_ocn"]               = 1; +        node_heading_int_["parent_lev_markup"]        = 0;          the_bibliography_section ~=            set_abstract_object.contents_heading(              "Bibliography", -            node_str_, -            node_int_, +            node_heading_str_, +            node_heading_int_,              ["bibliography"], // anchor tag            );        } else { -        node_str_["is"]                       = "heading"; -        node_str_["ocn"]                      = "0"; -        node_str_["segment_anchor_tag"]       = ""; -        node_str_["attrib"]                   = ""; -        node_str_["marked_up_lev"]            = "B"; -        node_int_["heading_lev_markup"]       = 1; -        node_int_["heading_lev_collapsed"]    = 1; -        node_int_["parent_ocn"]               = 1; -        node_int_["parent_lev_markup"]        = 0; +        node_heading_str_["is"]                       = "heading"; +        node_heading_str_["ocn"]                      = "0"; +        node_heading_str_["segment_anchor_tag"]       = ""; +        node_heading_str_["attrib"]                   = ""; +        node_heading_str_["marked_up_lev"]            = "B"; +        node_heading_int_["heading_lev_markup"]       = 1; +        node_heading_int_["heading_lev_collapsed"]    = 1; +        node_heading_int_["parent_ocn"]               = 1; +        node_heading_int_["parent_lev_markup"]        = 0;          the_bibliography_section ~=            set_abstract_object.contents_heading(              "(skip) there is no Bibliography",   // nugget/object -            node_str_, -            node_int_, +            node_heading_str_, +            node_heading_int_,              [""],             // anchor tag            );        } @@ -834,14 +844,17 @@ template SiSUdocAbstraction() {            ((entry["place"].str.empty) ? "" : ", " ~ entry["place"].str),            ((entry["url"].str.empty) ? "" : ", [" ~ entry["url"].str ~ "]"),          ); +        node_para_str_["is"]                           = "bibliography"; +        node_para_str_["attrib"]                       = ""; +        node_para_int_["ocn"]                          = 0; +        node_para_int_["indent_hang"]                  = 0; +        node_para_int_["indent_base"]                  = 1; +        node_para_int_["bullet"]                       = 0;          the_bibliography_section ~=            set_abstract_object.contents_para( -            "bibliography",              out_,                                                // nugget/object -            "",                                                  // attrib -            0,                                                   // obj_cite_number -            ([ "hang_position" : 0, "base_position" : 1, ]),     // indent -            false +            node_para_str_, +            node_para_int_,            );        }        debug(bibliosection) { @@ -867,20 +880,20 @@ template SiSUdocAbstraction() {        }        if (an_object["blurb_nugget"].length == 0) {          writeln("no blurb"); -        node_str_["is"]                       = "heading"; -        node_str_["ocn"]                      = "0"; -        node_str_["segment_anchor_tag"]       = ""; -        node_str_["attrib"]                   = ""; -        node_str_["marked_up_lev"]            = "B"; -        node_int_["heading_lev_markup"]       = 1; -        node_int_["heading_lev_collapsed"]    = 1; -        node_int_["parent_ocn"]               = 1; -        node_int_["parent_lev_markup"]        = 0; +        node_heading_str_["is"]                       = "heading"; +        node_heading_str_["ocn"]                      = "0"; +        node_heading_str_["segment_anchor_tag"]       = ""; +        node_heading_str_["attrib"]                   = ""; +        node_heading_str_["marked_up_lev"]            = "B"; +        node_heading_int_["heading_lev_markup"]       = 1; +        node_heading_int_["heading_lev_collapsed"]    = 1; +        node_heading_int_["parent_ocn"]               = 1; +        node_heading_int_["parent_lev_markup"]        = 0;          the_blurb_section ~=            set_abstract_object.contents_heading(              "(skip) there is no Blurb section",   // nugget/object -            node_str_, -            node_int_, +            node_heading_str_, +            node_heading_int_,              [""],             // anchor tag            );        } else { @@ -1111,44 +1124,44 @@ template SiSUdocAbstraction() {        type["para"] = State.off;        object_reset(an_object);      } -    void _check_obj_cite_number_status_( +    void _check_ocn_status_(        char[] line,        ref int[string] type      ) { -      if ((!line.empty) && (type["obj_cite_number_status_multi_obj"] == TriState.off)) { +      if ((!line.empty) && (type["ocn_status_multi_obj"] == TriState.off)) {          /+ not multi-line object, check whether obj_cite_number is on or turned off +/          if (matchFirst(line, rgx.obj_cite_number_block_marks)) {            /+ switch off obj_cite_number +/            if (matchFirst(line, rgx.obj_cite_number_off_block)) { -            type["obj_cite_number_status_multi_obj"] = TriState.on; +            type["ocn_status_multi_obj"] = TriState.on;              debug(ocnoff) {                writeln(line);              }            }            if (matchFirst(line, rgx.obj_cite_number_off_block_dh)) { -            type["obj_cite_number_status_multi_obj"] = TriState.closing; +            type["ocn_status_multi_obj"] = TriState.closing;              debug(ocnoff) {                writeln(line);              }            }          } else { -          if (type["obj_cite_number_status_multi_obj"] == TriState.off) { +          if (type["ocn_status_multi_obj"] == TriState.off) {              if (matchFirst(line, rgx.obj_cite_number_off)) { -              type["obj_cite_number_status"] = TriState.on; +              type["ocn_status"] = TriState.on;              } else if (matchFirst(line, rgx.obj_cite_number_off_dh)) { -              type["obj_cite_number_status"] = TriState.closing; +              type["ocn_status"] = TriState.closing;              } else { -              type["obj_cite_number_status"] = TriState.off; +              type["ocn_status"] = TriState.off;              }            } else { -            type["obj_cite_number_status"] = -              type["obj_cite_number_status_multi_obj"]; +            type["ocn_status"] = +              type["ocn_status_multi_obj"];            }          } -      } else if ((!line.empty) && (type["obj_cite_number_status_multi_obj"] > TriState.off)) { +      } else if ((!line.empty) && (type["ocn_status_multi_obj"] > TriState.off)) {          if (matchFirst(line, rgx.obj_cite_number_off_block_close)) { -          type["obj_cite_number_status_multi_obj"] = TriState.off; -          type["obj_cite_number_status"] = TriState.off; +          type["ocn_status_multi_obj"] = TriState.off; +          type["ocn_status"] = TriState.off;            debug(ocnoff) {              writeln(line);            } @@ -1513,7 +1526,7 @@ template SiSUdocAbstraction() {              an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];              anchor_tags = substantive_object_and_anchor_tags_tuple[1];              an_object["attrib"] = -              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);              the_document_body_section ~=                set_abstract_object.contents_block(                  an_object["is"], @@ -1534,7 +1547,7 @@ template SiSUdocAbstraction() {            processing["verse"] ~= line ~= "\n";            if (type["verse_new"] == State.on) {              obj_cite_number = -              obj_cite_number_emit(type["obj_cite_number_status"]); +              ocn_emit(type["ocn_status"]);              type["verse_new"] = State.off;            } else if (matchFirst(line, rgx.newline_eol_delimiter_only)) {              verse_line = TriState.off; @@ -1560,14 +1573,14 @@ template SiSUdocAbstraction() {                heading_ptr-1,                an_object["is"]              ); -            _node_str = _node_t[0]; -            _node_int = _node_t[1]; +            _node_heading_str = _node_t[0]; +            _node_heading_int = _node_t[1];              auto substantive_object_and_anchor_tags_tuple =                obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa);              an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];              anchor_tags = substantive_object_and_anchor_tags_tuple[1];              an_object["attrib"] = -              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);              the_document_body_section ~=                set_abstract_object.contents_block(                  an_object["is"], @@ -1604,7 +1617,7 @@ template SiSUdocAbstraction() {              an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];              anchor_tags = substantive_object_and_anchor_tags_tuple[1];              an_object["attrib"] = -              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);              the_document_body_section ~=                set_abstract_object.contents_block(                  an_object["is"], @@ -1624,7 +1637,7 @@ template SiSUdocAbstraction() {            processing["verse"] ~= line ~= "\n";            if (type["verse_new"] == State.on) {              obj_cite_number = -              obj_cite_number_emit(type["obj_cite_number_status"]); +              ocn_emit(type["ocn_status"]);              type["verse_new"] = State.off;            } else if (matchFirst(line, rgx.newline_eol_delimiter_only)) {              type["verse_new"] = State.on; @@ -1651,14 +1664,14 @@ template SiSUdocAbstraction() {                  heading_ptr-1,                  an_object["is"]                ); -            _node_str = _node_t[0]; -            _node_int = _node_t[1]; +            _node_heading_str = _node_t[0]; +            _node_heading_int = _node_t[1];              auto substantive_object_and_anchor_tags_tuple =                obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa);              an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];              anchor_tags = substantive_object_and_anchor_tags_tuple[1];              an_object["attrib"] = -              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +              obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);              the_document_body_section ~=                set_abstract_object.contents_block(                  an_object["is"], @@ -1819,8 +1832,8 @@ template SiSUdocAbstraction() {        ref ObjComposite[] the_document_body_section,        ref string[][string][string] bookindex_unordered_hashes,        ref int obj_cite_number, -      ref string[string] _node_str, -      ref int[string] _node_int, +      ref string[string] _node_heading_str, +      ref int[string] _node_heading_int,        ref int cntr,        ref int[string] type,        string[string] obj_cite_number_poem, @@ -1838,7 +1851,7 @@ template SiSUdocAbstraction() {        assertions_flag_types_block_status_none_or_closed(type);        if (type["code"] == TriState.closing) {          obj_cite_number = -          obj_cite_number_emit(type["obj_cite_number_status"]); +          ocn_emit(type["ocn_status"]);          an_object["bookindex_nugget"] =            ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : "";          bookindex_unordered_hashes = @@ -1853,14 +1866,14 @@ template SiSUdocAbstraction() {              heading_ptr-1,              an_object["is"]            ); -        _node_str = _node_t[0]; -        _node_int = _node_t[1]; +        _node_heading_str = _node_t[0]; +        _node_heading_int = _node_t[1];          auto substantive_object_and_anchor_tags_tuple =            obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa);          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          an_object["attrib"] = -          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);          the_document_body_section ~=            set_abstract_object.contents_block_code(              an_object["is"], @@ -1888,15 +1901,15 @@ template SiSUdocAbstraction() {              heading_ptr-1,              an_object["is"]            ); -        _node_str = _node_t[0]; -        _node_int = _node_t[1]; +        _node_heading_str = _node_t[0]; +        _node_heading_int = _node_t[1];          the_document_body_section ~=            set_abstract_object.contents_block_obj_cite_number_string(              "poem",              "",              (obj_cite_number_poem["start"], obj_cite_number_poem["end"]), -            _node_str, -            _node_int, +            _node_heading_str, +            _node_heading_int,            ); // bookindex          object_reset(an_object);          processing.remove("verse"); @@ -1904,7 +1917,7 @@ template SiSUdocAbstraction() {          type["poem"] = TriState.off;        } else if (type["table"] == TriState.closing) {          obj_cite_number = -          obj_cite_number_emit(type["obj_cite_number_status"]); +          ocn_emit(type["ocn_status"]);          an_object["bookindex_nugget"] =            ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : "";          bookindex_unordered_hashes = @@ -1919,14 +1932,14 @@ template SiSUdocAbstraction() {              heading_ptr-1,              an_object["is"]            ); -        _node_str = _node_t[0]; -        _node_int = _node_t[1]; +        _node_heading_str = _node_t[0]; +        _node_heading_int = _node_t[1];          auto substantive_object_and_anchor_tags_tuple =            obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa);          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          an_object["attrib"] = -          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);          the_document_body_section ~=            set_abstract_object.contents_block(              an_object["is"], @@ -1941,7 +1954,7 @@ template SiSUdocAbstraction() {          type["table"] = TriState.off;        } else if (type["group"] == TriState.closing) {          obj_cite_number = -          obj_cite_number_emit(type["obj_cite_number_status"]); +          ocn_emit(type["ocn_status"]);          an_object["bookindex_nugget"] =            ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : "";          bookindex_unordered_hashes = @@ -1956,14 +1969,14 @@ template SiSUdocAbstraction() {              heading_ptr-1,              an_object["is"]            ); -        _node_str = _node_t[0]; -        _node_int = _node_t[1]; +        _node_heading_str = _node_t[0]; +        _node_heading_int = _node_t[1];          auto substantive_object_and_anchor_tags_tuple =            obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa);          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          an_object["attrib"] = -          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);          the_document_body_section ~=            set_abstract_object.contents_block(              an_object["is"], @@ -1977,7 +1990,7 @@ template SiSUdocAbstraction() {          type["blocks"] = TriState.off;          type["group"] = TriState.off;        } else if (type["block"] == TriState.closing) { -        obj_cite_number = obj_cite_number_emit(type["obj_cite_number_status"]); +        obj_cite_number = ocn_emit(type["ocn_status"]);          an_object["bookindex_nugget"] =            ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : "";          bookindex_unordered_hashes = @@ -1992,14 +2005,14 @@ template SiSUdocAbstraction() {              heading_ptr-1,              an_object["is"]             ); -        _node_str = _node_t[0]; -        _node_int = _node_t[1]; +        _node_heading_str = _node_t[0]; +        _node_heading_int = _node_t[1];          auto substantive_object_and_anchor_tags_tuple =            obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa);          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          an_object["attrib"] = -          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);          the_document_body_section ~=            set_abstract_object.contents_block(              an_object["is"], @@ -2014,7 +2027,7 @@ template SiSUdocAbstraction() {          type["block"] = TriState.off;        } else if (type["quote"] == TriState.closing) {          obj_cite_number = -          obj_cite_number_emit(type["obj_cite_number_status"]); +          ocn_emit(type["ocn_status"]);          an_object["bookindex_nugget"] =            ("bookindex_nugget" in an_object) ? an_object["bookindex_nugget"] : "";          bookindex_unordered_hashes = @@ -2029,14 +2042,14 @@ template SiSUdocAbstraction() {              heading_ptr-1,              an_object["is"]            ); -        _node_str = _node_t[0]; -        _node_int = _node_t[1]; +        _node_heading_str = _node_t[0]; +        _node_heading_int = _node_t[1];          auto substantive_object_and_anchor_tags_tuple =            obj_im.obj_inline_markup_and_anchor_tags(an_object, an_object_key, dochead_make_aa);          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          an_object["attrib"] = -          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_str, _node_int); +          obj_att.obj_attributes(an_object["is"], an_object[an_object_key], _node_heading_str, _node_heading_int);          the_document_body_section ~=            set_abstract_object.contents_block(              an_object["is"], @@ -2437,10 +2450,10 @@ template SiSUdocAbstraction() {      /+ ↓ abstraction function emitters +/      struct OCNemitter {        int obj_cite_number, obj_cite_number_; -      int obj_cite_number_emitter(int obj_cite_number_status_flag) -      in { assert(obj_cite_number_status_flag <= 2); } +      int ocn_emitter(int ocn_status_flag) +      in { assert(ocn_status_flag <= 2); }        body { -        obj_cite_number=(obj_cite_number_status_flag == 0) +        obj_cite_number=(ocn_status_flag == 0)          ? ++obj_cite_number_          : 0;          assert(obj_cite_number >= 0); @@ -3092,16 +3105,16 @@ template SiSUdocAbstraction() {        string obj_attributes(          string obj_is_,          string obj_raw, -        string[string] _node_str, -        int[string] _node_int +        string[string] _node_heading_str, +        int[string] _node_heading_int        )        in { }        body {          scope(exit) {            destroy(obj_is_);            destroy(obj_raw); -          destroy(_node_str); -          destroy(_node_int); +          destroy(_node_heading_str); +          destroy(_node_heading_int);          }          _obj_attrib.remove("json");          _obj_attrib["json"] ="{"; @@ -3141,7 +3154,7 @@ template SiSUdocAbstraction() {            break;          }          _obj_attrib["json"] ~=" }"; -        _obj_attrib["json"]=_set_additional_values_parse_as_json(_obj_attrib["json"], obj_is_, _node_str, _node_int); // check +        _obj_attrib["json"]=_set_additional_values_parse_as_json(_obj_attrib["json"], obj_is_, _node_heading_str, _node_heading_int); // check          debug(structattrib) {            if (oa_j["is"].str() == "heading") {              writeln(_obj_attrib["json"]); @@ -3277,24 +3290,24 @@ template SiSUdocAbstraction() {        string _set_additional_values_parse_as_json(          string _obj_attrib,          string obj_is_, -        string[string] _node_str, -        int[string] _node_int +        string[string] _node_heading_str, +        int[string] _node_heading_int        ) {                                                  //          JSONValue oa_j = parseJSON(_obj_attrib);          assert(            (oa_j.type == JSON_TYPE.OBJECT)          );          if (obj_is_ == "heading") { -          oa_j.object["obj_cite_number"] = _node_str["ocn"]; -          oa_j.object["lev_markup_number"] = _node_int["heading_lev_markup"]; -          oa_j.object["lev_collapsed_number"] = _node_int["heading_lev_collapsed"]; +          oa_j.object["obj_cite_number"] = _node_heading_str["ocn"]; +          oa_j.object["lev_markup_number"] = _node_heading_int["heading_lev_markup"]; +          oa_j.object["lev_collapsed_number"] = _node_heading_int["heading_lev_collapsed"];            oa_j.object["heading_ptr"] = -            _node_int["ptr_heading"]; +            _node_heading_int["ptr_heading"];            oa_j.object["doc_object_ptr"] = -            _node_int["ptr_doc_object"]; +            _node_heading_int["ptr_doc_object"];          } -        oa_j.object["parent_obj_cite_number"] = _node_int["parent_ocn"]; -        oa_j.object["parent_lev_markup_number"] = _node_int["parent_lev_markup"]; +        oa_j.object["parent_obj_cite_number"] = _node_heading_int["parent_ocn"];         // +        oa_j.object["parent_lev_markup_number"] = _node_heading_int["parent_lev_markup"];         //          _obj_attrib = oa_j.toString();          return _obj_attrib;        } @@ -3436,7 +3449,7 @@ template SiSUdocAbstraction() {          bool[string]             opt_action_bool,        ) {          mixin SiSUnode; -        string type; +        string type_is;          string lev;          int lev_int_markup, lev_int_collapsed;          string attrib; @@ -3445,59 +3458,60 @@ template SiSUdocAbstraction() {          auto mainkeys =            bookindex_unordered_hashes.byKey.array.sort().release;          ObjComposite[][string] bookindex_section; -        auto node_int_ = node_metadata_int; -        auto node_str_ = node_metadata_str; +        auto node_heading_int_ = node_metadata_heading_int; +        auto node_heading_str_ = node_metadata_heading_str; +        auto node_para_int_ = node_metadata_para_int; +        auto node_para_str_ = node_metadata_para_str;          if ((mainkeys.length > 0)          && (opt_action_bool["backmatter"] && opt_action_bool["section_bookindex"])) {            string bi_tmp_seg, bi_tmp_scroll; -          node_str_["is"]                       = "heading"; -          node_str_["ocn"]                      = "0"; -          node_str_["segment_anchor_tag"]       = ""; -          node_str_["attrib"]                   = ""; -          node_str_["marked_up_lev"]            = "B"; -          node_int_["heading_lev_markup"]       = 1; -          node_int_["heading_lev_collapsed"]    = 1; -          node_int_["parent_ocn"]               = 1; -          node_int_["parent_lev_markup"]        = 0; +          node_heading_str_["is"]                       = "heading"; +          node_heading_str_["ocn"]                      = "0"; +          node_heading_str_["segment_anchor_tag"]       = ""; +          node_heading_str_["attrib"]                   = ""; +          node_heading_str_["marked_up_lev"]            = "B"; +          node_heading_int_["heading_lev_markup"]       = 1; +          node_heading_int_["heading_lev_collapsed"]    = 1; +          node_heading_int_["parent_ocn"]               = 1; +          node_heading_int_["parent_lev_markup"]        = 0;            bookindex_section["scroll"] ~=              set_abstract_object.contents_heading(                "Book Index", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [],              );            bookindex_section["seg"] ~=              set_abstract_object.contents_heading(                "Book Index", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [],              );            ++obj_cite_number;            ++mkn; -          // 1~ Index -          node_str_["is"]                       = "heading"; -          node_str_["ocn"]                      = "0"; -          node_str_["segment_anchor_tag"]       = "bookindex"; -          node_str_["attrib"]                   = ""; -          node_str_["marked_up_lev"]            = "1"; -          node_int_["heading_lev_markup"]       = 4; -          node_int_["heading_lev_collapsed"]    = 2; -          node_int_["parent_ocn"]               = 1; -          node_int_["parent_lev_markup"]        = 0; +          node_heading_str_["is"]                       = "heading"; +          node_heading_str_["ocn"]                      = "0"; +          node_heading_str_["segment_anchor_tag"]       = "bookindex"; +          node_heading_str_["attrib"]                   = ""; +          node_heading_str_["marked_up_lev"]            = "1"; +          node_heading_int_["heading_lev_markup"]       = 4; +          node_heading_int_["heading_lev_collapsed"]    = 2; +          node_heading_int_["parent_ocn"]               = 1; +          node_heading_int_["parent_lev_markup"]        = 0;            bookindex_section["scroll"] ~=              set_abstract_object.contents_heading(                "Index", -              node_str_, -              node_int_, -              ["book_index"], +              node_heading_str_, +              node_heading_int_, +              ["bookindex"],              );            bookindex_section["seg"] ~=              set_abstract_object.contents_heading(                "Index", -              node_str_, -              node_int_, -              ["book_index"], +              node_heading_str_, +              node_heading_int_, +              ["bookindex"],              );            ++obj_cite_number;            ++mkn; @@ -3532,55 +3546,50 @@ template SiSUdocAbstraction() {              }              bi_tmp_scroll = replaceFirst(bi_tmp_scroll, rgx.trailing_linebreak, "");              bi_tmp_seg = replaceFirst(bi_tmp_seg, rgx.trailing_linebreak, ""); -            type="para"; -            attrib=""; -            indent=[ -              "hang_position" : 0, -              "base_position" : 1, -            ]; +            indent=[ "hang_position" : 0, "base_position" : 1, ]; +            node_para_str_["is"]                           = "para"; +            node_para_str_["attrib"]                       = ""; +            node_para_int_["ocn"]                          = obj_cite_number; +            node_para_int_["indent_hang"]                  = 0; +            node_para_int_["indent_base"]                  = 1; +            node_para_int_["bullet"]                       = 0;              bookindex_section["scroll"] ~=                set_abstract_object.contents_para( -                type,                  bi_tmp_scroll, -                attrib, -                obj_cite_number, -                indent, -                false +                node_para_str_, +                node_para_int_,                );              bookindex_section["seg"] ~=                set_abstract_object.contents_para( -                type,                  bi_tmp_seg, -                attrib, -                obj_cite_number, -                indent, -                false +                node_para_str_, +                node_para_int_,                );              ++obj_cite_number;              ++mkn;            }          } else {                              // no book index, (figure out what to do here) -          node_str_["is"]                       = "heading"; -          node_str_["ocn"]                      = "0"; -          node_str_["segment_anchor_tag"]       = ""; -          node_str_["attrib"]                   = ""; -          node_str_["marked_up_lev"]            = "B"; -          node_int_["heading_lev_markup"]       = 1; -          node_int_["heading_lev_collapsed"]    = 1; -          node_int_["parent_ocn"]               = 1; -          node_int_["parent_lev_markup"]        = 0; +          node_heading_str_["is"]                       = "heading"; +          node_heading_str_["ocn"]                      = "0"; +          node_heading_str_["segment_anchor_tag"]       = ""; +          node_heading_str_["attrib"]                   = ""; +          node_heading_str_["marked_up_lev"]            = "B"; +          node_heading_int_["heading_lev_markup"]       = 1; +          node_heading_int_["heading_lev_collapsed"]    = 1; +          node_heading_int_["parent_ocn"]               = 1; +          node_heading_int_["parent_lev_markup"]        = 0;            bookindex_section["scroll"] ~=              set_abstract_object.contents_heading(                "(skip) there is no Book Index", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [""],              );            bookindex_section["seg"] ~=              set_abstract_object.contents_heading(                "(skip) there is no Book Index", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [""],              );          } @@ -3673,86 +3682,86 @@ template SiSUdocAbstraction() {          auto set_abstract_object = ObjectAbstractSet();          ObjComposite[][string] the_endnotes_section;          auto endnotes_ = gathered_notes(); -        string type; +        string type_is;          string lev, lev_markup_number, lev_collapsed_number;          string attrib;          int[string] indent; -        auto node_int_ = node_metadata_int; -        auto node_str_ = node_metadata_str; +        auto node_heading_int_ = node_metadata_heading_int; +        auto node_heading_str_ = node_metadata_heading_str;          if ((endnotes_["seg"].length > 0)          && (opt_action_bool["backmatter"] && opt_action_bool["section_endnotes"])) { -          node_str_["is"]                       = "heading"; -          node_str_["ocn"]                      = "0"; -          node_str_["segment_anchor_tag"]       = ""; -          node_str_["attrib"]                   = ""; -          node_str_["marked_up_lev"]            = "B"; -          node_int_["heading_lev_markup"]       = 1; -          node_int_["heading_lev_collapsed"]    = 1; -          node_int_["parent_ocn"]               = 1; -          node_int_["parent_lev_markup"]        = 0; +          node_heading_str_["is"]                       = "heading"; +          node_heading_str_["ocn"]                      = "0"; +          node_heading_str_["segment_anchor_tag"]       = ""; +          node_heading_str_["attrib"]                   = ""; +          node_heading_str_["marked_up_lev"]            = "B"; +          node_heading_int_["heading_lev_markup"]       = 1; +          node_heading_int_["heading_lev_collapsed"]    = 1; +          node_heading_int_["parent_ocn"]               = 1; +          node_heading_int_["parent_lev_markup"]        = 0;            the_endnotes_section["seg"] ~=              set_abstract_object.contents_heading(                "Endnotes", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [],              );            the_endnotes_section["scroll"] ~=              set_abstract_object.contents_heading(                "Endnotes", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [],              );            ++obj_cite_number;            ++mkn; -          node_str_["is"]                       = "heading"; -          node_str_["ocn"]                      = "0"; -          node_str_["segment_anchor_tag"]       = "endnotes"; -          node_str_["attrib"]                   = ""; -          node_str_["marked_up_lev"]            = "1"; -          node_int_["heading_lev_markup"]       = 4; -          node_int_["heading_lev_collapsed"]    = 2; -          node_int_["parent_ocn"]               = 1; -          node_int_["parent_lev_markup"]        = 0; +          node_heading_str_["is"]                       = "heading"; +          node_heading_str_["ocn"]                      = "0"; +          node_heading_str_["segment_anchor_tag"]       = "endnotes"; +          node_heading_str_["attrib"]                   = ""; +          node_heading_str_["marked_up_lev"]            = "1"; +          node_heading_int_["heading_lev_markup"]       = 4; +          node_heading_int_["heading_lev_collapsed"]    = 2; +          node_heading_int_["parent_ocn"]               = 1; +          node_heading_int_["parent_lev_markup"]        = 0;            the_endnotes_section["seg"] ~=              set_abstract_object.contents_heading(                "Endnotes", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                ["endnotes"],              );            the_endnotes_section["scroll"] ~=              set_abstract_object.contents_heading(                "Endnotes", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                ["endnotes"],              );            ++obj_cite_number;            ++mkn;          } else { -          node_str_["is"]                       = "heading"; -          node_str_["ocn"]                      = "0"; -          node_str_["segment_anchor_tag"]       = ""; -          node_str_["attrib"]                   = ""; -          node_str_["marked_up_lev"]            = "B"; -          node_int_["heading_lev_markup"]       = 1; -          node_int_["heading_lev_collapsed"]    = 1; -          node_int_["parent_ocn"]               = 1; -          node_int_["parent_lev_markup"]        = 0; +          node_heading_str_["is"]                       = "heading"; +          node_heading_str_["ocn"]                      = "0"; +          node_heading_str_["segment_anchor_tag"]       = ""; +          node_heading_str_["attrib"]                   = ""; +          node_heading_str_["marked_up_lev"]            = "B"; +          node_heading_int_["heading_lev_markup"]       = 1; +          node_heading_int_["heading_lev_collapsed"]    = 1; +          node_heading_int_["parent_ocn"]               = 1; +          node_heading_int_["parent_lev_markup"]        = 0;            the_endnotes_section["seg"] ~=              set_abstract_object.contents_heading(                "(skip) there are no Endnotes", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [""],              );            the_endnotes_section["scroll"] ~=              set_abstract_object.contents_heading(                "(skip) there are no Endnotes", -              node_str_, -              node_int_, +              node_heading_str_, +              node_heading_int_,                [""],              );          } @@ -3888,14 +3897,14 @@ template SiSUdocAbstraction() {            p_["lev_markup_number"] = DocStructMarkupHeading.h_text_1;            p_["obj_cite_number"] = lv4;          } -        string[string] _node_str = [ +        string[string] _node_heading_str = [            "is"                            : is_,            "ocn"                           : to!string(obj_cite_number_),            "marked_up_lev"                 : "",            "segment_anchor_tag"            : to!string(segment_anchor_tag),            "attrib"                        : "",          ]; -        int[string] _node_int = [ +        int[string] _node_heading_int = [            "ocn"                           : obj_cite_number_,            "ptr_doc_object"                : 0,            "ptr_html_segnames"             : 0, @@ -3912,12 +3921,12 @@ template SiSUdocAbstraction() {              writeln("- ", to!string(_node));            }          } -        assert(_node_int["parent_lev_markup"] >= 4);         // -        assert(_node_int["parent_lev_markup"] <= 7);         // -        assert(_node_int["parent_ocn"] >= 0);      // hmm, perhaps         // +        assert(_node_heading_int["parent_lev_markup"] >= 4);         // +        assert(_node_heading_int["parent_lev_markup"] <= 7);         // +        assert(_node_heading_int["parent_ocn"] >= 0);      // hmm, perhaps         //          auto t = tuple( -          _node_str, -          _node_int, +          _node_heading_str, +          _node_heading_int,          );          return t;        } @@ -4031,14 +4040,14 @@ template SiSUdocAbstraction() {          default:            break;          } -        string[string] _node_str = [ +        string[string] _node_heading_str = [            "is"                            : is_,            "ocn"                           : to!string(obj_cite_number_),            "marked_up_lev"                 : lev,            "segment_anchor_tag"            : to!string(segment_anchor_tag),            "attrib"                        : "",          ]; -        int[string] _node_int = [ +        int[string] _node_heading_int = [            "ocn"                           : obj_cite_number_,            "ptr_doc_object"                : cntr_,            "ptr_html_segnames"             : ((lev_markup_number == "4") ? html_segnames_ptr : 0), @@ -4058,42 +4067,42 @@ template SiSUdocAbstraction() {              writeln("* ", to!string(_node));            }          } -        assert(_node_int["parent_lev_markup"] <= 7); -        assert(_node_int["parent_ocn"] >= 0); +        assert(_node_heading_int["parent_lev_markup"] <= 7); +        assert(_node_heading_int["parent_ocn"] >= 0);          if (match(lev_markup_number, rgx.levels_numbered_headings)) { -          assert(_node_int["heading_lev_markup"] <= 7);         // issues -          assert(to!int(_node_str["ocn"]) >= 0); -          if (_node_int["parent_lev_markup"] > 0) { -            assert(_node_int["parent_lev_markup"] < _node_int["heading_lev_markup"]); -            if (to!int(_node_str["ocn"]) != 0) { -              assert(_node_int["parent_ocn"] < to!int(_node_str["ocn"])); +          assert(_node_heading_int["heading_lev_markup"] <= 7);         // issues +          assert(to!int(_node_heading_str["ocn"]) >= 0); +          if (_node_heading_int["parent_lev_markup"] > 0) { +            assert(_node_heading_int["parent_lev_markup"] < _node_heading_int["heading_lev_markup"]); +            if (to!int(_node_heading_str["ocn"]) != 0) { +              assert(_node_heading_int["parent_ocn"] < to!int(_node_heading_str["ocn"]));              }            } -          if (_node_int["heading_lev_markup"] == 0) { -            assert(_node_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_A); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_sect_B) { -            assert(_node_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_A); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_sect_C) { -            assert(_node_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_B); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_sect_D) { -            assert(_node_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_C); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_1) { -            assert(_node_int["parent_lev_markup"] <= DocStructMarkupHeading.h_sect_D); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_2) { -            assert(_node_int["parent_lev_markup"] == DocStructMarkupHeading.h_text_1); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_3) { -            assert(_node_int["parent_lev_markup"] == DocStructMarkupHeading.h_text_2); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_4) { -            assert(_node_int["parent_lev_markup"] == DocStructMarkupHeading.h_text_3); -          } else if  (_node_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_5) { -            // // writeln(to!int(_node_int["parent_lev_markup"])); -            // // assert(to!int(_node_int["parent_lev_markup"]) >= 4); -            // // assert(to!int(_node_int["parent_lev_markup"]) <= 7); +          if (_node_heading_int["heading_lev_markup"] == 0) { +            assert(_node_heading_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_A); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_sect_B) { +            assert(_node_heading_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_A); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_sect_C) { +            assert(_node_heading_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_B); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_sect_D) { +            assert(_node_heading_int["parent_lev_markup"] == DocStructMarkupHeading.h_sect_C); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_1) { +            assert(_node_heading_int["parent_lev_markup"] <= DocStructMarkupHeading.h_sect_D); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_2) { +            assert(_node_heading_int["parent_lev_markup"] == DocStructMarkupHeading.h_text_1); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_3) { +            assert(_node_heading_int["parent_lev_markup"] == DocStructMarkupHeading.h_text_2); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_4) { +            assert(_node_heading_int["parent_lev_markup"] == DocStructMarkupHeading.h_text_3); +          } else if  (_node_heading_int["heading_lev_markup"] == DocStructMarkupHeading.h_text_5) { +            // // writeln(to!int(_node_heading_int["parent_lev_markup"])); +            // // assert(to!int(_node_heading_int["parent_lev_markup"]) >= 4); +            // // assert(to!int(_node_heading_int["parent_lev_markup"]) <= 7);            }          }          auto t = tuple( -          _node_str, -          _node_int, +          _node_heading_str, +          _node_heading_int,          );          return t;        } diff --git a/src/sdp/ao_defaults.d b/src/sdp/ao_defaults.d index 4883540..1dd9300 100644 --- a/src/sdp/ao_defaults.d +++ b/src/sdp/ao_defaults.d @@ -343,15 +343,15 @@ template SiSUrgxInitFlags() {        "tic_group"            : 0,        "tic_block"            : 0,        "tic_quote"            : 0, -      "obj_cite_number_status"           : 0, // 0 obj_cite_number; 1 no obj_cite_number; 2 no obj_cite_number & dummy headings -      "obj_cite_number_status_multi_obj" : 0, // 0 obj_cite_number; 1 no obj_cite_number; 2 no obj_cite_number & dummy headings +      "ocn_status"           : 0, // 0 obj_cite_number; 1 no obj_cite_number; 2 no obj_cite_number & dummy headings +      "ocn_status_multi_obj" : 0, // 0 obj_cite_number; 1 no obj_cite_number; 2 no obj_cite_number & dummy headings        "book_index"           : 0,      ];      return flags_type_init;    }  }  template SiSUnode() { -  string[string] node_metadata_str() { +  string[string] node_metadata_heading_str() {      auto _node = [          "is"                            : "",          "ocn"                           : "", @@ -361,7 +361,7 @@ template SiSUnode() {      ];      return _node;    } -  int[string] node_metadata_int() { +  int[string] node_metadata_heading_int() {      auto _node = [          "ocn"                           : 0, // decide whether to use or keep?          "ptr_doc_object"                : 0, @@ -374,6 +374,24 @@ template SiSUnode() {      ];      return _node;    } +  string[string] node_metadata_para_str() { +    auto _node = [ +        "is"                            : "", +        "ocn"                           : "", +        "attrib"                        : "", +        // "segment_anchor_tag"            : "", +    ]; +    return _node; +  } +  int[string] node_metadata_para_int() { +    auto _node = [ +        "ocn"                           : 0, +        "indent_base"                   : 0, +        "indent_hang"                   : 0, +        "bullet"                        : 0, // bool (0|1) +    ]; +    return _node; +  }  }  template SiSUbiblio() {    // required: deemed_author (author || editor); year; fulltitle; diff --git a/src/sdp/ao_object_setter.d b/src/sdp/ao_object_setter.d index 8ec51fd..9806285 100644 --- a/src/sdp/ao_object_setter.d +++ b/src/sdp/ao_object_setter.d @@ -72,39 +72,37 @@ template ObjectSetter() {      }      auto contents_heading(        in string         object, -      in string[string] _node_str, -      in int[string]    _node_int, +      in string[string] _node_heading_str, +      in int[string]    _node_heading_int,        in string[]       tags,      ) {        ObjComposite object_set;        object_set.use                                 = "content";        object_set.of                                  = "para";        object_set.is_a                                = "heading"; -      object_set.object                              = object; -      object_set.obj_cite_number                     = _node_str["ocn"]; +      object_set.object                              = object.strip; +      object_set.obj_cite_number                     = _node_heading_str["ocn"];        object_set.anchor_tags                         ~= tags; -      object_set.heading_attrib.lev                  = _node_str["marked_up_lev"]; -      object_set.heading_attrib.lev_int_markup       = _node_int["heading_lev_markup"]; -      object_set.heading_attrib.lev_int_collapsed    = _node_int["heading_lev_collapsed"]; +      object_set.heading_attrib.lev                  = _node_heading_str["marked_up_lev"]; +      object_set.heading_attrib.lev_int_markup       = _node_heading_int["heading_lev_markup"]; +      object_set.heading_attrib.lev_int_collapsed    = _node_heading_int["heading_lev_collapsed"];        return object_set;      }      auto contents_para( -      in string is_a, -      in string object, -      in string attrib, -      in int obj_cite_number, -      in int[string] indent, -      in bool bullet, +      in string         object, +      in string[string] _node_para_str, +      in int[string]    _node_para_int,      ) {        ObjComposite object_set;        object_set.use                      = "content";        object_set.of                       = "para";        object_set.is_a                     = "para";        object_set.object                   = object.strip; -      object_set.obj_cite_number          = (obj_cite_number==0) ? "" : to!string(obj_cite_number); -      object_set.para_attrib.indent_start = to!int(indent["hang_position"]); -      object_set.para_attrib.indent_rest  = to!int(indent["base_position"]); -      object_set.para_attrib.bullet       = false; // bullet; +      object_set.obj_cite_number          = (_node_para_int["ocn"]==0) ? "" : to!string(_node_para_int["ocn"]); +      object_set.anchor_tags              = []; +      object_set.para_attrib.indent_start = _node_para_int["indent_hang"]; +      object_set.para_attrib.indent_rest  = _node_para_int["indent_base"]; +      object_set.para_attrib.bullet       = (_node_para_int["bullet"] == 1) ? true : false;        return object_set;      }      auto contents_toc( @@ -146,7 +144,7 @@ template ObjectSetter() {        return object_set;      }      auto contents_block( -      in string type, +      in string type_is,        in string object,        in string attrib,        in int obj_cite_number, @@ -154,13 +152,14 @@ template ObjectSetter() {        ObjComposite object_set;        object_set.use                 = "content";        object_set.of                  = "block"; -      object_set.is_a                = type; +      object_set.is_a                = type_is;        object_set.object              = object;        object_set.obj_cite_number     = (obj_cite_number==0) ? "" : to!string(obj_cite_number); +      object_set.anchor_tags         = [];        return object_set;      }      auto contents_block_code( -      in string type, +      in string type_is,        in string object,        in string attrib_language_syntax,        in int obj_cite_number, @@ -168,14 +167,15 @@ template ObjectSetter() {        ObjComposite object_set;        object_set.use                 = "content";        object_set.of                  = "block"; -      object_set.is_a                = type; +      object_set.is_a                = type_is;        object_set.block_attrib.syntax = attrib_language_syntax;        object_set.object              = object;        object_set.obj_cite_number     = (obj_cite_number==0) ? "" : to!string(obj_cite_number); +      object_set.anchor_tags         = [];        return object_set;      }      auto contents_block_obj_cite_number_string( -      in string         type, +      in string         type_is,        in string         object,        in string         obj_cite_number,        in string[string] _node_str, @@ -184,7 +184,7 @@ template ObjectSetter() {        ObjComposite object_set;        object_set.use                               = "content";        object_set.of                                = "block"; -      object_set.is_a                              = type; +      object_set.is_a                              = type_is;        object_set.object                            = object;        object_set.obj_cite_number                   = obj_cite_number;        return object_set; diff --git a/src/sdp/output_html.d b/src/sdp/output_html.d index 3767d5a..4c92d58 100644 --- a/src/sdp/output_html.d +++ b/src/sdp/output_html.d @@ -1,23 +1,35 @@  template SiSUoutputHTML() {    struct SDPoutputHTML { +    string _html_anchor_tags(const(string[]) anchor_tags) { +      string tags=""; +      if (anchor_tags.length > 0) { +        foreach (tag; anchor_tags) { +          if (!(tag.empty)) { +            tags ~= "<a name=\"" ~ tag ~ "\"></a>"; +          } +        } +      } +      return tags; +    }      auto html_heading(O)(        auto ref const O         obj,      ) { +      auto tags = _html_anchor_tags(obj.anchor_tags);        string o;        o = format(q"¶<br><hr /><br>        <div class="substance">          <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> -        <h%s class="%s" id="%s"><a name="%s"></a> +        <h%s class="%s" id="%s"><a name="%s"></a>%s            %s          </h%s> -      </div> -      ¶", +      </div>¶",        obj.obj_cite_number,        obj.obj_cite_number,        obj.heading_attrib.lev_int_markup,        obj.is_a,        obj.obj_cite_number,        obj.obj_cite_number, +      tags,        obj.object,        obj.heading_attrib.lev_int_markup        ); @@ -26,89 +38,52 @@ template SiSUoutputHTML() {      auto html_para(O)(        auto ref const O         obj,      ) { +      auto tags = _html_anchor_tags(obj.anchor_tags);        string o;        if (obj.obj_cite_number.empty) { -        o = format(q"¶<div class="substance"> -        <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> -        <p class="%s" attrib="h%si%s"> -          %s -        </p> -      </div> -      ¶", +        o = format(q"¶  <div class="substance"> +      <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> +      <p class="%s" attrib="h%si%s">%s +        %s +      </p> +    </div>¶",            obj.obj_cite_number,            obj.obj_cite_number,            obj.is_a,            obj.para_attrib.indent_start,            obj.para_attrib.indent_rest, +          tags,            obj.object          );        } else { -        o = format(q"¶<div class="substance"> -        <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> -        <p class="%s" attrib="h%si%s" id="%s"> -          %s -        </p> -      </div> -      ¶", +        o = format(q"¶  <div class="substance"> +      <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> +      <p class="%s" attrib="h%si%s" id="%s">%s +        %s +      </p> +    </div>¶",            obj.obj_cite_number,            obj.obj_cite_number,            obj.is_a,            obj.para_attrib.indent_start,            obj.para_attrib.indent_rest,            obj.obj_cite_number, +          tags,            obj.object          );        }        return o;      } -    auto html_endnote(O)( -      auto ref const O         obj, -    ) { -      string o; -      o = format(q"¶<div class="substance"> -        <label class="tag"><a name="%s" a href="%s" class="lnkocn"></a></label> -        <p class="%s" attrib="h%si%s"> -          %s -        </p> -      </div> -      ¶", -        obj.anchor_tags[0], -        obj.anchor_tags[0], -        obj.is_a, -        obj.para_attrib.indent_start, -        obj.para_attrib.indent_rest, -        obj.object -      ); -      return o; -    } -    auto html_toc(O)( -      auto ref const O         obj, -    ) { -      string o; -      o = format(q"¶<div class="substance"> -        <p class="%s" attrib="h%si%s"> -          %s -        </p> -      </div> -      ¶", -      obj.is_a, -      obj.para_attrib.indent_start, -      obj.para_attrib.indent_rest, -      obj.object -      ); -      return o; -    }      auto html_nugget(O)(        auto ref const O         obj,      ) {        string o; -      o = format(q"¶<div class="substance"> -        <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> -        <p class="%s" id="%s"> -          %s -        </p> -      </div> -      ¶", +      o = format(q"¶  <div class="substance"> +      <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> +      <p class="%s" id="%s"> +        %s +      </p> +    </div>¶",        obj.obj_cite_number,        obj.obj_cite_number,        obj.is_a, @@ -119,8 +94,7 @@ template SiSUoutputHTML() {      }      auto scroll_head_html() {        string o; -      o = format(q"¶ -    <!DOCTYPE html> +      o = format(q"¶<!DOCTYPE html>      <html>      <head>        <meta charset="utf-8"> @@ -146,19 +120,46 @@ template SiSUoutputHTML() {        <link href="../../../_sisu/css/html.css" rel="stylesheet">      </head>      <body lang="en"> -    <a name="top" id="top"></a> -    ¶"); +    <a name="top" id="top"></a>¶"); +      return o; +    } +    auto html_toc(O)( +      auto ref const O         obj, +    ) { +      string o; +      o = format(q"¶  <div class="substance"> +      <p class="%s" attrib="h%si%s"> +        %s +      </p> +    </div>¶", +      obj.is_a, +      obj.para_attrib.indent_start, +      obj.para_attrib.indent_rest, +      obj.object +      ); +      return o; +    } +    auto html_endnote(O)( +      auto ref const O         obj, +    ) { +      string o; +      o = format(q"¶    <p class="%s" attrib="h%si%s"> +      %s +    </p>¶", +        obj.is_a, +        obj.para_attrib.indent_start, +        obj.para_attrib.indent_rest, +        obj.object +      );        return o;      }      auto scroll_tail_html() {        string o; -      o = format(q"¶ -    <a name="bottom" id="bottom"></a> -    <a name="end" id="end"></a> +      o = format(q"¶  <a name="bottom" id="bottom"></a> +      <a name="end" id="end"></a>      </div>      </body> -    </html> -    ¶"); +    </html>¶");        return o;      }      void scroll(C)( @@ -232,1289 +233,1288 @@ template SiSUoutputHTML() {      auto html_css() {        string css;        css="/* SiSU css default stylesheet */ -          body { -            color: black; -            background: #ffffff; -            background-color: #ffffff; -          } -          a:link { -            color: #003399; -            text-decoration: none; -          } -          a:visited { -            color: #003399; -            text-decoration: none; -          } -          a:hover { -            color: #000000; -            background-color: #f9f9aa; -          } -          a.lnkocn:link { -            color: #777777; -            text-decoration: none; -          } -          a:hover img { -            background-color: #ffffff; -          } -          a:active { -            color: #003399; -            text-decoration: underline; -          } -          div { -            margin-left: 0; -            margin-right: 0; -          } -          div.p { -            margin-left: 5%; -            margin-right: 1%; -          } -     -          #top_band { -            position: absolute; -            top: 0; -            bottom: 80px; -            width: 100%; -          } -          #top_band_search { -            position: absolute; -            top: 0px; -            right: 0px; -            margin-left: 75%; -            width: 20%; -          } -          #column_left { -            position: absolute; -            top: 80px; -            left: 0; -            margin-left: 1%; -            width: 20%; -          } -          #column_center { -            position: absolute; -            top: 80px; -            margin-left: 20%; -            width: 55%; -          } -          #column_right { -            position: absolute; -            top: 80px; -            right: 0px; -            margin-left: 75%; -            width: 25%; -          } -          #pane_major { -            position: absolute; -            top: 0px; -            left: 0; -            margin-left: 0; -            width: 80%; -          } -          #pane_minor { -            position: absolute; -            top: 0px; -            right: 0px; -            margin-left: 75%; -            width: 20%; -            background-color: #aaaaaa; -          } -          .norm, .bold, .verse, .group, .block, .alt { -            line-height: 133%; -            margin-left: 0em; -            margin-right: 2em; -            margin-top: 12px; -            margin-bottom: 0px; -            padding-left: 0em; -            text-indent: 0em; -          } -          p, h0, h1, h2, h3, h4, h5, h6, h7 { -            display: block; -            font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; -            font-size: 100%; -            font-weight: normal; -            line-height: 133%; -            text-align: justify; -            margin-left: 0em; -            margin-right: 2em; -            text-indent: 0mm; -            margin-top: 0.8em; -            margin-bottom: 0.8em; -          } -          /* indent */ -          p.norm { } -          p.i1 {padding-left: 1em;} -          p.i2 {padding-left: 2em;} -          p.i3 {padding-left: 3em;} -          p.i4 {padding-left: 4em;} -          p.i5 {padding-left: 5em;} -          p.i6 {padding-left: 6em;} -          p.i7 {padding-left: 7em;} -          p.i8 {padding-left: 8em;} -          p.i9 {padding-left: 9em;} -          /* hanging indent */ -          p.h0i0 { -            padding-left: 0em; -            text-indent:  0em; -          } -          p.h0i1 { -            padding-left: 1em; -            text-indent: -1em; -          } -          p.h0i2 { -            padding-left: 2em; -            text-indent: -2em; -          } -          p.h0i3 { -            padding-left: 3em; -            text-indent: -3em; -          } -          p.h0i4 { -            padding-left: 4em; -            text-indent: -4em; -          } -          p.h0i5 { -            padding-left: 5em; -            text-indent: -5em; -          } -          p.h0i6 { -            padding-left: 6em; -            text-indent: -6em; -          } -          p.h0i7 { -            padding-left: 7em; -            text-indent: -7em; -          } -          p.h0i8 { -            padding-left: 8em; -            text-indent: -8em; -          } -          p.h0i9 { -            padding-left: 9em; -            text-indent: -9em; -          } -          p.h1i0 { -            padding-left: 0em; -            text-indent:  1em; -          } -          p.h1i1 { -            padding-left: 1em; -            text-indent:  0em; -          } -          p.h1i2 { -            padding-left: 2em; -            text-indent: -1em; -          } -          p.h1i3 { -            padding-left: 3em; -            text-indent: -2em; -          } -          p.h1i4 { -            padding-left: 4em; -            text-indent: -3em; -          } -          p.h1i5 { -            padding-left: 5em; -            text-indent: -4em; -          } -          p.h1i6 { -            padding-left: 6em; -            text-indent: -5em; -          } -          p.h1i7 { -            padding-left: 7em; -            text-indent: -6em; -          } -          p.h1i8 { -            padding-left: 8em; -            text-indent: -7em; -          } -          p.h1i9 { -            padding-left: 9em; -            text-indent: -8em; -          } -          p.h2i0 { -            padding-left: 0em; -            text-indent:  2em; -          } -          p.h2i1 { -            padding-left: 1em; -            text-indent:  1em; -          } -          p.h2i2 { -            padding-left: 2em; -            text-indent:  0em; -          } -          p.h2i3 { -            padding-left: 3em; -            text-indent: -1em; -          } -          p.h2i4 { -            padding-left: 4em; -            text-indent: -2em; -          } -          p.h2i5 { -            padding-left: 5em; -            text-indent: -3em; -          } -          p.h2i6 { -            padding-left: 6em; -            text-indent: -4em; -          } -          p.h2i7 { -            padding-left: 7em; -            text-indent: -5em; -          } -          p.h2i8 { -            padding-left: 8em; -            text-indent: -6em; -          } -          p.h2i9 { -            padding-left: 9em; -            text-indent: -7em; -          } -          p.h3i0 { -            padding-left: 0em; -            text-indent:  3em; -          } -          p.h3i1 { -            padding-left: 1em; -            text-indent:  2em; -          } -          p.h3i2 { -            padding-left: 2em; -            text-indent:  1em; -          } -          p.h3i3 { -            padding-left: 3em; -            text-indent:  0em; -          } -          p.h3i4 { -            padding-left: 4em; -            text-indent: -1em; -          } -          p.h3i5 { -            padding-left: 5em; -            text-indent: -2em; -          } -          p.h3i6 { -            padding-left: 6em; -            text-indent: -3em; -          } -          p.h3i7 { -            padding-left: 7em; -            text-indent: -4em; -          } -          p.h3i8 { -            padding-left: 8em; -            text-indent: -5em; -          } -          p.h3i9 { -            padding-left: 9em; -            text-indent: -6em; -          } -          p.h4i0 { -            padding-left: 0em; -            text-indent:  4em; -          } -          p.h4i1 { -            padding-left: 1em; -            text-indent:  3em; -          } -          p.h4i2 { -            padding-left: 2em; -            text-indent:  2em; -          } -          p.h4i3 { -            padding-left: 3em; -            text-indent:  1em; -          } -          p.h4i4 { -            padding-left: 4em; -            text-indent:  0em; -          } -          p.h4i5 { -            padding-left: 5em; -            text-indent: -1em; -          } -          p.h4i6 { -            padding-left: 6em; -            text-indent: -2em; -          } -          p.h4i7 { -            padding-left: 7em; -            text-indent: -3em; -          } -          p.h4i8 { -            padding-left: 8em; -            text-indent: -4em; -          } -          p.h4i9 { -            padding-left: 9em; -            text-indent: -5em; -          } -          p.h5i0 { -            padding-left: 0em; -            text-indent:  5em; -          } -          p.h5i1 { -            padding-left: 1em; -            text-indent:  4em; -          } -          p.h5i2 { -            padding-left: 2em; -            text-indent:  3em; -          } -          p.h5i3 { -            padding-left: 3em; -            text-indent:  2em; -          } -          p.h5i4 { -            padding-left: 4em; -            text-indent:  1em; -          } -          p.h5i5 { -            padding-left: 5em; -            text-indent:  0em; -          } -          p.h5i6 { -            padding-left: 6em; -            text-indent: -1em; -          } -          p.h5i7 { -            padding-left: 7em; -            text-indent: -2em; -          } -          p.h5i8 { -            padding-left: 8em; -            text-indent: -3em; -          } -          p.h5i9 { -            padding-left: 9em; -            text-indent: -4em; -          } -          p.h6i0 { -            padding-left: 0em; -            text-indent:  6em; -          } -          p.h6i1 { -            padding-left: 1em; -            text-indent:  5em; -          } -          p.h6i2 { -            padding-left: 2em; -            text-indent:  4em; -          } -          p.h6i3 { -            padding-left: 3em; -            text-indent:  3em; -          } -          p.h6i4 { -            padding-left: 4em; -            text-indent:  2em; -          } -          p.h6i5 { -            padding-left: 5em; -            text-indent:  1em; -          } -          p.h6i6 { -            padding-left: 6em; -            text-indent:  0em; -          } -          p.h6i7 { -            padding-left: 7em; -            text-indent: -1em; -          } -          p.h6i8 { -            padding-left: 8em; -            text-indent: -2em; -          } -          p.h6i9 { -            padding-left: 9em; -            text-indent: -3em; -          } -          p.h7i0 { -            padding-left: 0em; -            text-indent:  7em; -          } -          p.h7i1 { -            padding-left: 1em; -            text-indent:  6em; -          } -          p.h7i2 { -            padding-left: 2em; -            text-indent:  5em; -          } -          p.h7i3 { -            padding-left: 3em; -            text-indent:  4em; -          } -          p.h7i4 { -            padding-left: 4em; -            text-indent:  3em; -          } -          p.h7i5 { -            padding-left: 5em; -            text-indent:  2em; -          } -          p.h7i6 { -            padding-left: 6em; -            text-indent:  1em; -          } -          p.h7i7 { -            padding-left: 7em; -            text-indent:  0em; -          } -          p.h7i8 { -            padding-left: 8em; -            text-indent: -1em; -          } -          p.h7i9 { -            padding-left: 9em; -            text-indent: -2em; -          } -          p.h8i0 { -            padding-left: 0em; -            text-indent:  8em; -          } -          p.h8i1 { -            padding-left: 1em; -            text-indent:  7em; -          } -          p.h8i2 { -            padding-left: 2em; -            text-indent:  6em; -          } -          p.h8i3 { -            padding-left: 3em; -            text-indent:  5em; -          } -          p.h8i4 { -            padding-left: 4em; -            text-indent:  4em; -          } -          p.h8i5 { -            padding-left: 5em; -            text-indent:  3em; -          } -          p.h8i6 { -            padding-left: 6em; -            text-indent:  2em; -          } -          p.h8i7 { -            padding-left: 7em; -            text-indent:  1em; -          } -          p.h8i8 { -            padding-left: 8em; -            text-indent:  0em; -          } -          p.h8i9 { -            padding-left: 9em; -            text-indent: -1em; -          } -          p.h9i0 { -            padding-left: 0em; -            text-indent:  9em; -          } -          p.h9i1 { -            padding-left: 1em; -            text-indent:  8em; -          } -          p.h9i2 { -            padding-left: 2em; -            text-indent:  7em; -          } -          p.h9i3 { -            padding-left: 3em; -            text-indent:  6em; -          } -          p.h9i4 { -            padding-left: 4em; -            text-indent:  5em; -          } -          p.h9i5 { -            padding-left: 5em; -            text-indent:  4em; -          } -          p.h9i6 { -            padding-left: 6em; -            text-indent:  3em; -          } -          p.h9i7 { -            padding-left: 7em; -            text-indent:  2em; -          } -          p.h9i8 { -            padding-left: 8em; -            text-indent:  1em; -          } -          p.h9i9 { -            padding-left: 9em; -            text-indent:  0em; -          } -          p.it0 { -            margin-left: 0em; -            margin-top: 6px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it1 { -            margin-left: 1em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it2 { -            margin-left: 2em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it3 { -            margin-left: 3em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it4 { -            margin-left: 4em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it5 { -            margin-left: 5em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it6 { -            margin-left: 6em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it7 { -            margin-left: 7em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it8 { -            margin-left: 8em; -            margin-top: 0px; -            margin-bottom: 0px; -            line-height: 100%; -          } -          p.it9 { -            margin-left: 9em; -            margin-bottom: 0px; -            margin-top: 0px; -            line-height: 100%; -          } -          p.block { } -          p.group { } -          p.alt { } -          p.verse { -            margin-bottom: 6px; -          } -          p.code { -            font-family: inconsolata, andale mono, courier new, courier, monospace; -            font-size: 90%; -            text-align: left; -            background-color: #eeeeee; -          } -          p.caption { -            text-align: left; -            font-size: 80%; -            display: inline; -          } -          p.endnote { -            font-size: 96%; -            line-height: 120%; -            text-align: left; -            margin-right: 15mm; -          } -          p.endnote_indent { -            font-size: 96%; -            line-height: 120%; -            text-align: left; -            margin-left: 2em; -            margin-right: 15mm; -          } -          p.center { -            text-align: center; -          } -          p.bold { -            font-weight: bold; -          } -          p.bold_left { -            font-weight: bold; -            text-align: left; -          } -          p.centerbold { -            text-align: center; -            font-weight: bold; -          } -          p.em { -            font-weight: bold; -            font-style: normal; -            background: #fff3b6; -          } -          p.small { -            font-size: 80%; -            margin-top: 0px; -            margin-bottom: 0px; -            margin-right: 6px; -            text-align: left; -          } -          .tiny, .tiny_left, .tiny_right, .tiny_center { -            font-size: 10px; -            margin-top: 0px; -            margin-bottom: 0px; -            color: #777777; -            margin-right: 6px; -            text-align: left; -          } -          p.tiny { } -          p.tiny_left { -            margin-left: 0px; -            margin-right: 0px; -            text-align: left; -          } -          p.tiny_right { -            margin-right: 1em; -            text-align: right; -          } -          p.tiny_center { -            margin-left: 0px; -            margin-right: 0px; -            text-align: center; -          } -          p.pane, p.pane_title, p.pane_blurb, p.pane_link, p.pane_indent { -            font-size: 80%; -            margin-top: 0px; -            margin-bottom: 0px; -            margin-left: 2mm; -            margin-right: 4px; -            text-align: left; -          } -          p.pane { } -          p.pane_title { -            font-weight: bold; -            margin-bottom: 0px; -          } -          p.pane_blurb { -            font-size: 10px; -            margin-bottom: 0px; -          } -          p.pane_link { -            font-size: 10px; -            margin-bottom: 0px; -            margin-left: 4mm; -          } -          p.pane_indent { -            font-size: 10px; -            margin-bottom: 0px; -            margin-left: 4mm; -          } -          p.concordance_word { -            line-height: 150%; -            font-weight: bold; -            display: inline; -            margin-top: 4px; -            margin-bottom: 1px; -          } -          p.concordance_count { -            font-size: 80%; -            color: #777777; -            display: inline; -            margin-left: 0em; -          } -          p.concordance_object { -            font-size: 80%; -            line-height: 120%; -            text-align: left; -            margin-left: 3em; -            margin-top: 1px; -            margin-bottom: 3px; -          } -          p.book_index_lev1 { -            line-height: 100%; -            margin-top: 4px; -            margin-bottom: 1px; -          } -          p.book_index_lev2 { -            line-height: 100%; -            text-align: left; -            margin-left: 3em; -            margin-top: 1px; -            margin-bottom: 3px; -          } -          p.quickref { -            font-size: 10px; -            font-style: italic; -            margin-top: 0px; -            margin-bottom: 0px; -            color: #777777; -            margin-right: 5px; -            text-align: left; -          } -          p.bigref { -            font-size: 11px; -            font-weight: bold; -            margin-top: 0px; -            margin-bottom: 0px; -            color: #777777; -            margin-right: 5px; -            text-align: center; -          } -          p.letter { -            font-weight: bold; -            font-size: 80%; -            margin-left: 0em; -            margin-top: 2px; -            margin-bottom: 2px; -            margin-right: 6px; -            text-align: left; -            color: white; -            background: #880000; -          } -          tt { -            font-family: inconsolata, andale mono, courier new, courier, monospace; -            background-color: #eeeeee; -          } -          label.ocn { -            width: 2%; -            float: right; -            top: 0; -            font-size: 10px; -            margin-top: 0px; -            margin-bottom: 5px; -            color: #777777; -            margin-right: 5px; -            text-align: right; -            background-color: #ffffff; -          } -          table { } -          tr { } -          th,td { -            vertical-align: top; -            text-align: left; -          } -          th { -            font-weight: bold; -          } -          p.left,th.left,td.left { -            text-align: left; -          } -          p.small_left,th.small_left,td.small_left { -            text-align: left; -            font-size: 80%; -          } -          p.right,th.right,td.right { -            text-align: right; -          } -          #horizontal_links { -            background: #eeeeee; -            margin-left: 5%; -            margin-right: 5%; -          } -          #horizontal { -            margin: 0; -            padding: 0 0 0 10px; -            border-top: 1px solid #000077; -            border-bottom: 1px solid #000077; -          } -          #horizontal li { -            margin: 0 0 0 0; -            padding: 0 16px 0 0; -            display: inline; -            list-style-type: none; -            text-align: left; -            background: none; -          } -          #horizontal a { -            line-height: 12px; -            margin: 0 0 0 0; -            text-decoration: none; -            color: #000077; -          } -          #horizontal a.active, #horizontal a:hover { -            border-bottom: 2px solid #777777; -            padding-bottom: 2px; -            color: #000077; -          } -          #horizontal a:hover { -            color: #000077; -          } -          #document_versions { -            position: absolute; -            top: 10mm; -            right: 2%; -            width: 12%; -            float: right; -          } -          #vertical_links { -            position: absolute; -            top: 10mm; -            right: 0px; -            width: 20%; -            background: #dddddd; -            float: right; -          } -          #vertical { -            padding: 0 12px 0px 0px; -            margin-left: 2%; -            margin-right: 2%; -          } -          #vertical li { -            display: block; -            list-style-type: none; -          } -          #vertical a { -            line-height: 12px; -            text-decoration: none; -            color: #000077; -          } -          #vertical a.active, #vertical a:hover { -            border-bottom: 2px solid #777777; -            padding-bottom: 2px; -            color: #000077; -          } -          ul, li { -            list-style-type: none; -            list-style: none; -            padding-left: 20px; -            display: block; -            font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; -            font-weight: normal; -            line-height: 150%; -            text-align: left; -            text-indent: 0mm; -            margin-left: 1em; -            margin-right: 2em; -            margin-top: 3px; -            margin-bottom: 3px; -          } -          li { -            background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; -          } -          ul { -          } -          li.bullet { margin-left: 1em; } -          li.i1 { margin-left: 2em; } -          li.i2 { margin-left: 3em; } -          li.i3 { margin-left: 4em; } -          li.i4 { margin-left: 5em; } -          li.i5 { margin-left: 6em; } -          li.i6 { margin-left: 7em; } -          li.i7 { margin-left: 8em; } -          li.i8 { margin-left: 9em; } -          li.i9 { margin-left: 10em; } -          li.doc, li.ref, li.refcenter { -            margin-top: 0px; -            margin-bottom: 0px; -            margin-right: 0px; -            font-size: 8px; -            font-style: normal; -            text-align: left; -          } -          li.doc { -            background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; -            padding-left: 16px; -            margin-left: 10px; -            margin-right: 0px; -          } -          li.ref { -            background: none; -            padding-left: 0; -            margin-left: 0; -            color: #777777; -          } -          li.refcenter { -            background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; -            padding-left: 20px; -            margin-left: 10%; -            font-size: 9px; -            color: #777777; -            text-align: center; -          } -          li.refbold { -            list-style-type: none; -            padding-left: 16px; -            margin-left: 0; -            margin-right: 10mm; -            font-weight: bold; -          } -          h0, h1, h2, h3, h4, h5, h6, h7 { -            font-weight: bold; -            line-height: 120%; -            text-align: left; -            margin-top: 20px; -            margin-bottom: 10px; -          } -          h4.norm, h5.norm, h6.norm, h7.norm { -            margin-top: 10px; -            margin-bottom: 0px; -          } -          h0.center, h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center { -            text-align: center; -          } -          h0 { font-size: 125%; } -          h1 { font-size: 120%; } -          h2 { font-size: 115%; } -          h3 { font-size: 110%; } -          h4 { font-size: 105%; } -          h5 { font-size: 100%; } -          h6 { font-size: 100%; } -          h7 { font-size: 100%; } -          h1.i {margin-left: 2em;} -          h2.i {margin-left: 3em;} -          h3.i {margin-left: 4em;} -          h4.i {margin-left: 5em;} -          h5.i {margin-left: 6em;} -          h6.i {margin-left: 7em;} -          h7.i {margin-left: 8em;} -          h8.i {margin-left: 9em;} -          h9.i {margin-left: 10em;} -          h1.top_band { -            display: inline; -            text-align: left; -            margin-top: 0; -            margin-left: 4mm; -            text-indent: 0mm; -            font-weight: bold; -            font-size: 120%; -          } -          h2.top_band_tiny { -            font-size: 10px; -            font-weight: normal; -            margin-top: 0px; -            margin-left: 4mm; -            text-indent: 0mm; -            margin-bottom: 0px; -            color: #777777; -            margin-left: 140px; -            margin-right: 0px; -            text-align: left; -          } -          p.top_band { -            display: inline; -            text-align: left; -            margin-top: 0; -            margin-left: 140px; -            text-indent: 0mm; -            font-weight: bold; -            font-size: 120%; -          } -          p.top_band_tiny { -            font-size: 10px; -            margin-top: 0px; -            margin-bottom: 0px; -            color: #777777; -            margin-left: 140px; -            margin-right: 0px; -            text-align: left; -          } -          p.top_band_image { -            float: left; -            display: inline; -            text-align: left; -            margin-top: 0; -            margin-left: 1mm; -            text-indent: 0mm; -            margin-right: 1mm; -          } -          .banner, .subbanner { -            font-weight: bold; -            text-align: center; -            margin-left: 10mm; -            margin-right: 15mm; -            margin-top: 20px; -            margin-bottom: 10px; -          } -          h0.banner { -            font-size: 125%; -          } -          h1.banner { -            font-size: 120%; -          } -          h1.subbanner { -            font-size: 115%; -          } -          h2.banner { -            font-size: 110%; -          } -          h3.banner { -            color: #990000; -            font-size: 105%; -          } -          h4.banner { -            color: #ff0000; -            font-size: 100%; -          } -          h5.banner { -          } -          h6.banner { -          } -          h7.banner { -          } -          .toc { -            font-weight: normal; -            margin-top: 6px; -            margin-bottom: 6px; -          } -          h0.toc { -            margin-left: 1em; -            font-size: 120%; -            line-height: 150%; -          } -          h1.toc { -            margin-left: 1em; -            font-size: 115%; -            line-height: 150%; -          } -          h2.toc { -            margin-left: 2em; -            font-size: 110%; -            line-height: 140%; -          } -          h3.toc { -            margin-left: 3em; -            font-size: 105%; -            line-height: 120%; -          } -          h4.toc { -            margin-left: 4em; -            font-size: 100%; -            line-height: 120%; -          } -          h5.toc { -            margin-left: 5em; -            font-size: 95%; -            line-height: 110%; -          } -          h6.toc { -            margin-left: 6em; -            font-size: 90%; -            line-height: 110%; -          } -          h7.toc { -            margin-left: 7em; -            font-size: 85%; -            line-height: 100%; -          } -          .microtoc { -            margin-top: 2px; -            margin-bottom: 2px; -          } -          h0.microtoc { -            margin-left: 0mm; -            font-size: 120%; -          } -          h1.microtoc { -            margin-left: 0mm; -            font-size: 115%; -          } -          h2.microtoc { -            margin-left: 5mm; -            font-size: 110%; -          } -          h3.microtoc { -            margin-left: 10mm; -            font-size: 105%; -          } -          h4.microtoc { -            margin-left: 15mm; -            font-weight: normal; -            font-size: 100%; -          } -          h5.microtoc { -            margin-left: 20mm; -            font-weight: normal; -            font-size: 95%; -          } -          h6.microtoc { -            margin-left: 25mm; -            font-weight: normal; -            font-size: 90%; -          } -          h7.microtoc { -            margin-left: 30mm; -            font-weight: normal; -            font-size: 85%; -          } -          .subtoc { -            margin-right: 34%; -            font-weight: normal; -          } -          h5.subtoc { -            margin-left: 2em; -            font-size: 80%; -            margin-top: 2px; -            margin-bottom: 2px; -          } -          h6.subtoc { -            margin-left: 3em; -            font-size: 75%; -            margin-top: 0px; -            margin-bottom: 0px; -          } -          h7.subtoc { -            margin-left: 4em; -            font-size: 70%; -            margin-top: 0px; -            margin-bottom: 0px; -          } -          div.substance { -            width: 100%; -            background-color: #ffffff; -          } -          div.ocn { -            width: 5%; -            float: right; -            top: 0; -            background-color: #ffffff; -          } -          div.endnote { -            width: 95%; -            background-color: #fffffff; -          } -          div.toc { -            position: absolute; -            float: left; -            margin: 0; -            padding: 0; -            padding-top: 0.5em; -            border: 0; -            width: 13em; -            background-color: #eeeeee; -            margin-right:1em; -          } -          div.summary { -            margin: 0; -            padding: 0; -            border-left: 13em solid #eeeeee; -            padding-left: 1em; -            background-color: #eeeeee; -          } -          div.content, div.main_column { -            margin: 0; -            padding: 0; -            border-left: 13em solid #ffffff; -            padding-left: 1em; -            padding-right: 1em; -          } -          div.content0, div.main_column0 { -            margin: 0; -            padding: 0; -            border-left: 0% solid #ffffff; -            padding-left: 5%; -          } -          div.scroll { -            margin: 0; -            padding: 0; -            padding-left: 1em; -            padding-right: 1em; -          } -          div.content:after { -            content:' '; -            clear:both; -            display:block; -            height:0; -            overflow:hidden -          } -          div.footer { -            clear:left; -            padding: 0.5em; -            font-size: 80%; -            margin: 0; -          } -          div.toc ul { -            list-style: none; -            padding: 0; -            margin: 0; -          } -          div.toc li ul a, li ul span.currentlink -          { -            font-weight: normal; -            font-size: 90%; -            padding-left: 2em; -            background-color: #eeeeee; -          } -          div.toc a, span.currentlink{ -            display:block; -            text-decoration: none; -            padding-left: 0.5em; -            color: #0000aa; -          } -          hr { -            width: 90%; -          } -          span.currentlink { -            text-decoration: none; -            background-color: #aaaaf9; -          } -          div.toc a:visited { -            color: #0000aa; -          } -          div.toc a:hover { -            color: #000000; -            background-color: #f9f9aa; -          } -          .minitoc { -            font-weight: normal; -            margin-top: 2px; -            margin-bottom: 2px; -          } -          h1.minitoc, h2.minitoc, h3.minitoc { -            margin-left: 0em; -            font-weight: bold; -            text-align: left; -            font-size: 90%; -            margin-top: 4px; -            margin-bottom: 4px; -          } -          h4.minitoc { -            margin-left: 0em; -            font-size: 90%; -          } -          h5.minitoc { -            margin-left: 1em; -            font-size: 85%; -          } -          h6.minitoc { -            margin-left: 2em; -            font-size: 85%; -          } -          h7.minitoc { -            margin-left: 3em; -            font-size: 80%; -          } -          h0.minitoc { -            margin-left: 0em; -            font-size: 90%; -          } -          h0.c, h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c { -            text-align: center -          } -          h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red { -            text-align: center; -            color: #ff0000; -            margin-left: 5mm; -            text-indent: 5mm; -            margin-top: 30px; -            margin-bottom: 20px; -            margin-right: 15mm; -          } -          h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby { -            text-align: center; -            color: #990000; -            margin-left: 5mm; -            text-indent: 5mm; -            margin-top: 30px; -            margin-bottom: 20px; -            margin-right: 15mm; +      body { +        color: black; +        background: #ffffff; +        background-color: #ffffff; +      } +      a:link { +        color: #003399; +        text-decoration: none; +      } +      a:visited { +        color: #003399; +        text-decoration: none; +      } +      a:hover { +        color: #000000; +        background-color: #f9f9aa; +      } +      a.lnkocn:link { +        color: #777777; +        text-decoration: none; +      } +      a:hover img { +        background-color: #ffffff; +      } +      a:active { +        color: #003399; +        text-decoration: underline; +      } +      div { +        margin-left: 0; +        margin-right: 0; +      } +      div.p { +        margin-left: 5%; +        margin-right: 1%; +      } +      #top_band { +        position: absolute; +        top: 0; +        bottom: 80px; +        width: 100%; +      } +      #top_band_search { +        position: absolute; +        top: 0px; +        right: 0px; +        margin-left: 75%; +        width: 20%; +      } +      #column_left { +        position: absolute; +        top: 80px; +        left: 0; +        margin-left: 1%; +        width: 20%; +      } +      #column_center { +        position: absolute; +        top: 80px; +        margin-left: 20%; +        width: 55%; +      } +      #column_right { +        position: absolute; +        top: 80px; +        right: 0px; +        margin-left: 75%; +        width: 25%; +      } +      #pane_major { +        position: absolute; +        top: 0px; +        left: 0; +        margin-left: 0; +        width: 80%; +      } +      #pane_minor { +        position: absolute; +        top: 0px; +        right: 0px; +        margin-left: 75%; +        width: 20%; +        background-color: #aaaaaa; +      } +      .norm, .bold, .verse, .group, .block, .alt { +        line-height: 133%; +        margin-left: 0em; +        margin-right: 2em; +        margin-top: 12px; +        margin-bottom: 0px; +        padding-left: 0em; +        text-indent: 0em; +      } +      p, h0, h1, h2, h3, h4, h5, h6, h7 { +        display: block; +        font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; +        font-size: 100%; +        font-weight: normal; +        line-height: 133%; +        text-align: justify; +        margin-left: 0em; +        margin-right: 2em; +        text-indent: 0mm; +        margin-top: 0.8em; +        margin-bottom: 0.8em; +      } +      /* indent */ +      p.norm { } +      p.i1 {padding-left: 1em;} +      p.i2 {padding-left: 2em;} +      p.i3 {padding-left: 3em;} +      p.i4 {padding-left: 4em;} +      p.i5 {padding-left: 5em;} +      p.i6 {padding-left: 6em;} +      p.i7 {padding-left: 7em;} +      p.i8 {padding-left: 8em;} +      p.i9 {padding-left: 9em;} +      /* hanging indent */ +      p.h0i0 { +        padding-left: 0em; +        text-indent:  0em; +      } +      p.h0i1 { +        padding-left: 1em; +        text-indent: -1em; +      } +      p.h0i2 { +        padding-left: 2em; +        text-indent: -2em; +      } +      p.h0i3 { +        padding-left: 3em; +        text-indent: -3em; +      } +      p.h0i4 { +        padding-left: 4em; +        text-indent: -4em; +      } +      p.h0i5 { +        padding-left: 5em; +        text-indent: -5em; +      } +      p.h0i6 { +        padding-left: 6em; +        text-indent: -6em; +      } +      p.h0i7 { +        padding-left: 7em; +        text-indent: -7em; +      } +      p.h0i8 { +        padding-left: 8em; +        text-indent: -8em; +      } +      p.h0i9 { +        padding-left: 9em; +        text-indent: -9em; +      } +      p.h1i0 { +        padding-left: 0em; +        text-indent:  1em; +      } +      p.h1i1 { +        padding-left: 1em; +        text-indent:  0em; +      } +      p.h1i2 { +        padding-left: 2em; +        text-indent: -1em; +      } +      p.h1i3 { +        padding-left: 3em; +        text-indent: -2em; +      } +      p.h1i4 { +        padding-left: 4em; +        text-indent: -3em; +      } +      p.h1i5 { +        padding-left: 5em; +        text-indent: -4em; +      } +      p.h1i6 { +        padding-left: 6em; +        text-indent: -5em; +      } +      p.h1i7 { +        padding-left: 7em; +        text-indent: -6em; +      } +      p.h1i8 { +        padding-left: 8em; +        text-indent: -7em; +      } +      p.h1i9 { +        padding-left: 9em; +        text-indent: -8em; +      } +      p.h2i0 { +        padding-left: 0em; +        text-indent:  2em; +      } +      p.h2i1 { +        padding-left: 1em; +        text-indent:  1em; +      } +      p.h2i2 { +        padding-left: 2em; +        text-indent:  0em; +      } +      p.h2i3 { +        padding-left: 3em; +        text-indent: -1em; +      } +      p.h2i4 { +        padding-left: 4em; +        text-indent: -2em; +      } +      p.h2i5 { +        padding-left: 5em; +        text-indent: -3em; +      } +      p.h2i6 { +        padding-left: 6em; +        text-indent: -4em; +      } +      p.h2i7 { +        padding-left: 7em; +        text-indent: -5em; +      } +      p.h2i8 { +        padding-left: 8em; +        text-indent: -6em; +      } +      p.h2i9 { +        padding-left: 9em; +        text-indent: -7em; +      } +      p.h3i0 { +        padding-left: 0em; +        text-indent:  3em; +      } +      p.h3i1 { +        padding-left: 1em; +        text-indent:  2em; +      } +      p.h3i2 { +        padding-left: 2em; +        text-indent:  1em; +      } +      p.h3i3 { +        padding-left: 3em; +        text-indent:  0em; +      } +      p.h3i4 { +        padding-left: 4em; +        text-indent: -1em; +      } +      p.h3i5 { +        padding-left: 5em; +        text-indent: -2em; +      } +      p.h3i6 { +        padding-left: 6em; +        text-indent: -3em; +      } +      p.h3i7 { +        padding-left: 7em; +        text-indent: -4em; +      } +      p.h3i8 { +        padding-left: 8em; +        text-indent: -5em; +      } +      p.h3i9 { +        padding-left: 9em; +        text-indent: -6em; +      } +      p.h4i0 { +        padding-left: 0em; +        text-indent:  4em; +      } +      p.h4i1 { +        padding-left: 1em; +        text-indent:  3em; +      } +      p.h4i2 { +        padding-left: 2em; +        text-indent:  2em; +      } +      p.h4i3 { +        padding-left: 3em; +        text-indent:  1em; +      } +      p.h4i4 { +        padding-left: 4em; +        text-indent:  0em; +      } +      p.h4i5 { +        padding-left: 5em; +        text-indent: -1em; +      } +      p.h4i6 { +        padding-left: 6em; +        text-indent: -2em; +      } +      p.h4i7 { +        padding-left: 7em; +        text-indent: -3em; +      } +      p.h4i8 { +        padding-left: 8em; +        text-indent: -4em; +      } +      p.h4i9 { +        padding-left: 9em; +        text-indent: -5em; +      } +      p.h5i0 { +        padding-left: 0em; +        text-indent:  5em; +      } +      p.h5i1 { +        padding-left: 1em; +        text-indent:  4em; +      } +      p.h5i2 { +        padding-left: 2em; +        text-indent:  3em; +      } +      p.h5i3 { +        padding-left: 3em; +        text-indent:  2em; +      } +      p.h5i4 { +        padding-left: 4em; +        text-indent:  1em; +      } +      p.h5i5 { +        padding-left: 5em; +        text-indent:  0em; +      } +      p.h5i6 { +        padding-left: 6em; +        text-indent: -1em; +      } +      p.h5i7 { +        padding-left: 7em; +        text-indent: -2em; +      } +      p.h5i8 { +        padding-left: 8em; +        text-indent: -3em; +      } +      p.h5i9 { +        padding-left: 9em; +        text-indent: -4em; +      } +      p.h6i0 { +        padding-left: 0em; +        text-indent:  6em; +      } +      p.h6i1 { +        padding-left: 1em; +        text-indent:  5em; +      } +      p.h6i2 { +        padding-left: 2em; +        text-indent:  4em; +      } +      p.h6i3 { +        padding-left: 3em; +        text-indent:  3em; +      } +      p.h6i4 { +        padding-left: 4em; +        text-indent:  2em; +      } +      p.h6i5 { +        padding-left: 5em; +        text-indent:  1em; +      } +      p.h6i6 { +        padding-left: 6em; +        text-indent:  0em; +      } +      p.h6i7 { +        padding-left: 7em; +        text-indent: -1em; +      } +      p.h6i8 { +        padding-left: 8em; +        text-indent: -2em; +      } +      p.h6i9 { +        padding-left: 9em; +        text-indent: -3em; +      } +      p.h7i0 { +        padding-left: 0em; +        text-indent:  7em; +      } +      p.h7i1 { +        padding-left: 1em; +        text-indent:  6em; +      } +      p.h7i2 { +        padding-left: 2em; +        text-indent:  5em; +      } +      p.h7i3 { +        padding-left: 3em; +        text-indent:  4em; +      } +      p.h7i4 { +        padding-left: 4em; +        text-indent:  3em; +      } +      p.h7i5 { +        padding-left: 5em; +        text-indent:  2em; +      } +      p.h7i6 { +        padding-left: 6em; +        text-indent:  1em; +      } +      p.h7i7 { +        padding-left: 7em; +        text-indent:  0em; +      } +      p.h7i8 { +        padding-left: 8em; +        text-indent: -1em; +      } +      p.h7i9 { +        padding-left: 9em; +        text-indent: -2em; +      } +      p.h8i0 { +        padding-left: 0em; +        text-indent:  8em; +      } +      p.h8i1 { +        padding-left: 1em; +        text-indent:  7em; +      } +      p.h8i2 { +        padding-left: 2em; +        text-indent:  6em; +      } +      p.h8i3 { +        padding-left: 3em; +        text-indent:  5em; +      } +      p.h8i4 { +        padding-left: 4em; +        text-indent:  4em; +      } +      p.h8i5 { +        padding-left: 5em; +        text-indent:  3em; +      } +      p.h8i6 { +        padding-left: 6em; +        text-indent:  2em; +      } +      p.h8i7 { +        padding-left: 7em; +        text-indent:  1em; +      } +      p.h8i8 { +        padding-left: 8em; +        text-indent:  0em; +      } +      p.h8i9 { +        padding-left: 9em; +        text-indent: -1em; +      } +      p.h9i0 { +        padding-left: 0em; +        text-indent:  9em; +      } +      p.h9i1 { +        padding-left: 1em; +        text-indent:  8em; +      } +      p.h9i2 { +        padding-left: 2em; +        text-indent:  7em; +      } +      p.h9i3 { +        padding-left: 3em; +        text-indent:  6em; +      } +      p.h9i4 { +        padding-left: 4em; +        text-indent:  5em; +      } +      p.h9i5 { +        padding-left: 5em; +        text-indent:  4em; +      } +      p.h9i6 { +        padding-left: 6em; +        text-indent:  3em; +      } +      p.h9i7 { +        padding-left: 7em; +        text-indent:  2em; +      } +      p.h9i8 { +        padding-left: 8em; +        text-indent:  1em; +      } +      p.h9i9 { +        padding-left: 9em; +        text-indent:  0em; +      } +      p.it0 { +        margin-left: 0em; +        margin-top: 6px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it1 { +        margin-left: 1em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it2 { +        margin-left: 2em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it3 { +        margin-left: 3em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it4 { +        margin-left: 4em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it5 { +        margin-left: 5em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it6 { +        margin-left: 6em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it7 { +        margin-left: 7em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it8 { +        margin-left: 8em; +        margin-top: 0px; +        margin-bottom: 0px; +        line-height: 100%; +      } +      p.it9 { +        margin-left: 9em; +        margin-bottom: 0px; +        margin-top: 0px; +        line-height: 100%; +      } +      p.block { } +      p.group { } +      p.alt { } +      p.verse { +        margin-bottom: 6px; +      } +      p.code { +        font-family: inconsolata, andale mono, courier new, courier, monospace; +        font-size: 90%; +        text-align: left; +        background-color: #eeeeee; +      } +      p.caption { +        text-align: left; +        font-size: 80%; +        display: inline; +      } +      p.endnote { +        font-size: 96%; +        line-height: 120%; +        text-align: left; +        margin-right: 15mm; +      } +      p.endnote_indent { +        font-size: 96%; +        line-height: 120%; +        text-align: left; +        margin-left: 2em; +        margin-right: 15mm; +      } +      p.center { +        text-align: center; +      } +      p.bold { +        font-weight: bold; +      } +      p.bold_left { +        font-weight: bold; +        text-align: left; +      } +      p.centerbold { +        text-align: center; +        font-weight: bold; +      } +      p.em { +        font-weight: bold; +        font-style: normal; +        background: #fff3b6; +      } +      p.small { +        font-size: 80%; +        margin-top: 0px; +        margin-bottom: 0px; +        margin-right: 6px; +        text-align: left; +      } +      .tiny, .tiny_left, .tiny_right, .tiny_center { +        font-size: 10px; +        margin-top: 0px; +        margin-bottom: 0px; +        color: #777777; +        margin-right: 6px; +        text-align: left; +      } +      p.tiny { } +      p.tiny_left { +        margin-left: 0px; +        margin-right: 0px; +        text-align: left; +      } +      p.tiny_right { +        margin-right: 1em; +        text-align: right; +      } +      p.tiny_center { +        margin-left: 0px; +        margin-right: 0px; +        text-align: center; +      } +      p.pane, p.pane_title, p.pane_blurb, p.pane_link, p.pane_indent { +        font-size: 80%; +        margin-top: 0px; +        margin-bottom: 0px; +        margin-left: 2mm; +        margin-right: 4px; +        text-align: left; +      } +      p.pane { } +      p.pane_title { +        font-weight: bold; +        margin-bottom: 0px; +      } +      p.pane_blurb { +        font-size: 10px; +        margin-bottom: 0px; +      } +      p.pane_link { +        font-size: 10px; +        margin-bottom: 0px; +        margin-left: 4mm; +      } +      p.pane_indent { +        font-size: 10px; +        margin-bottom: 0px; +        margin-left: 4mm; +      } +      p.concordance_word { +        line-height: 150%; +        font-weight: bold; +        display: inline; +        margin-top: 4px; +        margin-bottom: 1px; +      } +      p.concordance_count { +        font-size: 80%; +        color: #777777; +        display: inline; +        margin-left: 0em; +      } +      p.concordance_object { +        font-size: 80%; +        line-height: 120%; +        text-align: left; +        margin-left: 3em; +        margin-top: 1px; +        margin-bottom: 3px; +      } +      p.book_index_lev1 { +        line-height: 100%; +        margin-top: 4px; +        margin-bottom: 1px; +      } +      p.book_index_lev2 { +        line-height: 100%; +        text-align: left; +        margin-left: 3em; +        margin-top: 1px; +        margin-bottom: 3px; +      } +      p.quickref { +        font-size: 10px; +        font-style: italic; +        margin-top: 0px; +        margin-bottom: 0px; +        color: #777777; +        margin-right: 5px; +        text-align: left; +      } +      p.bigref { +        font-size: 11px; +        font-weight: bold; +        margin-top: 0px; +        margin-bottom: 0px; +        color: #777777; +        margin-right: 5px; +        text-align: center; +      } +      p.letter { +        font-weight: bold; +        font-size: 80%; +        margin-left: 0em; +        margin-top: 2px; +        margin-bottom: 2px; +        margin-right: 6px; +        text-align: left; +        color: white; +        background: #880000; +      } +      tt { +        font-family: inconsolata, andale mono, courier new, courier, monospace; +        background-color: #eeeeee; +      } +      label.ocn { +        width: 2%; +        float: right; +        top: 0; +        font-size: 10px; +        margin-top: 0px; +        margin-bottom: 5px; +        color: #777777; +        margin-right: 5px; +        text-align: right; +        background-color: #ffffff; +      } +      table { } +      tr { } +      th,td { +        vertical-align: top; +        text-align: left; +      } +      th { +        font-weight: bold; +      } +      p.left,th.left,td.left { +        text-align: left; +      } +      p.small_left,th.small_left,td.small_left { +        text-align: left; +        font-size: 80%; +      } +      p.right,th.right,td.right { +        text-align: right; +      } +      #horizontal_links { +        background: #eeeeee; +        margin-left: 5%; +        margin-right: 5%; +      } +      #horizontal { +        margin: 0; +        padding: 0 0 0 10px; +        border-top: 1px solid #000077; +        border-bottom: 1px solid #000077; +      } +      #horizontal li { +        margin: 0 0 0 0; +        padding: 0 16px 0 0; +        display: inline; +        list-style-type: none; +        text-align: left; +        background: none; +      } +      #horizontal a { +        line-height: 12px; +        margin: 0 0 0 0; +        text-decoration: none; +        color: #000077; +      } +      #horizontal a.active, #horizontal a:hover { +        border-bottom: 2px solid #777777; +        padding-bottom: 2px; +        color: #000077; +      } +      #horizontal a:hover { +        color: #000077; +      } +      #document_versions { +        position: absolute; +        top: 10mm; +        right: 2%; +        width: 12%; +        float: right; +      } +      #vertical_links { +        position: absolute; +        top: 10mm; +        right: 0px; +        width: 20%; +        background: #dddddd; +        float: right; +      } +      #vertical { +        padding: 0 12px 0px 0px; +        margin-left: 2%; +        margin-right: 2%; +      } +      #vertical li { +        display: block; +        list-style-type: none; +      } +      #vertical a { +        line-height: 12px; +        text-decoration: none; +        color: #000077; +      } +      #vertical a.active, #vertical a:hover { +        border-bottom: 2px solid #777777; +        padding-bottom: 2px; +        color: #000077; +      } +      ul, li { +        list-style-type: none; +        list-style: none; +        padding-left: 20px; +        display: block; +        font-family: verdana, arial, georgia, tahoma, sans-serif, helvetica, times, roman; +        font-weight: normal; +        line-height: 150%; +        text-align: left; +        text-indent: 0mm; +        margin-left: 1em; +        margin-right: 2em; +        margin-top: 3px; +        margin-bottom: 3px; +      } +      li { +        background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; +      } +      ul { +      } +      li.bullet { margin-left: 1em; } +      li.i1 { margin-left: 2em; } +      li.i2 { margin-left: 3em; } +      li.i3 { margin-left: 4em; } +      li.i4 { margin-left: 5em; } +      li.i5 { margin-left: 6em; } +      li.i6 { margin-left: 7em; } +      li.i7 { margin-left: 8em; } +      li.i8 { margin-left: 9em; } +      li.i9 { margin-left: 10em; } +      li.doc, li.ref, li.refcenter { +        margin-top: 0px; +        margin-bottom: 0px; +        margin-right: 0px; +        font-size: 8px; +        font-style: normal; +        text-align: left; +      } +      li.doc { +        background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; +        padding-left: 16px; +        margin-left: 10px; +        margin-right: 0px; +      } +      li.ref { +        background: none; +        padding-left: 0; +        margin-left: 0; +        color: #777777; +      } +      li.refcenter { +        background: url(../image_sys/bullet_09.png) no-repeat 0px 6px; +        padding-left: 20px; +        margin-left: 10%; +        font-size: 9px; +        color: #777777; +        text-align: center; +      } +      li.refbold { +        list-style-type: none; +        padding-left: 16px; +        margin-left: 0; +        margin-right: 10mm; +        font-weight: bold; +      } +      h0, h1, h2, h3, h4, h5, h6, h7 { +        font-weight: bold; +        line-height: 120%; +        text-align: left; +        margin-top: 20px; +        margin-bottom: 10px; +      } +      h4.norm, h5.norm, h6.norm, h7.norm { +        margin-top: 10px; +        margin-bottom: 0px; +      } +      h0.center, h1.center, h2.center, h3.center, h4.center, h5.center, h6.center, h7.center { +        text-align: center; +      } +      h0 { font-size: 125%; } +      h1 { font-size: 120%; } +      h2 { font-size: 115%; } +      h3 { font-size: 110%; } +      h4 { font-size: 105%; } +      h5 { font-size: 100%; } +      h6 { font-size: 100%; } +      h7 { font-size: 100%; } +      h1.i {margin-left: 2em;} +      h2.i {margin-left: 3em;} +      h3.i {margin-left: 4em;} +      h4.i {margin-left: 5em;} +      h5.i {margin-left: 6em;} +      h6.i {margin-left: 7em;} +      h7.i {margin-left: 8em;} +      h8.i {margin-left: 9em;} +      h9.i {margin-left: 10em;} +      h1.top_band { +        display: inline; +        text-align: left; +        margin-top: 0; +        margin-left: 4mm; +        text-indent: 0mm; +        font-weight: bold; +        font-size: 120%; +      } +      h2.top_band_tiny { +        font-size: 10px; +        font-weight: normal; +        margin-top: 0px; +        margin-left: 4mm; +        text-indent: 0mm; +        margin-bottom: 0px; +        color: #777777; +        margin-left: 140px; +        margin-right: 0px; +        text-align: left; +      } +      p.top_band { +        display: inline; +        text-align: left; +        margin-top: 0; +        margin-left: 140px; +        text-indent: 0mm; +        font-weight: bold; +        font-size: 120%; +      } +      p.top_band_tiny { +        font-size: 10px; +        margin-top: 0px; +        margin-bottom: 0px; +        color: #777777; +        margin-left: 140px; +        margin-right: 0px; +        text-align: left; +      } +      p.top_band_image { +        float: left; +        display: inline; +        text-align: left; +        margin-top: 0; +        margin-left: 1mm; +        text-indent: 0mm; +        margin-right: 1mm; +      } +      .banner, .subbanner { +        font-weight: bold; +        text-align: center; +        margin-left: 10mm; +        margin-right: 15mm; +        margin-top: 20px; +        margin-bottom: 10px; +      } +      h0.banner { +        font-size: 125%; +      } +      h1.banner { +        font-size: 120%; +      } +      h1.subbanner { +        font-size: 115%; +      } +      h2.banner { +        font-size: 110%; +      } +      h3.banner { +        color: #990000; +        font-size: 105%; +      } +      h4.banner { +        color: #ff0000; +        font-size: 100%; +      } +      h5.banner { +      } +      h6.banner { +      } +      h7.banner { +      } +      .toc { +        font-weight: normal; +        margin-top: 6px; +        margin-bottom: 6px; +      } +      h0.toc { +        margin-left: 1em; +        font-size: 120%; +        line-height: 150%; +      } +      h1.toc { +        margin-left: 1em; +        font-size: 115%; +        line-height: 150%; +      } +      h2.toc { +        margin-left: 2em; +        font-size: 110%; +        line-height: 140%; +      } +      h3.toc { +        margin-left: 3em; +        font-size: 105%; +        line-height: 120%; +      } +      h4.toc { +        margin-left: 4em; +        font-size: 100%; +        line-height: 120%; +      } +      h5.toc { +        margin-left: 5em; +        font-size: 95%; +        line-height: 110%; +      } +      h6.toc { +        margin-left: 6em; +        font-size: 90%; +        line-height: 110%; +      } +      h7.toc { +        margin-left: 7em; +        font-size: 85%; +        line-height: 100%; +      } +      .microtoc { +        margin-top: 2px; +        margin-bottom: 2px; +      } +      h0.microtoc { +        margin-left: 0mm; +        font-size: 120%; +      } +      h1.microtoc { +        margin-left: 0mm; +        font-size: 115%; +      } +      h2.microtoc { +        margin-left: 5mm; +        font-size: 110%; +      } +      h3.microtoc { +        margin-left: 10mm; +        font-size: 105%; +      } +      h4.microtoc { +        margin-left: 15mm; +        font-weight: normal; +        font-size: 100%; +      } +      h5.microtoc { +        margin-left: 20mm; +        font-weight: normal; +        font-size: 95%; +      } +      h6.microtoc { +        margin-left: 25mm; +        font-weight: normal; +        font-size: 90%; +      } +      h7.microtoc { +        margin-left: 30mm; +        font-weight: normal; +        font-size: 85%; +      } +      .subtoc { +        margin-right: 34%; +        font-weight: normal; +      } +      h5.subtoc { +        margin-left: 2em; +        font-size: 80%; +        margin-top: 2px; +        margin-bottom: 2px; +      } +      h6.subtoc { +        margin-left: 3em; +        font-size: 75%; +        margin-top: 0px; +        margin-bottom: 0px; +      } +      h7.subtoc { +        margin-left: 4em; +        font-size: 70%; +        margin-top: 0px; +        margin-bottom: 0px; +      } +      div.substance { +        width: 100%; +        background-color: #ffffff; +      } +      div.ocn { +        width: 5%; +        float: right; +        top: 0; +        background-color: #ffffff; +      } +      div.endnote { +        width: 95%; +        background-color: #fffffff; +      } +      div.toc { +        position: absolute; +        float: left; +        margin: 0; +        padding: 0; +        padding-top: 0.5em; +        border: 0; +        width: 13em; +        background-color: #eeeeee; +        margin-right:1em; +      } +      div.summary { +        margin: 0; +        padding: 0; +        border-left: 13em solid #eeeeee; +        padding-left: 1em; +        background-color: #eeeeee; +      } +      div.content, div.main_column { +        margin: 0; +        padding: 0; +        border-left: 13em solid #ffffff; +        padding-left: 1em; +        padding-right: 1em; +      } +      div.content0, div.main_column0 { +        margin: 0; +        padding: 0; +        border-left: 0% solid #ffffff; +        padding-left: 5%; +      } +      div.scroll { +        margin: 0; +        padding: 0; +        padding-left: 1em; +        padding-right: 1em; +      } +      div.content:after { +        content:' '; +        clear:both; +        display:block; +        height:0; +        overflow:hidden +      } +      div.footer { +        clear:left; +        padding: 0.5em; +        font-size: 80%; +        margin: 0; +      } +      div.toc ul { +        list-style: none; +        padding: 0; +        margin: 0; +      } +      div.toc li ul a, li ul span.currentlink +      { +        font-weight: normal; +        font-size: 90%; +        padding-left: 2em; +        background-color: #eeeeee; +      } +      div.toc a, span.currentlink{ +        display:block; +        text-decoration: none; +        padding-left: 0.5em; +        color: #0000aa; +      } +      hr { +        width: 90%; +      } +      span.currentlink { +        text-decoration: none; +        background-color: #aaaaf9; +      } +      div.toc a:visited { +        color: #0000aa; +      } +      div.toc a:hover { +        color: #000000; +        background-color: #f9f9aa; +      } +      .minitoc { +        font-weight: normal; +        margin-top: 2px; +        margin-bottom: 2px; +      } +      h1.minitoc, h2.minitoc, h3.minitoc { +        margin-left: 0em; +        font-weight: bold; +        text-align: left; +        font-size: 90%; +        margin-top: 4px; +        margin-bottom: 4px; +      } +      h4.minitoc { +        margin-left: 0em; +        font-size: 90%; +      } +      h5.minitoc { +        margin-left: 1em; +        font-size: 85%; +      } +      h6.minitoc { +        margin-left: 2em; +        font-size: 85%; +      } +      h7.minitoc { +        margin-left: 3em; +        font-size: 80%; +      } +      h0.minitoc { +        margin-left: 0em; +        font-size: 90%; +      } +      h0.c, h1.c, h2.c, h3.c, h4.c, h5.c, h6.c, h7.c, p.c { +        text-align: center +      } +      h1.red, h2.red, h3.red, h4.red, h5.red, h6.red, h7.red { +        text-align: center; +        color: #ff0000; +        margin-left: 5mm; +        text-indent: 5mm; +        margin-top: 30px; +        margin-bottom: 20px; +        margin-right: 15mm; +      } +      h1.ruby, h2.ruby, h3.ruby, h4.ruby, h5.ruby, h6.ruby, h7.ruby { +        text-align: center; +        color: #990000; +        margin-left: 5mm; +        text-indent: 5mm; +        margin-top: 30px; +        margin-bottom: 20px; +        margin-right: 15mm;        }";        return css;      } | 
